@misc{9868, author = {Zeljko Vrba and P{\r a}l Halvorsen and Carsten Griwodz and Paul Beskow and Dag Johansen}, title = {The Nornir Run-Time System for Parallel Programs Using Kahn Process Networks}, abstract = {Shared-memory concurrency is the prevalent paradigm used for developing parallel applications targeted towards small- and middle-sized machines, but experience has shown that it is hard to use. This is largely caused by synchronization primitives which are low-level, inherently nondeterministic, and, consequently, non-intuitive to use. In this paper, we present the \textit{Nornir} run-time system. Nornir is comparable to well-known frameworks like MapReduce and Dryad, but has additional support for process structures containing cycles. It is based on the formalism of Kahn process networks, which we deem as 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 improves almost linearly with the number of CPUs, when not limited by data dependencies.}, year = {2009}, journal = {Proceedings of 6th International Conference on Network and Parallel Computing (NPC)}, pages = {1-8}, publisher = {IEEE Computer Society}, isbn = {978-0-7695-3837-2}, }