一句话:提出 DON 演算,首个在线数据处理的形式基础,以操作流统一增量处理与时间局部性优化,并机械化证明可观察等价。
在线数据处理系统持续接收请求并返回结果,其优化(尤其面对结构化动态数据)复杂且缺乏严格基础。论文提出 DON Calculus,形式化后端数据处理引擎与前端应用的行为,聚焦对在线系统关键且独特的两个维度:增量操作处理(IOP)与时间局部性优化(TLO)。核心洞见是将持续施加于数据的操作抽象为流经数据结构的操作流,从而在单一演算中统一多样设计。作者建立机械化元理论,证明尽管 IOP/TLO 引入显著非确定性执行,DON 演算的可观察结果与传统无 IOP/TLO 的数据处理一致。评估主要通过机械化证明完成。
Data processing systems are a fundamental component of the modern computing stack. These systems are routinely deployed online: they continuously receive the requests of data processing operations, and continuously return the results to end users or client applications. Online data processing systems have unique features beyond conventional data processing, and the optimizations designed for them are complex, especially when data themselves are structured and dynamic. This paper describes DON Calculus, the first rigorous foundation for online data processing. It captures the essential behavior of both the backend data processing engine and the frontend application, with the focus on two design dimensions essential yet unique to online data processing systems: incremental operation processing (IOP) and temporal locality optimization (TLO). A novel design insight is that the operations continuously applied to the data can be defined as an operation stream flowing through the data structure, and this abstraction unifies diverse designs of IOP and TLO in one calculus. DON Calculus is endowed with a mechanized metatheory centering around a key observable equivalence property: despite the significant non-deterministic executions introduced by IOP and TLO, the observable result of DON Calculus data processing is identical to that of conventional data processing without IOP and TLO. Broadly, DON Calculus is a novel instance in the active pursuit of providing rigorous guarantees to the software system stack. The specification and mechanization of DON Calculus provide a sound base for the designers of future data processing systems to build upon, helping them embrace rigorous semantic engineering without the need of developing from scratch.
@article{paperbot1450,
title = {The essence of online data processing},
author = {Philip Dexter and Yu David Liu and Kenneth Chiu},
journal = {Proceedings of the ACM on Programming Languages},
volume = {6},
number = {OOPSLA2},
year = {2022},
doi = {10.1145/3563320}
}