CSE 599c Hot Topics in Data Management Systems

Lecture 8: Distributed Stream Processing

Managing load and resource utilization

Magdalena Balazinska

Winter 2006

Today's Paper

P. Pietzuch, J. Ledlie, J. Shneidman, M. Roussopoulos, M. Welsh, and M. Seltzer. Network-Aware Operator Placement for Stream-Processing Systems. ICDE 2006.

Outline

Distributed stream processing

benefits and challenges

Network-aware operator placement

paper discussion (Pietzuch et. al.)

Preview of fault-tolerance

Potential Benefits of Distribution

Performance

Scalability: scale the system incrementally

Fault-tolerance and availability

Applications are naturally distributed

[From Pietzuch et. al. 2006]

Placement Problem

Goal of Placement Algorithm

From client's perspective

Maximize performance by minimizing latency

From network perspective

Minimize resource utilization

Approach: minimize query network usage

u(q) =  l L DR(l) Lat(l)

l is overlay link, DR(l) is data rate, Lat(l) is latency

Bw-delay product of query -> nb in-flight tuples

[From Pietzuch et. al. 2006]

Basic Idea: Spring Relaxation

Cost Space

Project problem into virtual cost space

d-dimensional metric space

3 latency dimensions and 1 load dimension

Euclidean distance estimates cost of routing

Each node maintains its own coordinates

probes other overlay nodes

coordinates indicate only estimates of latency

ex: Vivaldi has median error of 14% [Cox03]

Algorithm to Place New Operator

Virtual operator placement

Place operator in random virtual location

Update location iteratively until it converges

Physical operator mapping

Find k nodes near target virtual location

Request list of operators and available resources

Select first node that already runs the operator

Or select first node that meets resource criteria

2-Phase Optimizer

Phase 1: Full Placement Optimizer

Compute location for all operators in query plan

Phase 2: Local Placement Optimizer

Coordinates change with conditions

Dynamically update placement of local operators

Migrate when savings greater than threshold

Initial Placement Performance

[From Pietzuch et. al. 2006]

No Dynamic Optimization

[From Pietzuch et. al. 2006]

Benefits of Dynamic Optimization

[From Pietzuch et. al. 2006]

Conclusion

Distribution has potential benefits

Operator placement affects

Resource utilization and query performance

Need a decentralized and dynamic algorithm

Spring relaxation over virtual cost space

Produces good placements

Does not produce optimal placements

2006-01-01T23:16:26