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

Slides:



Advertisements
Similar presentations
A Technique for Parallel Reachability Analysis of Java Programs Raghuraman R. Sridhar Iyer G. Sajith.
Advertisements

Approximating the Worst-Case Execution Time of Soft Real-time Applications Matteo Corti.
Optimizing Compilers for Modern Architectures Syllabus Allen and Kennedy, Preface Optimizing Compilers for Modern Architectures.
Presenter MaxAcademy Lecture Series – V1.0, September 2011 Loops and cyclic graphs.
A Process Splitting Transformation for Kahn Process Networks Sjoerd Meijer.
Optimizing single thread performance Dependence Loop transformations.
A component- and message-based architectural style for GUI software
Prof. Moonzoo Kim Computer Science, KAIST
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
Revisiting a slide from the syllabus: CS 525 will cover Parallel and distributed computing architectures – Shared memory processors – Distributed memory.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Cpeg421-08S/final-review1 Course Review Tom St. John.
Principles of Object-Oriented Software Development The language Java.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
The LRPD Test: Speculative Run-Time Parallelization of Loops with Privatization and Reduction Parallelization Lawrence Rauchwerger and David A. Padua PLDI.
Pipelined Computations Divide a problem into a series of tasks A processor completes a task sequentially and pipes the results to the next processor Pipelining.
Chair of Software Engineering Concurrent Object-Oriented Programming Prof. Dr. Bertrand Meyer Exercise Session 2: Introduction.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) Dynamic and generic workflows in.NET Bart De Smet.
Topic ? Course Overview. Guidelines Questions are rated by stars –One Star Question  Easy. Small definition, examples or generic formulas –Two Stars.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Toward a Generic and Concurrency-Aware Pipes & Filters Framework Symposium on Software Performance 2014 Christian Wulf, Nils Christian Ehmke, and Wilhelm.
Prospector : A Toolchain To Help Parallel Programming Minjang Kim, Hyesoon Kim, HPArch Lab, and Chi-Keung Luk Intel This work will be also supported by.
Beyond Automatic Performance Analysis Prof. Dr. Michael Gerndt Technische Univeristät München
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
Object-Oriented Implementation of Reconciliations M.Sc. Seminar Talk by Costa Shapiro under supervision of Prof. Shmuel Katz Computer Science – Technion.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Understanding Parallelism-Inhibiting Dependences in Sequential Java Programs Atanas (Nasko) Rountev Kevin Van Valkenburgh Dacong Yan P. Sadayappan Ohio.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Hinde Bouziane – CBHPC’08 – October 2008 Marco ALDINUCCI and Marco DANELUTTO UNIPI - University of Pisa (Italy) Hinde Lilia BOUZIANE and Christian.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Pattern-based Detection and Utilization of Potential Parallelism in Software Systems Doctoral Symposium Prof. Dr. Wilhelm Hasselbring Department of Computer.
1162 JDK 5.0 Features Christian Kemper Principal Architect Borland.
Dynamic Analysis of Multithreaded Java Programs Dr. Abhik Roychoudhury National University of Singapore.
Packed Object Synchronization Introduction Many Java applications and frameworks must deal directly with native data. Packed Objects provide an approach.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Web Services Flow Language Guoqiang Wang Oct 7, 2002.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Mark Marron IMDEA-Software (Madrid, Spain) 1.
Adaptive Multi-Threading for Dynamic Workloads in Embedded Multiprocessors 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan,
ICCS WSES BOF Discussion. Possible Topics Scientific workflows and Grid infrastructure Utilization of computing resources in scientific workflows; Virtual.
Static Program Analysis of Embedded Software Ramakrishnan Venkitaraman Graduate Student, Computer Science Advisor: Dr. Gopal Gupta
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 Reusing threads.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Software Design and Architecture SEG3202 Nour El Kadri.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #12 – Systolic.
Mock Me If You Can An Introduction to the Mocking Framework Mockito Symposium on Software Performance 2014 Christian Wulf ― Software Engineering.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #13 – Other.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
An Automated Development Framework for a RISC Processor with Reconfigurable Instruction Set Extensions Nikolaos Vassiliadis, George Theodoridis and Spiridon.
Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays – Constraints and Methodology Presented by: Luis Ortiz Department of Computer.
JAC444: Intro to Java Arrays and Vectors Tim McKenna
Channels. Models for Communications Synchronous communications – E.g. Telephone call Asynchronous communications – E.g. .
An Offline Approach for Whole-Program Paths Analysis using Suffix Arrays G. Pokam, F. Bodin.
Advanced Operating Systems CIS 720
Parallel Programming By J. H. Wang May 2, 2017.
Part 3 Design What does design mean in different fields?
PRG 421 Education for Service-- snaptutorial.com.
PRG 421 Education for Service-- snaptutorial.com.
PRG 421Competitive Success/tutorialrank.com
EE 4xx: Computer Architecture and Performance Programming
CLARA . What’s new? CLAS Collaboration Meeting. March 6, 2019
Process Management -Compiled for CSIT
RadarGun: Toward a Performance Testing Framework
Process Management -Compiled for CSIT
Presentation transcript:

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 ― International Summer School in Parallel Patterns 20142

Overview of our Approach Christian Wulf ― International Summer School in Parallel Patterns 20143

S1: SDG Construction Christian Wulf ― International Summer School in Parallel Patterns control flow data flow hierarchy dependencies e.g., with Soot or Wala

S2: Runtime Information Gathering International Summer School in Parallel Patterns 2014Christian Wulf ― 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 2014Christian Wulf ― type: method invocation name: file.updateContents(text) variable: writtenBytes type: method invocation name: file.updateContents(text) variable: writtenBytes invocations: 10 exec. time: avg: 300ms, mean: 290ms, min: 250ms, max: 600ms filenames: (“C:/../Person.java”, “C:/../Address.java”, “C:/../Cridentials.java”, …) Graph transformation

S4: Ranking Christian Wulf ― International Summer School in Parallel Patterns 20147

S5: Pattern Detection Christian Wulf ― International Summer School in Parallel Patterns 20148

S6: Transformation International Summer School in Parallel Patterns 2014Christian Wulf ― graph refactoring -introduction of concurrency -introduction of synchronization -final approval by the user corresponding instance of a parallelization pattern graph transformation matched instance of a candidate pattern

S7 or S4 Christian Wulf ― International Summer School in Parallel Patterns

TeeTime Christian Wulf ― Read Process Write An example Pipes-and-Filters pipeline filter or stagepipe International Summer School in Parallel Patterns

TeeTime Christian Wulf ― Read Process An example Tee-and-Join pipeline Write Process port loop International Summer School in Parallel Patterns

TeeTime Christian Wulf ― Read Process Write Process Lock-free work stealing pipe within same thread SPSC pipe between 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

Example Filter in TeeTime Christian Wulf ― International Summer School in Parallel Patterns