Professional Documents
Culture Documents
Agenda
1 Architecture
2 History
3 Types of Computers
4 Structure
5 Technology Trends
6 Performance
Abstraction Layers
Application
Algorithm
Programming Language Parallel
computing,
Original Operating System/Virtual Machine security, …
domain of Domain of
Instruction Set Architecture (ISA)
the computer recent
architecture Microarchitecture computer
(‘50s-’80s) architecture
Gates/Register-Transfer Level (RTL)
(‘90s)
Circuits Reliability,
Devices power, …
Physics
Reinvigoration of
computer architecture,
mid-2000s onward.
Classes of Computers
Desktop
Designed to deliver good performance to a single user at low
cost, usually; executing 3rd party software, incorporating a
graphics display, a keyboard, and a mouse
Servers
Used to run larger programs for multiple, simultaneous users
typically accessed only via a network and that places a greater
emphasis on dependability and (often) security. Examples: file
servers, web servers, database servers
Embedded
A computer inside another device used for running one
predetermined application
Supercomputers
A high performance, high cost class of servers with hundreds
to thousands of processors, terabytes of memory and petabytes
of storage that are used for high-end scientific and engineering
applications
Post PC Era
Components of a Computer
System software
Operating system – supervising program that interfaces the
user’s program with the hardware (e.g., Linux, MacOS,
Windows)
– Handles basic input and output operations
– Allocates storage and memory
– Provides for protected sharing among multiple applications
Compiler – translate programs written in a high-level language
(e.g., C, Java) into instructions that the hardware can execute
Compiler
Assembler
Computer Progress
Moore’s Law
Processor-Memory Gap
Performance is not improving at the same rate
Processor
logic capacity: about 30% per year
clock rate: about 20% per year until early 00’s
has now practically come to a halt
Memory
DRAM capacity: about 40% per year (2x every 2-3 years)
Memory speed: about 10% per year
Cost per bit: improves about 25% per year
Disk
capacity: about 40% per year (2x every 3 years)
Flash Storage
capacity: about 60% per year (2x every 2 years)
Processor Performance
Performance Motivation
It is often helpful to have some way by which to compare
systems
During the design of new systems
During purchasing to compare between products
...
Measure of performance
Latency: time to finish a fixed task
Throughput: number of tasks in fixed time
Example: Move people from A → B, a distance of 10km
Passengers Speed (km/h)
Car 5 60
Bus 60 20
What is the latency of the 1) Car, 2) Bus?
What is the throughput of the 1) Car, 2) Bus?
Comparing Performance
System A is n times faster than B
Latency (B)
Latency (A) = (1)
n
Latency (B)
Latency (A) = (3)
1 + X /100
Response Time
Time between start and completion of a task, as observed by
the end user
Response Time =
CPU Time + Waiting Time (I/O, OS scheduling, etc.)
Throughput
Number of tasks the machine can run in a given period of time
Defining Performance
1
PerformanceX = (5)
ExecutionTimeX
Relative Performance
PerformanceX ExecutionTimeY
= =n (6)
PerformanceY ExecutionTimeX
SPEC Benchmarks
SPEC (Standard Performance Evaluation Corporation)
http://www.spec.org/
Consortium that collects, standardizes, and distributes
benchmarks
Post SPECmark results for different processors
1 number that represents performance for entire suite
Benchmark suites for CPU, Java, I/O, Web, Mail, etc.
Updated every few years
SPEC CPU 2006
12 “integer”: bzip2, gcc, perl, hmmer (genomics), h264, . . .
17 “floating point”: wrf (weather), povray, sphynx3 (speech)
...
SPEC CPU 2017
2 “integer” suites: latency vs. throughput
2 “floating point” suites: latency vs. throughput
Clock Cycles
Clock Cycles
CPU Time
= CPU cycles X Clock cycle time (7)
CPU cycles
=
Clock rate
Improving Performance
Performance Equation
Performance Equation:
Performance Summary