DeepAI AI Chat
Log In Sign Up

Kvik: A task based middleware with composable scheduling policies

09/11/2020
by   Saurabh Raje, et al.
0

In this paper we present Kvik: an implementation of a task-based "middleware" for shared memory parallel programming in the Rust language built on top of the Rayon library. We devise a system allowing several task-splitting schedulers to be finely tuned by the end users. Among these, we propose an implementation of an adaptive scheduler reducing tasks creations (splits) to bare minimum by linking tasks splitting to steal requests. Another important scheduler that allows turning computations into sequences of parallel operations is described. This operator proves itself particularly useful for interruptible computations. We exhibit different code examples well suited for different types of schedulers. We conclude our work with a set of benchmarks making heavy use of composability. In particular we present a parallel stable sort implementation with up to 1.5x more speedup when compared to the state-of-the-art parallel sorting implementation.

READ FULL TEXT

page 1

page 2

page 3

page 4

11/30/2021

Atos: A Task-Parallel GPU Dynamic Scheduling Framework for Dynamic Irregular Computations

We present Atos, a task-parallel GPU dynamic scheduling framework that i...
01/10/2018

Task parallel implementation of a solver for electromagnetic scattering problems

Electromagnetic computations, where the wavelength is small in relation ...
09/29/2020

A task-based approach to parallel parametric linear programming solving, and application to polyhedral computations

Parametric linear programming is a central operation for polyhedral comp...
10/08/2018

POLO: a POLicy-based Optimization library

We present POLO --- a C++ library for large-scale parallel optimization ...
08/29/2018

A study of integer sorting on multicores

Integer sorting on multicores and GPUs can be realized by a variety of a...
08/08/2018

pySDC - Prototyping spectral deferred corrections

In this paper we present the Python framework pySDC for solving collocat...
09/14/2022

Multiway Powersort

Powersort (Munro Wild, ESA2018) has recently replaced Timsort's subo...