CS457 - System Performance Evaluation - Winter 2008


Questions and Comments

  1. Office hours for A1.

Lecture 10

Reprise of Little's law

Response Time

  1. R >= S, equality when U < 1.
  2. R = N/X - Z = (NS)/U - Z >= NS - Z, equality when U = 1

Throughput

  1. U = XS <= 1, which implies X = U/S <= 1/S.
  2. X(R + Z) = N, which implies X = N / (R + Z) >= N / (S + Z).

Now draw some pictures to see what's actually going on.

Measuring Performance

Think of the following scenario

  1. The boss calls: The performance our our system is lousy. What do you respond? Give me the details.
  2. Look at the logs
  3. Turn on one or more logs that were turned off
  4. You now know whether the problem is where the boss thinks it is: i.e., inside a particular application.
  5. All this time you have been examining the application while it is `in service', because that's where the problem was noticed. Now you are going to start doing things that you can't try while the application is in service.
  6. Add instrumentation to the application by altering its source code.
  7. Find a more-instrumented version of the operating system
  8. Find a hardware monitor and put it on the system in the critical place

If you have identified the problem in steps 6-8 you will almost certainly want to test performance on `in service' and synthetic workloads during testing.

Once you think the problem is solved you work your way back up this lists until you get to 1, which changes to `You call the boss.'

Traces

What I have called a log is usually called a trace, which is

Monitors

The code inserted to generate traces.

Measurement

What other reasons might you have for wanting to measure performance?

What do we try to measure

  1. Arrival and departure times
  2. Processor activity, which can give service times
  3. Other resource activity
  4. Failures

Levels of Measurement

  1. Application code
  2. Profiling tools
  3. Operating system
  4. Kernel
  5. Hardware

The Big Question

How much does the introduction of monitoring software influence the performance of the application.

  1. Event-driven monitors
  2. Sampling monitors


Return to: