Skip to main content
QUICK REVIEW

[논문 리뷰] On using Tracer Driver for External Dynamic Process Observation

Pierre Deransart|ArXiv.org|2007. 01. 17.
Distributed and Parallel Computing Systems인용 수 3
한 줄 요약

이 논문은 외부 동적 프로세스 관찰을 위한 '풀 트레이스'(full trace) 모델을 제안한다. 여기서 프로세스는 트레이서 드라이버를 통해 런타임 중에 유용할 만한 모든 정보를 다수의 독립적 분석기들에 공유하도록 인스트루멘테이션된다. 이 접근법은 트레이싱 생성을 중앙집중화함으로써 중복 인스트루멘테이션을 줄이고, 효율적이고 필요에 따라 분석할 수 있도록 하며, 제약 해결 워크로드에서 트레이스 압축과 워크로드 분배를 통해 성능 향상을 입증한다.

ABSTRACT

One is interested here in the observation of dynamic processes starting from the traces which they leave or those that one makes them produce. It is considered here that it should be possible to make several observations simultaneously, using a large variety of independently developed analyzers. For this purpose, we introduce the original notion of ``full trace'' to capture the idea that a process can be instrumented in such a way that it may broadcast all information which could ever be requested by any kind of observer. Each analyzer can then find in the full trace the data elements which it needs. This approach uses what has been called a "tracer driver" which completes the tracer and drives it to answer the requests of the analyzers. A tracer driver allows to restrict the flow of information and makes this approach tractable. On the other side, the potential size of a full trace seems to make the idea of full trace unrealistic. In this work we explore the consequences of this notion in term of potential efficiency, by analyzing the respective workloads between the (full) tracer and many different analyzers, all being likely run in true parallel environments. To illustrate this study, we use the example of the observation of the resolution of constraints systems (proof-tree, search-tree and propagation) using sophisticated visualization tools, as developed in the project OADymPPaC (2001-2004). The processes considered here are computer programs, but we believe the approach can be extended to many other kinds of processes.

연구 동기 및 목표

  • 여러 개의 독립적 분석기가 동일한 동적 프로세스를 동시에 관찰할 수 있도록 하되, 중복 인스트루멘테이션을 방지한다.
  • 포괄적인 트레이스를 생성하는 데 발생하는 확장성 문제를 해결하기 위해, 모든 가능한 관찰 데이터를 캡처하는 '풀 트레이스' 추상화를 도입한다.
  • 특히 제약 해결과 같은 복잡한 프로세스에 대해, 풀 트레이스 시스템의 실현 가능성과 효율성을 평가한다.
  • 트레이서, 트레이서 드라이버, 분석기 간의 워크로드 분배 방식이 성능 오버헤드를 최소화하는 데 어떻게 기여하는지 탐색한다.
  • 풀 트레이스 시스템을 실세계에서 실용적으로 사용할 수 있도록 하기 위해, 트레이스 압축과 통신 최적화의 역할을 평가한다.

제안 방법

  • 동적 프로세스 내의 모든 상태 변화와 동작 기록을 포괄하는 '풀 트레이스' 개념을 도입한다. 이는 어떤 분석기에도 관심이 갈 수 있는 모든 데이터를 기록한다.
  • 트레이서 드라이버를 중간 장치로 도입하여, 인스트루멘테이션된 프로세스와 외부 분석기 사이를 중개한다. 이 드라이버는 요청된 요소만 필터링하여 전달한다.
  • 특히 고용량 환경에서 데이터 전송을 제한하고 오버헤드를 줄이기 위해, 풀 트레이스의 증분적이고 압축된 표현 방식을 사용한다.
  • 분석기가 특정 트레이스 이벤트와 속성을 요청하고, 드라이버가 관련된 데이터만 응답하는 클라이언트-서버 아키텍처를 채택한다.
  • 통신 대역폭과 처리 부담을 최소화하기 위해, 증분적 속성과 추상 메타데이터와 같은 트레이스 압축 기법을 적용한다.
  • 복잡하고 변화가 빠른 데이터 구조가 흔한 OADymPPaC 및 DiSCiPl 프로젝트의 실제 제약 해결 워크로드를 사용하여 시스템을 평가한다.

실험 결과

연구 질문

  • RQ1여러 분석기가 존재하는 병렬 환경에서 풀 트레이스가 얼마나 효율적으로 생성되고 소비될 수 있는가?
  • RQ2트레이서, 트레이서 드라이버, 분석기 간의 워크로드 분배가 전체 시스템 성능에 어떤 영향을 미치는가?
  • RQ3트레이서 드라이버를 통한 트레이스 압축과 선택적 데이터 전달 방식으로부터 어떤 성능 향상 효과를 기대할 수 있는가?
  • RQ4트레이스 크기나 처리 오버헤드로 인해 풀 트레이스 접근법이 어떤 상황에서 실용성이 떨어지는가?
  • RQ5분석기와 트레이서 드라이버 간의 통신 프로토콜을 어떻게 설계하면 지연 시간과 데이터 양을 최소화하면서도 분석의 정밀도를 유지할 수 있는가?

주요 결과

  • 풀 트레이스 개념은 별도의 트레이서를 각 분석기마다 필요로 하지 않도록 하여, 인스트루멘테이션 오버헤드를 크게 줄인다.
  • 트레이서 드라이버는 트레이서에서 처리 비용의 대부분을 분석기로 이관함으로써, 시스템의 확장성과 효율성을 유지하는 데 효과적이다.
  • 최악의 경우—즉, 풀 트레이스가 개별 분석기의 모든 축소된 트레이스의 합집합과 동일한 경우라도, 지능적인 필터링 덕분에 트레이서 드라이버의 존재가 상당한 성능 이점을 제공한다.
  • 성능 저하 요소는 일반적으로 트레이서보다는 분석기에서 기인하는 경향이 있으며, 특히 복잡하고 대규모의 트레이스를 처리할 경우 더욱 뚜렷하다.
  • 증분적 속성과 추상 메타데이터를 포함한 트레이스 압축 기법은 통신 오버헤드를 크게 줄이고 시스템의 반응성을 향상시킨다.
  • 트레이스의 의미적 이해는 여전히 도전 과제이며, 특히 형식적 의미론이 사전에 제공되지 않는 복잡하거나 비결정적 시스템에서는 더욱 그렇다.

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

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

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

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