SPL: an extensible language for distributed stream processing

Date
2017
Authors
Hirzel M.
Schneider S.
Gedik, B.
Editor(s)
Advisor
Supervisor
Co-Advisor
Co-Supervisor
Instructor
Source Title
ACM Transactions on Programming Languages and Systems
Print ISSN
0164-0925
Electronic ISSN
Publisher
Association for Computing Machinery
Volume
39
Issue
1
Pages
Language
English
Journal Title
Journal ISSN
Volume Title
Series
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. © 2017 ACM.

Course
Other identifiers
Book Title
Citation
Published Version (Please cite this version)