Skip to main content
QUICK REVIEW

[논문 리뷰] Non-intrusive on-the-fly data race detection using execution replay

Michiel Ronsse, Koenraad De Bosschere|ArXiv.org|2000. 11. 06.
Parallel Computing and Optimization Techniques참고 문헌 23인용 수 24
한 줄 요약

이 논문은 실행 재생과 캐시된 행렬 시계를 활용한 다수준 비트맵을 통해 메모리 오버헤드를 최소화하는 비침습적 실시간 데이터 레이스 탐지 시스템인 RecPlay를 제안한다. 성능 저하 없이 지속적인 추적을 가능하게 하여 히젠버그 버그를 제거하고, 코드 수정 없이도 SPLASH-2 및 Athapascan과 같은 실제 응용 프로그램에서 진짜 데이터 레이스를 탐지할 수 있다.

ABSTRACT

This paper presents a practical solution for detecting data races in parallel programs. The solution consists of a combination of execution replay (RecPlay) with automatic on-the-fly data race detection. This combination enables us to perform the data race detection on an unaltered execution (almost no probe effect). Furthermore, the usage of multilevel bitmaps and snooped matrix clocks limits the amount of memory used. As the record phase of RecPlay is highly efficient, there is no need to switch it off, hereby eliminating the possibility of Heisenbugs because tracing can be left on all the time.

연구 동기 및 목표

  • 응용 프로그램을 수정하지 않거나 성능 영향을 주지 않고 병렬 프로그램에서 데이터 레이스를 탐지하는 문제를 해결하기 위해.
  • 프로그램 실행 전반에 걸쳐 지속적인 비침습적 추적을 통해 히젠버그 버그를 제거하기 위해.
  • 다수준 비트맵과 캐시된 행렬 시계를 사용하여 데이터 레이스 탐지의 메모리 오버헤드를 최소화하기 위해.
  • 공유 메모리 시스템에서 실제 병렬 응용 프로그램에 적용 가능한 실용적이고 확장 가능한 솔루션을 제공하기 위해.
  • 실행 재생 기법이 실생환경에서 실시간 데이터 레이스 탐지에 얼마나 효과적인지 입증하기 위해.

제안 방법

  • 응용 프로그램을 수정하지 않고도 실행을 기록하고 재생할 수 있는 실행 재생(RecPlay)을 사용한다.
  • 메모리 접근 패턴을 압축하여 표현하고 저장 오버헤드를 줄이기 위해 다수준 비트맵을 적용한다.
  • 스레드 간 메모리 접근 간 인과 관계를 효율적으로 추적하기 위해 캐시된 행렬 시계를 활용한다.
  • 재생 중에 접근 순서와 공유 메모리 충돌을 분석하여 실시간 데이터 레이스 탐지를 통합한다.
  • 이행된 실행 추적에서 이벤트의 정확한 순서를 보장하기 위해 람포트의 논리적 시간 모델을 활용한다.
  • 응용 프로그램에 투명하게 작동하기 위해 바이너리 수준에서 운영하여 재컴파일이나 재링킹이 필요 없도록 한다.

실험 결과

연구 질문

  • RQ1수정되지 않은 프로그램에서 성능 영향을 최소화하면서 데이터 레이스 탐지를 수행할 수 있는가?
  • RQ2정확도를 유지하면서 데이터 레이스 탐지에서의 메모리 오버헤드를 어떻게 최소화할 수 있는가?
  • RQ3프로브 효과나 히젠버그 버그를 유발하지 않으면서도 지속적인 추적을 유지할 수 있는가?
  • RQ4실행 재생 기법이 실제 병렬 응용 프로그램에서 실시간 데이터 레이스 탐지에 얼마나 효과적인가?
  • RQ5재생과 효율적인 시계 메커니즘의 조합이 복잡한 벤치마크에서 진짜 데이터 레이스를 탐지할 수 있는가?

주요 결과

  • RecPlay는 SPLASH-2 벤치마크 세트와 Athapascan 병렬 프로그래밍 시스템에서 진짜 데이터 레이스를 성공적으로 탐지했다.
  • 재컴파일이나 재링킹 없이 작동하여 응용 프로그램에 대해 완전히 투명하다.
  • 다수준 비트맵과 캐시된 행렬 시계의 사용으로 추적 기록 및 재생 중 메모리 사용이 크게 감소했다.
  • 기록 단계의 높은 효율성 덕분에 지속적인 추적이 가능하여 추적 비활성화가 필요 없어졌고, 이로 인해 히젠버그 버그가 방지되었다.
  • 최소한의 프로브 효과로 실시간 탐지를 달성하여 생산 환경 유사 환경에서 신뢰할 수 있는 탐지가 가능했다.
  • 의도한 동기화 레이스와는 구분하여 의도하지 않은 레이스 조건에만 집중하여 효과적으로 탐지했다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.