Show simple item record

dc.contributor.authorHolmes, David W.
dc.contributor.authorWilliams, John R.
dc.contributor.authorTilke, Peter
dc.date.accessioned2011-10-05T15:49:18Z
dc.date.available2011-10-05T15:49:18Z
dc.date.issued2009-10
dc.date.submitted2009-08
dc.identifier.issn0010-4655
dc.identifier.urihttp://hdl.handle.net/1721.1/66185
dc.description.abstractIn this paper, a programming model is presented which enables scalable parallel performance on multi-core shared memory architectures. The model has been developed for application to a wide range of numerical simulation problems. Such problems involve time stepping or iteration algorithms where synchronization of multiple threads of execution is required. It is shown that traditional approaches to parallelism including message passing and scatter-gather can be improved upon in terms of speed-up and memory management. Using spatial decomposition to create orthogonal computational tasks, a new task management algorithm called H-Dispatch is developed. This algorithm makes efficient use of memory resources by limiting the need for garbage collection and takes optimal advantage of multiple cores by employing a “hungry” pull strategy. The technique is demonstrated on a simple finite difference solver and results are compared to traditional MPI and scatter-gather approaches. The H-Dispatch approach achieves near linear speed-up with results for efficiency of 85% on a 24-core machine. It is noted that the H-Dispatch algorithm is quite general and can be applied to a wide class of computational tasks on heterogeneous architectures involving multi-core and GPGPU hardware.en_US
dc.description.sponsorshipSchlumberger-Doll Research Centeren_US
dc.description.sponsorshipSaudi Aramcoen_US
dc.language.isoen_US
dc.publisherElsevier ScienceDirecten_US
dc.relation.isversionofhttp://dx.doi.org/10.1016/j.cpc.2009.10.009en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleAn events based algorithm for distributing concurrent tasks on multi-core architecturesen_US
dc.typeArticleen_US
dc.identifier.citationHolmes, David W., John R. Williams, and Peter Tilke. “An events based algorithm for distributing concurrent tasks on multi-core architectures.” Computer Physics Communications 181 (2) (2010): 341-354. Copyright © 2010, Elsevieren_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Civil and Environmental Engineeringen_US
dc.contributor.approverWilliams, John R.
dc.contributor.mitauthorHolmes, David W.
dc.contributor.mitauthorWilliams, John R.
dc.relation.journalComputer Physics Communicationsen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dspace.orderedauthorsHolmes, David W.; Williams, John R.; Tilke, Peteren
dc.identifier.orcidhttps://orcid.org/0000-0002-2970-9158
dc.identifier.orcidhttps://orcid.org/0000-0002-3826-2204
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record