Skel: A Streaming Process-based Skeleton Library for Erlang
Archibald Elliott, Christopher Brown, Marco Danelutto, Kevin Hammond
August 2012 • Early Draft • Never Submitted
Presented at IFL 2012
Abstract
With the increasing shift towards parallel programming, parallel programs are still notoriously difficult to implement. Indeed parallelism is usually made even more difficult by programmers typically using sequential or small-scale parallel programming techniques. Functional languages such as Erlang are increasingly starting to dominate the parallelism scene with their typical first-class light-weight parallelism models.
In this paper we introduce a new process-based skeleton framework for Erlang based on streaming models. In particular we show a number of core "primitive" skeletons that can be used as a basis of more complex parallel systems. We give details of the skeletons, in Erlang, and in our full paper we promise to show promising and scalable speedups on a manycore machine on a number of examples.