We are not able to resolve this OAI Identifier to the repository landing page. If you are the repository manager for this record, please head to the Dashboard and adjust the settings.
Recent trend has made it clear that the processor makers are committed to the multicore
chip designs. The number of cores per chip is increasing, while there is little or
no increase in the clock speed. This parallelism trend poses a significant and urgent
challenge on computer software because programs have to be written or transformed
into a multi-threaded form to take full advantage of future hardware advances.
Task parallelism has been identified as one of the prerequisites for software productivity.
In task parallelism, programmers focus on decomposing the problem into subcomputations
that can run in parallel and leave the compiler and runtime to handle
the scheduling details. This separation of concerns between task decomposition and
scheduling provides productivity to the programmer but poses challenges to the
runtime scheduler.
Our thesis is that work-stealing schedulers with adaptive scheduling policies and
locality-awareness can provide a scalable and robust runtime foundation for multicore
task parallelism. We evaluate our thesis using the new Scalable Locality-aware
Adaptive Work-stealing (SLAW) runtime scheduler developed for the Habanero-Java
programming language, a task-parallel variant of Java.
SLAW's adaptive task scheduling is motivated by the study of two common
scheduling policies in a work-stealing scheduler, specifically, the work-first and the
help-first policy. Both policies exhibit limitations in performance and resource usage
in different situations. The variances make it hard to determine the best policy a
priori. SLAW addresses these limitations by supporting both policies simultaneously
and selecting policies adaptively on a per-task basis at runtime. Our results show
that SLAW achieves O.98x to 9.2x speedup over the help-first scheduler and O.97x
to 4.5x speedup over the work-first scheduler. Further, for large irregular parallel
computations, SLAW supports data sizes and achieves performance that cannot be
delivered by the use of any single fixed policy.
SLAW's locality-aware scheduling framework aims to overcome the cache unfriendliness
of work-stealing due to randomized stealing. The SLAW scheduler is designed
for programming models where locality hints are provided to the runtime by the
programmer or compiler. Our results show that locality-aware scheduling can improve
performance by increasing temporal data reuse for iterative data-parallel applications
Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.