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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Jesshope, C.R.: Microthreading – a model for distributed instruction-level concurrency. Parallel processing Letters (to published, 2005), see: http://staff.science.uva.nl/~jesshope/Papers/-thread.pdf
Bousias, K., Hasasneh, N.M., Jesshope, C.R.: Instruction-level parallelism through microthreading - a scalable Approach to chip multiprocessors. Computer Journal 49(2), 211–233 (2006)
OpenMP (2005) OpenMP Version 2.5 Specification, (accessed, 16/4/2006), http://www.openmp.org/drupal/mp-documents/draft_spec25.pdf
Lee, E.A.: The Problem With Threads. IEEE Computer 36(5), 33–42 (2006)
Tian, X., Girkar, M., Bik, A., Saito, H.: Practical Compiler Techniques on Efficient Multithreaded Code Generation for OpenMP Programs. The Computer Journal 48(5), 588–601 (2005)
Scholz, S.-B.: Single Assignment C - Efficient Support for High-Level Array Operations in a Functional Setting. Journal of Functional Programming 13(6), 1005–1059 (2003)
Shafarenko, A.: The principles and construction of SNet, Internal report, Dept of Computer Science, University of Hertfordshire (2006)
Bousias, K., Jesshope, C.R.: The Challenges of Massive On-Chip Concurrency. In: Srikanthan, T., Xue, J., Chang, C.-H. (eds.) ACSAC 2005. LNCS, vol. 3740, pp. 157–170. Springer, Heidelberg (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jesshope, C. (2006). μTC – An Intermediate Language for Programming Chip Multiprocessors. In: Jesshope, C., Egan, C. (eds) Advances in Computer Systems Architecture. ACSAC 2006. Lecture Notes in Computer Science, vol 4186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11859802_13
Download citation
DOI: https://doi.org/10.1007/11859802_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40056-1
Online ISBN: 978-3-540-40058-5
eBook Packages: Computer ScienceComputer Science (R0)