Emergent Mind

Kvik: A task based middleware with composable scheduling policies

(2009.05504)
Published Sep 11, 2020 in cs.DC

Abstract

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.

We're not able to analyze this paper right now due to high demand.

Please check back later (sorry!).

Generate a summary of this paper on our Pro plan:

We ran into a problem analyzing this paper.

Newsletter

Get summaries of trending comp sci papers delivered straight to your inbox:

Unsubscribe anytime.