The Nornir run-time system for parallel programs using Kahn process networks on multi-core machines-a flexible alternative to MapReduce
Permanent lenke
https://hdl.handle.net/10037/6050Dato
2013Type
Journal articleTidsskriftartikkel
Peer reviewed
Forfatter
Vrba, Zeljko; Halvorsen, Pål; Griwodz, Carsten; Beskow, Paul; Espeland, Håvard; Johansen, DagSammendrag
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
Forlag
Springer Science+Business Media B.V.Sitering
Journal of Supercomputing 63(2013) nr. 1 s. 191-217Metadata
Vis full innførselSamlinger
Følgende lisensfil er knyttet til denne innførselen: