[PDF][PDF] Static analysis of low-level synchronization

D Callahan, J Sublok - Proceedings of the 1988 ACM SIGPLAN and …, 1988 - dl.acm.org
Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and …, 1988dl.acm.org
One of the primary reasons debugging shared-memory parallel programs is harder than
debugging sequential programs is that the implementation of a parallel program is free to
execute tasks in any order and this order might change from one execution of the program to
the next. This can lead to unpredictable results if a program depends on this scheduling.
This paper deals with static analysis tools for debugging parallel programs; the goal of this
analysis is to help identify when and how the results of a program depend on the scheduling …
One of the primary reasons debugging shared-memory parallel programs is harder than debugging sequential programs is that the implementation of a parallel program is free to execute tasks in any order and this order might change from one execution of the program to the next. This can lead to unpredictable results if a program depends on this scheduling. This paper deals with static analysis tools for debugging parallel programs; the goal of this analysis is to help identify when and how the results of a program depend on the scheduling of its component tasks.
We have constructed a prototype tool, PTOOL[4, 9], and it has proven its effectiveness at analyzing asynchronous parallel loops [13]. 0 nce control reaches such a loop, the separate iterations are executed independently.’ If more than one iteration accesses some memory location, and at least one iteration modifies that location, then PTOOL would report a schedule-dependence for the loop. PTOOL consists of two components, PSERVE and PQUERY. PSERVE analyzes DO loops and identifies possible scheduledependencies. PQUERY is a powerful browser for the information collected by PSERVE, allowing the user both detailed access to individual dependence information and filter options to restrict attention to specific classes of dependences.
ACM Digital Library