一句话:提出 Gloss,使分布式 SDF 流程序在不停机、零吞吐中断下实时重配置,并可在重配置时全局重优化与完全重编译。
长运行或无限数据流应用,尤其是速率已知的同步数据流(SDF)程序,常需在集群或云上运行,并因硬件维护、弹性伸缩、资源或负载波动而进行实时重配置与重优化。然而在分布式环境中,既要避免停机、保持程序状态,又要重新优化,十分困难。Gloss 提供一套编译器和运行时技术,首次在无状态与有状态 SDF 流程序的重配置中避免零吞吐期;它会在重配置时全局重优化并完全重新编译程序,从而适配此前未遇到的新配置;所有操作原地完成,无需额外硬件资源。多种实验表明,Gloss 能无停机、低开销地重配置和重优化,且适用性广泛。
An important class of applications computes on long-running or infinite streams of data, often with known fixed data rates. The latter is referred to as synchronous data flow ~(SDF) streams. These stream applications need to run on clusters or the cloud due to the high performance requirement. Further, they require live reconfiguration and reoptimization for various reasons such as hardware maintenance, elastic computation, or to respond to fluctuations in resources or application workload. However, reconfiguration and reoptimization without downtime while accurately preserving program state in a distributed environment is difficult. In this paper, we introduce Gloss, a suite of compiler and runtime techniques for live reconfiguration of distributed stream programs. Gloss, for the first time, avoids periods of zero throughput during the reconfiguration of both stateless and stateful SDF based stream programs. Furthermore, unlike other systems, Gloss globally reoptimizes and completely recompiles the program during reconfiguration. This permits it to reoptimize the application for entirely new configurations that it may not have encountered before. All these Gloss operations happen in-situ, requiring no extra hardware resources. We show how Gloss allows stream programs to reconfigure and reoptimize with no downtime and minimal overhead, and demonstrate the wider applicability of it via a variety of experiments.
DOI 原文 ·
@inproceedings{paperbot4279,
title = {Gloss},
author = {Sumanaruban Rajadurai and Jeffrey Bosboom and Weng-Fai Wong and Saman Amarasinghe},
booktitle = {ASPLOS},
year = {2018},
doi = {10.1145/3173162.3173170}
}