The runtime system of dynamic languages such as Prolog or Lisp and their derivatives contain a symbol table, in Prolog often called the atom table. A simple dynamically resizing hash-table used to be an adequate way to implement this table. As Prolog becomes fashionable for 24 × 7 server processes we need to deal with atom garbage collection and concurrent access to the atom table. Classical lock-based implementations to ensure consistency of the atom table scale poorly and a stop-the-world approach to implement atom garbage collection quickly becomes a bottle-neck, making Prolog unsuitable for soft real-time applications. In this article we describe a novel implementation for the atom table using lock-free techniques where the atom-table r...
Atomic sections are a recent and popular idiom to support the development of concurrent programs. Up...
Memory reclamation for sequential or lock-based data structures is typically easy. However, memory r...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
The runtime system of dynamic languages such as Prolog or Lisp and their derivatives contain a symbo...
Atomic blocks allow programmers to delimit sections of code as ‘atomic’, leaving the language’s impl...
Writing shared-memory parallel programs is an error-prone process. Atomicity violations are especial...
The design and implementation of an incremental copying heap garbage collector for WAM-based Prolog ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic ...
High-level programming languages like Prolog free the programmer from the burden of explicit memory ...
Representation sharing can reduce the memory footprint of a program by sharing one representation be...
Multi-threading is currently supported by several well-known Prolog systems providing a highly porta...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic mode...
The transition to multicore processors has brought synchronization, a fundamental challenge in compu...
Concurrency in Logic Programming has received much attention in the past. One problem with many prop...
Atomic sections are a recent and popular idiom to support the development of concurrent programs. Up...
Memory reclamation for sequential or lock-based data structures is typically easy. However, memory r...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
The runtime system of dynamic languages such as Prolog or Lisp and their derivatives contain a symbo...
Atomic blocks allow programmers to delimit sections of code as ‘atomic’, leaving the language’s impl...
Writing shared-memory parallel programs is an error-prone process. Atomicity violations are especial...
The design and implementation of an incremental copying heap garbage collector for WAM-based Prolog ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic ...
High-level programming languages like Prolog free the programmer from the burden of explicit memory ...
Representation sharing can reduce the memory footprint of a program by sharing one representation be...
Multi-threading is currently supported by several well-known Prolog systems providing a highly porta...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic mode...
The transition to multicore processors has brought synchronization, a fundamental challenge in compu...
Concurrency in Logic Programming has received much attention in the past. One problem with many prop...
Atomic sections are a recent and popular idiom to support the development of concurrent programs. Up...
Memory reclamation for sequential or lock-based data structures is typically easy. However, memory r...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...