Elastic Tasks: Unifying Task Parallelism and SPMD Parallelism with an Adaptive Runtime

dc.contributor.authorAgrawal, Kunalen_US
dc.contributor.authorSarkar, Viveken_US
dc.contributor.authorSbîrlea, Alinaen_US
dc.date.accessioned2017-08-02T22:03:16Zen_US
dc.date.available2017-08-02T22:03:16Zen_US
dc.date.issued2015-02-11en_US
dc.date.noteFebruary 11, 2015en_US
dc.description.abstractIn this paper, we introduce elastic tasks, a new high-level parallel programming primitive that can be used to unify task parallelism and SPMD parallelism in a common adaptive scheduling framework. Elastic tasks are internally parallel tasks and can run on a single worker or expand to take over multiple workers. An elastic task can be an ordinary task or an SPMD region that must be executed by one or more workers simultaneously, in a tightly coupled manner. The gains obtained by using elastic tasks, as demonstrated in this paper, are three-fold: (1) they offer theoretical guarantees: given a computation with work W and span S executing on P cores, a work-sharing runtime guarantees a completion time of O(W/P+S+E), and a work-stealing runtime completes the computation in expected time O(W/P + S + E lgP), where E is the number of elastic tasks in the computation, (2) they offer performance benefits in practice by co-scheduling tightly coupled parallel/SPMD subcomputations within a single elastic task, and (3) they can adapt at runtime to the state of the application and work-load of the machine. We also introduce ElastiJ — a runtime system that includes work-sharing and work-stealing scheduling algorithms to support computations with regular and elastic tasks. This scheduler dynamically decides the allocation for each elastic task in a non-centralized manner, and provides close to asymptotically optimal running times for computations that use elastic tasks. We have created an implementation of ElastiJ and present experimental results showing that elastic tasks provide the aforementioned benefits. We also make study on the sensitivity of elastic tasks to the theoretical assumptions and the user parameters.en_US
dc.format.extent29 ppen_US
dc.identifier.citationAgrawal, Kunal, Sarkar, Vivek and Sb�rlea, Alina. "Elastic Tasks: Unifying Task Parallelism and SPMD Parallelism with an Adaptive Runtime." (2015) https://hdl.handle.net/1911/96416.en_US
dc.identifier.digitalTR15-02en_US
dc.identifier.urihttps://hdl.handle.net/1911/96416en_US
dc.language.isoengen_US
dc.rightsYou are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).en_US
dc.titleElastic Tasks: Unifying Task Parallelism and SPMD Parallelism with an Adaptive Runtimeen_US
dc.typeTechnical reporten_US
dc.type.dcmiTexten_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR15-02.pdf
Size:
664.64 KB
Format:
Adobe Portable Document Format