Module 2: "Parallel Computer Architecture: Today and Tomorrow"
  Lecture 3: "Evaluating Performance"
 

What is computer architecture ?

  • Amdahl, Blaauw and Brookes, 1964 (IBM 360 team):
    • The structure of a computer that a machine language programmer must understand to write a correct (timing independent) program for that machine
  • Loosely speaking, it is the science of designing computers “leading to glorious failures and some notable successes”

Architect’s job

  • Design and engineer various parts of a computer system to maximize performance and programmability within the technology limits and cost budget
  • Technology limit could mean process/circuit technology in case of microprocessor architecture
  • For bigger systems technology limit could mean interconnect technology (how one component talks to another at macro level)

Slightly outdated data

58% growth rate

  • Two major architectural reasons
    • Advent of RISC (Reduced Instruction Set Computer) made it easy to implement many aggressive architectural techniques for extracting parallelism
    • Introduction of caches
  • Made easy by Moore’s law
  • Two major impacts
    • Highest performance microprocessors today outperform supercomputers designed less than 10 years ago
    • Microprocessor-based products have dominated all sectors of computing: desktops, workstations, minicomputers are replaced by servers, mainframes are replaced by multiprocessors, supercomputers are built out of commodity microprocessors (also a cost factor dictated this trend)