30
MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

  • View
    221

  • Download
    2

Embed Size (px)

Citation preview

Page 1: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

MediaNet: User-defined Adaptive Scheduling for

Streaming Data

Michael Hicks

Adithya NagarajanUniversity of Maryland

Robbert van RenesseCornell University

Page 2: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Motivation

• Multi-user streaming data applications– Sources

• Sensor reports• Movies• Live video or audio• Weather reports• Stock quotes

• Support Quality of Service (QoS)– Application-specific metrics– Fair and efficient sharing of resources

– Situations• Military• Disaster• Home network

Page 3: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

MediaNet

• Adaptive– Schedules flows using available resources– Adapts to loads not under its control

• User-directed– Adaptations are directed by users, based on

relative preferences and user priority

• Comprehensive– Global view of the network, accounting for

overall network utilization, and per-user utility

Page 4: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

MediaNet Architecture

Video description,location, &

resource info

User’s desiredstream &

adaptation prefs

Globalscheduling

service

publish

subscribe

Video source

Video player

schedules

feedback

Page 5: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

• Continuous Media Network (CMN)– Directed acyclic graph of operations

• frame droppers, transcoders, compressors and decompressors, filters, aggregators, etc.

• User specification– One or more CMN’s, each with associated

utility value

• Goal: Maximize users’ utility while utilizing the network efficiently

Streaming Computations

Page 6: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Operations

Op

frmn

IntervalFrame sizeOther attributes• Fixed location?• Transitions only?

frm1

Page 7: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Example User Specification

1.0

0.3

0.1

Utility CMN

Vid

Prio*Vid

Vid Prio*DropPB

Prio* User

DropB

Prio* User

Prio* UserpcS

pcS

pcS

pcD

pcD

pcD

Page 8: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Global Scheduling Service

• Schedules each user specification on the actual network– Locates each operation on a node– Inserts send and receive operations between

nodes; can have varying transport attributes

• Scheduling choices based on current network resources (i.e. operates on-line)

Page 9: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Global Scheduling Algorithm

• Simulated annealing technique– Cost function for network configurations– Maximize minimum utility for all users, plus

• Optimize individual user utilities above minimum• Use best-cost configuration at these utilities

• Cost function– Relates resource cost of a configuration to the

total resources available (CPU, bandwidth)

Page 10: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Creating Configurations

• Gather all user specs at utility u, combine them, and partition into distinct trees

• For each tree– Calculate network “shortest” paths

• Actually, most bandwidth-plentiful paths

– Find “best” placement of operations to nodes

Page 11: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Example: Creating Config

pc1 pc5

Vid1 Prio*

pc1 pc7

Vid1 Prio*

pc1 pc8

pc2 pc4

Vid2 Prio*

pc2 pc8

5 user specifications, utility 1.0

User2

User4

Vid1 Prio* User1

User3

User5

Vid2 Prio*

Page 12: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Example: Creating Config

Vid1 Prio* User1

pc1 pc5

User3

pc7

User5

pc8

Vid2 Prio* User2

pc2 pc4

User4

pc8

Combining the specs

Page 13: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Example: Scheduling

pc1

pc2

pc3

pc5

pc6

pc4

pc7

pc8

300

300 150

300

300

300

300

150

1. Initial network conditions

Page 14: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Example: Scheduling

pc1

pc2

pc3

pc5

pc6

pc4

pc7

pc8

300

300 150

300

300

300

300

150

2. Scheduling the 1st tree

v1 u1 u3

u5

p* p*

Page 15: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Example: Scheduling

pc1

pc2

pc3

pc5

pc6

pc4

pc7

pc8

150

300 150

150

300

150

150

0

3. Adjusting edge weights

v1 u1 u3

u5

p* p*

Page 16: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Example: Scheduling

pc1

pc2

pc3

pc5

pc6

pc4

pc7

pc8

150

300 150

150

300

150

150

0

4. Scheduling the 2nd tree

v1 u1 u3

p*

p*

p*

u2v2

u4

u5

Page 17: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Prototype Implementation

• Global scheduling service– implemented on a single node– eventually hierarchical

• Local, per-node schedulers– monitor and report available bandwidth;

eventually CPU + memory usage– implement local CMNs

• Global scheduler reconfigures schedules on-line

Page 18: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Local Scheduling

• Implement the CMN given by the GS– Must correctly reconfigure on-line

• Report monitoring info back to GS• Implemented in Cyclone

– Type-safe, C-like language– One component per operation, dynamically

reconfigurable

• Current uses TCP for send/receive– Other transports possible/useful

Page 19: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Monitoring

• Monitor available bandwidth– Keep track of TCP throughput, attempted vs.

actual bandwidth

• Report to global scheduler when – attempted ≠ actual bandwidth (i.e. at peak)– after a regular timeout

• Too pessimistic– “creep” bandwidth estimate additively to

optimistically attempt higher utility configs

Page 20: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

On-line Reconfiguration

• New configuration is applied in parallel with the current configuration– Old operations are “flushed” along the

dataflow path– New operations are enabled when all old ones

are flushed on a particular node

• Challenges– Rapid reconfiguration– Low disruption to stream

Page 21: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Experiments• Conducted on 8 850 MHz PIII’s, 512 MB RAM, 100 Mb/s Ethernet,

RedHat Linux 7.1 using a “bowtie” topology:

MPEG clip Bandwidth Requirements

Frame rate I+P+B I+P I+B

30 fps 144 KB/s 88 KB/s 28 KB/s

Page 22: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Single-flow Performance Comparison

No adaptation Priority-based frame dropping

Local, proactive frame dropping MediaNet

Page 23: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Multi-User Performance

Page 24: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Multi-User Performance

Page 25: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Multi-User Performance

B frame dropping op

Page 26: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Multi-User Performance

B frame dropping op

Page 27: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Related Work

• Layered Multicast

• In-network stream processors– MEGA, Active Nets

• Flow planning systems– Ninja, Darwin, CANS, End-to-End Paths,

Conductor, PATHS, Choi et al.

• Reservation-based QoS– OMEGA

Page 28: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Future Work

• Hierarchy of global schedulers– Better scalability

• Scaling user utilities– Based on user priority and resource usage– Enforces fairness

• Better on-line monitoring• More experiments

– Real wireless– Simulation for larger scenarios

Page 29: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Conclusions

• Application-specific QoS via user specs• High network utilization and per-user utility

via global scheduling:– Share resources between flows in a multicast-

like manner, but generalized to CMNs– Utilize multiple, redundant paths– Intelligently place operations to reduce

network utilization

• Adapts to resource availabilities on-line

Page 30: MediaNet: User-defined Adaptive Scheduling for Streaming Data Michael Hicks Adithya Nagarajan University of Maryland Robbert van Renesse Cornell University

Papers, Software at

http://www.cs.umd.edu/projects/medianet

For More Information