CS457 - System Performance Evaluation - Winter 2010
Public Service Announcements
- Mid-term conflicts
- Assignment 1. There are three general problems in this assignment:
- Many of the students did not separate the parameters and factors.
When they listed the parameters, they actually meant the factors.
- Most of the students noted that the bandwidth is something
important, but they still put it in the system parameters in part 2.
They did not understand the change from part 1 to part 2.
- Some students just copied the example in class, and provided many
items about the internal stuff. We cannot say it's wrong, but I do
not think they understand the lecture very well.
- Assignment 1 office hours
- 15.00 to 17.00 Friday (today)
- 15.00 to 17.00 Monday
- DC3549.
- Assignment 2.
Lecture 15 - Abstracting Systems for Simulation
Experimental Design
Design for analysis
Simulation
What is it?
Examples
- Games like Halo or The Sims
- Halo: simulate physics and biology using simplified models of
physics and biology that provide adequate look, sound and feel.
- The Sims: simulate human cognition & feeling, and also
inter-human interactions
- Pre-fabrication testing of computer hardware
- Simulate instruction execution using a slow speed implementation on
an existing CPU.
- May include
- instruction timing (for threading)
- heat generation
- electron density over time
- etc.
- Uses simplified workloads
- Normally follows on from a more primitive form of simulation,
usually called hand execution.
- Wizard of Oz methods in User Interface design
- Simulates interface operation by having a human that plays the part
of the computer.
- More interestingly (in the sense of "May you live in interesting
times.") done by Flash et al.
These models have in common the need to simplify either
- the mechanism, games & UI modelling
- the workload, instruction set
Models
Based on a model, which is an abstraction of the system.
- queueing models
- requests arrive
- wait
- get service
- depart
- one queue models
- multiple queue models
- require a scheduling mechanism (scheduling protocol)
- queueing networks
Model taxonomy
Common Model Contrasts
|
Continuous |
Discrete |
| Determinism |
Fully deterministic |
Details modelled probabilistically |
State
|
Continuous
e.g. know that processing is
x% complete |
Discrete: change system state
only when things start of end
(events) |
| Time |
Make time steps
as small as possible. |
Time moves forward discontinuously,
from event to event |
Model development
- You did this before
- Understand the system
- What is the goal?
- Determine the components
- e.g., server, job
- sometimes called `entities'
- have attributes, e.g.
- server: capacity
- job: service required
- system (client?): interarrival time
- Cheat and steal
- There must be some reason for lying as well.
- Select the type of queueing model
- single server queue,
- single service facility with multiple servers,
- network of queues
- Specify attributes that need algorithms
- e.g., scheduling disciplines for resources
- Specify workload parameters and performance metrics
- remember (guess what?) the goal
Example. Routing for automated telephone support
- single server, two classes of request (maybe two different products
being supported)
- queueing models have a scheduling algorithm, such as
- FCFS
- priority-based FCFS
- round robin, aka take turns
- each has a natural structure
- FCFS: single queue
- priority-based: multiple queues
- round-robin: multiple queues
- with multiple classes
- arrival rate adds: r = r1 + r2
- interarrival time adds reciprocals: t = 1/r = 1/(r1 + r2 ) =
1/(1/t1 + 1/t2) = t1*t2 / (t1 + t2)
or 1/t = 1/t1 + 1/t2
- Parameters
- interarrival time: per class
- length of transaction: per class
- service capacity: per class
- queueing algorithm
- Performance metrics
- waiting time: per class
This is used to determine the cycle time of the advertising you
listen to. Just joking!
- utilization
No point in hiring any more support staff than you need.
For a more CS-like example see this pdf.
Return to: