Tradeoffs in Multicomputer Architecture

Tradeoffs in Multicomputer Architecture

The Meerkat Multicomputer: Tradeoffs in Multicomputer Architecture by Robert C. Bedichek A dissertation submitted in partial ful®llment of the requirements for the degree of Doctor of Philosophy University of Washington 1994 Approved by (Co-Chairperson of Supervisory Committee) (Co-Chairperson of Supervisory Committee) Program Authorized to Offer Degree Date In presenting this dissertation in partial ful®llment of the requirements for the Doctoral degree at the University of Washington, I agree that the Library shall make its copies freely available for inspection. I further agree that extensive copying of this dissertation is allowable only for scholarly purposes, consistent with ªfair useº as prescribed in the U.S. Copyright Law. Requests for copying or reproduction of this dissertation may be referred to University Micro®lms, 1490 Eisenhower Place, P.O. Box 975, Ann Arbor, MI 48106, to whom the author has granted ªthe right to reproduce and sell (a) copies of the manuscript in microform and/or (b) printed copies of the manuscript made from microform.º Signature Date University of Washington Abstract The Meerkat Multicomputer: Tradeoffs in Multicomputer Architecture by Robert C. Bedichek Co-Chairpersons of Supervisory Committee: Professor Henry M. Levy Professor Edward D. Lazowska Department of Computer Science and Engineering A central problem preventing the wide application of distributed memory multicomputers has been their high price, especially for small installations. High prices are due to long design times, support for scaling to thousands of nodes, and high production costs. This thesis demonstrates a new approach that combines some carefully chosen restrictions on scaling with a software-intensive methodology. We used a concrete design, Meerkat, as a vehicle for exploring the multicomputer design space. Meerkat is a distributed memory multicomputer architecture effective in the range from several to hundreds of processors. It uses a two-dimensional, passive backplane to connect nodes composed of processors, memory, and I/O devices. The interconnect is conceptually simple, inexpensive to design and build, has low latency, and provides high bandwidthon longmessages. However,itdoes notscale tothousands of processors, provide high bandwidth on short messages, or implement cache coherent shared memory. This thesis describes Meerkat's architecture, the niche that Meerkat ®lls, and the ratio- nale for our design choices. We present performance results obtained from our hardware prototype and a calibrated simulator to demonstrate that parallel numerical workloads work well on Meerkat. Table of Contents List of Figures vi List of Tables viii Chapter1: Introduction 1 1.1 The High Cost of Parallel Computers 1 1.2 The Thesis 2 1.3 Meerkat's Genesis 3 1.4 Methodology 5 1.5 Research Contributions 7 1.6 Thesis Organization 8 Chapter 2: Meerkat Design Issues and Architecture 9 2.1 Introduction 9 2.1.1 Node Processors 10 2.1.2 Limiting Scalability 11 2.1.3 Shared vs. Private Address Spaces 12 2.1.4 Design Time 13 2.1.5 Uniprocessor versus Multiple-Processor Nodes 14 2.1.6 Interconnect Planarity 15 2.2 Meerkat's Architecture 15 2.2.1 Communication in Meerkat 17 2.3 Meerkat System Scalability 18 2.3.1 The Steady-State Design Rule 18 2.3.2 Beyond Steady State: High Performance Bus Signalling 19 2.3.3 Bus Loading 20 2.3.4 Interconnect Dimensionality vs. Cooling and Power Requirements 21 2.3.5 Network Bandwidth: Circuit-Switched versus Packet-Switched Networks 21 2.3.6 Network Latency in Meerkat vs. 2-D Meshes 22 2.3.7 Buses and Technology Trends 25 2.4 Meerkat's System Software 26 2.4.1 Software-Controlled Interconnect 26 2.4.2 Buffering and Deadlock in the Interconnect 27 2.5 Summary 27 Chapter3: TheMeerkatHardwarePrototype 29 3.1 Introduction 30 3.2 Physical Layout of a Meerkat Node 31 3.3 Meerkat Prototype's Interconnect Cost 34 3.4 Meerkat's Memory System 35 3.4.1 DRAM Control and Interleaving 35 3.4.2 DRAM Addressing 36 3.4.3 Parity Checking and Generation 37 3.4.4 DRAM Refresh 37 3.5 Internode Bus Arbitration and Signalling 37 3.6 Internode Data Transfer 38 3.7 Initialization 39 3.8 S-Bus Interface 40 3.9 Host-Meerkat Communication 41 3.10 Lessons Learned from the Meerkat Prototype 43 3.11 Summary 44 Chapter4: TheMeerkatSimulator 46 4.1 Introduction 46 4.2 Bene®ts of Architecture Simulation 47 4.3 Simulation Strategies 48 4.3.1 Microarchitecture Simulation 48 4.3.2 Macroarchitecture Simulation 48 ii 4.3.3 Direct Execution 48 4.3.4 Blurred Lines Between Simulation Techniques 49 4.3.5 The Meerkat Approach: Threaded-Code 49 4.4 Structure of the Meerkat Simulator 50 4.4.1 Translation to Threaded Code 51 4.4.2 Instruction Pointers and Branching Instructions 51 4.4.3 Decoded Instruction Pages 52 4.4.4 Processor State 54 4.4.5 Modelling Basic Instruction Execution Time 55 4.4.6 Processor Switching 57 4.4.7 Modelling Data Memory Access 58 4.4.8 Modelling Instruction Memory Access 59 4.4.9 Modelling I/O 60 4.5 Meerkat Simulator's Performance 60 4.6 Timing Models and Simulator Accuracy 61 4.6.1 Timing Model Development 61 4.6.2 Timing Accuracy Tests 63 4.7 Pro®ling Features 67 4.8 Fast Conditional Breakpoints 69 4.9 Summary 70 Chapter5: APerformanceAnalysisofMeerkat 72 5.1 Introduction 72 5.2 Message Granularity 73 5.3 Message Passing 74 5.4 Chronologyof Csend and Irecv Message Primitives 75 5.5 Bandwidth under Light Load 78 5.6 Bandwidth under Heavy Load 80 5.7 Per-Node Bandwidth 81 5.8 Application Performance 83 5.9 Performanceof 1-D FFT 87 5.10 Performance of SOR 89 iii 5.11 Performance of SIMPLE: A Fluid Dynamics Benchmark 90 5.12 Summary 91 Chapter6: TheMeerkat2NetworkInterface 93 6.1 Introduction 93 6.2 Meerkat-2 Network Interface Architecture 94 6.2.1 Rationale for a New Network Interface 94 6.2.2 Programmer's View of Meerkat-2 95 6.2.3 Operating System Implications of Meerkat-2 98 6.2.4 Implementing Message Primitives on Meerkat-2 101 6.2.5 Comparison With Other Network Interfaces 102 6.3 Performance 105 6.3.1 Meerkat-1, Meerkat-2, Meerkat-msg, Meerkat-in®nite 105 6.3.2 Bandwidth under Light Load 106 6.3.3 Bandwidth under Heavy Load 106 6.3.4 Speed-upof FFT 107 6.3.5 Performanceof SOR 110 6.4 Summary 110 Chapter 7: Meerkat Implemented with Current Technology 112 7.1 NodeSize 113 7.2 Clocking 113 7.3 Summary 116 Chapter8: Conclusions 117 8.1 Contributions 118 8.2 Avenues for Future Research 119 8.2.1 Meerkat Interconnect in a Multiprocessor 119 8.2.2 Fault Tolerance 120 8.2.3 Electrical Engineering of Faster Buses 120 8.2.4 High Performance and Accurate Simulator 121 8.3 FinalWord 121 iv Bibliography 122 v List of Figures 2.1 Cost-Performance Curve for Uniprocessors 10 2.2 Structureof a 3x3 Meerkat 16 2.3 Non-Local Communication in Meerkat and a 2-D Mesh 23 2.4 Ratio of Latency of Meerkat to 2-D Mesh 24 3.1 Meerkat Component Interrelationships 30 3.2 Main Data and Address Paths of a Meerkat Node 32 3.3 Board Layout of a Meerkat Node 33 3.4 Magic DRAM Space 39 4.1 Meerkat Simulator Structure 50 4.2 Decoded Instructions for addu r4,r5,r6 and ld r2,r4,1000 52 4.3 Simulator Data Structures 54 4.4 Relationship between General Registers and Time-Available Array 56 4.5 Real MC88100 DMU and Simulation Model 57 4.6 User-Settable Timing Model Parameters.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    150 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us