• Publications
  • Influence
Elastic Scaling for Data Stream Processing
We propose an elastic auto-parallelization solution that can dynamically adjust the number of channels used to achieve high throughput without unnecessarily wasting resources. Expand
A catalog of stream processing optimizations
This article presents a survey of optimizations for stream processing. Expand
General Incremental Sliding-Window Aggregation
This paper presents Reactive Aggregator (RA), a new framework for incremental sliding-window aggregation. Expand
Scalable locality-conscious multithreaded memory allocation
We present Streamflow, a new multithreaded memory manager designed for low overhead, high-performance memory allocation while transparently favoring locality, all using a unified design based on segregated heaps. Expand
IBM Streams Processing Language: Analyzing Big Data in motion
The IBM Streams Processing Language (SPL) is the programming language for IBM InfoSphere® Streams, a platform for analyzing Big Data in motion. Expand
SPL: An Extensible Language for Distributed Stream Processing
We designed and implemented the Streams Processing Language (SPL) with an emphasis on distribution and extensibility. Expand
Elastic scaling of data parallel operators in stream processing
We describe an approach to elastically scale the performance of a data analytics operator that is part of a streaming application in response to changes in incoming workload and availability of processing cycles. Expand
Constant-Time Sliding Window Aggregation
Sliding-window aggregation is a widely-used approach for extracting insights from the most recent portion of a data stream. Most aggregation operations of interest can be cast as binary operatorsExpand
Low-Latency Sliding-Window Aggregation in Worst-Case Constant Time
We introduce the De-Amortized Banker’s Aggregator (DABA), a novel general-purpose sliding-window aggregation algorithm that guarantees low-latency response on every operation—in the worst case, not just on average. Expand
Programming Multiprocessors with Explicitly Managed Memory Hierarchies
A study of two applications programmed using three models of varying complexity reveals that implicit management of locality can produce code with performance comparable to code generated from explicit Management of locality. Expand