CS457 - System Performance Evaluation - Winter 2008


1. Assignment 1


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.

  1. Does load balancing maintain good response to clients?
  2. How well does the system maintain consistency in its outputs?
  3. How does the system respond to failures?

Don't say, "The document doesn't tell me."

  1. Read the document carefully.
  2. Look for what the author thinks is important.
  3. 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

  1. Clients

    Client actions

    System support for user actions

    These are invisible to client.

  2. Two or more servers: one primary, the others secondary
  3. Load balancer
  4. Catalogue data
  5. Shopping cart content

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?

  1. 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.
  2. 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.
  3. 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

  1. Intra-server architecture not considered: treated as ideal.
  2. Communication network not considered: treated as ideal, which means it delivers reliably with constant delay.
  3. 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

  1. Client requests
  2. Primary requests
  3. Load balancer

Primary server only

  1. Exogenous requests
  2. Server requests

Load balancer

  1. User requests
  2. Exogenous requests

3. Metrics

Load Balancing

  1. Reponse to client requests
  2. Delay in redirection
  3. Utilization

Consistency

  1. Time data is stale

Failure

  1. System availability for login
  2. 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

  1. network delay
  2. frequency of transmission of shopping cart content
  3. frequency of server failure
  4. downtime on server failure
  5. load balancing algorithm
  6. service capacity: how many services a server can provide per second

Workload Parameters

  1. arrival rate of requests of each type

Hybrid Parameters

  1. service time, which depends on service capacity and arrival rate of requests

5. Choose Factors


Return to: