Computer System Performance

XKCD comic

In this section, we will discuss how to evaluate the “goodness” of computing systems and some simple models for their performance.

Reading

Computer Organization and Design

Section 1.6 and 1.9

What determines the “value” of a system?

Zen and the art of motorcycle maintenance

This book is also “An Inquiry into Values,” though in a more philosophical sense. This video discuss what makes a system “good” and how to measure these characteristics.

Physics is an underlying barrier

A lecture from Admiral Grace Hopper which talks about the latency of light. Please watch from 45:02-48:25.

Now, let’s talk about the difference between latency and bandwidth a bit more.

Discussion

If latency is a fundamental physical constraint, how can we every make computers faster?!

There are two things we can do, and this is what computer architecture is all about!

Discuss in the Discord app!
Or, on the web

Explaining Computer System Performance

Reading

Computer Organization and Design

Section 1.6

The next video covers the Iron Law of performance and how to explain the performance of a processor. This breaks down the performance of a processor into three constituent parts. By breaking down the performance into these parts, we can think about how to optimize each component on its own which helps us focus our efforts in making processors more efficient.

This video shows an example of running a benchmark and applying the Iron Law.

Use Canvas to complete the quiz

Comparing Systems with Speedup

This video describes how to compare systems by using the speedup metric.

Discussion

Speedup is a metric to compare the performance of two systems, but there are other things we might want to compare as well.

Can you think of other comparison metrics which compare things other than performance?

Discuss in the Discord app!
Or, on the web

QUIZ Performance and Evaluation

Use Canvas to complete the quiz

Discussion

General discussion

Discuss in the Discord app!
Or, on the web


Previous submodule: