Compositional Performance Abstractions of Software Connectors · Pipe Filter Pipe Filter Pipe...

Post on 05-Aug-2020

5 views 0 download

transcript

CHAIR FOR SOFTWARE DESIGN AND QUALITY (SDQ), KARLSRUHE INSTITUTE OF TECHNOLOGY (KIT)

Compositional PerformanceAbstractions of Software ConnectorsWork in Progress / Vision PaperMisha Strittmatter, Lucia Happe | June 19, 2013

KIT – University of the State of Baden-Wuerttemberg andNational Laboratory of the Helmholtz Association

www.kit.edu

Motivation

SDQ

(Software)

Correspondence

(Model)

1

42

2

? asdf

13

DB...

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 1

Motivation

SDQ

Me

asu

rem

en

t

Pre

dic

tio

n

(Software)

Correspondence

(Model)

1

42

2

? asdf

13

DB...

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 2

Motivation

SDQ

Me

asu

rem

en

t

Pre

dic

tio

n

(Software)

Correspondence ?

Correspondence

(Model)

1

42

2

? asdf

13

DB...

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 3

Motivation

SDQ

Me

asu

rem

en

t

Pre

dic

tio

n

(Software)

Correspondence ?

Correspondence

(Model)

1

42

2

? asdf

13

DB...

One Possible

Cause:

Missing Detail

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 4

Refinement Based Approach

SDQ

(Model)

1

42

2

? asdf

13

DB...

Prediction

Refine

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 5

Refinement Based Approach

SDQ

(Model)

1

42

2

? asdf

13

DB...

Prediction

Refine

0,5

12

IPD

KIT

3

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 6

Refinement Based Approach

SDQ

(Model)

1

42

2

? asdf

13

DB...

Prediction

Refine

0,5

12

IPD

KIT

3

+

-

12

12

SW

42

SDQ

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 7

Refinement Based Approach

(Model)

Prediction

RefineDrawback:

Increased Effort,

Model too Complex

SDQ

1

42

2

? asdf

13

DB...

0,5

12

IPD

KIT

3

+

-

12

12

SW

42

SDQ

DB

DB... DB

SDQ

SW

42KIT

4212

12

12

12

1242 2

3 IPD

+

-SW

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 8

Idea: Purpose Specific Models

Purpose?

Verification

Performance

Prediction

Reliability

Prediction

Docu-

mentation

Code

Generation

Different

Levels of

Abstraction

Required

SDQ

1

42

2

? asdf

13

DB...

0,5

12

IPD

KIT

3

+

-

12

12

SW

42

SDQ

DB

DB... DB

SDQ

SW

42KIT

4212

12

12

12

1242 2

3 IPD

+

-SW

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 9

Idea: Purpose Specific Models

Purpose

Verification

Performance

Prediction

Reliability

Prediction

Docu-

mentation

Code

Generation

Different

Levels of

Abstraction

Required

SDQ

1

42

2

? asdf

13

DB...

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 10

Performance Specific Abstraction

3 sec

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 11

Performance Specific Abstraction

10 sec

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 12

Performance Specific Abstraction

10 sec

Activities of Calls Passing

Through the Connector:

qWaiting

qProcessing

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 13

Performance Specific Abstraction

10 sec

Activities of Calls Passing

Through the Connector:

qWaiting

qProcessing

Performance Abstraction:

qPipe

qFilter (active/passive)

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 14

Performance Specific Abstraction

Pipe Filter Pipe Filter Pipe Filter

13,42 sec

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 15

Performance Specific Abstraction

Pipe Filter Pipe Filter Pipe Filter

High Abstraction vs. High Detail

13,42 sec

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 16

Performance Specific Abstraction

Co

mp

leti

on

13,42 sec

Black Box

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 17

Architecture Excerpt

Client UnitClient Server

1:1 Procedure Call Connector

Server Unit

Resource Container

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 18

Architecture Excerpt

Client Unit

Pipe

Interceptor

Pipe Pipe

Adapter

∙ ∙ ∙

Pipe

Compressor Distributor

Pipe

Cryptor

∙ ∙ ∙

∙ ∙ ∙

Client ServerServer Unit

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 19

Architecture Excerpt

Client Unit

Pipe

Interceptor

Pipe Pipe

Adapter

∙ ∙ ∙

Pipe

Compressor Distributor

Pipe

Cryptor

∙ ∙ ∙

∙ ∙ ∙

Client ServerServer Unit

FilterPipe1 Pipe2

Filter: acquire worker

Pipe2: acquire capacity

Filter: process

Filter: release worker

Pipe1: release capacity

Scope of the filter’s control focus

forked activity

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 20

Feature Arch Mapping

Pipe

Interceptor

Pipe Pipe

Adapter

∙ ∙ ∙

Client

Component

Pipe

Compressor Distributor

Pipe

Cryptor

∙ ∙ ∙

∙ ∙ ∙

Server

Unit

Procedure

Call

Adaption

Interception

EncryptionCompression Replication

Distribution

RemoteLocal

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 21

Feature Selectionp

Pipe

Interceptor

Pipe

∙ ∙ ∙

Client

Component

Compressor

Pipe

Cryptor

Server

Unit

Procedure

Call

Adaption

Interception

EncryptionCompression Replication

Distribution

RemoteLocal

Selection

Au

tom

atic

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 22

Feature Configurationp

Pipe

Interceptor

Pipe

∙ ∙ ∙

Client

Component

Compressor

Pipe

Cryptor

Server

Unit

Procedure

Call

Adaption

Interception

EncryptionCompression Replication

Distribution

RemoteLocalTarget

Interface

WP, Buffer

RD

WP, Buffer

RD

ConfigureA

uto

ma

tic

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 23

Transformation Generationp

Pipe

Interceptor

Pipe

∙ ∙ ∙

Client

Component

Compressor

Pipe

Cryptor

Server

Unit

Procedure

Call

Adaption

Interception

EncryptionCompression Replication

Distribution

RemoteLocal

Transformation Fragment 1

Transformation Fragment 2

Transformation Fragment 3

Combine

Transformation(Specific for one Configuration)

Com

bine

Combine

Target

Interface

WP, Buffer

RD

WP, Buffer

RD

Au

tom

atic

Reoccuring Basic

Elements

(Pipes & Filters)

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 24

Evaluation

Sensor

Sensor

Sensor

Server

Periodically

Send Data

Compression,

Socket Transfer,

Decompression

Can the Connectors be Abstracted

by Pipe & Filter Chains?

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 25

Evaluation

Procedure

Call

Distribution

Remote Local

Asynch

Compression DecompressionSocket Transfer

(PCM)

Sensor

Sensor

Sensor

Server

Server Worker

Management

Critical Section

Transactions

Interception Adaption

EncryptionReplication

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 26

Evaluation

Procedure

Call

Distribution

Remote

Asynch

Compression DecompressionSocket Transfer

(PCM)

Sensor

Sensor

Sensor

Server

Server Worker

Management

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 27

Evaluation

Sensor Pipe Compr Pipe Socket

Sensor Pipe Compr Pipe Socket

Sensor Pipe Compr Pipe Socket

PipeDe-

compPipe Server

(PCM)

Procedure

Call

Distribution

Remote

Asynch

Compression DecompressionSocket Transfer

Server Worker

Management

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 28

Evaluation

Sensor Pipe Compr Pipe Socket

Sensor Pipe Compr Pipe Socket

Sensor Pipe Compr Pipe Socket

PipeDe-

compPipe Server

(PCM)

Procedure

Call

Distribution

Remote

Asynch

Compression Socket Transfer Decompression

Server Worker

Management

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 29

Summary

0 100 200 300 400 500

0

100

200

300

400

500

600

700

800

900

Measurements

1 Thread

Compression Decompression Socket Transfer

Data Size (kB)

Re

sp

on

se

Tim

e (

ms

)

Pipe Filter Pipe Filter Pipe Filter

13,42 sec

Pipe

Interceptor

Pipe

∙ ∙ ∙

Client

Component

Compressor

Pipe

Cryptor

Server

Unit

Procedure

Call

Adaption

Interception

EncryptionCompression Replication

Distribution

RemoteLocalTarget

Interface

WP, Buffer

RD

WP, Buffer

RD

Configure

Au

tom

atic

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 30

Basic Design

FilterPipe1 Pipe2

Scope of the filter’s control focus

pull for data from Pipe1

(block if Pipe empty)

process

push data to Pipe2

(block if Pipe full)

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 31

Basic Design

FilterPipe1 Pipe2

Filter: acquire worker

Pipe2: acquire capacity

Filter: process

Filter: release worker

Pipe1: release capacity

Scope of the filter’s control focus

forked activity

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 32

Connector Topology

d

Messaging

Blackboard

bb

c s

c

c

Procedure Call

n:1

Streaming

full duplex

1:1

w r

r

r

half

duplex

1:n

(Originally Designed by Tomas Bures [BP03])

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 33

Feature Diagram

Legend

or

exclusive or

mandatory

optional

concept

mandatory

feature

alternative

feature

alternative

feature

alternative

feature

or-subfeature

or-subfeature

alternative

subfeature

alternative

subfeature

optional

subfeature

mandatory

subfeature

or-subfeature

optional

subfeature

excludes

requires

An instance of a feature diagram is a subset of nodes, selected after the followingrestrictions:

The root is always included.Mandatory features have to be included, if their parent is included.Optional features can be included, if their parent is included.One or more features of an or-feature set have to be included, if their parent isincluded.Exactly one feature of an exclusive-or-feature set has to be included, if its parentis included.All requires- and excludes-constraints of a feature are satisfied.

[Bus07]

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 34

Related WorkConnectors

Connector taxonomy [MMP00]Composing connectors of elements [BP03]

CompletionsCompletion generation [KHB10], conflict resolution [KG09]Replication [Har10]Middleware completion [HFBR08]Encryption, Compression, Marshalling [Bec08]

Component SystemsSurveys [Koz10, LW05, KZM+10, Bur06]ROBOCOP [BMdW+04, Rob], OLAN [BBB+98], SOFA[PBJ98]

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 35

Procedure Call Connector Client UnitArchitecture

Pipe

Interceptor

Pipe Pipe

Adapter

Pipe

Compressor Distributor

Pipe

Cryptor

∙ ∙ ∙

∙ ∙ ∙

∙ ∙ ∙

Client

Component

Server

Unit

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 36

Procedure Call Connector ServerUnit Architecture

Pipe

Cryptor

Pipe

SyncherCompressor

Pipe

Transaction

Manager

Pipe

Adaptor Interceptor

Pipe

Sink

Pipe

Pipe

∙ ∙ ∙

Client

Units

Server

Component

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 37

Worker Management

FilterPipeFilter

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 38

Procedure Call Connector FeatureTree

Procedure

Call

CompressionReplication

(Replication)

Encryption

(Coupled)

Adaption

Client Server

(Filter) (Filter)

Interception

Client Server

(Interception) (Interception)

Distribution

Remote Local

Transactions

Synch

Asynch

Server Worker

Management

Critical Section

Legend

or

exclusive or

mandatory

optional

Target

Connections

Buffer Size

(x2)

(Coupled)

WP Size

EnabledBuffer

Size (x2)

Capacity

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 39

Filter Feature Tree

Filter (x2)

WP Sizeper

Method

Manual Lib

Resource

Demand

Bytesize

Modification

Buffer

Size

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 40

Coupled Activity Feature Tree

Coupled (x2)

Client

WP Size

per

Method

Manual Lib

Application

Bytesize

Modification

Reversion

Resource

Demand

Resource

Demand

Bytesize

Modification

Server

WP Size

Client

Buffer Size

Server

Buffer Size

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 41

Interception & Replication FeatureTree

Interception

WP Size

(x2)Target

Buffer

Size (x2)

Replication

Replication

Count

per

Replica

Resource

Container

Distributor

WP Size (x2)

Policy

Buffer

Size (x2)

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 42

References I

[BBB+98] R. Balter, L. Bellissard, F. Boyer, M. Riveill, and J.-Y. Vion-Dury.Architecturing and configuring distributed application with olan.In Middleware ’98: Proceedings of the IFIP International Conference on Distributed SystemsPlatforms and Open Distributed Processing, pages 241–256, London, UK, 1998. Springer-Verlag.

[Bec08] Steffen Becker.Coupled Model Transformations for QoS Enabled Component-Based Software Design.PhD thesis, University of Oldenburg, Germany, March 2008.

[BMdW+04] Egor Bondarev, Johan Muskens, Peter de With, Michel Chaudron, and Johan Lukkien.Predicting real-time properties of component assemblies: A scenario-simulation approach.EUROMICRO Conference, 0:40–47, 2004.

[BP03] Tomas Bures and Frantisek Plasil.Composing connectors of elements.Technical Report 3, Dep. of SW Engineering, Charles University, Prague, May 2003.

[Bur06] Tomas Bures.Generating Connectors for Homogeneous and Heterogeneous Deployment.PhD thesis, Charles University, Prague, September 2006.

[Bus07] Frank Buschmann.Pattern-oriented software architecture, volume 1: A system of patterns.Wiley, Chichester [u.a.], repr. edition, 2007.

[Har10] Christian Harnisch.Modeling parallel, component-based software architectures with design patterns.Study thesis, Karlsruhe Institute of Technology (KIT), 2010.

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 43

References II

[HFBR08] Jens Happe, Holger Friedrich, Steffen Becker, and Ralf H. Reussner.A pattern-based performance completion for message-oriented middleware.In WOSP ’08: Proceedings of the 7th international workshop on Software and performance, pages165–176, New York, NY, USA, 2008. ACM.

[KG09] Lucia Kapova and Thomas Goldschmidt.Automated feature model-based generation of refinement transformations.In In Proceedings of the 35th EUROMICRO Conference on Software Engineering and AdvancedApplications, 2009.

[KHB10] Lucia Kapova, Jens Happe, and Steffen Becker.Systematic pattern-based design of performance models for concurrent software systems.Will be published, 2010.

[Koz10] Heiko Koziolek.Performance evaluation of component-based software systems: A survey.Performance Evaluation, 67(8):634 – 658, 2010.Special Issue on Software and Performance.

[KZM+10] Lucia Kapova, Barbora Zimmerova, Anne Martens, Jens Happe, and Ralf H. Reussner.State dependence in performance evaluation of component-based software systems.In Proceedings of the 1st Joint WOSP/SIPEW International Conference on Performance Engineering(WOSP/SIPEW ’10), New York, NY, USA, 2010. ACM.

[LW05] Kung-Kiu Lau and Zheng Wang.A taxonomy of software component models.EUROMICRO Conference, 0:88–95, 2005.

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 44

References III

[MMP00] Nikunj R. Mehta, Nenad Medvidovic, and Sandeep Phadke.Towards a taxonomy of software connectors.In ICSE ’00: Proceedings of the 22nd international conference on Software engineering, pages178–187, New York, NY, USA, 2000. ACM.

[PBJ98] F. Plasil, D. Balek, and R. Janecek.SOFA/DCUP: Architecture for component trading and dynamic updating.In Fourth International Conference on Configurable Distributed Systems, 1998. Proceedings, pages43–51, 1998.

[Rob] Robocop: Robust open component based software architecture for configurable devices project.Public deliverables.http://www.hitech-projects.com/euprojects/robocop/deliverables.htm.

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 45

Copyright

Copyright to the title image (”jack plug 3”) is owned by the userfazong of http://www.sxc.huDuplicating the image from this presentation is prohibited.Instead you can download it here:http://www.sxc.hu/photo/912517 (if you respect the copyrightgiven there)

Introduction Approach Implementation Evaluation Conclusion Appendix

Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 46