4.7 Article

An events based algorithm for distributing concurrent tasks on multi-core architectures

Journal

COMPUTER PHYSICS COMMUNICATIONS
Volume 181, Issue 2, Pages 341-354

Publisher

ELSEVIER
DOI: 10.1016/j.cpc.2009.10.009

Keywords

Multi-core; Port based programming; H-Dispatch; Numerical simulation

Funding

  1. Schlumberger Doll Research Center
  2. Saudi Aramco

Ask authors/readers for more resources

In this paper, a programming model is presented which enables scalable parallel performance on multicore 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. (C) 2009 Elsevier B.V. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.7
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available