English
Related papers

Related papers: Semaphores Augmented with a Waiting Array

200 papers

In applications such as sharded data processing systems, sharded in-memory key-value stores, data flow programming and load sharing applications, multiple concurrent data producers are feeding requests into the same data consumer. This can…

Databases · Computer Science 2020-11-03 Dolev Adas , Roy Friedman

Multipath TCP (MPTCP) allows applications to transparently use all available network interfaces by creating a TCP subflow per interface. One critical component of MPTCP is the scheduler that decides which subflow to use for each packet.…

Networking and Internet Architecture · Computer Science 2018-08-15 Tanya Shreedhar , Nitinder Mohan , Sanjit K. Kaul , Jussi Kangasharju

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

We present Memory Augmented Policy Optimization (MAPO), a simple and novel way to leverage a memory buffer of promising trajectories to reduce the variance of policy gradient estimate. MAPO is applicable to deterministic environments with…

Machine Learning · Computer Science 2019-01-15 Chen Liang , Mohammad Norouzi , Jonathan Berant , Quoc Le , Ni Lao

In this paper, we present several improvements in the parallelization of the in-place merge algorithm, which merges two contiguous sorted arrays into one with an O(T) space complexity (where T is the number of threads). The approach divides…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-27 Berenger Bramas , Quentin Bramas

FIFO queues are a fundamental data structure used in a wide range of applications. Concurrent FIFO queues allow multiple execution threads to access the queue simultaneously. Maintaining strict FIFO semantics in concurrent queues leads to…

Data Structures and Algorithms · Computer Science 2025-10-17 Stefan Koch , Peter Sanders , Marvin Williams

Sparse tiling is a technique to fuse loops that access common data, thus increasing data locality. Unlike traditional loop fusion or blocking, the loops may have different iteration spaces and access shared datasets through indirect memory…

Computational Engineering, Finance, and Science · Computer Science 2019-06-20 Fabio Luporini , Michael Lange , Christian T. Jacobs , Gerard J. Gorman , J. Ramanujam , Paul H. J. Kelly

Asynchronous programming models (APM) are gaining more and more traction, allowing applications to expose the available concurrency to a runtime system tasked with coordinating the execution. While MPI has long provided support for…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-12-23 Joseph Schuchart , Christoph Niethammer , José Gracia

In this paper we study the notion of synchronization from the point of view of combinatorics. As a first step, we address the quantitative problem of counting the number of executions of simple processes interacting with synchronization…

Programming Languages · Computer Science 2019-07-10 Olivier Bodini , Matthieu Dien , Antoine Genitrini , Frédéric Peschanski

FastFlow is a structured parallel programming framework targeting shared memory multicores. Its layered design and the optimized implementation of the communication mechanisms used to implement the FastFlow streaming networks provided to…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-04-25 Marco Aldinucci , Marco Danelutto , Massimo Torquati

Transformative innovations in model architectures have introduced hierarchical embedding augmentation as a means to redefine the representation of tokens through multi-level semantic structures, offering enhanced adaptability to complex…

Computation and Language · Computer Science 2025-08-11 Derek Yotheringhay , Alistair Kirkland , Humphrey Kirkbride , Josiah Whitesteeple

Data sketches are approximate succinct summaries of long streams. They are widely used for processing massive amounts of data and answering statistical queries about it in real-time. Existing libraries producing sketches are very fast, but…

Data Structures and Algorithms · Computer Science 2019-12-06 Arik Rinberg , Alexander Spiegelman , Edward Bortnikov , Eshcar Hillel , Idit Keidar , Lee Rhodes , Hadar Serviansky

Bitmap indexes are routinely used to speed up simple aggregate queries in databases. Set operations such as intersections, unions and complements can be represented as logical operations (AND, OR, NOT). However, less is known about the…

Databases · Computer Science 2016-11-16 Owen Kaser , Daniel Lemire

We formally introduce a systematic (de/re)-composition approach, based on the algebraic formalism of "Multi-Dimensional Homomorphisms (MDHs)". Our approach is designed as general enough to be applicable to a wide range of data-parallel…

Programming Languages · Computer Science 2025-07-01 Ari Rasch

In this paper, we consider the convergence of a very general asynchronous-parallel algorithm called ARock, that takes many well-known asynchronous algorithms as special cases (gradient descent, proximal gradient, Douglas Rachford, ADMM,…

Optimization and Control · Mathematics 2017-08-28 Robert Hannah , Wotao Yin

In this work, we introduce a Self-Aware Polymorphic Architecture (SAPA) design approach to support emerging context-aware applications and mitigate the programming challenges caused by the ever-increasing complexity and heterogeneity of…

Hardware Architecture · Computer Science 2018-02-15 Michel A. Kinsy , Mihailo Isakov , Alan Ehret , Donato Kava

Machine learning methods are widely used for a variety of prediction problems. \emph{Prediction as a service} is a paradigm in which service providers with technological expertise and computational resources may perform predictions for…

Cryptography and Security · Computer Science 2018-06-12 Amartya Sanyal , Matt J. Kusner , Adrià Gascón , Varun Kanade

The explosion of Big Data was followed by the proliferation of numerous complex parallel software stacks whose aim is to tackle the challenges of data deluge. A drawback of a such multi-layered hierarchical deployment is the inability to…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-04-01 Colin Barrett , Christos Kotselidis , Mikel Luján

Developing trustworthy multi-agent systems for practical applications is challenging due to the complicated communication of situational awareness (SA) among agents. This paper showcases a novel efficient and easy-to-use software framework…

Cumulative memory -- the sum of space used per step over the duration of a computation -- is a fine-grained measure of time-space complexity that was introduced to analyze cryptographic applications like password hashing. It is a more…

Computational Complexity · Computer Science 2023-07-06 Paul Beame , Niels Kornerup