English
Related papers

Related papers: Simplified, stable parallel merging

200 papers

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

Cycles are one of the fundamental subgraph patterns and being able to enumerate them in graphs enables important applications in a wide variety of fields, including finance, biology, chemistry, and network science. However, to enable cycle…

Data Structures and Algorithms · Computer Science 2023-07-18 Jovan Blanuša , Kubilay Atasu , Paolo Ienne

Various decision support systems are available that implement Data Mining and Data Warehousing techniques for diving into the sea of data for getting useful patterns of knowledge (pearls). Classification, regression, clustering, and many…

Cryptography and Security · Computer Science 2024-03-01 Mohammad Khalid Imam Rahmani

Previous parallel sorting algorithms do not scale to the largest available machines, since they either have prohibitive communication volume or prohibitive critical path length. We describe algorithms that are a viable compromise and…

Data Structures and Algorithms · Computer Science 2015-02-26 Michael Axtmann , Timo Bingmann , Peter Sanders , Christian Schulz

The aim of the paper is to introduce general techniques in order to optimize the parallel execution time of sorting on a distributed architectures with processors of various speeds. Such an application requires a partitioning step. For…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-16 Christophe Cérin , Jean-Christophe Dubacq , Jean-Louis Roch , the SafeScale Collaboration

A simple method for improving cache efficiency of serial and parallel explicit finite procedure with application to casting solidification simulation over three-dimensional complex geometries is presented. The method is based on division of…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-05-19 Ruhollah Tavakoli

There has been significant progress in understanding the parallelism inherent to iterative sequential algorithms: for many classic algorithms, the depth of the dependence structure is now well understood, and scheduling techniques have been…

Data Structures and Algorithms · Computer Science 2018-08-14 Dan Alistarh , Trevor Brown , Justin Kopinsky , Giorgi Nadiradze

Merging $T$ sorted, non-redundant lists containing $M$ elements into a single sorted, non-redundant result of size $N \ge M/T$ is a classic problem typically solved practically in $O(M \log T)$ time with a priority-queue data structure the…

Data Structures and Algorithms · Computer Science 2022-08-22 Gene Myers

The ability to leverage large-scale hardware parallelism has been one of the key enablers of the accelerated recent progress in machine learning. Consequently, there has been considerable effort invested into developing efficient parallel…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-01-19 Vitaly Aksenov , Dan Alistarh , Janne H. Korhonen

Sorting is one of the most basic algorithms, and developing highly parallel sorting programs is becoming increasingly important in high-performance computing because the number of CPU cores per node in modern supercomputers tends to…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-08 Tomoyuki Tokuue , Tomoaki Ishiyama

Computation of a signal's estimated covariance matrix is an important building block in signal processing, e.g., for spectral estimation. Each matrix element is a sum of products of elements in the input matrix taken over a sliding window.…

Data Structures and Algorithms · Computer Science 2013-03-12 Oded Green , Lior David , Ami Galperin , Yitzhak Birk

In this paper, we consider an approach to the parallelizing of the algorithms realizing the modified probability changigng method with adaptation and partial rollback procedure for constrained pseudo-Boolean optimization problems. Existing…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-09-03 Lev Kazakovtsev

We reconsider a recently published algorithm (Dalkilic et al.) for merging lists by way of the perfect shuffle. The original publication gave only experimental results which, although consistent with linear execution time on the samples…

Data Structures and Algorithms · Computer Science 2015-08-04 John Ellis , Ulrike Stege

We study a class of simple algorithms for concurrently computing the connected components of an $n$-vertex, $m$-edge graph. Our algorithms are easy to implement in either the COMBINING CRCW PRAM or the MPC computing model. For two related…

Data Structures and Algorithms · Computer Science 2020-03-04 S. Cliff Liu , Robert E. Tarjan

Semisort is a fundamental algorithmic primitive widely used in the design and analysis of efficient parallel algorithms. It takes input as an array of records and a function extracting a \emph{key} per record, and reorders them so that…

Data Structures and Algorithms · Computer Science 2023-04-21 Xiaojun Dong , Yunshu Wu , Zhongqi Wang , Laxman Dhulipala , Yan Gu , Yihan Sun

A sorted set (or map) is one of the most used data types in computer science. In addition to standard set operations, like Insert, Remove, and Contains, it can provide set-set operations such as Union,Intersection, and Difference. Each of…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-27 Ilya Kokorin , Vitaly Aksenov , Alena Martsenyuk

In this work we propose a simple and easily parallelizable algorithm for multiway graph partitioning. The algorithm alternates between three basic components: diffusing seed vertices over the graph, thresholding the diffused seeds, and then…

Machine Learning · Statistics 2014-06-17 Xavier Bresson , Huiyi Hu , Thomas Laurent , Arthur Szlam , James von Brecht

This article introduces a new optimization method to improve mergesort's runtime complexity, when sorting sequences that have equal keys to $O(n log_2 k)$, where $k$ is the number of distinct keys in the sequence. When $k$ is constant, it…

Data Structures and Algorithms · Computer Science 2020-12-17 Albert Tedja

The approximate minimum degree algorithm is widely used before numerical factorization to reduce fill-in for sparse matrices. While considerable attention has been given to the numerical factorization process, less focus has been placed on…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-26 Yen-Hsiang Chang , Aydın Buluç , James Demmel

The \emph{Order-Maintenance} (OM) data structure maintains a total order list of items for insertions, deletions, and comparisons. As a basic data structure, OM has many applications, such as maintaining the topological order, core numbers,…

Data Structures and Algorithms · Computer Science 2024-10-15 Bin Guo , Emil Sekerinski