RPM: A Rapid Prototyping Engine for Multiprocessor Systems

  • Authors:
  • Luiz André Barroso;Sasan Iman;Jaeheon Jeong;Koray Öner;Michel Dubois;Krishnan Ramamurthy

  • Affiliations:
  • -;-;-;-;-;-

  • Venue:
  • Computer
  • Year:
  • 1995

Quantified Score

Hi-index 4.10

Visualization

Abstract

In multiprocessor systems, processing nodes contain a processor, some cache memory, and a share of the system memory, and connect through a scalable interconnection. The system memory partitions may be shared or disjoint (message passing). Within each class of systems, many architectural variations are possible. Fair comparisons among systems are difficult without a common hardware platform to implement the different architectures. RPM (Rapid Prototyping engine for Multiprocessors), a hardware emulator for the rapid prototyping of various multiprocessor architectures, provides this platform. The authors describe its architecture, performance, and prototyping methodology. Reprogrammable controllers implemented with field-programmable gate arrays emulate the target machine's hardware. The processors, memories, and interconnections are off the shelf, and their relative speeds can be modified to emulate various component technologies. The authors also compare RPM with other rapid prototyping approaches. Because emulation is orders-of-magnitude faster than simulation, an emulator can run problems with large data sets more representative of the workloads for which the target machine is designed. An emulator can also accomplish more reliable performance evaluation and design. Finally, because an emulator is a real computer with its own I/O, every emulation is an actual incarnation of the target and can run several different workloads.