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