English
Related papers

Related papers: DePa: Simple, Provably Efficient, and Practical Or…

200 papers

Usage of multiprocessor and multicore computers implies parallel programming. Tools for preparing parallel programs include parallel languages and libraries as well as parallelizing compilers and convertors that can perform automatic…

Mathematical Software · Computer Science 2022-12-12 Pavel Telegin , Anton Baranov , Boris Shabanov , Artem Tikhomirov

We present efficient parallel algorithms for computing maximal matchings in hypergraphs. Our algorithm finds locally maximal edges in the hypergraph and adds them in parallel to the matching. In the CRCW PRAM models our algorithms achieve…

Data Structures and Algorithms · Computer Science 2026-03-13 Henrik Reinstädtler , Christian Schulz , Nodari Sitchinava , Fabian Walliser

Exact Bayesian structure discovery in Bayesian networks requires exponential time and space. Using dynamic programming (DP), the fastest known sequential algorithm computes the exact posterior probabilities of structural features in…

Artificial Intelligence · Computer Science 2016-08-16 Yetian Chen , Jin Tian , Olga Nikolova , Srinivas Aluru

In this paper we develop optimal algorithms in the binary-forking model for a variety of fundamental problems, including sorting, semisorting, list ranking, tree contraction, range minima, and ordered set union, intersection and difference.…

Data Structures and Algorithms · Computer Science 2020-06-26 Guy E. Blelloch , Jeremy T. Fineman , Yan Gu , Yihan Sun

In this paper, we introduce PASGAL (Parallel And Scalable Graph Algorithm Library), a parallel graph library that scales to a variety of graph types, many processors, and large graph sizes. One special focus of PASGAL is the efficiency on…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-04-29 Xiaojun Dong , Yan Gu , Yihan Sun , Letong Wang

Control parallelism and data parallelism is mostly reasoned and optimized as separate functions. Because of this, workloads that are irregular, fine-grain and dynamic such as dynamic graph processing become very hard to scale. An…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-03-08 Bibrak Qamar Chandio , Thomas Sterling , Prateek Srivastava

The disjoint set union problem is a basic problem in data structures with a wide variety of applications. We extend a known efficient sequential algorithm for this problem to obtain a simple and efficient concurrent wait-free algorithm…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-12-06 Siddhartha V. Jayanti , Robert E. Tarjan

To design efficient parallel algorithms, some recent papers showed that many sequential iterative algorithms can be directly parallelized but there are still challenges in achieving work-efficiency and high-parallelism. Work-efficiency can…

Data Structures and Algorithms · Computer Science 2022-05-27 Zheqi Shen , Zijin Wan , Yan Gu , Yihan Sun

This work presents a decentralized allocation algorithm of safety-critical application on parallel computing architectures, where individual Computational Units can be affected by faults. The described method consists in representing the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-20 Thanakorn Khamvilai , Louis Sutter , Eric Feron , Philippe Baufreton , Francois Neumann

We consider learning problems over training sets in which both, the number of training examples and the dimension of the feature vectors, are large. To solve these problems we propose the random parallel stochastic algorithm (RAPSA). We…

Machine Learning · Computer Science 2016-03-23 Aryan Mokhtari , Alec Koppel , Alejandro Ribeiro

This paper presents the design and analysis of parallel approximation algorithms for facility-location problems, including $\NC$ and $\RNC$ algorithms for (metric) facility location, $k$-center, $k$-median, and $k$-means. These problems…

Data Structures and Algorithms · Computer Science 2010-06-11 Guy E. Blelloch , Kanat Tangwongsan

Many parallel algorithms use at least linear auxiliary space in the size of the input to enable computations to be done independently without conflicts. Unfortunately, this extra space can be prohibitive for memory-limited machines,…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-02 Yan Gu , Omar Obeya , Julian Shun

Fixed-parameter algorithms have been successfully applied to solve numerous difficult problems within acceptable time bounds on large inputs. However, most fixed-parameter algorithms are inherently \emph{sequential} and, thus, make no use…

Computational Complexity · Computer Science 2015-09-24 Max Bannach , Christoph Stockhusen , Till Tantau

The problem of finding dense components of a graph is a widely explored area in data analysis, with diverse applications in fields and branches of study including community mining, spam detection, computer security and bioinformatics. This…

Information Retrieval · Computer Science 2021-03-02 B. D. M. De Zoysa , Y. A. M. M. A. Ali , M. D. I. Maduranga , Indika Perera , Saliya Ekanayake , Anil Vullikanti

We address the problem of detecting race conditions in programs that use semaphores for synchronization. Netzer and Miller showed that it is NP-complete to detect race conditions in programs that use many semaphores. We show in this paper…

Data Structures and Algorithms · Computer Science 2007-05-23 Philip N. Klein , Hsueh-I Lu , Rob H. B. Netzer

Dijkstra's algorithm for the Single-Source Shortest Path (SSSP) problem is notoriously hard to parallelize in $o(n)$ depth, $n$ being the number of vertices in the input graph, without increasing the required parallel work unreasonably.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-09 Michael Kainer , Jesper Larsson Träff

Over the years, many multiprocessor locking protocols have been designed and analyzed. However, the performance of these protocols highly depends on how the tasks are partitioned and prioritized and how the resources are shared locally and…

Operating Systems · Computer Science 2018-09-11 Jian-Jia Chen , Georg von der Brüggen , Junjie Shi , Niklas Uete

A (fully) dynamic graph algorithm is a data structure that supports edge insertions, edge deletions, and answers specific queries pertinent to the problem at hand. In this work, we address the fully dynamic edge orientation problem, also…

Data Structures and Algorithms · Computer Science 2024-07-18 Ernestine Großmann , Henrik Reinstädtler , Christian Schulz , Fabian Walliser

The idea of dynamic programming (DP), proposed by Bellman in the 1950s, is one of the most important algorithmic techniques. However, in parallel, many fundamental and sequentially simple problems become more challenging, and open to a…

Data Structures and Algorithms · Computer Science 2024-05-24 Xiangyun Ding , Yan Gu , Yihan Sun

Dynamic programming is a powerful technique that is, unfortunately, often inherently sequential. That is, there exists no unified method to parallelize algorithms that use dynamic programming. In this paper, we attempt to address this issue…

Data Structures and Algorithms · Computer Science 2018-09-18 MohammadHossein Bateni , Soheil Behnezhad , Mahsa Derakhshan , MohammadTaghi Hajiaghayi , Vahab Mirrokni