Preprototyping SIMD coprocessors using virtual machine emulation and trace compilation

  • Authors:
  • Martin C. Herbordt;Owais Kidwai;Charles C. Weems

  • Affiliations:
  • Department of Electrical and Computer Engineering, University of Houston, Houston, TX;Department of Electrical and Computer Engineering, University of Houston, Houston, TX;Department of Computer Science, University of Massachusetts, Amherst, MA

  • Venue:
  • SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

The use of massively parallel SIMD array architectures is proliferating in the area of domain specific coprocessors. Even so, they have undergone few systematic empirical studies. The underlying problems include the size of the architecture space, the lack of portability of the test programs, and the inherent complexity of simulating up to hundreds of thousands of processing elements. We address the computational cost problem with a novel approach to trace-based simulation. Code is run on an abstract virtual machine to generate a coarse-grained trace, which is then refined through a series of transformations (a process we call trace compilation) wherein greater resolution is obtained with respect to the details of the target machine. We have found this technique to be one to two orders of magnitude faster than instruction-level simulation while still retaining much of the accuracy of the model. Furthermore, abstract machine traces must be regenerated for only a small fraction of the possible parameter combinations. Using virtual machine emulation and trace compilation also addresses program portability by allowing the user to code in a single data parallel language with a single compiler, regardless of the target architecture. This technique has already been used to generate significant results with respect to SIMD array architectures, a sample of which are presented here.