Results 1 -
6 of
6
A Compacting Incremental Collector and its Performance in a Production Quality Compiler
- In Proceedings of the International Symposium on Memory Management (ISMM-98
, 1998
"... We present a new near-real-time compacting collector and its implementation in a production quality Scheme compiler (Gambit-C). Our goal is to use this system as a base for an implementation of Erlang for writing soft real-time telecommunication applications. We start with a description of Gambit-C' ..."
Abstract
-
Cited by 27 (3 self)
- Add to MetaCart
We present a new near-real-time compacting collector and its implementation in a production quality Scheme compiler (Gambit-C). Our goal is to use this system as a base for an implementation of Erlang for writing soft real-time telecommunication applications. We start with a description of Gambit-C's memory organisation and its blocking collector. The design and integration of the incremental collector within Gambit-C are then explained. Finally we measure the performance of the incremental collector and compare it to the original blocking collector. We found that the overhead of the incremental collector is high (a factor of 1.3 to 8.1, with a median of 2.24) but nevertheless the collection pauses are compatible with typical soft real-time requirements (we get an average pause of 3.25 milliseconds and a maximum pause of 18 milliseconds on a 133Mhz DEC Alpha 21064). 1 Introduction This is a revised version of the paper published in: Proceedings of the 1998 International Symposium on M...
An introduction to Core Erlang
- In Proceedings of the PLI’01 Erlang Workshop
, 2001
"... Core Erlang is a new, o cial core language for the concurrent functional language Erlang. Core Erlang is functional, strict, dynamically typed, pattern matching, higher order and concurrent. It has been developed in cooperation between the High-Performance Erlang project at Uppsala University and th ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
Core Erlang is a new, o cial core language for the concurrent functional language Erlang. Core Erlang is functional, strict, dynamically typed, pattern matching, higher order and concurrent. It has been developed in cooperation between the High-Performance Erlang project at Uppsala University and the Erlang/Open Telecom Platform development team at Ericsson, and is a central component in the new release of the Erlang/OTP compiler. This paper describes the core language, its relation to Erlang, and the history of its development. We show examples of translation from Erlang to Core Erlang, illustrating how analysis and transformation of Erlang programs is greatly simplified by being performed at the core language level.
A case for the unified heap approach to Erlang memory management
- IN PROCEEDINGS OF THE PLI'01 ERLANG WORKSHOP
, 2001
"... The Erlang/OTP system has a process centric model of memory management. Each process is created with a local heap where it allocates objects. An alternate approach used in the Erlang to Scheme (ETOS) system is to have a single system-wide heap in which all processes allocate. We have performed an em ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The Erlang/OTP system has a process centric model of memory management. Each process is created with a local heap where it allocates objects. An alternate approach used in the Erlang to Scheme (ETOS) system is to have a single system-wide heap in which all processes allocate. We have performed an empirical performance evaluation of both systems and found that in most cases the unied heap approach is better because it improves the speed of inter-process communication, especially when large objects are transferred, it reduces the overhead of garbage collection for processes with high allocation rates, and it avoids fragmentation.
On Reducing Interprocess Communication Overhead in Concurrent Programs
- in Concurrent Programs, ACM SIGPLAN Erlang Workshop
, 2002
"... We present several di#erent ideas for increasing the performance of highly concurrent programs in general and Erlang programs in particular. These ideas range from simple implementation tricks that reduce communication latency to more thorough code rewrites guided by inlining across process boundari ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We present several di#erent ideas for increasing the performance of highly concurrent programs in general and Erlang programs in particular. These ideas range from simple implementation tricks that reduce communication latency to more thorough code rewrites guided by inlining across process boundaries. We also briefly discuss the impact of different heap architectures on interprocess communication in general and on our proposed optimizations in particular.
HiPE: High Performance Erlang
, 1999
"... . Erlang is a concurrent functional programming language designed to ease the development of large-scale distributed soft real-time control applications. It has so far been quite successful in this application domain, despite the fact that its currently available implementations are emulators of vir ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
. Erlang is a concurrent functional programming language designed to ease the development of large-scale distributed soft real-time control applications. It has so far been quite successful in this application domain, despite the fact that its currently available implementations are emulators of virtual machines. In this paper, we improve on the performance aspects of Erlang implementations by presenting HiPE, a native-code compiler for Erlang. HiPE is a complete implementation of Erlang, offers flexible integration between emulated and native code, and efficiently supports features crucial for Erlang's application domain such as concurrency. As our performance evaluations show, HiPE is currently the fastest among all Erlang implementations. 1 Introduction The concurrent functional programming language Erlang was designed by a group at Ericsson to address the needs of large-scale distributed soft real-time control applications [3]. Such applications routinely arise in produ...
A High Performance Erlang System
- In Proceedings of the ACM SIGPLAN Conference on Principles and Practice of Declarative Programming
, 2000
"... Erlang is a concurrent functional programming language designed to ease the development of large-scale distributed soft real-time control applications. It has so far been quite successful in this application domain, despite the fact that its currently available implementations are emulators of virtu ..."
Abstract
- Add to MetaCart
Erlang is a concurrent functional programming language designed to ease the development of large-scale distributed soft real-time control applications. It has so far been quite successful in this application domain, despite the fact that its currently available implementations are emulators of virtual machines. In this paper, we improve on the performance aspects of Erlang implementations by presenting HiPE, an open-source native code compiler for Erlang. HiPE is a complete implementation of Erlang, offers flexible integration between emulated and native code, and efficiently supports features crucial for Erlang's application domain suchasconcurrency.

