위키득계정 ↗
기술

Dryad 분산 실행

Dryad 분산 실행기술
개발 조직
Microsoft Research
연구 발표
EuroSys 2007
프로그램 표현
자료 흐름 그래프
실행 단위
순차 프로그램인 정점
Dryad는 순차 프로그램들을 자료 흐름 그래프로 연결해 여러 컴퓨터에서 실행하는 분산 엔진이다. 계산을 담당하는 정점과 자료를 전달하는 단방향 채널로 병렬 응용 프로그램을 구성한다.

프로그램과 통신 채널

개별 정점은 보통 스레드를 직접 만들거나 잠금을 관리하지 않는 순차 프로그램이다. 정점 사이의 채널은 파일과 TCP 파이프 및 공유 메모리 큐 같은 방식으로 자료를 전달한다.

그래프를 나누어 실행

Dryad는 서로 함께 실행할 수 있는 정점을 여러 컴퓨터나 CPU 코어에 배정한다. 응용 프로그램은 실행 중 자료의 크기와 위치를 확인하고 계산 진행에 맞춰 그래프를 바꿀 수도 있다.

실행 환경의 책임

엔진은 작업 배정과 정점 사이 자료 전달 및 장애 후 복구를 맡는다. 개발자가 자료 사이의 의존 관계를 표현하면 시스템이 그 관계에 맞춰 분산 실행을 관리하는 접근이다.

관련 문서

MapReduce / FlumeJava / 병렬 컴퓨팅 / 스레드 (컴퓨팅) / Pregel 그래프 처리 / 데이터베이스