CS457 - System Performance Evaluation - Winter 2008
Lecture 6 - Abstraction Example
In Lecture 5, I asked you to read this system
description. Today we will use it to do an example of how to make a
system abstraction.
We do this as methodically and mechanically as possible.
1a. Study goal
Study Goal
These are not obvious in the document. Here is what I deduce.
- Does load balancing maintain good response to clients?
- How well does the system maintain consistency in its outputs?
- How does the system respond to failures?
Don't say, "The document doesn't tell me."
- Read the document carefully.
- Look for what the author thinks is important.
- Think what the author's goals most likely were and state clearly what
you think they are.
1b. System Description
System Description
Clients, servers, load balancer
- Clients
Client actions
- Browse catalogue
- Add/remove items from shopping cart
- Do a transaction.
System support for user actions
- Each has a home server that handles transactions
- Each has a server set that is ready to handle transactions if the
home server fails
- Home server is intially selected by load balancer
- In case of failure redirection of client to new home server is done
by load balancer.
These are invisible to client.
- Two or more servers: one primary, the others secondary
- Each has a copy of the data base
- Each interacts with clients
- Server failure may occur
- Load balancer
- initial assignment of home server and server set
- redirection of client to new home server
- Catalogue data
- updated on primary server
- updates transmitted to secondary servers
- Shopping cart content
- updated by client on home server
- home server transmits update to primary server
- primary server transmits updates to server set
Important Note.The document is a little vague on the
issue of server set: How is the server set chosen? Is it ever changed? Is the
home server considered part of the server set? How should you respond?
- Documents are nevercomplete, except perhaps in heaven.
You must deal with this problem, not complain about it. That is, you
complain about it with your buddies; you deal with it for your boss; and
if you are lucky enough to be your own boss, you deal with it for your
bottom line.
- Here I have noticed that very little is said about the server set. It
seems only to exist in order to make it possible to change the home
server. Therefore, I assume that the server set is constant and not care
where it comes from.
- On the other hand, studying consistency is said to be important. Data
initially sent by the home server, then received back by it is a method
for checking consistency and measuring how long data is stale. Therefore
I assume that the home server is part of the server set.
1c. Simplifications
- Intra-server architecture not considered: treated as ideal.
- Communication network not considered: treated as ideal, which means it
delivers reliably with constant delay.
- Inventory management not considered.
Important Note. Other simplifications were made
implicitly: it is never possible to list all simplifications
explicitly. Always remember: the more simplifications the wider the scope of
the results, and the more simplifications the fewer solid results.
Second important note. Simplifications listed explicitly
point out aspects of the study where you might easily go wrong. It's a good
idea to ask yourself why a simplification is listed.
2. Services Provided
All servers
- Client requests
- browse
- add/remove
- transact
- Primary requests
- update catalogue
- update shopping cart (if in server set)
- Load balancer
- initial user login
- home server redirection
Primary server only
- Exogenous requests
- Server requests
Load balancer
- User requests
- Exogenous requests
3. Metrics
Load Balancing
- Reponse to client requests
- Delay in redirection
- Utilization
Consistency
- Time data is stale
- catalogue item
- shopping cart
Failure
- System availability for login
- Time to complete redirections
4. List Parameters
System Parameters
These describe system propertis that might be expected to affect the
performance of the system in dimensions described by the goals of the
study
- network delay
- frequency of transmission of shopping cart content
- frequency of server failure
- downtime on server failure
- load balancing algorithm
- service capacity: how many services a server can provide per second
Workload Parameters
- arrival rate of requests of each type
Hybrid Parameters
- service time, which depends on service capacity and arrival rate of
requests
5. Choose Factors
Return to: