English
Related papers

Related papers: Concurrent Data Structures Made Easy (Extended Ver…

200 papers

Many applications process a stream of tuples over a window duration, and require the results within a specified deadline after the end of the window. For such scenarios, processing tuples intermittently (in batches) instead of eagerly…

Databases · Computer Science 2026-05-19 Saranya Chandrasekaran , S. Sudarshan

Many organisations have a large network of connected computers, which at times may be idle. These could be used to run larger data processing problems were it not for the difficulty of organising and managing the deployment of such…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-06-10 Jon Kerridge

Information flow security ensures that the secret data manipulated by a program does not influence its observable output. Proving information flow security is especially challenging for concurrent programs, where operations on secret data…

Cryptography and Security · Computer Science 2023-04-12 Marco Eilers , Thibault Dardinier , Peter Müller

We present Trust<T>, a general, type- and memory-safe alternative to locking in concurrent programs. Instead of synchronizing multi-threaded access to an object of type T with a lock, the programmer may place the object in a Trust<T>. The…

Performance · Computer Science 2024-08-22 Noaman Ahmad , Ben Baenen , Chen Chen , Jakob Eriksson

In this paper we focus on concurrent processes built on synchronization by means of futures. This concept is an abstraction for processes based on a main execution thread but allowing to delay some computations. The structure of a general…

Discrete Mathematics · Computer Science 2018-03-05 Olivier Bodini , Matthieu Dien , Antoine Genitrini , Alfredo Viola

The latest trends in high-performance computing systems show an increasing demand on the use of a large scale multicore systems in a efficient way, so that high compute-intensive applications can be executed reasonably well. However, the…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-02-25 Juliana M. N. Silva , Cristina Boeres , Lúcia M. A. Drummond , Artur A. Pessoa

Task parallelism as employed by the OpenMP task construct, although ideal for tackling irregular problems or typical producer/consumer schemes, bears some potential for performance bottlenecks if locality of data access is important, which…

Performance · Computer Science 2009-02-12 Markus Wittmann , Georg Hager

This paper addresses the incompatible case of parallel batch scheduling, where compatible jobs belong to the same family, and jobs from different families cannot be processed together in the same batch. The state-of-the-art constraint…

Systems and Control · Electrical Eng. & Systems 2025-09-09 Jorge A. Huertas , Pascal Van Hentenryck

Scalable and efficient numerical simulations continue to gain importance, as computation is firmly established as the third pillar of discovery, alongside theory and experiment. Meanwhile, the performance of computing hardware grows through…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-06-26 Pietro Incardona , Antonio Leo , Yaroslav Zaluzhnyi , Rajesh Ramaswamy , Ivo F. Sbalzarini

Dynamic Connectivity is a fundamental algorithmic graph problem, motivated by a wide range of applications to social and communication networks and used as a building block in various other algorithms, such as the bi-connectivity and the…

Data Structures and Algorithms · Computer Science 2021-05-19 Alexander Fedorov , Nikita Koval , Dan Alistarh

We present Locksynth, a tool that automatically derives synchronization needed for destructive updates to concurrent data structures that involve a constant number of shared heap memory write operations. Locksynth serves as the…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-30 Sarat Chandra Varanasi , Neeraj Mittal , Gopal Gupta

Background: Distributed data-intensive systems are increasingly designed to be only eventually consistent. Persistent data is no longer processed with serialized and transactional access, exposing applications to a range of potential…

Software Engineering · Computer Science 2021-08-10 Susanne Braun , Stefan Deßloch , Eberhard Wolff , Frank Elberzhager , Andreas Jedlitschka

We present a simple dynamic batching approach applicable to a large class of dynamic architectures that consistently yields speedups of over 10x. We provide performance bounds when the architecture is not known a priori and a stronger bound…

Computer Vision and Pattern Recognition · Computer Science 2017-07-11 Joseph Suarez , Clare Zhu

Priority queues are fundamental abstract data structures, often used to manage limited resources in parallel programming. Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-06 Irina Calciu , Hammurabi Mendes , Maurice Herlihy

Data streaming relies on continuous queries to process unbounded streams of data in a real-time fashion. It is commonly demanding in computation capacity, given that the relevant applications involve very large volumes of data. Data…

Data Structures and Algorithms · Computer Science 2016-06-16 Vincenzo Gulisano , Yiannis Nikolakopoulos , Daniel Cederman , Marina Papatriantafilou , Philippas Tsigas

This paper takes a parallel learning approach for robust and transparent AI. A deep neural network is trained in parallel on multiple tasks, where each task is trained only on a subset of the network resources. Each subset consists of…

This paper presents a new and practical approach to lock-free locks based on helping, which allows the user to write code using fine-grained locks, but run it in a lock-free manner. Although lock-free locks have been suggested in the past,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-02-01 Naama Ben-David , Guy E. Blelloch , Yuanhao Wei

Execution of concurrent programs implies frequent switching between different thread contexts. This property perplexes analyzing and reasoning about concurrent programs. Trace simplification is a technique that aims at alleviating this…

Software Engineering · Computer Science 2014-05-20 Mohamed A. El-Zawawy , Mohammad N. Alanazi

This paper focuses on automated synthesis of divide-and-conquer parallelism, which is a common parallel programming skeleton supported by many cross-platform multithreaded libraries. The challenges of producing (manually or automatically) a…

Programming Languages · Computer Science 2017-01-31 Azadeh Farzan , Victor Nicolet

Many modern applications require real-time processing of large volumes of high-speed data. Such data processing needs can be modeled as a streaming computation. A streaming computation is specified as a dataflow graph that exposes multiple…

Databases · Computer Science 2018-04-02 Guna Prasaad , G. Ramalingam , Kaushik Rajan