CSC/ECE 506 Spring 2015/5b SA

From Expertiza_Wiki
Revision as of 21:28, 25 February 2015 by Adas4 (talk | contribs) (→‎Overview)
Jump to navigation Jump to search

Introduction

Parallelization of computations in the presence of dynamic data structures has shown immense potential. Here we discuss how can we parallelize linked data structures. Efficiently exploiting parallelism is fundamental in parallel computing even in the context of dynamic data structures. Some amount of speculation is needed to figure out how to exploit it the best. We discuss the major steps in parallelizing data structures and then discuss some techniques and algorithms existing in the literature to gain more insight into the process.

Overview

The simplest linked data structure we can think of is a linked list. A single linked list with one pointer pointing to the next node in the list or double linked list where nodes have two pointers pointing to the adjacent nodes to its left and right in the linked list are the most commonly used linked data structures. Following figures are some examples of the same. The first shows the head node to a singly linked list and the second shows a double linked list.

Algorithms

One algorithm to perform parallelization of data structures is PLDS.

Use cases and Applications

Conclusions

References