English
Related papers

Related papers: A simple and fast C++ thread pool implementation c…

200 papers

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

In this paper, we present multi-threaded algorithms for graph coloring suitable to the shared memory programming model. We modify an existing algorithm widely used in the literature and prove the correctness of the modified algorithm. We…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-11 Nandini Singhal , Sathya Peri , Subrahmanyam Kalyanasundaram

We consider the problem of transposing tensors of arbitrary dimension and describe TTC, an open source domain-specific parallel compiler. TTC generates optimized parallel C++/CUDA C code that achieves a significant fraction of the system's…

Mathematical Software · Computer Science 2016-07-06 Paul Springer , Aravind Sankaran , Paolo Bientinesi

Nonlinear reformulations of the spectral clustering method have gained a lot of recent attention due to their increased numerical benefits and their solid mathematical background. However, the estimation of the multiple nonlinear…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-27 Dimosthenis Pasadakis , Olaf Schenk , Verner Vlacic , Albert-Jan Yzelman

We present DASH, a C++ template library that offers distributed data structures and parallel algorithms and implements a compiler-free PGAS (partitioned global address space) approach. DASH offers many productivity and performance features…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-10-06 Karl Fürlinger , Tobias Fuchs , Roger Kowalewski

Software engineering education and training have obstacles caused by a lack of basic knowledge about a process of program execution. The article is devoted to the development of special tools that help to visualize the process. We analyze…

Graph algorithms applied in many applications, including social networks, communication networks, VLSI design, graphics, and several others, require dynamic modifications -- addition and removal of vertices and/or edges -- in the graph.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-01-16 Bapi Chatterjee , Sathya Peri , Muktikanta Sa , Nandini Singhal

As illustrated by the emergence of a class of new languages and runtimes, it is expected that a large portion of the programs to run on extreme scale computers will need to be written as graphs of event-driven tasks (EDTs). EDT runtime…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-01-22 Benoit Meister , Muthu Baskaran , Benoit Pradelle , Thomas Henretty , Richard Lethin

Graphs are a ubiquitous data structure in diverse domains such as machine learning, social networks, and data mining. As real-world graphs continue to grow beyond the memory capacity of single machines, out-of-core graph processing systems…

Databases · Computer Science 2025-11-12 Dechuang Chen , Sibo Wang , Qintian Guo

Dask is a distributed task framework which is commonly used by data scientists to parallelize Python code on computing clusters with little programming effort. It uses a sophisticated work-stealing scheduler which has been hand-tuned to…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-01-21 Stanislav Böhm , Jakub Beránek

Processing very large graphs like social networks, biological and chemical compounds is a challenging task. Distributed graph processing systems process the billion-scale graphs efficiently but incur overheads of efficient partitioning and…

Data Structures and Algorithms · Computer Science 2014-01-13 Kamran Najeebullah , Kifayat Ullah Khan , Waqas Nawaz , Young-Koo Lee

Machine learning (ML) workloads launch hundreds to thousands of short-running GPU kernels per iteration. With GPU compute throughput growing rapidly, CPU-side launch latency of kernels is emerging as a bottleneck. CUDA Graphs promise to…

Machine Learning · Computer Science 2025-12-24 Abhishek Ghosh , Ajay Nayak , Ashish Panwar , Arkaprava Basu

When processing a batch of graphs in machine learning models such as Graph Neural Networks (GNN), it is common to combine several small graphs into one overall graph to accelerate processing and remove or reduce the overhead of padding.…

Machine Learning · Computer Science 2022-09-20 Mario Michael Krell , Manuel Lopez , Sreenidhi Anand , Hatem Helal , Andrew William Fitzgibbon

Exploiting full computational power of current more and more hierarchical multiprocessor machines requires a very careful distribution of threads and data among the underlying non-uniform architecture. Unfortunately, most operating systems…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-06-15 Samuel Thibault , Raymond Namyst , Pierre-André Wacrenier

Neural networks that compute over graph structures are a natural fit for problems in a variety of domains, including natural language (parse trees) and cheminformatics (molecular graphs). However, since the computation graph has a different…

Neural and Evolutionary Computing · Computer Science 2017-02-23 Moshe Looks , Marcello Herreshoff , DeLesley Hutchins , Peter Norvig

Task graphs have been studied for decades as a foundation for scheduling irregular parallel applications and incorporated in programming models such as OpenMP. While many high-performance parallel libraries are based on task graphs, they…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-09 Seonmyeong Bak , Oscar Hernandez , Mark Gates , Piotr Luszczek , Vivek Sarkar

This paper presents a stream-oriented architecture for structuring cluster applications. Clusters that run applications based on this architecture can scale to tenths of thousands of nodes with significantly less performance loss or…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Tassos S. Argyros , David R. Cheriton

Parallel real-time embedded applications can be modelled as directed acyclic graphs (DAGs) whose nodes model subtasks and whose edges model precedence constraints among subtasks. Efficiently scheduling such parallel tasks can be challenging…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-24 Shardul Lendve , Konstantinos Bletsas , Pedro F. Souto

Graph algorithms and techniques are increasingly being used in scientific and commercial applications to express relations and explore large data sets. Although conventional or commodity computer architectures, like CPU or GPU, can compute…

Hardware Architecture · Computer Science 2017-07-03 Michel A. Kinsy , Rashmi S. Agrawal , Hien D. Nguyen

Threads are a convenient and modular abstraction for writing concurrent programs, but often fairly expensive. The standard alternative to threads, event-loop programming, allows much lighter units of concurrency, but leads to code that is…

Programming Languages · Computer Science 2011-02-07 Gabriel Kerneis , Juliusz Chroboczek