위키득계정 ↗
기술

Morsel 기반 질의 병렬 처리

Morsel 기반 질의 병렬 처리기술
연구 발표
SIGMOD 2014
배정 단위
입력 자료의 작은 조각
일정 결정
실행 중 동적 배정
고려 요소
부하 균형과 NUMA 지역성
Morsel 기반 질의 병렬 처리는 입력 자료를 작은 조각으로 나누고 실행 중 작업 스레드에 배정하는 방식이다. 작업량의 차이에 대응하면서 NUMA 환경의 메모리 지역성을 고려한다.

실행 중 작업을 나누는 이유

질의 계획 단계에서 일을 고르게 나누더라도 실제 처리 시간은 달라질 수 있다. 이 방식은 작은 조각의 처리가 끝날 때 작업을 다시 배정해 스레드 사이의 부하 차이에 대응한다.

연산 파이프라인의 실행

스레드는 맡은 자료 조각을 대상으로 연산자 파이프라인을 실행한다. 중간 결과를 모아야 하는 경계까지 처리하며, 병렬 참여 정도를 질의 계획에 고정하지 않는다.

메모리 위치와 자원 조정

배정기는 자료와 연산 상태가 놓인 NUMA 메모리의 위치를 고려한다. 실행 중 새 질의가 들어오면 작업 자원을 조정할 수 있으며, 연구는 TPC-H와 SSB로 이 구성을 평가했다.

관련 문서

병렬 컴퓨팅 / 스레드 (컴퓨팅) / CPU 캐시 / 데이터베이스 / HyPer의 질의 컴파일 / MonetDB X100