3 Architecture Evaluation and Classification of Computer Architectures Bewertung und Klassifikation von Rechnerarchitekturen " System Architecture " Software Architecture " Hardware Architecture " Hardware Architecture = Computer Architecture " ISA: instruction set architecture " HSA: hardware system architecture " " ISA: Hardware / Software Interface 1 2 Architect searches the space of possible designs for the best solution (best design). Goals Criteria for a good design High Performance Architectural Goals High Dependability reliability, availability, maintainability, security, safety Ease of Use Cost / Performance Analysis Bad Ideas Good Ideas Mediocre Ideas 3 Extendability Scalelability Low Costs 4
Architektur-Kriterien / Criteria Architectural Criteria Balance " Modularität /modularity " Orthogonalität /orthognality " Angemessenheit /adeguacy " Symmetrie /symmetry " Virtualität / virtuality " Transparenz/ transparency Modularity: Collection of (nearly) independent modules extendability, availability Orthogonality: Each module performs a well defined function; no two modules perform the same function maintainability, costs, usage 5 6 Architectural Criteria Architectural Criteria Adequacy: The costs of a module is adequate with respect to its function and use. performance, costs Symmetry: Existence of one module implies the existence of certain other modules ease of use Virtuality: Elimination of physical limits (by software) virtual processor, virtual memory, virtual channel,... scaleability, extendability, ease of use Transparency: Hiding of 'unimportant' details from the user ease of use 7 8
Transparency Transparency Transparency of access: identical operations for accessing different media ( main memory, mass storage, network,..) ease of use Transparency of location: access of objets without knowledge of their location ease of use Transparency of replication: transparent use of several copies of an object performance, dependability Transparency of concurrency: transparent use of parallelism performance, extendability, scaleability 9 Transparency of performance: system configuration can be changed without loss of functionality, performance, reliability etc. extenability, dependability, maintainability Transparency of scale: system size can be extended such that its performance increases scaleability, costs Transparency of of faults: the system hides, masks, tolerates faults and errors dependability 10 Cost/Performance Analysis - Architektur-Analysen E-V-V Machbarkeitsstudie / Feasability Analysis Verification / Verifikation: Correctness of the design Is the system correctly designed and implemented? Leistungsbewertung / Performance Analysis Verläßlichkeitsbewertung / Dependability Analysis Evaluation / Bewertung: What are the parameter values? What can the system deliver? Kostenanalyse / Cost Analysis Performance Validation / Validierung: Does the system what is expected? Has the correct system been designed and implemented? - verification and evaluation of architectures Dependability Costs - validation and evaluation of systems 11 12
Bewerten von System- und Rechnerarchitekturen Evaluation of Architectures Evaluation of Architectures Goals: " Ziele / Goals " Kriterien / Criteria " Bewertungsmaße / Measures " Bewertungsverfahren / Methods identification of weak points in the architecture identification of performance bottlenecks identification of hidden reserves predictions of performance, reliability and costs comparison of architectures evaluation of new concepts tuning for the application etc. 13 14 Leistungsgrößen / Performance Measures Zuverlässigkeitsgrößen / Dependability Measures " Raten / rates : MIPS, MFLOPS " Fehlerraten / failure rates : FITS " CPU - Performance oder mittlerer CPU-Durchsatz (CPU-Throughput) " Beschleunigung / Speed up " Summarische Bewertung: Benchmarks " Funktionswahrscheinlichkeit (Zuverlässigkeit) /reliability " Verfügbarkeit / Availability " Sicherheit / Safety " Robustheit / robustness 15 16
Bewertungsverfahren / Means " Messende Bewertung / Measurements Monitoring - Benchmarks " Simulative Bewertung / Simulation " Analytische Bewertung / Analysis Classification of Computer Architectures Criteria / Klassifikations-Kriterien Architecture Classes / Klassen " Wissensbasierte Bewertung / Knowledge based Evaluation (Expertensysteme) Simulative und analytische Bewertung sind modell-basiert. 17 18 Criteria Classification (1) " Organization of the Control and Data Flow " Dependent Program Control: single, central control unit " Address Space Organization " Use of Physical Memory " Independent Program Control: parallel machines 19 20
Examples: Single Control Architectures Classification (1) C P U M e m o r y a.) S I S D m o d e l e) Superscalar Processors M e m. " Dependent Program Control: single, central control unit C P U C ac h e M e m. C P U M e m. b. ) m e m o r y i n te r l e a v in g c.) w i t h c a c h e " Independent Program Control: parallel machines d. ) C ac he f1 f2 fn d. ) p i p e l i n e C P U w i t h n s ta g e s 21 22 At lower end performance increases faster than linearly, then the curve saturates and small gains in performance come at tremendous increase in cost. Performance Why Parallel Computing? Cost-performance of serial computers 1990s 1980s 1970s 1960s Why Parallel Computing? Although speed of computers is steadily increasing, new applications require even higher speed. Performance of serial computers is beginning to saturate. A natural way to solve the problem is the usage of an ensemble of processors parallel computers Cost Cost-performance curve of serial computers and its change over the decades 23 24
Main Purposes for Parallel Computing Flynn s Classes of Computer Architectures A parallel computer is simply a collection of processors, interconnected in a certain fashion to allow the coordination of their activities and the exchange of data Parallel computers need parallel algorithms, i.e. algorithms suitable for implementation on parallel computers " SI: Single Instruction Stream " MI: Multiple Instruction Stream " SD: Single Data Stream Memory Faster solutions Solution of large size problems " MD: Multiple Data Stream CPU 25 26 Flynn s Classes of Computer Architectures Flynn s Classes of Computer Architectures " SISD: Single Instruction Stream-Single Data Stream Monoprocessor " SIMD: Single Instruction Stream-Multiple Data Stream array processors, vector computers " Princeton (Von Neumann) -Architecture: common instruction and data stream " Harward - Architecture separate instruction and data streams Memory CPU Memory CPU 27 28
Flynn s Classes of Computer Architectures Degree of Parallelism " MIMD: Multiple Instruction Stream-Multiple Data Stream Memory Moderate Parallel Computers: SMP (Symmetric Multiprocessor) Massively Parallel Processor: MPP Hugh number of processing nodes Hugh switching network Single computing resource - for a single job CPU 29 30 Symmetric Multiprocessor Non-symmetric Multiprocessor In einem (symmetrischen) Multiprozessorsystem können alle Prozessoren auf einen gemeinsamen Hauptspeicher zugreifen. Hauptspeicher Dadurch ist es ihnen möglich, Daten auszutauschen. Den Prozessoren steht aber nur ein gemeinsamer Datenweg zum Hauptspeicher zur Verfügung, z.b. ein gemeinsamer Bus. 31 Haupt- und Ein/Ausgabe-Prozessoren 32
Global Address Space Distributed Physical Memory Local Address Spaces Address Space Address Spaces P M P M P M P M P M P M Interconnection Network Interconnection Network Verbindungsnetz, interconnection network, interconnect 33 distributed and private physical memory 34 Parallel Architectures " Control / Data Flow: centralized or distributed (Flynn) " Address Space: local or global " Physical Memory: private or shared " Type of Interconnection Network 35