Simulation and embedded software development for Anton, a parallel machine with heterogeneous multicore ASICs

  • Authors:
  • J. P. Grossman;Cliff Young;Joseph A. Bank;Kenneth Mackenzie;Douglas J. Ierardi;John K. Salmon;Ron O. Dror;David E. Shaw

  • Affiliations:
  • D. E. Shaw Research, New York, NY, USA;D. E. Shaw Research, New York, NY, USA;D. E. Shaw Research and Reservoir Labs, New York, NY, USA;D. E. Shaw Research and Reservoir Labs, New York, NY, USA;D. E. Shaw Research, New York, NY, USA;D. E. Shaw Research, New York, NY, USA;D. E. Shaw Research, New York, NY, USA;D. E. Shaw Research, New York, NY, USA

  • Venue:
  • CODES+ISSS '08 Proceedings of the 6th IEEE/ACM/IFIP international conference on Hardware/Software codesign and system synthesis
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Anton, a special-purpose parallel machine currently under construction, is the result of a significant hardware-software codesign effort that relied heavily on an architectural simulator. One of this simulator's many important roles is to support the development of embedded software (software that runs on Anton's ASICs), which is challenging for several reasons. First, the Anton ASIC is a heterogeneous multicore system-on-a-chip, with three types of embedded cores tightly coupled to special-purpose hardware units. Second, a standard 512-ASIC configuration contains a total of 6,656 distinct embedded cores, all of which must be explicitly modeled within the simulator. Third, a portion of the embedded software is dynamically generated at simulation time. This paper discusses the various ways in which the Anton simulator addresses these challenges. We use a hardware abstraction layer that allows embedded software source code to be compiled without modification for either the simulation host or the hardware target. We report on the effectiveness of embedding golden-model testbenches within the simulator to verify embedded software as it runs. We also describe our hardware-software cosimulation strategy for dynamically generated embedded software. Finally, we use a methodology that we refer to as concurrent mixed-level simulation to model embedded cores within massively parallel systems. These techniques allow the Anton simulator to serve as an efficient platform for embedded software development.