An Efficient Compilation Framework For Parallel Programming Languages Based On A Concurrent Process Calculus

Uloženo v:
Podrobná bibliografie
Název: An Efficient Compilation Framework For Parallel Programming Languages Based On A Concurrent Process Calculus
Autoři: Yoshihiro Oyama
Přispěvatelé: The Pennsylvania State University CiteSeerX Archives
Zdroj: ftp://ftp.yl.is.s.u-tokyo.ac.jp/pub/papers/oyama-master-thesis-a4.ps.gz
Rok vydání: 1998
Sbírka: CiteSeerX
Popis: This thesis proposes a framework for compiling programming languages based on concurrent process calculi, in which computation is expressed by a combination of dynamically created processes and first-class channels. Our framework is based on a compile-time process scheduling and unboxed channels. The compile-time scheduling enables us to execute multiple concurrent processes without a scheduling pool operation. Unboxed channels allow us to create a channel without memory allocations and to communicate values on registers. These techniques correctly implement the semantics of first-class channels that appear in concurrent process calculi such as ß- calculus and HACL, and they are powerful in optimizing the performance in common programming idioms. In particular, a frequent idiom in which we create a new channel, create a pair of sender and receiver process which communicate via the new channel is likely to be performed without actually heap-allocating the channel. The framework is give.
Druh dokumentu: text
Popis souboru: application/postscript
Jazyk: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.5585
Dostupnost: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.5585
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Přístupové číslo: edsbas.3AB2A0E
Databáze: BASE
Popis
Abstrakt:This thesis proposes a framework for compiling programming languages based on concurrent process calculi, in which computation is expressed by a combination of dynamically created processes and first-class channels. Our framework is based on a compile-time process scheduling and unboxed channels. The compile-time scheduling enables us to execute multiple concurrent processes without a scheduling pool operation. Unboxed channels allow us to create a channel without memory allocations and to communicate values on registers. These techniques correctly implement the semantics of first-class channels that appear in concurrent process calculi such as ß- calculus and HACL, and they are powerful in optimizing the performance in common programming idioms. In particular, a frequent idiom in which we create a new channel, create a pair of sender and receiver process which communicate via the new channel is likely to be performed without actually heap-allocating the channel. The framework is give.