Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter - - PowerPoint PPT Presentation

evaluating approaches to detect bottlenecks in the pipe
SMART_READER_LITE
LIVE PREVIEW

Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter - - PowerPoint PPT Presentation

Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime Adrian Pegler March 18, 2016 Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 1 / 53


slide-1
SLIDE 1

Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime

Adrian Pegler March 18, 2016

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 1 / 53

slide-2
SLIDE 2

Outline

Introduction ⊲ Motivation

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 2 / 53

slide-3
SLIDE 3

Application Performance and Turnover

Introduction ⊲ Motivation

Studies

◮ Kissmetricsa:

◮ Hypothetical web-application with daily sales of 100,000$ ◮ 1 second page delay → 7% annually sales loss

◮ Amazon: 100ms page delay → 1% decrease in sales [3] ◮ Google: 500ms page delay → 20% drop in traffic [3]

ahttp://blog.kissmetrics.com/loading-time/

◮ General: higher performance

→ higher end user acceptance for software [2]

◮ Special case: Framework

→ Overhead induced on every build software [11]

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 3 / 53

slide-4
SLIDE 4

The WordCounter Application

Introduction ⊲ Motivation

Figure: Test configuration: WordCounter.

◮ 13% higher execution time of v2.0 compared to v1.1.2

Figure: Execution time of the WordCounter application.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 4 / 53

slide-5
SLIDE 5

The Goals of this Thesis

Introduction ⊲ Goals

  • 1. Explanation of Examples for Approaches to Detect Bottlenecks

◮ Overview and classification of existing approaches ◮ Discussion of advantages and drawbacks

  • 2. Apply Bottleneck Detection Approaches on the WordCounter
  • 3. Solve the bottleneck responsible for the higher execution time of

TeeTime 2.0 WordCounter

  • 4. Evaluate the solution

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 5 / 53

slide-6
SLIDE 6

Outline

Foundation ⊲ The Pipe & Filter Architectural Style

  • 1. Introduction
  • 2. Foundation

The Pipe & Filter Architectural Style The P&F Framework TeeTime Bottleneck Detection Approaches

  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 6 / 53

slide-7
SLIDE 7

Overview

Foundation ⊲ The Pipe & Filter Architectural Style

Figure: A simple example pipeline. [1]

◮ Advantages: Easy ...

◮ ... reordering [10] ◮ ... reuse [10] ◮ ... replacement [10] ◮ Good support for real concurrency [10] Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 7 / 53

slide-8
SLIDE 8

Advanced Pipelines

Foundation ⊲ The Pipe & Filter Architectural Style

Figure: A more complex example pipeline. [1] Figure: A hierarchical example pipeline. [1]

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 8 / 53

slide-9
SLIDE 9

Outline

Foundation ⊲ The P&F Framework TeeTime

  • 1. Introduction
  • 2. Foundation

The Pipe & Filter Architectural Style The P&F Framework TeeTime Bottleneck Detection Approaches

  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 9 / 53

slide-10
SLIDE 10

The P&F Framework TeeTime

Foundation ⊲ The P&F Framework TeeTime

Figure: An excerpt of the TeeTime framework architecture. [12]

◮ High throughput framework ◮ Modeling and execution of P&F applications

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 10 / 53

slide-11
SLIDE 11

TeeTime Stages: Plain

Foundation ⊲ The P&F Framework TeeTime

Figure: Plain test configuration: WordCounter.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 11 / 53

slide-12
SLIDE 12

TeeTime Stages: Extended

Foundation ⊲ The P&F Framework TeeTime

Figure: Extended test configuration: WordCounter.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 12 / 53

slide-13
SLIDE 13

TeeTime Pipes: Differences?

Foundation ⊲ The P&F Framework TeeTime

Figure: Extended test configuration: WordCounter.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 13 / 53

slide-14
SLIDE 14

TeeTime Pipes

Foundation ⊲ The P&F Framework TeeTime

◮ Connection of arbitrary stages ◮ Inter thread pipes:

◮ Function as buffer ◮ Synchronize threads

◮ Intra thread pipes:

◮ Stores only single element (pointer) ◮ Activates successor stage Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 14 / 53

slide-15
SLIDE 15

Outline

Foundation ⊲ Bottleneck Detection Approaches

  • 1. Introduction
  • 2. Foundation

The Pipe & Filter Architectural Style The P&F Framework TeeTime Bottleneck Detection Approaches

  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 15 / 53

slide-16
SLIDE 16

The Term Bottleneck

Foundation ⊲ Bottleneck Detection Approaches

◮ No uniform definition ◮ Often defined by the Approach itself:

Approach dependent definitions

◮ If a stage has the smallest isolation production rate, this machine is the

  • bottleneck. [4]

◮ The stage right after the fullest buffer (pipe) is the bottleneck [4, 5]

◮ Li et al. 2007 define it more generally:

Approach independent definition

If a stage has the maximum ratio of overall system performance increment to its own standalone performance increment, then this stage is the bottleneck. [6]

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 16 / 53

slide-17
SLIDE 17

Bottleneck Detection Approaches

Foundation ⊲ Bottleneck Detection Approaches

◮ Static approach [7][8]

◮ Changing input data

→ Often used for validation/verification

◮ Static system or code analysis

◮ Scenario-based approach [6]

◮ Specific configuration → scenario ◮ Simulate different scenarios → configuration of best performing

  • ne is called bottleneck

◮ Coefficient-based approach [7][8]

◮ Based on simulation output data → coefficients ◮ Examples for coefficients: ◮ Percentage of active time ◮ Average length of active time ◮ Longest waiting time of items Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 17 / 53

slide-18
SLIDE 18

Outline

Examples for Bottleneck Detection Approaches ⊲ Scenarios

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches

Scenarios Coefficients

  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 18 / 53

slide-19
SLIDE 19

Scenarios for the WordCounter Application

Examples for Bottleneck Detection Approaches ⊲ Scenarios

◮ Different number/size of files

→ specifically for I/O

◮ Different number of threads

Figure: Execution time for different number of WordCounter stages.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 19 / 53

slide-20
SLIDE 20

Outline

Examples for Bottleneck Detection Approaches ⊲ Coefficients

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches

Scenarios Coefficients

  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 20 / 53

slide-21
SLIDE 21

Coefficients for the WordCounter Application

Examples for Bottleneck Detection Approaches ⊲ Coefficients

◮ Longest waiting time of items

◮ Inaccurate [8] ◮ Strong correlation to blocking of stages ◮ No blocking

→ system in balance

◮ Number of blockings or blocking time

◮ blocking caused by sending to full pipe ◮ blocking caused by pulling from empty pipe Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 21 / 53

slide-22
SLIDE 22

Coefficients for the WordCounter Application

Examples for Bottleneck Detection Approaches ⊲ Coefficients

◮ Percentage of active time

◮ Easy to implement [8] ◮ But similar percentages for different behavior [8] ◮ High effort to gain confidence [8]

◮ Average active time

◮ Solves the above mentioned draw backs [8] Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 22 / 53

slide-23
SLIDE 23

Coefficients for the WordCounter Application

Examples for Bottleneck Detection Approaches ⊲ Coefficients

◮ Percentage of active time

◮ Easy to implement [8] ◮ But similar percentages for different behavior [8] ◮ High effort to gain confidence [8]

◮ Average active time

◮ Solves the above mentioned draw backs [8]

◮ Both are quotients of cumulative active time

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 23 / 53

slide-24
SLIDE 24

Outline

An Extended and Combined Approach

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 24 / 53

slide-25
SLIDE 25

Combined Approach

An Extended and Combined Approach

◮ Store data as list of pairs (time stamp, state) for each stage

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 25 / 53

slide-26
SLIDE 26

Combined Approach

An Extended and Combined Approach

◮ Store data as list of pairs (time stamp, state) for each stage ◮ Possibilities:

◮ Compute times:

Execution Subtract first time stamp from last time stamp Cumulative Add up all single durations of a specific state Average Divide cumulative time by the count of the specific state Percental Divide cumulative time by execution time

◮ Blocked time correlates to fullness of pipes ◮ Number of times a stage changed to a specific state Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 26 / 53

slide-27
SLIDE 27

Extended Approach: New State Introduced

An Extended and Combined Approach

Figure: Locations for a state change.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 27 / 53

slide-28
SLIDE 28

Extended Approach: New State Introduced

An Extended and Combined Approach

Figure: Locations for a state change.

◮ Stage can be active, blocked or active waiting

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 28 / 53

slide-29
SLIDE 29

A Problem with Storing the Data

An Extended and Combined Approach

Figure: Locations a state change takes place.

◮ Only store state change ◮ Store active waiting as cumulative duration

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 29 / 53

slide-30
SLIDE 30

Outline

Applying our Approach on TeeTime

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 30 / 53

slide-31
SLIDE 31

Scenario & Experimental Setup

Applying our Approach on TeeTime

◮ WordCounter for both version of TeeTime ◮ One test file: 190,692,500 words ◮ 3 JVM runs, 3 warm ups, 5 measurement runs ◮ Measurement by StateLogger

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 31 / 53

slide-32
SLIDE 32

The Results

Applying our Approach on TeeTime

Figure: Cumulative active, active waiting and blocked time of the

  • WordCounter. Version 1.1.2 left, version 2.0 right.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 32 / 53

slide-33
SLIDE 33

Differences in the Data

Applying our Approach on TeeTime

Figure: Difference of the above presented data.

◮ High blocking time of ▼❡r❣❡r

→ Bottleneck lies earlier

◮ High(er) blocking time of ❉✐str✐❜✉t❡r

→ Bottleneck lies later

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 33 / 53

slide-34
SLIDE 34

Differences in the Data

Applying our Approach on TeeTime

Figure: Difference of the above presented data.

◮ ▼❛♣♣✐♥❣❈♦✉♥t❡r has highest difference in active time

→ very likely the bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 34 / 53

slide-35
SLIDE 35

Outline

A Solution for the TeeTime Bottleneck ⊲ The Culpable Code and a Solution

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

The Culpable Code and a Solution Evaluating the Solution

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 35 / 53

slide-36
SLIDE 36

Differences in the Code

A Solution for the TeeTime Bottleneck ⊲ The Culpable Code and a Solution

Figure: Differences in the ▼❛♣♣✐♥❣❈♦✉♥t❡r.

◮ Statical Analysis (Diff)

→ identical

◮ Only invoked method: ❝♦✉♥t❡r✳✐♥❝r❡♠❡♥t✭❡❧❡♠❡♥t✮❀

→ ❈♦✉♥t✐♥❣▼❛♣ requires closer look

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 36 / 53

slide-37
SLIDE 37

Differences in the Code

A Solution for the TeeTime Bottleneck ⊲ The Culpable Code and a Solution

Figure: Differences in the ❈♦✉♥t✐♥❣▼❛♣.

◮ TeeTime 2.0 uses a newer implementation of ❖❜❥❡❝t■♥t▼❛♣

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 37 / 53

slide-38
SLIDE 38

A Possible Solution

A Solution for the TeeTime Bottleneck ⊲ The Culpable Code and a Solution

◮ Back to the roots!

→ Use the older data structure

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 38 / 53

slide-39
SLIDE 39

Outline

A Solution for the TeeTime Bottleneck ⊲ Evaluating the Solution

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

The Culpable Code and a Solution Evaluating the Solution

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 39 / 53

slide-40
SLIDE 40

Scenarios & Experimental Setup

A Solution for the TeeTime Bottleneck ⊲ Evaluating the Solution

◮ WordCounter for both version of TeeTime

◮ version 2.0 now also uses old data structure

◮ One test file: 190,692,500 words ◮ 3 JVM runs, 3warm ups, 5 measurement runs ◮ Measurement by StateLogger

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 40 / 53

slide-41
SLIDE 41

Differences in the Data

A Solution for the TeeTime Bottleneck ⊲ Evaluating the Solution

Figure: Difference of the execution time with v2.0 using old data structure.

◮ Total execution time overhead barely existent ◮ Other Differences

→ may be caused by disparities in data collection due to differences in both versions

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 41 / 53

slide-42
SLIDE 42

Outline

  • 1. Introduction
  • 2. Foundation
  • 3. Examples for Bottleneck Detection Approaches
  • 4. An Extended and Combined Approach
  • 5. Applying our Approach on TeeTime
  • 6. A Solution for the TeeTime Bottleneck

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 42 / 53

slide-43
SLIDE 43

Conclusion

◮ Many approaches can be combined

→ mainly a matter of representation

◮ Active waiting gives a better clue of systems behavior ◮ StateLogger is integrated in TeeTime ◮ Bottleneck has been found

→ hopefully future ones too

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 43 / 53

slide-44
SLIDE 44

Futur Work

◮ Some anomalies not yet studied

◮ TeeTime 2.0 faster then 1.1.2 on many threads ◮ Stage behavior differences: noise or real?

◮ Extension of the StateLogger for TeeTime

◮ More representations. ◮ Computation of representation could be organized as P&F

architecture

◮ Optimization of the StateLogger

◮ Should be choose-able ◮ Optimize runtime overhead of the StateLogger itself Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 44 / 53

slide-45
SLIDE 45

Bibliography I

Patrick van Bergen. Garfixia Software Architectures: Pipe-and-Filter. Website. ❤tt♣✿✴✴✇✇✇✳❞♦ss✐❡r✲❛♥❞r❡❛s✳♥❡t✴ s♦❢t✇❛r❡❴❛r❝❤✐t❡❝t✉r❡✴♣✐♣❡❴❛♥❞❴❢✐❧t❡r✳❤t♠❧❧; abgerufen am 17.03.2016. 1999. Brandon D. Gregg. Systems Performance: Enterprise and the

  • Cloud. Pearson Educationl, 2013.

Olumuyiwa Ibidunmoye, Francisco Hernández-Rodriguez, and Erik Elmroth. “Performance Anomaly Detection and Bottleneck Identification”. In: ACM Comput. Surv. 48.1 (2015), p. 4. DOI: ✶✵✳✶✶✹✺✴✷✼✾✶✶✷✵. URL: ❤tt♣✿✴✴❞♦✐✳❛❝♠✳♦r❣✴✶✵✳✶✶✹✺✴✷✼✾✶✶✷✵. C-T Kuo, J-T Lim, and Semyon M Meerkov. “Bottlenecks in serial production lines: A system-theoretic approach”. In: Mathematical problems in engineering 2.3 (1996), pp. 233–276.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 45 / 53

slide-46
SLIDE 46

Bibliography II

Stephen R Lawrence and Arnold H Buss. “Economic analysis of production bottlenecks”. In: Mathematical Problems in Engineering 1.4 (1995), pp. 341–363. Lin Li et al. “Bottleneck Detection of Manufacturing Systems Using Data Driven Method”. In: Assembly and Manufacturing,

  • 2007. ISAM ’07. IEEE International Symposium on. July 2007,
  • pp. 76–81. DOI: ✶✵✳✶✶✵✾✴■❙❆▼✳✷✵✵✼✳✹✷✽✽✹✺✷.
  • E. Lima, L. Chwif, and M.R.P

. Barreto. “Metodology for selecting the best suitable bottleneck detection method”. In: Simulation Conference, 2008. WSC 2008. Winter. Dec. 2008,

  • pp. 1746–1751. DOI: ✶✵✳✶✶✵✾✴❲❙❈✳✷✵✵✽✳✹✼✸✻✷✻✷.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 46 / 53

slide-47
SLIDE 47

Bibliography III

  • C. Roser, M. Nakano, and M. Tanaka. “A practical bottleneck

detection method”. In: Simulation Conference, 2001. Proceedings of the Winter. Vol. 2. 2001, 949–953 vol.2. DOI: ✶✵✳✶✶✵✾✴❲❙❈✳✷✵✵✶✳✾✼✼✸✾✽. Douglas C Schmidt et al. Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects.

  • Vol. 2. John Wiley & Sons, 2013.

Douglas C Schmidt et al. Pattern-oriented Software Architecture: Patterns for Concurrent and Networked Objects, Volume 2. Wiley, 2000.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 47 / 53

slide-48
SLIDE 48

Bibliography IV

Jan Waller and Wilhelm Hasselbring. “A Comparison of the Influence of Different Multi-core Processors on the Runtime Overhead for Application-Level Monitoring”. In: Multicore Software Engineering, Performance, and Tools - International Conference, MSEPT 2012, Prague, Czech Republic, May 31 - June 1, 2012. Proceedings. 2012, pp. 42–53. DOI: ✶✵✳✶✵✵✼✴✾✼✽✲✸✲✻✹✷✲✸✶✷✵✷✲✶❴✺. URL: ❤tt♣✿✴✴❞①✳❞♦✐✳♦r❣✴✶✵✳✶✵✵✼✴✾✼✽✲✸✲✻✹✷✲✸✶✷✵✷✲✶❴✺. Christian Wulf and Wilhelm Hasselbring. The Pipe-and-Filter Architectural Style Revisited: From Basic Concepts toward Smart Framework Implementations. 2015.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 48 / 53

slide-49
SLIDE 49

Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime

Adrian Pegler March 18, 2016

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 49 / 53

slide-50
SLIDE 50

Experiamental Setup

Processor Intel Core i7-4710 HQ Architecture x86-64 Clock/Core 2.5GHz Cores (# of threads) 4 (8) RAM 16 GB OS Windows 10 JDK Oracle JDK 1.8.0_60 VM runs 3 warm ups 3 measurement runs 5

Table: Setup used for the evaluation

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 50 / 53

slide-51
SLIDE 51

TeeTime Stages

Figure: Method calls of a consumer stage.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 51 / 53

slide-52
SLIDE 52

TeeTime Pipes

Figure: Method calls between two adjacent Threads.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 52 / 53

slide-53
SLIDE 53

TeeTime Pipes

Figure: Method calls within one single thread.

Adrian Pegler Evaluating Approaches to Detect Bottlenecks in the Pipe & Filter Framework TeeTime March 18, 2016 53 / 53