data race

Introduction to Parallel Programming video lecture series – Part 09 “Implementing a Task Decomposition”

The lecture given here is the ninth part in the “Introduction to Parallel Programming” video series. This part describes how design and implement a task decomposition solution. An illustrative example for solving the 8 Queens problem is used. Multiple approaches are presented with the pros and cons for each described. After the approach is decided upon, code modifications using OpenMP are presented. Potential data race errors with a shared stack data structure holding board configurations (the tasks to be processed) are offered and a solution is found and implemented.

Introduction to Parallel Programming video lecture series – Part 06 “Confronting Race Conditions”

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.

Introduction to Parallel Programming hands-on programming lab – Numeric Search

This hands-on exercise lab, Numeric Search, is one of two programming labs associated with the video lecture “Confronting Race Conditions” (Part 6) of the “Introduction to Parallel Programming” series. This problem examines numeric values in order to determine how many conform to a given set of properties. The lab contents include source files and written instructions to guide the programmer in converting the serial source code into an equivalent parallel version using OpenMP.

Когда Inspector мышей не ловит

Недавно я столкнулся с одним интересным случаем. В процессе анализа приложения одного из наших пользователей обнаружил, что Inspector диагностирует data race там, где, по-идее его (или ее) быть не должно. Причем после нескольких десятков минут усиленного обмозговывания проблемы, мозг вскипел и отказался дальше работать. Честно говоря, хотелось вывести на чистую воду разработчиков тредчекера, и с позором предать их анафеме.

Iscriversi a data race