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

research
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...
research
01/10/2018

Task parallel implementation of a solver for electromagnetic scattering problems

Electromagnetic computations, where the wavelength is small in relation ...
research
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...
research
10/08/2018

POLO: a POLicy-based Optimization library

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

A study of integer sorting on multicores

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

pySDC - Prototyping spectral deferred corrections

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

Multiway Powersort

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

Please sign up or login with your details

Forgot password? Click here to reset