Network-Aware Operator Placement for Stream-Processing Systems
Peter Pietzuch, Jonathan Ledlie, Jeffrey Shneidman, Mema Roussopoulos, Matt Welsh, Margo Seltzer
To use their pool of resources efficiently, distributed
stream-processing systems push query operators to nodes
within the network. Currently, these operators, ranging
from simple filters to custom business logic, are placed manually
at intermediate nodes along the transmission path to meet
application-specific performance goals. Determining placement
locations is challenging because network and node conditions change
over time and because streams may interact with each other, opening
venues for reuse and repositioning of operators.
This paper describes a stream-based overlay network (SBON), a layer between a stream-processing system and the physical network that manages operator placement for stream-processing systems. Our design is based on a cost space, an abstract representation of the network and on-going streams, which permits decentralized, large-scale multi-query optimization decisions. We present an evaluation of the SBON approach through simulation, experiments on PlanetLab, and an integration with Borealis, an existing stream-processing engine. Our results show that an SBON consistently improves network utilization, provides low stream latency, and enables dynamic optimization at low engineering cost.