Dynamic Buffering and Query Planning for GPU-Enabled Micro-Batch Streaming Systems
GPU 활용 마이크로배치 스트리밍 시스템을 위한 동적 데이터 버퍼링 및 쿼리 계획
- 주제어 (키워드) Micro-Batch Stream Processing , GPU , Dynamic Buffering , Dynamic Query Planning , 마이크로 배치 스트림 처리 , GPU , 동적 버퍼링 , 동적 쿼리 계획
- 발행기관 서강대학교 일반대학원
- 지도교수 박성용
- 발행년도 2022
- 학위수여년월 2022. 2
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제 URI http://www.dcollection.net/handler/sogang/000000066663
- UCI I804:11029-000000066663
- 본문언어 영어
- 저작권 서강대학교 논문은 저작권 보호를 받습니다.
초록 (요약문)
기존 GPU 지원 마이크로 배치 스트리밍 시스템에는 두 가지 근본적인 시스템 문 제가 있다. 첫째, 고정된 시간 간격을 기반으로 하는 정적 버퍼링을 사용하여 마이크로 배치 스트림 처리 모델에서 꼬리 응답시간을 유발한다. 둘째, 시스템은 CPU 또는 GPU 장치만 활용하므로 추가 시스템 성능 최적화 기회들을 놓치게 된다. 본 논문은 앞서 언급한 문제를 해결하고 시스템 성능을 향상시키는 GPU 기반 마이크로 배치 스트림 처리 시스템인 LMStream을 제안한다. LMStream 디자인의 기본 아이디어는 (1) 마이크로 배치 승인 제어를 위한 동적 버퍼링과 (2) 동적 연산자 수준 쿼리 계획이라는 두 가지 새로운 메커니즘으로 요약할 수 있다. LMStream은 동적 버퍼링을 통해 마이크로 배치의 데이터 양을 제어함으로써, 개별 데이터 셋의 지연 시간을 효율적으로 제한하여 꼬리 응답시간을 크게 감소시킨다. 또한 동적 연산자 수준 쿼리 계획을 통해, 데이터 크기와 장치 기본 설정에 따라 쿼리 연산자와 실행 장치를 동적으로 매핑하여 처리량과 대기 시간을 최대한 향상시킨다. 마지막으로 LMStream은 알고리즘에 사용되는 매개변수를 자동으로 최적화하므로, 사용자가 시스템을 사용하기 위해 별도의 변수 설정 과정을 거쳐야 할 필요가 없다. 우리는 마이크로 배치 스트림 처리를 지원하는 Apache Spark Structured Streaming에서 LMStream을 구현하였다. 기존의 GPU 지원 마이크로 배치 스트리밍 시스템과 비교할 때 LMStream의 평균 지연 시간은 평균적으로 29.3% 개선되었고 평균 처리량은 평균적으로 1.34배 개선되었다.
more초록 (요약문)
Traditional GPU-enabled micro-batch streaming systems have two fundamental system problems. First, it uses static buffering based on fixed time intervals, inducing tail latency in the micro-batch stream processing model. Second, it only uses either CPU or GPU device, thus eliminating further system performance optimization opportunities. We propose LMStream, a GPU-enabled micro-batch stream processing system that solves the aforementioned problems and improves system performance. The main ideas behind LMStream’s design can be summarized as two novel mechanisms: (1) dynamic buffering for micro-batch admission control and (2) dynamic operation-level query planning. By controlling the amount of data of micro-batch, LMStream efficiently bound the latency of individual datasets, significantly reducing tail latency. Dynamic mapping between a query operation to an execution device based on the data size and device preference improves both the throughput and latency as much as possible. In addition, LMStream automatically optimizes parameters used in algorithms so that there is no need for users to configure separately to run the system. We implemented LMStream on Apache Spark Structured Streaming, which supports micro-batch stream processing. Compared with the existing GPU-enabled micro-batch streaming system, the average latency of LMStream improved by 29.3% on average, and the average throughput improved by 1.34× on average.
more