Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps...
-
Upload
anna-booth -
Category
Documents
-
view
215 -
download
2
Transcript of Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps...
Ekrem Kocaguneli
Investigation of “A Method for Design and PerformanceModeling of Client/Server
Systems” and its Influence onthe Following Literature
11/29/2010
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
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
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.)
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
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
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
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.)
Steps of the Model (cntd.)
Use-Case Structural-model Collaboration-diagram
Database mapping
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
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
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
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
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
Questions
???