Executable Modeling of Deployment Decisions for Resource-Aware - - PowerPoint PPT Presentation

executable modeling of deployment decisions for resource
SMART_READER_LITE
LIVE PREVIEW

Executable Modeling of Deployment Decisions for Resource-Aware - - PowerPoint PPT Presentation

Motivation Motivating Example Goal and Research Questions Summary Executable Modeling of Deployment Decisions for Resource-Aware Distributed Applications Silvia Lizeth Tapia Tarifa Precise Modeling and Analysis Group Department of


slide-1
SLIDE 1

Motivation Motivating Example Goal and Research Questions Summary

Executable Modeling of Deployment Decisions for Resource-Aware Distributed Applications

Silvia Lizeth Tapia Tarifa

Precise Modeling and Analysis Group Department of Informatics Faculty of Mathematics and Natural Sciences University of Oslo sltarifa@ifi.uio.no

07.05.2014

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 1/31

slide-2
SLIDE 2

Motivation Motivating Example Goal and Research Questions Summary Overview Contributions Outline

Overview

Deployment Various activities that place a software application

  • n computing devices

Requirements Develop Design Test Deploy

Deployment design Deployment requirements

Problem: Performance during the operational phase is below expectations Why? Characteristics of the deployment infrastructures influence performance Possible actions to improve performance: Redeploy, redesign applications Hypothesis: It is advantageous to include deployment decisions in the design phase

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 2/31

slide-3
SLIDE 3

Motivation Motivating Example Goal and Research Questions Summary Overview Contributions Outline

Overview

Research Goal Develop a methodology to express and compare different deployment decisions for resource-aware distributed applications during the design phase. Requirements:

Concurrent, distributed and

  • bject-oriented framework

Model based approach Formality

Integrate in a modeling language:

Deployment architectures Deployment decisions

In order to:

Estimate and quantify QoS Compare deployment architectures

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 3/31

slide-4
SLIDE 4

Motivation Motivating Example Goal and Research Questions Summary Overview Contributions Outline

Overall Contributions of this Thesis

Starting point is Core ABS:

Executable and object-oriented modeling language with a formal semantics and a Java-like syntax Clear and simple concurrency model (using COGs) with synchronous and asynchronous communication

Formally defined extensions of Core ABS:

Explicit and implicit modeling of dense time (Real-Time ABS) User-defined cost annotations Deadlines to method calls Modeling of deployment architectures Resource management: load-balancing and user-defined schedulers

Validation of methodology and formalization

Modeling examples and case studies Analysis results: Simulations

Publications:

This thesis collects four paper (two journal papers, two conference papers) Eight additional papers (not included in this thesis)

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 4/31

slide-5
SLIDE 5

Motivation Motivating Example Goal and Research Questions Summary Overview Contributions Outline

Outline

Motivating example Research goal and research questions Summary and future work

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 5/31

slide-6
SLIDE 6

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Outline Motivating example

Research goal and research questions Summary and future work

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 6/31

slide-7
SLIDE 7

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example definition: Phone Services

Client Client sms() call(n) sms() call(n) tel sms

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 7/31

slide-8
SLIDE 8

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example: Phone Services - Real-Time ABS

Telephone Service

interface TelephoneService { Unit call(Int calltime); } class TelephoneServer implements TelephoneServer { Int callcount = 0; Unit call(Int calltime){ while (calltime > 0) { [Cost: 1] calltime = calltime − 1; await duration(1, 1); } callcount = callcount + 1; } }

SMS Service

interface SMSService { Unit sendSMS(); } class SMSServer implements SMSServer { Int smscount = 0; Unit sendSMS() {[Cost: 1] smscount = smscount + 1;} }

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 8/31

slide-9
SLIDE 9

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example: Phone Services Client Behavior on New Year’s Eve

50 70 Alternate sms and call Huge number of sms per time interval time Alternate sms and call Midnight Window

Simulate the operation of the system outside standard usage. Client can flood the system and create congestion

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 9/31

slide-10
SLIDE 10

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example 2: Phone Services - Client Handsets

class Handset (Int cyclelength,TelephoneService ts,SMSService smss){ Bool call=false; Unit normalBehavior(){ if (timeValue(now()) > 50 && timeValue(now()) < 70) { this!midnightWindow(); } else { if (call) { ts.call(1); } else {smss!sendSMS();}; call = ∼call; await duration(cyclelength,cyclelength); this!normalBehavior(); } } Unit midnightWindow(){ Time t=now(); Int i=0; if (timeValue(now()) >= 70) { this!normalBehavior(); } else { Int i = 0; while (i < 10) { smss!sendSMS(); i = i + 1; } await duration(1,1); this!midnightWindow(); } } Unit run(){this!normalBehavior();} }

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 10/31

slide-11
SLIDE 11

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example: Phone Services - Deployment Modeling

smscomp telcomp Client Client sms() call(n) sms() call(n) tel sms

How a functional model will perform in a given deployment architecture

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 11/31

slide-12
SLIDE 12

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Deployment Components (new constructor)

Deployment component acts as an execution location

Server

... ...

  • bjectEnv

[cost] Task1 [cost] Task2

  • bject 1

[cost] Task1 [cost] Task2

  • bject n

[cost] Task1 [cost] Task2

Locations for concurrent objects in ABS Each deployment component has a given resource capacity Objects execute in the context of a deployment component The resources are shared between the component’s objects Object execution uses resources in a deployment component (via Cost annotation) How resources are assigned and consumed depends on the kind of resource Phone services example: computing capacity per time interval

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 12/31

slide-13
SLIDE 13

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example: Phone Services - Deployment Modeling

smscomp telcomp Client Client sms() call(n) sms() call(n) tel sms

{// Main block: DC smscomp = new cog DeploymentComponent(”smscomp”, CPU(50)); DC telcomp = new cog DeploymentComponent(”telcomp”, CPU(50)); [DC: smscomp] SMSService sms = new cog SMSServer(); [DC: telcomp] TelephoneService tel = new cog TelephoneServer(); c = new cog Handset(1,tel,sms); ... // Clients handsets }

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 13/31

slide-14
SLIDE 14

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example 1: Phone Services - Simulation Results

Can the performance of the phone service model be improved? Can the computing resources of a deployment architecture be better used?

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 14/31

slide-15
SLIDE 15

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example: Phone Services - Resource Management

Resource management using a simple load balancing strategy

smscomp telcomp Client Client sms() call(n) sms() call(n) tel sms telb smsb request()

Example strategy: Reallocate 1/3×total resources upon request from partner

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 15/31

slide-16
SLIDE 16

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example: Phone Services A Simple Load Balancing Strategy

class Balancer implements Balancer { Balancer partner = null; Unit run() { await partner != null; while (True) { await duration(1, 1); Int tl = thisDC().total(); Int ld = thisDC().load(1); if (ld > 90) { Fut<Unit> r = partner!requestdc(thisDC()); await r?; } } } Unit requestdc(DC comp) { Int tl = thisDC().total(); Int ld = thisDC().load(1); if (ld < 50) { thisDC()!transfer(comp, capacity(tl) / 3); } } Unit setPartner(Balancer p) { partner = p; } }

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 16/31

slide-17
SLIDE 17

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example: Phone Services Deployment Scenario with Balancers

Main block of the Real-Time ABS model with load balancing

{ // Main block DC smscomp = new cog DeploymentComponent(”smscomp”, CPU(20)); DC telcomp = new cog DeploymentComponent(”telcomp”, CPU(20)); [DC: smscomp] SMSServer sms = new cog SMSServer(); [DC: telcomp] TelephoneServer tel = new cog TelephoneServer(); [DC: smscomp] Balancer smsb = new cog Balancer(); [DC: telcomp] Balancer telb = new cog Balancer(); smsb!setPartner(telb); telb!setPartner(smsb); c = new cog Handset(1,tel,sms); ... // Clients handsets }

Simply by commenting out the Balancer, we get the same functional behavior model without load balancing.

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 17/31

slide-18
SLIDE 18

Motivation Motivating Example Goal and Research Questions Summary Phone Services Phone Services in Real-Time ABS Client Behavior Deployment Modeling

Example 1: Phone Services - Simulation Results

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 18/31

slide-19
SLIDE 19

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

Outline

Motivating example

Research goal and research questions

Summary and future work

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 19/31

slide-20
SLIDE 20

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

Resource-Aware Applications

Applications that can administrate their resource usage (e.g., to automatically adapt to changes in client traffic)

smscomp telcomp Client Client sms() call(n) sms() call(n) tel sms telb smsb request()

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 20/31

slide-21
SLIDE 21

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

Research Goal

Develop a methodology to express and compare different deployment decisions for resource-aware distributed applications during the design phase.

smscomp telcomp Client Client sms() call(n) sms() call(n) tel sms telb smsb request()

RQ1: Model deployment architectures RQ2: Express deployment decisions RQ3: Estimate and quantify QoS RQ4: Compare deployment architectures Model distributed applications that can adapt to changes in e.g., client traffic

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 21/31

slide-22
SLIDE 22

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

RQ1: How can we model deployment architectures for resource-aware distributed applications?

Deployment components to model physical or virtual deployment infrastructures

DC4 DC3

[cost] Task

DC2

[cost Task

DC1

[cost] Task1 [cost] Task2 [cost] Task3 CloudProvider Management and accounting of VM

DC

ApplicationServer Resource management [deadline] Invoke task

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 22/31

slide-23
SLIDE 23

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

RQ2: How can we express deployment decisions in models

  • f resource-aware distributed applications?

Design decisions related to QoS

1 User-defined schedulers 2 Resource management

primitives

3 Object migration

smscomp telcomp Client Client sms() call(n) sms() call(n) tel sms telb smsb request()

Modeling of load-balancing strategies to improve performance

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 23/31

slide-24
SLIDE 24

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

RQ3: How can we estimate and quantify QoS in models of resource-aware distributed applications?

1 Time 2 Deployment components 3 Deadlines to method calls 4 Cost Annotations

DC4 DC3

[cost] Task

DC2

[cost Task

DC1

[cost] Task1 [cost] Task2 [cost] Task3 CloudProvider Management and accounting of VM

DC

ApplicationServer Resource management [ d e a d l i n e ] I n v

  • k

e t a s k

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 24/31

slide-25
SLIDE 25

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

RQ4: How can we compare deployment architectures in models of resource-aware distributed applications?

How performance of a model improves with resource-awareness.

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 25/31

slide-26
SLIDE 26

Motivation Motivating Example Goal and Research Questions Summary Research Goal Research Questions

RQ4: How can we compare deployment architectures in models of resource-aware distributed applications?

How we can compare execution time and execution cost.

mProject mProjExec mImgtbl mOverlaps mDiffExec mDiff mFitExec mFitplane mBgModel mBackground mBgExec mAdd Re-project images Background modeling Background matching Final mosaic

Calculations for smoothing out the background levels between

  • verlapping images

Smooth out the original background between

  • verlapping images

Co-add all the reprojected, smoothed images into a final mosaic Redistribution of the images needed to create the mosaic into a common coordinate system

Partly ordered workflow and highly parallelizable tasks.

0" 200" 400" 600" 800" 1000" 1200" 1400" 1" 2" 4" 8" 16" 32" 64" 128" 0" 25" 50" 75" 100" 1" 2" 4" 8" 16" 32" 64" 128"

432 270 1152 CPU Cost 89 2 8 Time

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 26/31

slide-27
SLIDE 27

Motivation Motivating Example Goal and Research Questions Summary Papers Future Work

Outline

Motivating example Research goal and research questions

Summary and future work

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 27/31

slide-28
SLIDE 28

Motivation Motivating Example Goal and Research Questions Summary Papers Future Work

Summary

Syntactic and semantic extensions of Core ABS to express resource-awareness and compare deployment decisions: Real-Time ABS: explicit and implicit modeling of time Deployment components: modeling of deployment architectures User-defined cost annotations Deadlines to method calls Resource management primitives User-defined schedulers About the proposed methodology (validated with examples and case studies), the approach of this thesis allows: to observe how the same functional model can behave under different deployment choices to take better design decisions for resource-aware distributed applications during the design phase to acquire better understanding of the trade-offs from the different deployment choices to predict performance, scalability and resource costs

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 28/31

slide-29
SLIDE 29

Motivation Motivating Example Goal and Research Questions Summary Papers Future Work

Papers in this Thesis

1

User-defined Schedulers for Real-time Concurrent Objects.

Joakim Bjørk, Frank S. de Boer, Einar Broch Johnsen, Rudolf Schlatte and Silvia Lizeth Tapia Tarifa. Publication: Journal of Innovations in Systems and Software Engineering, 2013.

2 Integrating Deployment Architectures and Resource Consumption

in Timed Object-Oriented Models.

Einar Broch Johnsen, Rudolf Schlatte and Silvia Lizeth Tapia Tarifa. Publication: Research Report 438, Department of Informatics, University of Oslo, February 2014. Journal

  • f Logic and Algebraic Programming, accepted.

3 Modeling Resource-Aware Virtualized Applications for the Cloud

in Real-Time ABS.

Einar Broch Johnsen, Rudolf Schlatte and Silvia Lizeth Tapia Tarifa. Publication: Formal Methods and Software Engineering. Proceedings of the 14th International Conference on Formal Engineering Methods, ICFEM 2012.

4 Simulating Concurrent Behaviors with Worst-Case Cost Bounds.

Elvira Albert, Samir Genaim, Miguel G´

  • mez-Zamalloa, Einar Broch Johnsen, Rudolf Schlatte and

Silvia Lizeth Tapia Tarifa. Publication: Proceedings of the 17th International Symposium on Formal Methods, FM 2011.

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 29/31

slide-30
SLIDE 30

Motivation Motivating Example Goal and Research Questions Summary Papers Future Work

Future Work

Resources:

Other kind of resources (e.g., bandwidth, electric power) User-defined resources Multiple kinds of resources in the same deployment architecture

Stronger analysis techniques, such as deductive verification Guarantee of contractual obligations related to QoS (e.g., integration of SLAs) Methodology extensions (e.g., stepwise development, code generation, model extraction, etc.) Model and analyze other non-functional requirements related to deployment (e.g., security, fault-tolerance)

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 30/31

slide-31
SLIDE 31

Motivation Motivating Example Goal and Research Questions Summary Papers Future Work

THANK YOU

  • S. Lizeth Tapia Tarifa

Deployment Decisions for Resource-Aware Applications 31/31