The Nornir run-time system for parallel programs using Kahn process networks on multi-core machines - A flexible alternative to MapReduce

3Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Even though shared-memory concurrency is a paradigm frequently used for developing parallel applications on small- and middle-sized machines, experience has shown that it is hard to use. This is largely caused by synchronization primitives which are low-level, inherently non-deterministic, and, consequently, non-intuitive to use. In this paper, we present the Nornir run-time system. Nornir is comparable to well-known frameworks such as MapReduce and Dryad that are recognized for their efficiency and simplicity. Unlike these frameworks, Nornir also supports process structures containing branches and cycles. Nornir is based on the formalism of Kahn process networks, which is a shared-nothing, message-passing model of concurrency. We deem this model a simple and deterministic alternative to shared-memory concurrency. Experiments with real and synthetic benchmarks on up to 8 CPUs show that performance in most cases scales almost linearly with the number of CPUs, when not limited by data dependencies. We also show that the modeling flexibility allows Nornir to outperform its MapReduce counterparts using well-known benchmarks. © 2010 The Author(s).

Cite

CITATION STYLE

APA

Vrba, Ž., Halvorsen, P., Griwodz, C., Beskow, P., Espeland, H., & Johansen, D. (2013). The Nornir run-time system for parallel programs using Kahn process networks on multi-core machines - A flexible alternative to MapReduce. Journal of Supercomputing, 63(1), 191–217. https://doi.org/10.1007/s11227-010-0503-2

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free