Programming the memory hierarchy revisited: Supporting irregular parallelism in sequoia

M Bauer, J Clark, E Schkufza, A Aiken - … of the 16th ACM symposium on …, 2011 - dl.acm.org
Proceedings of the 16th ACM symposium on Principles and practice of parallel …, 2011dl.acm.org
We describe two novel constructs for programming parallel machines with multi-level
memory hierarchies: call-up, which allows a child task to invoke computation on its parent,
and spawn, which spawns a dynamically determined number of parallel children until some
termination condition in the parent is met. Together we show that these constructs allow
applications with irregular parallelism to be programmed in a straightforward manner, and
furthermore these constructs complement and can be combined with constructs for …
We describe two novel constructs for programming parallel machines with multi-level memory hierarchies: call-up, which allows a child task to invoke computation on its parent, and spawn, which spawns a dynamically determined number of parallel children until some termination condition in the parent is met. Together we show that these constructs allow applications with irregular parallelism to be programmed in a straightforward manner, and furthermore these constructs complement and can be combined with constructs for expressing regular parallelism. We have implemented spawn and call-up in Sequoia and we present an experimental evaluation on a number of irregular applications.
ACM Digital Library