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

14
International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf – 11.06.2014

Upload: milo-copeland

Post on 18-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: International Summer School in Parallel Patterns 2014 Software Engineering Group by Prof. Dr. Wilhelm Hasselbring Kiel University, Germany Christian Wulf

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

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

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

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

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

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

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

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

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

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

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

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

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

Example Filter in TeeTime

Christian Wulf ― 11.06.2014International Summer School in Parallel Patterns 2014 14