English
Related papers

Related papers: Reduced I/O Latency with Futures

200 papers

Storage systems have not kept the same technology improvement rate as computing systems. As applications produce more and more data, I/O becomes the limiting factor for increasing application performance. I/O congestion caused by concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-03 Hatem Elshazly , Jorge Ejarque , Francesc Lordan , Rosa M. Badia

In fork-join parallelism, a sequential program is split into a directed acyclic graph of tasks linked by directed dependency edges, and the tasks are executed, possibly in parallel, in an order consistent with their dependencies. A popular…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-04-11 Maurice Herlihy , Zhiyu Liu

Motivated by the increasing shift to multicore computers, recent work has developed language support for responsive parallel applications that mix compute-intensive tasks with latency-sensitive, usually interactive, tasks. These…

Programming Languages · Computer Science 2020-04-07 Stefan K. Muller , Kyle Singer , Noah Goldstein , Umut A. Acar , Kunal Agrawal , I-Ting Angelina Lee

Task-based programming models are excellent tools to parallelize and seamlessly load balance an application workload. However, the integration of I/O intensive applications and task-based programming models is lacking. Typically, I/O…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-30 Aleix Roca Nonell , Vicenç Beltran Querol , Sergi Mateo Bellido

The aim of parallel computing is to increase an application performance by executing the application on multiple processors. OpenMP is an API that supports multi platform shared memory programming model and shared-memory programs are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-12 Vibha Rajput , Alok Katiyar

Modern out-of-order processors have increased capacity to exploit instruction level parallelism (ILP) and memory level parallelism (MLP), e.g., by using wide superscalar pipelines and vector execution units, as well as deep buffers for…

Programming Languages · Computer Science 2018-07-05 Vladimir Kiriansky , Haoran Xu , Martin Rinard , Saman Amarasinghe

A future is an entity representing the result of an ongoing computation. A synchronisation with a "get" operation blocks the caller until the computation is over, to return the corresponding value. When a computation in charge of fulfilling…

Programming Languages · Computer Science 2021-07-16 Nicolas Chappe , Ludovic Henrio , Amaury Maillé , Matthieu Moy , Hadrien Renaud

When designing an algorithm, one cares about arithmetic/computational complexity, but data movement (I/O) complexity plays an increasingly important role that highly impacts performance and energy consumption. For a given algorithm and a…

Computational Complexity · Computer Science 2024-04-26 Lionel Eyraud-Dubois , Guillaume Iooss , Julien Langou , Fabrice Rastello

Algorithms for frequent pattern mining, a popular informatics application, have unique requirements that are not met by any of the existing parallel tools. In particular, such applications operate on extremely large data sets and have…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-11-08 Prabhanjan Kambadur , Amol Ghoting , Anshul Gupta , Andrew Lumsdaine

A future is a programming construct designed for concurrent and asynchronous evaluation of code, making it particularly useful for parallel processing. The future package implements the Future API for programming with futures in R. This…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-12 Henrik Bengtsson

Traditional public blockchain systems typically had very limited transaction throughput because of the bottleneck of the consensus protocol itself. With recent advances in consensus technology, the performance limit has been greatly lifted,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-02-11 Péter Garamvölgyi , Yuxi Liu , Dong Zhou , Fan Long , Ming Wu

We introduce explicit speculation, a variant of I/O speculation technique where I/O system calls can be parallelized under the guidance of explicit application code knowledge. We propose a formal abstraction -- the foreaction graph -- which…

Operating Systems · Computer Science 2024-09-04 Guanzhou Hu , Andrea Arpaci-Dusseau , Remzi Arpaci-Dusseau

We introduce a user mode file system, CannyFS, that hides latency by assuming all I/O operations will succeed. The user mode process will in turn report errors, allowing proper cleanup and a repeated attempt to take place. We demonstrate…

Operating Systems · Computer Science 2016-12-21 Jessica Nettelblad , Carl Nettelblad

As the complexity and scale of modern parallel machines continue to grow, programmers increasingly rely on composition of software libraries to encapsulate and exploit parallelism. However, many libraries are not designed with composition…

One of the main bottlenecks of blockchains is smart contract execution. To increase throughput, modern blockchains try to execute transactions in parallel. Unfortunately, however, common blockchain use cases introduce read-write conflicts…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-05-13 George Mitenkov , Igor Kabiljo , Zekun Li , Alexander Spiegelman , Satyanarayana Vusirikala , Zhuolun Xiang , Aleksandar Zlateski , Nuno P. Lopes , Rati Gelashvili

We propose Chunks and Tasks, a parallel programming model built on abstractions for both data and work. The application programmer specifies how data and work can be split into smaller pieces, chunks and tasks, respectively. The Chunks and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-29 Emanuel H. Rubensson , Elias Rudberg

The Integrative Model for Parallelism (IMP) derives a task graph from a higher level description of parallel algorithms. In this note we show how task graph transformations can be used to achieve latency tolerance in the program execution.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-11-14 Victor Eijkhout

Task parallelism as employed by the OpenMP task construct, although ideal for tackling irregular problems or typical producer/consumer schemes, bears some potential for performance bottlenecks if locality of data access is important, which…

Performance · Computer Science 2009-02-12 Markus Wittmann , Georg Hager

This paper addresses the problem of provably efficient and practically good on-the-fly determinacy race detection in task parallel programs that use futures. Prior works determinacy race detection have mostly focused on either task parallel…

Data Structures and Algorithms · Computer Science 2019-01-04 Robert Utterback , Kunal Agrawal , Jeremy Fineman , I-Ting Angelina Lee

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
‹ Prev 1 2 3 10 Next ›