سند علمی

Efficient Implementation of Concurrent Programming Languages

چکیده

Stenman, E. 2002: Efficient Implementation of Concurrent Programming Languages, Acta Universitatis Upsaliensis. Uppsala dissertations from the Faculty of Science and Technology 43. 150 pp. Uppsala. ISBN 91–554–5422–4. This thesis proposes and experimentally evaluates techniques for efficient implementation of languages designed for high availability concurrent systems. This experimental evaluation has been done while developing the High Performance Erlang (HiPE) system, a native code compiler for SPARC and x86. The two main goals of the HiPE system are to provide efficient execution of Erlang programs, and to provide a research vehicle for evaluating implementation techniques for concurrent functional programming languages. The focus of the thesis is the evaluation of two techniques that enable interprocess optimization through dynamic compilation. The first technique is a fast register allocator called linear scan, and the second is a memory architecture where processes share memory. The main contributions of the thesis are: • An evaluation of linear scan register allocation in a different language setting. In addition the performance of linear scan on the register poor x86 architecture is evaluated for the first time. • A description of three different heap architectures (private heaps, shared heap, and a hybrid of the two), with a systematic investigation of implementation aspects and an extensive discussion on the associated performance trade-offs of the heap architectures. The description is accompanied by an experimental evaluation of the private vs. the shared heap setting. • A novel approach to optimizing a concurrent program, by merging code from a sender with code from a receiver, is presented together with other methods for reducing the overhead of context switching. • A description of the implementation aspects of a complete and robust native code Erlang system, which makes it possible to test compiler optimizations on real world programs. Erik Stenman, Department of Information Technology, Uppsala University, Box 337, SE–751 05 Uppsala, Sweden. c © Erik Stenman 2002 ISSN 1104–2516 ISBN 91–554–5422–4 Printed in Sweden by Elanders Gotab, Stockholm 2002. To my parents and my wife.

اسناد مشابه

  • Support for Implementation of Evolutionary Concurrent Systems in Concurrent Programming Languages

    سند علمی۱۹۹۶Euro-Par, Vol. IRaju Pandey, James C. Browne

    In many concurrent programming languages, concurrent programs are di cult to extend and modify: small changes in a concurrent program may require re-implementations of a large number of its components. In this paper a novel concurrent program composition mechanism is presented in

  • An Implementation of the Object-oriented Concurrent Programming Language SINA

    سند علمی۱۹۸۹Softw., Pract. Exper.Anand R. Tripathi, Eric Berge, Mehmet Aksit

    SINA is an object-oriented language for distributed and concurrent programming. The primary focus of this paper is on the object-oriented concurrent programming mechanisms of SINA and their implementation. This paper presents the SINA constructs for concurrent programming and int

  • ConGolog a concurrent programming language based on the situation calculus language and implementation

    سند علمی۲۰۰۰Giuseppe De Giacomo, Hector J Levesque

    As an alternative to planning an approach to high level agent control based on concurrent program execution is considered A formal de nition in the situation calculus of such a programming language is presented and illustrated with some examples The language includes facilities f

  • On Implementations and Semantics of a Concurrent Programming Language

    سند علمی۱۹۹۷CONCURPeter Sewell

    The concurrency theory literature contains many proposals for models of process algebras. We consider an example application of the -calculus, the programming language Pict of Pierce and Turner, primarily in order to see how far it is possible to argue, from facts about the appli

  • A Comparative Study of the Usability of Two Object-oriented Concurrent Programming Languages

    سند علمی۲۰۱۰CoRRSebastian Nanz, Faraz Torshizi, Michela Pedroni, Bertrand Meyer

    Concurrency has been rapidly gaining importance in general-purpose computing, caused by the recent turn towards multicore processing architectures. As a result, an increasing number of developers have to learn to write concurrent programs, a task that is known to be hard even for

  • Tempo: A Declarative Concurrent Programming Language

    سند علمی۱۹۹۵ICLPSteve Gregory, Rafael Ramirez

    Tempo is a declarative concurrent programming language based on classical firstorder logic. It improves on traditional concurrent logic programming languages (e.g., Parlog) by explicitly specifying aspects of the behaviour of concurrent programs, namely their safety properties. T