international summer school in parallel patterns 2014 software engineering group by prof. dr....

Post on 18-Jan-2016

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

top related