Skip to main content
QUICK REVIEW

[논문 리뷰] Event-based Program Analysis with DeWiz

Christian Schaubschläger, Dieter Kranzlmüller|ArXiv.org|2003. 10. 06.
Parallel Computing and Optimization Techniques참고 문헌 14인용 수 11
한 줄 요약

DeWiz는 병렬 및 분산 프로그램을 위한 확장 가능하고 모듈식인 디버깅 프레임워크로, 프로그램 실행을 이벤트 그래프 모델로 표현한다. 사용자가 정의한 모듈을 통해 분산 분석, 패턴 매칭 및 추상화를 가능하게 하여 시각화 복잡성을 감소시키고, 대규모 트레이스에서 통신 오류와 구조적 이상을 고효율로 탐지한다.

ABSTRACT

Due to the increased complexity of parallel and distributed programs, debugging of them is considered to be the most difficult and time consuming part of the software lifecycle. Tool support is hence a crucial necessity to hide complexity from the user. However, most existing tools seem inadequate as soon as the program under consideration exploits more than a few processors over a long execution time. This problem is addressed by the novel debugging tool DeWiz (Debugging Wizard), whose focus lies on scalability. DeWiz has a modular, scalable architecture, and uses the event graph model as a representation of the investigated program. DeWiz provides a set of modules, which can be combined to generate, analyze, and visualize event graph data. Within this processing pipeline the toolset tries to extract useful information, which is presented to the user at an arbitrary level of abstraction. Additionally, DeWiz is a framework, which can be used to easily implement arbitrary user-defined modules.

연구 동기 및 목표

  • 수백 또는 수천 개의 프로세서를 사용하는 대규모 병렬 및 분산 프로그램의 디버깅에서 발생하는 확장성 문제를 해결한다.
  • 장시간 실행되는 실행에서 발생하는 대규모 트레이스 데이터 분석의 복잡성을 줄이기 위해 프로그램 동작을 이벤트 그래프로 추상화한다.
  • 다양한 디버깅 및 성능 분석 작업을 위한 사용자 정의 가능한 분석 모듈을 지원하는 모듈식이고 확장 가능한 프레임워크를 제공한다.
  • 자동화된 이벤트 그래프 분석을 통해 통신 오류(예: 메시지 크기 불일치, 보류 중인 송수신)와 구조적 패턴(예: 메시지 교환 루프)을 효율적으로 탐지한다.
  • 잘 정의된 인터페이스를 통해 기존 도구와의 통합을 지원하여 도구 간 상호운용성과 확장성을 향상시킨다.

제안 방법

  • 노드가 이벤트(예: 송신, 수신, 계산)이고 간선이 인과적 또는 시간적 관계를 나타내는 방향성 있는 이벤트 그래프로 프로그램 실행을 표현한다.
  • 독립적인 분석 모듈이 이벤트 그래프를 처리할 수 있도록 분리된 아키텍처를 채택하여 분산 및 확장 가능한 계산을 가능하게 한다.
  • 필터링 및 클러스터링과 같은 추상화 기법을 적용하여 이벤트 그래프의 복잡성을 줄이고 관련 있는 행동 패턴에 집중한다.
  • 이벤트 시퀀스와 관계에 의해 정의된 반복적인 상호작용 패턴(예: 간단한 교환 패턴)을 탐지하기 위해 패턴 매칭을 사용한다.
  • 이벤트 그래프에서 의심스러운 이벤트를 강조 표시하여 이상 현상(예: 메시지 길이 불일치, 보류 중인 송신)을 시각화한다.
  • 사용자 정의 모듈을 잘 정의된 프rotocol을 통해 지원하여 외부 분석 도구와의 통합 및 특정 응용 프로그램에 맞는 맞춤화를 가능하게 한다.

실험 결과

연구 질문

  • RQ1어떻게 하면 고처리량 및 장시간 실행되는 대규모 병렬 및 분산 프로그램을 효과적으로 처리할 수 있는 프로그램 분석 도구의 확장성을 달성할 수 있는가?
  • RQ2어떤 표현 모델이 병렬 프로그램 디버깅에서 복잡한 이벤트 트레이스의 효율적 추상화와 시각화를 가능하게 하는가?
  • RQ3확장 가능한 프레임워크 내에서 통신 오류(예: 메시지 크기 불일치, 보류 중인 송수신)의 자동 탐지를 어떻게 달성할 수 있는가?
  • RQ4반복적인 행동 패턴(예: 메시지 교환 루프)을 얼마나 잘 탐지하고, 이를 이벤트 그래프 시각화를 단순화하는 데 활용할 수 있는가?
  • RQ5모듈식 프레임워크는 기존 디버깅 및 성능 분석 도구와의 확장성과 상호운용성을 얼마나 잘 지원할 수 있는가?

주요 결과

  • DeWiz는 행동을 이벤트 그래프로 추상화하고 필터링 및 클러스터링 기법을 적용하여 대규모 프로그램 트레이스의 복잡성을 성공적으로 감소시켰다.
  • 이 프레임워크는 메시지 길이 불일치 및 보류 중인 송수신 작업과 같은 통신 오류를 탐지하며, 사용자 검토를 위해 강조 표시한다.
  • 패턴 매칭 모듈은 간단한 교환 패턴과 같은 반복적인 상호작용 패턴을 식별할 수 있어 고수준의 시각화와 오류 탐지 기능을 가능하게 한다.
  • 모듈식 아키텍처는 분산 분석과 외부 도구와의 통합을 가능하게 하여 확장성과 확장성의 향상을 이룬다.
  • 이상 강조 표시 기능이 포함된 이벤트 그래프 시각화는 16개 이상의 프로세스를 포함하는 복잡한 실행 환경에서도 사용자에게 직관적인 고수준의 프로그램 동작 개요를 제공한다.
  • 이 방법은 실세계 응용 프로그램에 대해 실현 가능성을 입증하였지만, 최종 배포 준비를 위해 생산 워크로드를 활용한 추가 검증이 필요하다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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