DOI QR코드

DOI QR Code

A Post-mortem Detection Tool of First Races to Occur in Shared-Memory Programs with Nested Parallelism

내포병렬성을 가진 공유메모리 프로그램에서 최초경합의 수행후 탐지도구

  • Kang, Mun-Hye (Dept. of Liberal Arts, Gyeongnam National University of Science and Technology) ;
  • Sim, Gab-Sig (Dept. of Liberal Arts, Gyeongnam National University of Science and Technology)
  • 강문혜 (국립경남과학기술대학교 교양학부) ;
  • 심갑식 (국립경남과학기술대학교 교양학부)
  • Received : 2013.09.10
  • Accepted : 2014.02.21
  • Published : 2014.04.30

Abstract

Detecting data races is important for debugging shared-memory programs with nested parallelism, because races result in unintended non-deterministic executions of the program. It is especially important to detect the first occurred data races for effective debugging, because the removal of such races may make other affected races disappear or appear. Previous dynamic detection tools for first race detecting can not guarantee that detected races are unaffected races. Also, the tools does not consider the nesting levels or need support of other techniques. This paper suggests a post-mortem tool which collects candidate accesses during program execution and then detects the first races to occur on the program after execution. This technique is efficient, because it guarantees that first races reported by analyzing a nesting level are the races that occur first at the level, and does not require more analyses to the higher nesting levels than the current level.

본 논문에서는 고성능 컴퓨팅 시스템의 성능 향상을 위한 효율적인 동적 작업부하 균등화 정책을 제안한다. 이 정책은 시스템 자원인 CPU와 메모리를 효율적으로 사용하여 고성능 컴퓨팅 시스템의 처리량을 최대화하고, 각 작업의 수행시간을 최소화한다. 또한 이 정책은 수행중인 작업의 메모리 요구량과 각 노드의 부하상태를 파악하여 작업을 동적으로 할당한다. 이때 작업을 할당 받은 노드가 과부하 상태가 되면 다른 노드로 작업을 이주시켜 각 노드의 작업부하를 균등하게 유지함으로써 작업의 대기시간을 줄이고, 각 작업의 수행시간을 단축한다. 본 논문에서는 시뮬레이션을 통하여 제안하는 동적 작업부하 균등화 정책이 기존의 메모리 기반의 작업부하 균등화 정책에 비해 고성능 컴퓨팅 시스템의 성능 향상 면에서 우수함을 보인다.

Keywords

References

  1. Netzer, R. H. B., and B. P. Miller, "What Are Race Conditions? Some Issues and Formalizations," Letters on ProgramLanguages and Systems, 1(1): 74-88, ACM, March 1992.
  2. Wester, B., D. Devecsery and P. M. Chen, "Parallelizing Data Race Detection," The International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), ACM, Houston, Texas, USA., March 2013.
  3. Banerjee, U., B. Bliss, Z. Ma, and P. Petersen, "A Theory of Data Race Detection," Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD), pp. 69-78, Int'l Symposium On Software Testing and Analysis (ISSTA), ACM, Portland, Maine, July 2006.
  4. Adve, S., M. Hill, B.Miller, and R. Netzer. Detecting data races on weak memory systems. In proceedings Of the Annual Int'l Symposium On computer Architecture (ISCA'91), pp. 234-243, May 1991.
  5. Kim, J., and Y. Jun, "Scalable On-the-fly Detection of the First Races in Parallel Programs," Proc. of the 12nd Int'l Conf. on Supercomputing (ICS), pp. 345-352, ACM, Melbourne, Australia, July 1998.
  6. Choi, J., and S. Min, "RACE FRONTIER: Reproducing Data Races in Parallel Program Debugging," 3rd Symposium on Principles and Practice of Parallel Programming (PPoPP91), pp. 145-154, ACM, Williamsburg, Virginia, April 1991.
  7. Ronsse, M., K. De Bosschere, "RecPlay: A Fully Integrated Practical Record/Replay System," Transacsion On Computer Systems, 17(2): 133-152, ACM, May 1999. https://doi.org/10.1145/312203.312214
  8. Park, H., and Y. Jun, Detecting the First Races in Parallel Programs with Ordered Synchronization, 6th Int'l Conf. on Parallel and Distributed Systems, pp. 201-208, IEEE, Tainan, Taiwan, Dec. 1998.
  9. Ha, K., Y. Jun, and K. Yoo, "Efficient On-the-fly Detection of First Races in Nested Parallel Programs," Workshop on State-of-the-Art in Scientific Computing (PARA), pp. 75-84, Copenhagen, Denmark, June 2004.
  10. Ayguade, E., M. Gonzalez, X. Martorell, and G. Jost, "Employing Nested OpenMP for the Parallelization of Multi-zone Computational Fluid Dynamics Applications," In Proceedings of the 18th Int'l Conference on Parallel and Distributed Processing Symposium (IPDPS), pp. 6-15, IEEE, April 2004.
  11. Blikberg, R., and T. Sorevik, "Nested parallelism: Allocation of processors to tasks and OpenMP implementation," In Proceedings of the 2nd Int'l Conference on European Workshop on OpenMP (EWOMP), Edinburgh, Scotland, UK, Springer-Verlag, August 2000.
  12. Bucker, H. M. , A. Rasch, and A. Wolf, "A Class of OpenMP Applications Involving Nested Parallelism," In Proceedings of the 19th ACM Symposium on Applied Computing (SAC), 1:220-224, Nicosia, Cyprus, New York, ACM, March pp. 14-17, 2004.
  13. Chandra, R., L. Daum, D. Ko hr, D. Maydan, J. McDonald, and R. menon, Parallel Programming in OpenMP, Academic Press, 2001.
  14. Jun, Y. and K. Koh, " On-the-fly Detection of Access Anomalies in Nested Parallel Loops," 3rd Workshop on Parallel and Distributed Debugging, pp. 107-117, ACM, May, 1993.
  15. Dinning, A., and E. Schonberg, "An Empirical Comparison of Monitoring Algorithms for Access Anomaly Detection," 2nd Symposium on Principles and Practice of Parallel Programming (PPoPP), pp.1-10, ACM, March 1990.
  16. M. Kang, and Y. Jun., "Efficient Verification of First Tangled Races to Occur in Programs with Nested Parallelism," In Proceedings of the ASEA 2011, CCIS 257, pp. 437-450, Springer, Heidelberg, 2011.