CS457 - System Performance Evaluation - Winter 2010
Public Service Announcements
- The next two lectures are based on this
example.
- Assignment 1 deadline moved to 20 January.
- Microsoft power: 30 MWatt
Lecture 4 - Abstraction from the Other Direction
A Typical System: E-Commerce Again
1. Goal(s)
- Provide merchandise information and process sales. Assume
- Separate data system(s) for
- fulfilment
- payment processing
- catalogue maintenance
- etc.
- Undifferentiated user requests
- Zero down time
- Easily scalable
- Vary response user to user
- Accommodate dynamic catalogue
A Possible System
- N identical servers:
- `identical' means
- same hardware
- same software
- same connectivity
- one is primary
- interacts with external non-user requests
- other servers are secondary
- receive non-user state changes from primary
- servers can fail
- new primary is needed
=> secondary servers need all the state of primary server
- Users
- each connected to a home server that does all the
transactions
- each home server is one of a server set
- each server in the server set has all the user state of the
home server
- home server failure means new server from server set
- activities
- browse catalogue
- interact with shopping cart
- purchase what's in shopping cart
- Load balancer
- initial assignment of home server
- assignment of home server on redirection
- External state (catalogue data)
- updated initially on primary
- distributed from primary to secondaries
- synchronized by primary
- User state (shopping cart contents)
- updated at home server
- transmitted to primary server
- distributed to esrver set
We have abstracted away
- server architecture: a server is a server
- communication properties: a message is a message
- external state: an update is an update
- users: sources of uncorrelated requests
2. Services
External requests
Requests to secondary servers
- user requests
- browse
- add/remove from cart
- purchase
all these requests have exogenous arrival rates
- primary server assignment
Requests to primary server, all the above plus
- external requests, such as catalogue updates
Requests to load balancer
- user requests
- system requests
Internal requests
Requests to secondary servers
- as home servers
- catalogue updates from primary
- assignment and re-assignment from load balancer
- as server set servers
- shopping cart updates from primary
Requests to primary servers, all the above plus
- shopping cart updates from home servers
- home and server set updates from load balancer
3. Metrics
Possible metrics
- Load balancing
- response time to user requests
- mean
- variability, such as standard deviation
- percentiles
- tails
The above list applies to all response times.
- response time for home server re-assignment
- system utilization
- Consistency
- response time to catalogue updates
- Uptime
- response time for primary server re-assignment
- availability: uptime / ( uptime + downtime )
Always remember Goodhart's law.
Return to: