International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr....
-
Upload
milo-copeland -
Category
Documents
-
view
214 -
download
1
Transcript of International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr....
![Page 1: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/1.jpg)
International Summer School in Parallel Patterns 2014
Software Engineering Groupby Prof. Dr. Wilhelm HasselbringKiel University, Germany
Christian Wulf – 11.06.2014
![Page 2: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/2.jpg)
Current Research Activities
• Pattern-Based Detection and Utilization of Potential Parallelism in Software Systems
• TeeTime: A generic, concurrency-aware Pipes & Filters framework for Java
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 2
![Page 3: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/3.jpg)
Overview of our Approach
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 3
![Page 4: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/4.jpg)
S1: SDG Construction
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 4
control flow
data flow
hierarchy
dependencies
e.g., with Soot or Wala
![Page 5: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/5.jpg)
S2: Runtime Information Gathering
International Summer School in Parallel Patterns 2014 Christian Wulf ― 11.06.2014 5
Instrumentation
• number of method invocations• method execution time• number of loop iterations• I/O accesses• accessed array positions
Profiling/Monitoring
e.g., with
![Page 6: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/6.jpg)
S3: SDG Enrichment
International Summer School in Parallel Patterns 2014 Christian Wulf ― 11.06.2014 6
type: method invocationname: file.updateContents(text)variable: writtenBytes
type: method invocationname: file.updateContents(text)variable: writtenBytesinvocations: 10exec. time: avg: 300ms, mean: 290ms, min: 250ms, max: 600msfilenames: (“C:/../Person.java”, “C:/../Address.java”, “C:/../Cridentials.java”, …)
Graph transformation
![Page 7: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/7.jpg)
S4: Ranking
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 7
![Page 8: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/8.jpg)
S5: Pattern Detection
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 8
![Page 9: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/9.jpg)
S6: Transformation
International Summer School in Parallel Patterns 2014 Christian Wulf ― 11.06.2014 9
- graph refactoring- introduction of concurrency- introduction of synchronization- final approval by the user
corresponding instance of aparallelization pattern
graph transformation
matched instance of acandidate pattern
![Page 10: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/10.jpg)
S7 or S4
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 10
![Page 11: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/11.jpg)
TeeTime
Christian Wulf ― 11.06.2014
Read Process Write
An example Pipes-and-Filters pipeline
filter or stage pipe
International Summer School in Parallel Patterns 2014 11
![Page 12: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/12.jpg)
TeeTime
Christian Wulf ― 11.06.2014
Read Process Process
An example Tee-and-Join pipeline
Write
Write
Process
port
loop
International Summer School in Parallel Patterns 2014 12
![Page 13: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/13.jpg)
TeeTime
Christian Wulf ― 11.06.2014
Read Process Process
Write
Write
Process
Lock-free work stealing pipewithin same thread
SPSC pipebetween different threads
Thread boundary
• High abstraction of concurrency
• High efficiency
• Transparent thread creation and management
• Type-safe connection of ports
• Development in beta phase
International Summer School in Parallel Patterns 2014 13
![Page 14: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf.](https://reader036.fdocuments.us/reader036/viewer/2022081520/5697bff21a28abf838cbbeaa/html5/thumbnails/14.jpg)
Example Filter in TeeTime
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 14