Upload
milo-copeland
View
216
Download
1
Tags:
Embed Size (px)
Citation preview
International Summer School in Parallel Patterns 2014
Software Engineering Groupby Prof. Dr. Wilhelm HasselbringKiel University, Germany
Christian Wulf – 11.06.2014
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
Overview of our Approach
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 3
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
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
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
S4: Ranking
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 7
S5: Pattern Detection
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 8
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
S7 or S4
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 10
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
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
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
Example Filter in TeeTime
Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 14