Compiling the π-calculus into a Multithreaded Typed Assembly Language

نویسندگان

  • Tiago Cogumbreiro
  • Francisco Martins
  • Vasco T. Vasconcelos
چکیده

We extend a previous work on a multithreaded typed assembly language (MIL) targeted at shared memory multiprocessors, and describe the design of a type-preserving compiler from the π-calculus into MIL. The language enforces a policy on lock usage through a typing system that also ensures race-freedom for typable programs, while allowing for typing various important concurrency patterns. Our translation to MIL generates code that is then linked to a library supporting a generic unbounded buffer monitor, variant of Hoare’s bounded buffer monitor, entirely written in MIL. Such a monitor shields client code (the π-calculus compiler in particular) from the hazardous task of direct lock manipulation, while allowing for the representation of π-calculus channels. The compiler produces type correct MIL programs from type correct source code, generating low-contention cooperative multithreaded programs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiling the pi-calculus into a Multithreaded Typed Assembly Language

We extend a previous work on a multithreaded typed assembly language (MIL) targeted at shared memory multiprocessors, and describe the design of a type-preserving compiler from the π-calculus into MIL. The language enforces a policy on lock usage through a typing system that also ensures race-freedom for typable programs, while allowing for typing various important concurrency patterns. Our tra...

متن کامل

From Continuation Passing Style to Krivine’s Abstract Machine

We describe, for three different extensions of typed lambda calculus, how the rules for a version of Krivine’s abstract machine can be derived from those of continuation passing style (CPS) semantics. The three extensions are: Parigot’s λμcalculus, Pym and Ritter’s λμν-calculus, and an extension of the call-by-name lambda calculus with built-in types and primitive functions. We also show how Kr...

متن کامل

Modular Metatheory for Memory Consistency Models

We present a framework based on operational semantics for formalizing shared-memory multithreaded programming languages with relaxed memory consistency models. The key feature of our framework is a division of each system’s semantics into two modules, the program semantics and the heap semantics. This modularization allows elegant, concise, and reusable components. It is trivial to use the same...

متن کامل

Process Types as a Descriptive Tool for Interaction - Control and the Pi-Calculus

We demonstrate a tight relationship between linearly typed π-calculi and typed λ-calculi by giving a type-preserving translation from the call-by-value λμ-calculus into a typed π-calculus. The λμ-calculus has a particularly simple representation as typed mobile processes. The target calculus is a simple variant of the linear π-calculus. We establish full abstraction up to maximally consistent o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008