international summer school in parallel patterns 2014 software engineering group by prof. dr....
TRANSCRIPT
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