English
Related papers

Related papers: Lock-free atom garbage collection for multithreade…

200 papers

This thesis concerns the implementation of Lambda Prolog, a higher-order logic programming language that supports the lambda-tree syntax approach to representing and manipulating formal syntactic objects. Lambda Prolog achieves its…

Programming Languages · Computer Science 2009-11-30 Xiaochu Qi

Modern databases use dynamic search structures that store an enormous amount of data, and often serve them using multi-threaded algorithms to support the ever-increasing throughput needs. When this throughput need exceeds the capacity of…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-17 Raaghav Ravishankar , Sandeep Kulkarni , Sathya Peri , Gokarna Sharma

In this paper, we propose a robot oriented knowledge management system based on the use of the Prolog language. Our framework hinges on a special organisation of knowledge base that enables: 1. its efficient population from natural language…

Robotics · Computer Science 2023-09-27 Enrico Saccon , Ahmet Tikna , Davide De Martini , Edoardo Lamon , Marco Roveri , Luigi Palopoli

To appear in Theory and Practice of Logic Programming (TPLP). Tabling is a commonly used technique in logic programming for avoiding cyclic behavior of logic programs and enabling more declarative program definitions. Furthermore, tabling…

Programming Languages · Computer Science 2020-02-19 Thepfrastos Mantadelis , Ricardo Rocha , Paulo Moura

In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the left-to-right one of Prolog.…

Logic in Computer Science · Computer Science 2007-05-23 Annalisa Bossi , Sandro Etalle , Sabina Rossi , Jan-Georg Smaus

Multiversioning is widely used in databases, transactional memory, and concurrent data structures. It can be used to support read-only transactions that appear atomic in the presence of concurrent update operations. Any system that…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-01-10 Yuanhao Wei , Guy E. Blelloch , Panagiota Fatourou , Eric Ruppert

Prolog's very useful expressive power is not captured by traditional logic programming semantics, due mainly to the cut and goal and clause order. Several alternative semantics have been put forward, exposing operational details of the…

Programming Languages · Computer Science 2011-07-28 António Porto

This paper shows the debugging facilities provided by the SLAM system. The SLAM system includes i) a specification language that integrates algebraic specifications and model-based specifications using the object oriented model. Class…

Programming Languages · Computer Science 2007-05-23 Angel Herrranz-Nieva Juan Jose Moreno Navarro

The semantics and the recursive execution model of Prolog make it very natural to express language interpreters in form of AST (Abstract Syntax Tree) interpreters where the execution follows the tree representation of a program. An…

Programming Languages · Computer Science 2020-08-31 Philipp Körner , David Schneider , Michael Leuschel

Work-stealing is a widely used technique for balancing irregular parallel workloads, and most modern runtime systems adopt lock-free work-stealing deques to reduce contention and improve scalability. However, existing algorithms are…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-09 Raja Sai Nandhan Yadav Kataru , Danial Davarnia , Ali Jannesari

Systems integrating heterogeneous processors with unified memory provide seamless integration among these processors with minimal development complexity. These systems integrate accelerators such as GPUs on the same die with CPU cores to…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-12-14 Mohammad Dashti , Alexandra Fedorova

In the shared variable model of concurrency, guarded atomic actions restrict the possible interference between processes by regions of atomic execution. The guard specifies the condition for entering an atomic region. That is a convenient…

Programming Languages · Computer Science 2025-05-28 Shucai Yao , Emil Sekerinski

This paper proposes an approach for a tool-agnostic and heterogeneous static code analysis toolchain in combination with an exchange format. This approach enhances both traceability and comparability of analysis results. State of the art…

Software Engineering · Computer Science 2024-03-12 Matthias Kern , Ferhat Erata , Markus Iser , Carsten Sinz , Frederic Loiret , Stefan Otten , Eric Sax

The lock-free, ordered, linked list is an important, standard example of a concurrent data structure. An obvious, practical drawback of textbook implementations is that failed compare-and-swap (CAS) operations lead to retraversal of the…

Data Structures and Algorithms · Computer Science 2020-11-02 Jesper Larsson Träff , Manuel Pöter

In this paper we present a lock-free version of Hopscotch Hashing. Hopscotch Hashing is an open addressing algorithm originally proposed by Herlihy, Shavit, and Tzafrir, which is known for fast performance and excellent cache locality. The…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-11 Robert Kelly , Barak A. Pearlmutter , Phil Maguire

This PhD dissertation investigates garbage-free reversible computing systems from abstract design to physical gate-level implementation. Designed in reversible logic, we propose a ripple-block carry adder and work towards a reversible…

Programming Languages · Computer Science 2023-09-22 Michael Kirkedal Thomsen

The Logic Programming through Prolog has been widely used for supply persistence in many systems that need store knowledge. Some implementations of Prolog Programming Language used for supply persistence have bidirectional interfaces with…

Programming Languages · Computer Science 2017-05-02 José E. Zalacain Llanes

Neutral atom quantum computing's great scaling potential has resulted in it emerging as a popular modality in recent years. For state preparation, atoms are loaded stochastically and have to be detected and rearranged at runtime to create a…

Emerging Technologies · Computer Science 2025-09-16 Jonas Winklmann , Martin Schulz

The advent of the Transformer architecture has propelled the growth of natural language processing (NLP) models, leading to remarkable achievements in numerous NLP tasks. Yet, the absence of specialized hardware like expansive GPU memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-03-18 Xiaofeng Wu , Jia Rao , Wei Chen

Integration techniques for combining programs written in distinct language paradigms facilitate the implementation of specialised modules in the best language for their task. In the case of Java-Prolog integration, a known problem is the…

Programming Languages · Computer Science 2014-05-30 Sergio Castro , Kim Mens , Paulo Moura