An Improving Method of Restructuring Parallel Programs for Data Race Detection

  • Ha, Keum-Sook (Major of Computer Information, Kumi College) ;
  • Lee, Sung woo (Dept. of Computer Engineering, Kyungpook National University) ;
  • Yoo, Kee-Young (Dept. of Computer Engineering, Kyungpook National University)
  • 발행 : 2000.07.01

초록

Although shared memory parallel programs are designed to be deterministic both in their final results and intermediate states, the races that occur when different processes access a common memory location in an order not guaranteed by synchronization could result in unintended non-deterministic executions of the program. So, Detecting races, particularly first data races, is important for debugging explicit shared memory parallel programs. It is possible that all data races reported by other on-the-fly algorithms would disappear once the first races were removed. To detect races parallel programs with nested loops and inter-thread coordination, it must guarantee the order of synchronization operations in an execution instance. In this paper, we propose an improved restructuring method that guarantee ordering execution instance and preserve the semantics of original program. This method requires O(np) time and (s + up) space, where n is the number of total operations, s is the number of synchronization operations and p is the number of parallelism in the execution. Also, this method makes on-the-fly detection of parallel program with nested loops and inter-thread coordination more easily in space and time complexity.

키워드