The lecture given here is the sixth part in the “Introduction to Parallel Programming” video series. This part provides the viewer with practical examples of errors that can occur when threads may contend for shared resources. One example is a simple arithmetic computation and another attempts to add nodes onto a linked list. Methods to eliminate data race conditions within threaded code are given in the abstract and in practical terms using two OpenMP pragmas: critical and atomic. The linked list example is used to demonstrate the importance of mutual exclusion on both reads and writes of shared data.
A programming lab (Numeric Search) with instructions and source files is separately available for practice of information and ideas presented within the lecture video.
Running time: 19:41
Note: The material presented in this lecture series has been taken from the Intel Software College multi-day seminar, “Introduction to Parallel Programming”, authored by Michael J. Quinn (Seattle University). The content has been reorganized and updated for the lectures in this series.