Efficient Parallel Linked List Processing

Tousimojarad, A. and Vanderbauwhede, W. (2016) Efficient Parallel Linked List Processing. In: Joubert, G. R., Leather, H., Parsons, M., Peters, F. and Sawyer, M. (eds.) Parallel Computing: On the Road to Exascale. Series: Advances in parallel computing (27). IOS Press: Amsterdam, Netherlands, pp. 295-304. ISBN 9781614996200 (doi: 10.3233/978-1-61499-621-7-295)

Full text not currently available from Enlighten.

Abstract

OpenMP is a very popular and successful parallel programming API, but efficient parallel traversal of a list (of possibly unknown size) of items linked by pointers is a challenging task: solving the problem with OpenMP worksharing constructs requires either transforming the list into an array for the traversal or for all threads to traverse each of the elements and compete to execute them. Both techniques are inefficient. OpenMP 3.0 allows to addresses the problem using pointer chasing by a master thread and creating a task for each element of the list. These tasks can be processed by any thread in the team. In this study, we propose a more efficient cutoff-based linked list traversal using our task-based parallel programming model, GPRM. We compare the performance of this technique in both GPRM and OpenMP implementations with the conventional OpenMP implementation, which we call Task-Per-Element (TPE).

Item Type:Book Sections
Status:Published
Glasgow Author(s) Enlighten ID:Vanderbauwhede, Professor Wim and Tousimojarad, Dr Ashkan
Authors: Tousimojarad, A., and Vanderbauwhede, W.
College/School:College of Science and Engineering > School of Computing Science
Publisher:IOS Press
ISBN:9781614996200

University Staff: Request a correction | Enlighten Editors: Update this record