Distributed Pipe-and-Filter Architectures with TeeTime Masters - - PowerPoint PPT Presentation

distributed pipe and filter architectures with teetime
SMART_READER_LITE
LIVE PREVIEW

Distributed Pipe-and-Filter Architectures with TeeTime Masters - - PowerPoint PPT Presentation

Distributed Pipe-and-Filter Architectures with TeeTime Masters thesis Florian Echternkamp 21.04.2017 Motivation: Performance Single node: Parallelization limited by CPU cores Masters thesis - Distributed Pipe-and-Filter Architectures


slide-1
SLIDE 1

Distributed Pipe-and-Filter Architectures with TeeTime

Master’s thesis

Florian Echternkamp – 21.04.2017

slide-2
SLIDE 2

Motivation: Performance

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 2 / 38

Single node: Parallelization limited by CPU cores

slide-3
SLIDE 3

Motivation: Performance

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 3 / 38

Multiple nodes: parallelization no more limited by CPU

slide-4
SLIDE 4

Motivation: Locality

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Data locality

– Big Data – Stages process data close to the corresponding data source

Florian Echternkamp – 21.04.2017 4 / 38

slide-5
SLIDE 5

Outline

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 5 / 38

slide-6
SLIDE 6

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 6 / 38

slide-7
SLIDE 7

Goals

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • G1: Evaluation of Java Frameworks for Distributed Application

Development

– G1.1: Providing Efficient Distributed Communication – G1.2: Providing Fault Tolerance – G1.3: Providing Remote Deployment and Execution – G1.3: Providing Encrypted Data Transmission

  • G2: Implementation of a Distributed Pipe-and-Filter Architecture
  • G3: Adding Support for Distributed Configurations in the TeeTime DSL
  • G4: Evaluation of Our Approach

– G4.1: Feasibility – G4.2: Performance

Florian Echternkamp – 21.04.2017 7 / 38

slide-8
SLIDE 8

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 8 / 38

slide-9
SLIDE 9

Foundations & Technologies

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • The Pipe-and-Filter Architectural Style [Sommerville 2012]
  • The Pipe & Filter Framework TeeTime [Wulf et al. 2014]
  • The Actor Model [Agha 1985]
  • The Actor Framework Akka [http://akka.io]

Florian Echternkamp – 21.04.2017 9 / 38

slide-10
SLIDE 10

Foundations & Technologies

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • TeeTime Domain-specific Language (DSL) [Zloch 2016]
  • Communication Patterns for Distributed Systems

[Silcock and Goscinski 1995]

– Message Passing – Remote Procedure Call – Distributed Shared Memory

Florian Echternkamp – 21.04.2017 10 / 38

slide-11
SLIDE 11

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 11 / 38

slide-12
SLIDE 12

Evaluation of Java Frameworks

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Build Infrastructure
  • Features

Florian Echternkamp – 21.04.2017 12 / 38

License Open Source

  • Min. JDK

Version Latest activity Latest release Apache 2.0 Yes 1.8 12.06.2016 03.03.2016 (2.3.0) Communication Pattern Transport Protocol Fault Tolerance Remote Deployment Custom Serializer Encryption Message Passing TCP, UDP Supervisor, … Yes No Yes

slide-13
SLIDE 13

Evaluation of Java Frameworks

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 13 / 38

Atomix Hystrix Quasar Copycat

slide-14
SLIDE 14

Evaluation of Java Frameworks

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 14 / 38

Atomix Hystrix Quasar Copycat

slide-15
SLIDE 15

Architecture

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 15 / 38

slide-16
SLIDE 16

Implementation of Distr. Comm.

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 16 / 38

Communication via stages Communication via ports without a pipe Communication via a pipe

slide-17
SLIDE 17

Distributed Pipe

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 17 / 38

slide-18
SLIDE 18
  • Impl. of Single Configuration

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 18 / 38

slide-19
SLIDE 19

DSL for the Distributed Config

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 19 / 21

slide-20
SLIDE 20

Remote Deployment (1 of 6)

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 20 / 38

slide-21
SLIDE 21

Remote Deployment (2 of 6)

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 21 / 38

slide-22
SLIDE 22

Remote Deployment (3 of 6)

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 22 / 38

slide-23
SLIDE 23

Remote Deployment (4 of 6)

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 23 / 38

slide-24
SLIDE 24

Remote Deployment (5 of 6)

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 24 / 38

slide-25
SLIDE 25

Remote Deployment (6 of 6)

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 25 / 38

slide-26
SLIDE 26

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 26 / 38

slide-27
SLIDE 27

Evaluation of Our Approach

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Feasibility

– Remote deployment and remote execution – Distributed communication – Fault tolerance

  • Performance

– Communication overhead – Execution time

Florian Echternkamp – 21.04.2017 27 / 38

slide-28
SLIDE 28

Feasibility Test Scenario

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 28 / 38

Resulting P&F architecture

slide-29
SLIDE 29

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

Demo time

Florian Echternkamp – 21.04.2017 29 / 38

slide-30
SLIDE 30
  • Comm. Overhead Test Scenario

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 30 / 38

Resulting P&F architecture

  • Test setup

– 3 Cloud Nodes

  • 2x Intel Xeon (2.8 GHz, 8 cores)
  • 128 GB RAM

– Software

  • Ubuntu 14.04.5 LTS
  • Java JDK 1.8.121 64bit

– 10GBit/s network

slide-31
SLIDE 31
  • Comm. Overhead Results

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 31 / 38

non-distributed tcp udp ssl local 00:40,313 00:44,190 00:44,523 00:44,542 distributed 00:47,082 00:47,677 00:48,114 00:00,000 00:08,640 00:17,280 00:25,920 00:34,560 00:43,200 00:51,840

Communication Overhead per Transport Protocol

local distributed

Test objects: 5000x 1 Megabyte large Strings | 20 test iterations CI 95% <= ±00:00,840

slide-32
SLIDE 32

Execution Time Test Scenario

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 32 / 38

Resulting P&F architecture

  • Configuration Changes

– Multiple CPU Load Generator Stages in a row – Synched pipes – Increased CPU load by the factor 10

slide-33
SLIDE 33

Execution Time Results

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime Florian Echternkamp – 21.04.2017 33 / 38

non-distributed tcp udp ssl local 02:39,480 02:39,462 02:40,609 02:40,752 distributed 01:35,943 01:35,948 01:36,307 00:00,000 00:17,280 00:34,560 00:51,840 01:09,120 01:26,400 01:43,680 02:00,960 02:18,240 02:35,520 02:52,800

Execution Time per Transport Protocol

local distributed

Test objects: 1000x 1 Megabyte large Strings | 20 test iterations Local CI 95% <= ±00:01,386 | Distributed CI 95% <= ±00:00,250

slide-34
SLIDE 34

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 34 / 21

slide-35
SLIDE 35

Related Work

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Apache Hadoop1: MapReduce on a big problem
  • Apache Spark2 and Storm3: only acyclic graphs
  • Akka4: message box is untyped

Florian Echternkamp – 21.04.2017 35 / 21

1http://hadoop.apache.org | 2http://spark.apache.org | 3http://storm.apache.org | 4http://akka.io

slide-36
SLIDE 36

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 36 / 38

slide-37
SLIDE 37

Conclusion

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Achieved all implementation goals

– Distributed communication

  • TCP and UDP
  • Encrypted

– Remote deployment and remote execution – Fault tolerance – Distributed configurations in the TeeTime DSL

  • Feasibility and performance advantages shown

Florian Echternkamp – 21.04.2017 37 / 38

slide-38
SLIDE 38

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Motivation
  • Goals
  • Foundations
  • Developed Approach
  • Evaluation
  • Related Work
  • Conclusion
  • Future Work

Florian Echternkamp – 21.04.2017 38 / 38

slide-39
SLIDE 39

Future Work

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • Access stage attributes via the client
  • SSL connection between master and worker
  • Providing a master system similar to the remote

system

– No need to embed the execution of the distributed configuration – Similar to the non-distributed config

Florian Echternkamp – 21.04.2017 39 / 38

slide-40
SLIDE 40

References

Master’s thesis - Distributed Pipe-and-Filter Architectures with TeeTime

  • [Agha 1985] G. A. Agha. Actors: a model of concurrent computation in

distributed systems.

  • Technical report. DTIC Document, 1985.
  • [Silcock and Goscinski 1995] J. Silcock and A. Goscinski. Message passing,

remote procedure calls and distributed shared memory as communication paradigms for distributed systems. Deakin University, School of Computing and Mathematics, 1995.

  • [Sommerville 2012] I. Sommerville. Software engineering. In: Pearson

Studium, Mar. 1, 2012. Chapter 6.3.4, pages 200–201.

  • [Wulf et al. 2014] C. Wulf, N. C. Ehmke, and W. Hasselbring. Toward a generic

and concurrency-aware pipes & filters framework (2014).

  • [Zloch 2016] M. Zloch. Development of a domain-specific language for pipe-

and-filter configuration builders. Feb. 2016.

Florian Echternkamp – 21.04.2017 40 / 21