English
Related papers

Related papers: Perfectly load-balanced, optimal, stable, parallel…

200 papers

We present a constant-round algorithm in the massively parallel computation (MPC) model for evaluating a natural join where every input relation has two attributes. Our algorithm achieves a load of $\tilde{O}(m/p^{1/\rho})$ where $m$ is the…

Databases · Computer Science 2023-06-22 Bas Ketsman , Dan Suciu , Yufei Tao

For over a decade now we have been witnessing the success of {\em massive parallel computation} (MPC) frameworks, such as MapReduce, Hadoop, Dryad, or Spark. One of the reasons for their success is the fact that these frameworks are able to…

Data Structures and Algorithms · Computer Science 2018-02-02 Artur Czumaj , Jakub Łącki , Aleksander Mądry , Slobodan Mitrović , Krzysztof Onak , Piotr Sankowski

Defect-free atom arrays are an important precursor for quantum information processing and quantum simulation. Yet, large-scale defect-free atom arrays can be challenging to realize, due to the losses encountered when rearranging…

We present an in-place algorithm for the partition problem that has linear work and polylogarithmic span. The algorithm uses only exclusive read/write shared variables, and can be implemented using parallel-for-loops without any additional…

Data Structures and Algorithms · Computer Science 2020-07-10 William Kuszmaul , Alek Westover

This paper presents a novel meta algorithm, Partition-Merge (PM), which takes existing centralized algorithms for graph computation and makes them distributed and faster. In a nutshell, PM divides the graph into small subgraphs using our…

Data Structures and Algorithms · Computer Science 2013-09-25 Vincent Blondel , Kyomin Jung , Pushmeet Kohli , Devavrat Shah

Sequential algorithms for the Stable Matching Problem are often too slow in the context of some large scale applications like switch scheduling. Parallel architectures can offer a notable decrease in runtime complexity. We propose a stable…

Data Structures and Algorithms · Computer Science 2024-08-27 Scott Wynn , Alec Kyritsis , Stephora Alberi , Enyue Lu

We consider the problem of sampling $n$ numbers from the range $\{1,\ldots,N\}$ without replacement on modern architectures. The main result is a simple divide-and-conquer scheme that makes sequential algorithms more cache efficient and…

Data Structures and Algorithms · Computer Science 2019-11-18 Peter Sanders , Sebastian Lamm , Lorenz Hübschle-Schneider , Emanuel Schrade , Carsten Dachsbacher

A number of problems in parallel computing require reasoning about the dependency structure in parallel programs. For example, dynamic race detection relies on efficient "on-the-fly" determination of dependencies between sequential and…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-05-02 Sam Westrick , Larry Wang , Umut A. Acar

Mixed packing and covering problems are problems that can be formulated as linear programs using only non-negative coefficients. Examples include multicommodity network flow, the Held-Karp lower bound on TSP, fractional relaxations of set…

Data Structures and Algorithms · Computer Science 2016-01-19 Neal E. Young

Lazy search algorithms have been developed to efficiently solve planning problems in domains where the computational effort is dominated by the cost of edge evaluation. The existing algorithms operate by intelligently balancing…

Robotics · Computer Science 2023-01-16 Shohin Mukherjee , Sandip Aine , Maxim Likhachev

This paper presents an $O(\log\log \bar{d})$ round massively parallel algorithm for $1+\epsilon$ approximation of maximum weighted $b$-matchings, using near-linear memory per machine. Here $\bar{d}$ denotes the average degree in the graph…

Data Structures and Algorithms · Computer Science 2022-11-16 Mohsen Ghaffari , Christoph Grunau , Slobodan Mitrović

This paper presents a new, parallel implementation of clustering and demonstrates its utility in greatly speeding up the process of identifying homologous proteins. Clustering is a technique to reduce the number of comparison needed to find…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-08-29 Stuart Byma , Akash Dhasade , Adrian Altenhoff , Christophe Dessimoz , James R. Larus

We investigate distributed memory parallel sorting algorithms that scale to the largest available machines and are robust with respect to input size and distribution of the input elements. The main outcome is that four sorting algorithms…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-01-17 Michael Axtmann , Peter Sanders

Randomized parallel algorithms for many fundamental problems achieve optimal linear work in expectation, but upgrading this guarantee to hold with high probability (whp) remains a recurring theoretical challenge. In this paper, we address…

Data Structures and Algorithms · Computer Science 2026-03-03 Chase Hutton , Adam Melrod

Many tasks in data mining and related fields can be formalized as matching between objects in two heterogeneous domains, including collaborative filtering, link prediction, image tagging, and web search. Machine learning techniques,…

Machine Learning · Computer Science 2014-10-24 Jingbo Shang , Tianqi Chen , Hang Li , Zhengdong Lu , Yong Yu

We design and implement an efficient parallel algorithm for finding a perfect matching in a weighted bipartite graph such that weights on the edges of the matching are large. This problem differs from the maximum weight matching problem,…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-09-07 Ariful Azad , Aydın Buluc , Xiaoye S. Li , Xinliang Wang , Johannes Langguth

We present shared-memory parallel methods for Maximal Clique Enumeration (MCE) from a graph. MCE is a fundamental and well-studied graph analytics task, and is a widely used primitive for identifying dense structures in a graph. Due to its…

Data Structures and Algorithms · Computer Science 2020-01-30 Apurba Das , Seyed-Vahid Sanei-Mehri , Srikanta Tirthapura

Several classic problems in graph processing and computational geometry are solved via incremental algorithms, which split computation into a series of small tasks acting on shared state, which gets updated progressively. While the…

Data Structures and Algorithms · Computer Science 2020-03-24 Dan Alistarh , Nikita Koval , Giorgi Nadiradze

We introduce and analyse a new, extremely simple, randomised sorting algorithm: - choose a pair of indices $\{i, j\}$ according to some distribution $q$; - sort the elements in positions $i$ and $j$ of the array in ascending order. Choosing…

Data Structures and Algorithms · Computer Science 2025-02-10 Sam Olesker-Taylor

We present the first (randomized) parallel dynamic algorithm for maximal matching, which can process an arbitrary number of updates simultaneously. Given a batch of edge deletion or insertion updates to the graph, our parallel algorithm…

Data Structures and Algorithms · Computer Science 2024-09-25 Mohsen Ghaffari , Anton Trygub