Fine Grained Multithreading with Process Calculi

This paper presents a multithreaded abstract machine for the TyCO process calculus. We argue that process calculi provide a powerful framework to reason about fine-grained parallel computations. They allow the construction of formally verifiable systems on which to base high-level programming idioms, combined with efficient compilation schemes into multithreaded architectures.

[1]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[2]  Arvind V. Kathail A multiple processor data flow machine that supports generalized procedures , 1981, ISCA '81.

[3]  B J Smith,et al.  A pipelined, shared resource MIMD computer , 1986 .

[4]  王淑美,et al.  Turner综合征三例 , 1987 .

[5]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[6]  R. S. Nikhil Can dataflow subsume von Neumann computing? , 1989, ISCA '89.

[7]  Allan Porterfield,et al.  The Tera computer system , 1990 .

[8]  Mario Tokoro,et al.  An Object Calculus for Asynchronous Communication , 1991, ECOOP.

[9]  David E. Culler,et al.  Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine , 1991, ASPLOS IV.

[10]  G. Erard Boudol Asynchrony and the -calculus (note) , 1992 .

[11]  Donald Yeung,et al.  Sparcle: A Multithreaded VLSI Processor for Parallel Computing , 1992, Parallel Symbolic Computing.

[12]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[13]  Arvind,et al.  T: a multithreaded massively parallel architecture , 1992, ISCA '92.

[14]  Rishiyur S. Nikhil,et al.  The Parallel Programming Language Id and its Compilation for Parallel Machines , 1993, Int. J. High Speed Comput..

[15]  Seth Copen Goldstein,et al.  TAM - A Compiler Controlled Threaded Abstract Machine , 1993, J. Parallel Distributed Comput..

[16]  Mario Tokoro,et al.  A Typing System for a Calculus of Objects , 1993, ISOTAS.

[17]  Henry G. Baker,et al.  “Use-once” variables and linear objects: storage management, reflection and multi-threading , 1995, SIGP.

[18]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[19]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1996, POPL '96.

[20]  David N. Turner,et al.  The polymorphic Pi-calculus : theory and implementation , 1996 .

[21]  Gert Smolka,et al.  The Oz Programming Model , 1996, Computer Science Today.

[22]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[23]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[24]  Vasco T. Vasconcelos,et al.  An Abstract Machine for an Object Calculus an Abstract Machine for an Object Calculus , 1997 .

[25]  G. Erard Boudol The -calculus in Direct Style (*) , 1997 .

[26]  Gérard Boudol The π-calculus in direct style , 1997, POPL '97.

[27]  David E. Culler,et al.  Monsoon: an explicit token-store architecture , 1998, ISCA '98.

[28]  Fernando M. A. Silva,et al.  Distribution and Mobility with Lexical Scoping in Process Calculi , 1998, Electron. Notes Theor. Comput. Sci..

[29]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[30]  Naoki Kobayashi Quasi-linear types , 1999, POPL '99.

[31]  Vasco T. Vasconcelos,et al.  A Virtual Machine for the TyCO Process Calculus , 1999 .

[32]  Luís Lopes,et al.  On the design and implementation of a virtual machine for process calculi , 1999 .

[33]  Fernando M. A. Silva,et al.  A Virtual Machine for a Process Calculus , 1999, PPDP.

[34]  Vasco Thudichum Vasconcelos,et al.  Processes, Functions, and Datatypes , 1999, Theory Pract. Object Syst..

[35]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[36]  IEEE Transactions on Computers , Computing in Science & Engineering.