Skip to main content
QUICK REVIEW

[논문 리뷰] Putting Lipstick on Pig: Enabling Database-style Workflow Provenance

Yael Amsterdamer, Susan B. Davidson|arXiv (Cornell University)|2011. 12. 31.
Scientific Computing and Data Management참고 문헌 14인용 수 8
한 줄 요약

이 논문은 Pig Latin 모듈의 내부 상태와 입력 기반 종속성을 캡처하기 위해 데이터베이스 스타일의 세밀한 프로벤런스와 워크플로우 스타일의 실행 추적을 결합한 프로벤런스 프레임워크인 Lipstick을 제안한다. 세밀한 종속성과 입력 기반 종속성을 모델링함으로써 내부 상태를 기록하고, 새로운 프로벤런스 그래프를 도입하여 줌인/줌아웃 기능과 그래프 변환을 지원함으로써 대규모 워크로드에서 밀리초 수준의 성능로 효율적이고 인터랙티브한 프로벤런스 쿼리를 가능하게 한다.

ABSTRACT

Workflow provenance typically assumes that each module is a "black-box", so that each output depends on all inputs (coarse-grained dependencies). Furthermore, it does not model the internal state of a module, which can change between repeated executions. In practice, however, an output may depend on only a small subset of the inputs (fine-grained dependencies) as well as on the internal state of the module. We present a novel provenance framework that marries database-style and workflow-style provenance, by using Pig Latin to expose the functionality of modules, thus capturing internal state and fine-grained dependencies. A critical ingredient in our solution is the use of a novel form of provenance graph that models module invocations and yields a compact representation of fine-grained workflow provenance. It also enables a number of novel graph transformation operations, allowing to choose the desired level of granularity in provenance querying (ZoomIn and ZoomOut), and supporting "what-if" workflow analytic queries. We implemented our approach in the Lipstick system and developed a benchmark in support of a systematic performance evaluation. Our results demonstrate the feasibility of tracking and querying fine-grained workflow provenance.

연구 동기 및 목표

  • 모든 입력이 모든 출력에 영향을 준다는 가정과 모듈 상태를 忽略하는 굵은 단위의 워크플로우 프로벤런스의 한계를 해결하기 위해.
  • 출력이 입력의 부분 집합에만 의존하는 세밀한 데이터 종속성을 모델링하여, 반복적 또는 상태 기반 워크플로우에서 특히 유용하게 하기 위해.
  • 데이터 라인저리와 모듈 호출 상태를 모두 추적하기 위해 데이터베이스 스타일의 프로벤런스(반환형(annotation)을 통한)와 워크플로우 실행 프로벤런스를 통합하기 위해.
  • 동적 세밀도 제어를 위한 새로운 그래프 연산인 ZoomIn 및 ZoomOut을 통해 상호작용 가능한 프로벤런스 분석을 가능하게 하기 위해.
  • 실제 대규모 데이터 워크플로우에서 세밀한 프로벤런스의 실현 가능성과 성능을 입증하기 위해.

제안 방법

  • Pig Latin 스크립트 내에서 튜플 유도 과정을 추적하기 위해 반복형(annotation)을 활용해 데이터베이스 프로벤런스를 확장한다.
  • 모듈 호출을 프로벤런스 그래프의 노드로 모델링하고, 모듈 간의 데이터 및 제어 흐름을 간선으로 표현한다.
  • 반복 실행 동안 세밀한 종속성과 내부 상태를 압축적으로 표현할 수 있는 새로운 프로벤런스 그래프 구조를 도입한다.
  • 그래프 변환 연산을 지원한다: ZoomIn(특정 데이터 라인저리에 집중) 및 ZoomOut(모듈 간 라인저리 집계).
  • 서브그래프 및 삭제 연산을 통해 '만약에' 쿼리를 실행하여 입력 또는 모듈 상태 변경을 시뮬레이션한다.
  • 실제 워크로드(자동차 딜러 및 북극 기지)를 대상으로 합성 및 실재 데이터를 사용하여 쿼리 성능을 평가하기 위해 벤치마크를 수행한다.

실험 결과

연구 질문

  • RQ1출력이 입력의 부분 집합에만 의존하고 내부 모듈 상태가 존재하는 데이터 집약적 워크플로우에서 세밀한 프로벤런스를 효과적으로 캡처할 수 있는가?
  • RQ2성능을 희생시키지 않고도 동적 쿼리 세밀도(예: 줌인/줌아웃)를 지원할 수 있도록 프로벤런스 그래프를 어떻게 구성할 수 있는가?
  • RQ3프로벤런스 모델이 '만약에' 분석 쿼리를 지원할 수 있는가, 예를 들어 '만약 이 입력이 달라졌다면?'와 같은 질문에 답할 수 있는가?
  • RQ4대규모 수의 모듈 인스턴스를 다룰 때, 프로벤런스 그래프는 얼마나 효율적으로 쿼리될 수 있는가?
  • RQ5데이터베이스 스타일의 프로벤런스와 워크플로우 실행 모델의 통합이 실제 시스템에서 실현 가능하고 성능이 우수한가?

주요 결과

  • Lipstick 시스템은 Pig Latin 기반 워크플로우에서 세밀한 종속성과 내부 모듈 상태를 성공적으로 캡처하여, 굵은 단위의 블랙박스 가정을 초월한 세밀한 라인저리 추적을 가능하게 했다.
  • ZoomOut 및 ZoomIn 연산의 쿼리 처리 시간은 밀리초 수준이며, 그래프 크기에 비례하는 선형 관계를 보였다. 집계 쿼리가 딜러 쿼리보다 빠르며, 이는 더 적은 수의 모듈 인스턴스 때문이었다.
  • 서브그래프 쿼리는 결과 크기에 비례하여 약 선형적으로 스케일링되었으며, 40,000개 이상의 노드를 가진 그래프에서도 0.2초 이내에 완료되었다.
  • 삭제 연산은 매우 효율적이었으며, 대부분의 쿼리가 1ms 이내에 실행되었고, 전부 13ms 이내로 끝나, 상태 변경 시뮬레이션에 강력한 성능을 보였다.
  • 워크플로우 구조에 따라 성능이 달라졌다: 높은 팬아웃(예: 팬아웃 3)을 가진 조밀한 워크플로우에서는 엣지 수가 증가해 쿼리 시간이 더 길어졌다.
  • 이 프레임워크는 복잡한 '만약에' 시나리오를 포함한 실용적이고 상호작용 가능한 프로벤런스 분석을 지원하여, 실제 데이터 워크플로우 디버깅 및 감사에 실현 가능함을 입증했다.

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

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

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

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