paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SPL

SPL:Streams 处理语言
TOPLAS 39(1)2017匹配度 1/10 · 该论文关注流处理领域特定语言 SPL 的设计、分布式运行时与可扩展性,属于 PL/DSL 和分布式系统方向,但并未涉及静态分析、ML/Agentic 程序、LLM 与程序分析交叉、浮点程序分析或贝叶斯程序分析,因此与用户研究画像几乎无关。引用 17 inbox
Martin Hirzel, Scott Schneider, Buğra Gedik
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:设计并实现兼具分布式执行与可扩展性的流处理语言 SPL,成为 IBM Streams 平台的入口。

大数据分为静态数据与动态数据,后者需要流处理。面向大数据的流分析通常要求分布式系统提供的规模,需在多主机与多核上并行。IBM Streams 是这类分布式流处理系统之一,其早期客户经验表明,可扩展性同样是核心需求:客户希望为流应用构建高性能的领域特定算子。基于分布与可扩展这两大需求,作者设计并实现了 Streams Processing Language(SPL)。本文重点介绍 SPL 的语言设计、分布式运行时与可扩展机制。SPL 现已成为 IBM Streams 平台的入口,被客户用于广泛应用领域的流处理。

问题
大数据流处理需要跨多主机、多核的分布式并行规模,同时客户希望为流应用构建高性能的领域特定算子,因此语言必须同时满足分布与可扩展两大核心需求。
方法
设计并实现 Streams Processing Language(SPL),围绕语言设计、分布式运行时与可扩展机制三方面进行阐述,使用户能够编写可分布执行且可插入自定义算子的流处理程序。
评估
基于 IBM Streams 的早期客户使用经验与工业部署进行说明;SPL 已成为 IBM Streams 平台入口,并在广泛应用领域被客户用于流处理,属于系统与语言设计的经验性评估。
原文摘要(Abstract)

Big data is revolutionizing how all sectors of our economy do business, including telecommunication, transportation, medical, and finance. Big data comes in two flavors: data at rest and data in motion. Processing data in motion is stream processing . Stream processing for big data analytics often requires scale that can only be delivered by a distributed system, exploiting parallelism on many hosts and many cores. One such distributed stream processing system is IBM Streams. Early customer experience with IBM Streams uncovered that another core requirement is extensibility, since customers want to build high-performance domain-specific operators for use in their streaming applications. Based on these two core requirements of distribution and extensibility, we designed and implemented the Streams Processing Language (SPL). This article describes SPL with an emphasis on the language design, distributed runtime, and extensibility mechanism. SPL is now the gateway for the IBM Streams platform, used by our customers for stream processing in a broad range of application domains.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{Hirzel0G17,
  title = {SPL},
  author = {Martin Hirzel and Scott Schneider and Buğra Gedik},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {39},
  number = {1},
  year = {2017},
  doi = {10.1145/3039207}
}