Efficient Thread Labeling for Monitoring Programs with Nested Parallelism

  • Ha, Ok-Kyoon; 
  • Kim, Sun-Sook; 
  • Jun, Yong-Kee
Citations

WEB OF SCIENCE

2
Citations

SCOPUS

1

초록

It is difficult and cumbersome to detect data races occurred in an execution of parallel programs. Any on-the-fly race detection techniques using Lamport's happened-before relation needs a thread labeling scheme for generating unique identifiers which maintain logical concurrency information for the parallel threads. NR labeling is an efficient thread labeling scheme for the fork-join program model with nested parallelism, because its efficiency depends only on the nesting depth for every fork and join operation. This paper presents an Unproved NR, labeling, called e-NR labeling, in which every thread generates its label by inheriting the pointer to its ancestor list from the parent threads or by updating the pointer in a constant amount of time and space. This labeling is more efficient than the NR labeling, because its efficiency does not depend on the nesting depth for every fork and join operation. Some experiments were performed with OpenMP programs having nesting depths of three or four and maximum parallelisms varying from 10,000 to 1,000,000. The results show that e-NR is 5 times faster than NR labeling and 4.3 times faster than OS labeling in the average time for creating and maintaining the thread labels. In average space required for labeling, it is 3.5 times smaller than NR labeling and 3 times smaller than OS labeling.

키워드

thread labeling; happened-before relation; logical concurrency; data races; parallel programs; nested parallelism; NR labeling; CLOCKS
제목
Efficient Thread Labeling for Monitoring Programs with Nested Parallelism
저자
Ha, Ok-Kyoon; Kim, Sun-Sook; Jun, Yong-Kee
발행일
2010
유형
Proceedings Paper
저널명
Communications in Computer and Information Science
권
120
페이지
227 ~ +