The Stream Virtual Machine

  • Authors:
  • Francois Labonte;Peter Mattson;William Thies;Ian Buck;Christos Kozyrakis;Mark Horowitz

  • Affiliations:
  • Stanford University;Reservoir Labs;MIT;Stanford University;Stanford University;Stanford University

  • Venue:
  • Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Stream programming is currently being pushed as a way to expose concurrency and separate communication from computation. Since there are many stream languages and potential stream execution engines, this paper proposes an abstract machine model that captures the essential characteristics of stream architectures, the Stream Virtual Machine (SVM). The goal of the SVM is to improve interoperability, allow developpment of common compilation tools and reason about stream program performance. The SVM contains control processors, slave kernel processors, and slave DMA units. Is is presented along with the compilation process that takes a stream program down to the SVM and finally down to machine binary. To extract the parameters for our SVM model, we use micro-kernels to characterize two graphics processors and a stream engine, Imagine. The results are encouraging; the model estimates the performance of the target machines with high accuracy.