Type-Directed Compilation for Multicore Programming

  • Authors:
  • Kohei Honda;Vasco T. Vasconcelos;Nobuko Yoshida

  • Affiliations:
  • Queen Mary, University of London;University of Lisbon;Imperial College London

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we outline a general picture of our ongoing work on a compilation and execution framework for a class of multicore CPUs [Gelsinger, P., P. Gargini, G. Parker and A. Yu, Microprocessors circa 2000, IEEE SPectrum (1989), pp. 43-47; Olukotun, K., B. A. Nayfeh, L. Hammond, K. G. Wilson and K. Chang, The case for a single-chip multiprocessor, in: ASPLOS, 1996, pp. 2-11; Pham, D. et al., The design and implementation of a first-generation cell processor, in: ISSCC Dig. Tech. Papers (2005), pp. 184-185]. Our focus is to harness the power of concurrency and asynchrony in one of the major forms of multicore CPUs based on distributed, noncoherent memory [Pham, D. et al., The design and implementation of a first-generation cell processor, in: ISSCC Dig. Tech. Papers (2005), pp. 184-185], using the well-known technology of type-directed compilation [Morrisett, G., D. Walker, K. Crary and N. Glew, From System F to typed assembly language, ACM Trans. Program. Lang. Syst. 21 (1999), pp. 527-568]. The key idea is to regard explicit asynchronous data transfer among local caches as typed communication among processes. By typing imperative processes with a variant of session types [Honda, K., V. T. Vasconcelos and M. Kubo, Language primitives and type disciplines for structured communication-based programming, in: ESOP'98, LNCS 1381 (1998), pp. 22-138; Takeuchi, K., K. Honda and M. Kubo, An interaction-based language and its typing system, in: PARLE'94, LNCS 817 (1994), pp. 398-413], we obtain both type-safe and efficient compilation into processes distributed over multiple cores with local memories.