CSC/ECE 506 Spring 2012/ch5a ja
Chapter 5a CSC/ECE 506 Spring 2012 / ch5a
An exploration and summary of concurrency issues as it relates to linked-list based data structures such as hash tables, trees, and graphs. This topic examines concurrency problems related to each type and possible solutions to allow for parallelization.
Introduction to Linked-List Parallel Programming
In determining opportunities for parallel programming in your software design, many programmers will focus exclusively on loop or array structures, rather than also considering the possibilities that linked-list pointer-based structures could also provide.
For example, one parallel technique used in array processing is the copy-scan technique. Take the following grid:
The basic process for copy-scan would be to:
a) Copy row 1 to row 2 b) Copy row 1 to row 3, row 2 to row 4, etc c) Continue in this manner until all rows have been copied in a logn fashion.
In this chapter, we will explore 3 linked-list based data structures and the concurrency issues they present: hash tables, trees, and graphs.