Work-stealing without the baggage

dc.contributor.authorKumar, Viveken
dc.contributor.authorFrampton, Danielen
dc.contributor.authorBlackburn, Stephen M.en
dc.contributor.authorGrove, Daviden
dc.contributor.authorTardieu, Olivieren
dc.date.accessioned2025-12-17T16:41:05Z
dc.date.available2025-12-17T16:41:05Z
dc.date.issued2012en
dc.description.abstractWork-stealing is a promising approach for effectively exploiting software parallelism on parallel hardware. A programmer who uses work-stealing explicitly identifies potential parallelism and the runtime then schedules work, keeping otherwise idle hardware busy while relieving overloaded hardware of its burden. Prior work has demonstrated that work-stealing is very effective in practice. However, workstealing comes with a substantial overhead: as much as 2x to 12x slowdown over orthodox sequential code. In this paper we identify the key sources of overhead in work-stealing schedulers and present two significant refinements to their implementation. We evaluate our workstealing designs using a range of benchmarks, four different work-stealing implementations, including the popular fork-join framework, and a range of architectures. On these benchmarks, compared to orthodox sequential Java, our fastest design has an overhead of just 15%. By contrast, fork-join has a 2.3x overhead and the previous implementation of the system we use has an overhead of 4.1x. These results and our insight into the sources of overhead for workstealing implementations give further hope to an already promising technique for exploiting increasingly available hardware parallelism.en
dc.description.statusPeer-revieweden
dc.format.extent17en
dc.identifier.issn1523-2867en
dc.identifier.scopus84870459716en
dc.identifier.urihttps://hdl.handle.net/1885/733796213
dc.language.isoenen
dc.sourceACM SIGPLAN Noticesen
dc.subjectManaged Languagesen
dc.subjectSchedulingen
dc.subjectTask Parallelismen
dc.subjectWork-Stealingen
dc.subjectX10en
dc.titleWork-stealing without the baggageen
dc.typeJournal articleen
dspace.entity.typePublicationen
local.bibliographicCitation.lastpage313en
local.bibliographicCitation.startpage297en
local.contributor.affiliationKumar, Vivek; School of Computing, ANU College of Systems and Society, The Australian National Universityen
local.contributor.affiliationFrampton, Daniel; School of Computing, ANU College of Systems and Society, The Australian National Universityen
local.contributor.affiliationBlackburn, Stephen M.; School of Computing, ANU College of Systems and Society, The Australian National Universityen
local.contributor.affiliationGrove, David; IBMen
local.contributor.affiliationTardieu, Olivier; IBMen
local.identifier.ariespublicationu3968803xPUB15en
local.identifier.citationvolume47en
local.identifier.doi10.1145/2398857.2384639en
local.identifier.pureea35ebc2-852b-412c-90ec-d22fa8369ff0en
local.identifier.urlhttps://www.scopus.com/pages/publications/84870459716en
local.type.statusPublisheden

Downloads