µTC: an intermediate language for programming chip multiprocessors

  • Authors:
  • Chris Jesshope

  • Affiliations:
  • Institute for Informatics, University of Amsterdam, Amsterdam, SJ, Netherlands

  • Venue:
  • ACSAC'06 Proceedings of the 11th Asia-Pacific conference on Advances in Computer Systems Architecture
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

μTC is a language that has been designed for programming chip multiprocessors. Indeed, to be more specific, it has been developed to program chip multiprocessors based on arrays of microthreaded microprocessors as these processors directly implement the concepts introduced in the language. However, it is more general than that and is being used in other projects as an interface defining dynamic concurrency. Ideally, a program written in μTC is a dynamic, concurrent control structure over small sequences of code, which in the limit could be a few instructions each. μTC is being used as an intermediate language to capture concurrency from data-parallel languages such as single-assignment C, parallelising compilers for sequential languages such as C and concurrent composition languages, such as Snet. μTC's advantage over other approaches is that it allows an abstract representation of maximal concurrency in a schedule-independent form. Both Snet and μTC are being used in a European project called AETHER, in order to support all aspects of self-adaptive computation.