Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps...

15
Ekrem Kocaguneli Investigation of “A Method for Design and Performance Modeling of Client/Server Systems” and its Influence on the Following Literature 11/29/2010

Transcript of Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps...

Page 1: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

Ekrem Kocaguneli

Investigation of “A Method for Design and PerformanceModeling of Client/Server

Systems” and its Influence onthe Following Literature

11/29/2010

Page 2: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

Introduction

CLISSPE and its background

Application to be Modeled

Steps of the Model

Assessment of Performance

Interpretation of Results

Follow up Literature (3 of 5)

Index

Page 3: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

Hard to design complex and distributed client/server (C/S) applicationsPerformance concerns are delayed till last

phases

One of the solutions: Combine design and performance analysis in

an iterative manner

The proposed language/system CLISSPEUses use-cases to map performance

specifications

Introduction

Page 4: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

To provide an example applicationRelational database intensive C/S system is chosenProject is observed from beginning till the end

The design of the project is done in an OO manner

By using CLISSPE designers specify Objects (server, client, database, tables,

transactions and networks)Relations between these objectsThe transactions executed in the system

Introduction(cntd.)

Page 5: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

CLISSPE uses a queuing network to model the system

It needs:Arrival rates: Can be estimatedDemand at each resource: Requires deep knowledge

of the platformCLISSPE can estimate the demands in 3 steps:

1. Declaration Part: Objects (clients, servers, disks, DBs, networks etc.) are defined

2. Mapping Part: Objects mapped to one another (clients to servers etc.)

3. Transaction Specification Part: Logic of transactions

CLISSPE and its Background

Page 6: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

A recruitment and training systemMore than 20 year old mainframe applicationLegacy code written in multiple languages

Observed project is the renewal of the legacy system

New system includesSeveral recruitment centersConnected with a 10-Mbps Ethernet LANRecruitment centers may or may not have a local

server The headquarters has with multiple servers

Application to be Modeled

Page 7: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

There are 8 steps to the model1. Use-case definition: Interaction scenarios

between user and system2. Structural-model definition:

Modeling real world objects into classes Defines static structure of the system

3. Behavioral-model definition Defines dynamic structure of the system The interaction of objects defined on object

collaboration diagram as a sequence

4. Mapping structural-model to relational database Objects identified during structural modeling are

mapped to DB Objects and interactions are defined in a relational

DB

Steps of the Model

Page 8: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

There are 8 steps to the model(cntd.)5. Client-Server Software Architecture Development

Object defined earlier are mapped to alternative C/S architectures

2 tier: Interface, application on client; DB on server 3 tier: Interface on client, application and DB on

different servers

6. Transaction specification Business logic is specified CLISSPE language provides transaction specification

7. Hardware/Software Mappings Mapping of system objects to actual physical

components

8. Performance Modeling and Assessment All previously defined objects, mappings and

transactions are evaluated by CLISSPE compiler

Steps of the Model (cntd.)

Page 9: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

Steps of the Model (cntd.)

Use-Case Structural-model Collaboration-diagram

Database mapping

Page 10: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

System is defined as a QN with Q = (R;W; λ;D)R corresponds to resources, W corresponds to workload, λ corresponds to a vector of arrival ratesD corresponds to a matrix of service demandsThe calculation formula for demand is:

ns is number of executions of statement sps is probability of executionDs

i,r is the demand of object r at resource i The database statements are separately modeled by

compilerAccording to every and each DBMS property (indexing, hashing

etc.)

Assessment of the Performance

Page 11: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

The results are presented for actual and model estimated response times

There are 8 different scenarios proposedEach scenario is encoded as follows:In mD(p)nA(q)

m: # of database serversp: # of processors in a database servern: # of application server q: # of pre-processors in the application server

In Comb(p)Application and the database servers on same machine

with p processorsSC: selective caching (some tables kept in main

memory)

Interpretation of Results

Page 12: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

The M5 Simulator: Modeling Networked Systems [4]

Simulator for TCP/IP networked C/SSimilar to CLISPE, it adopts OO simulation

infrastructureM5 is able to support

CPU modelsTime buffers: Array of mutual communications between

objectsMemory I/O devicesEthernet

Tested on a warehouse for transmit, receive, web-serverEstimated response times are compared to actual values

Follow Up Literature-1

Page 13: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

Model-Based Performance Prediction in Software Development: A Survey [2]

The focus is model-based performance analysis methods

Makes use of a 3 dimensional classification Integration level: In which part of the lifecycle does

the analysis method interfere? Automation Degree: How much automation is

required or adopted by the analysis method? Integration level: How much integration is

accomplished between software model and performance model?

CLISSPE is classified among the architectural pattern-based methodologies (together with M5)

Follow Up Literature-2

Page 14: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

Joint Optimization of Hardware and Network Costs for Distributed Computer Systems [1]

Makes use of alternative design options to combine hardware and network design in a single cost function

Design choices to be modeled as variables are: Server sizing and localization Multiple tier allocations Server sharing by multiple server applications Server sharing among different user classes Optimal reuse of legacy systems

Defined variables are fitted into an optimization model:Various decision variables ConstraintsAn objective function

Follow Up Literature-3

Page 15: Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.

Questions

???