Top Banner
Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 200
26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Flexible Network Striping

Asfandyar Qureshi

RQE: 21st August 2006

Page 2: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Medical Emergencies

Due to the EMTs’ lack of medical training, doctors do not believe they can depend on EMTs for much beyond speedy transport.

Emergency» 911 call» Ambulance

arrives» EMTs’ initial

examination» Transport to

hospital» Doctors begin

treatment

Page 3: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

› Remote diagnosis and treatment» Provide advanced remote diagnostics capabilities» Allow doctors to examine patients in-transit

› What we want to send» Unidirectional VIDEO (~600 kbit/sec)» Bidirectional AUDIO (~30 kbit/sec)» Low-rate Physiological data (EKG, Heart-rate, etc)

Mobile Telemedicine

Page 4: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

System Deployment

› Plan to deploy the system in order to conduct multiple medical studies» Initial deployment: Spring ’07

› Project partners» Boston: Massachusetts General Hospital» Orlando: Orange County Florida’s Emergency

Medical Services

› Economic constraints» Limited/progressive deployment must be easy» Initial medical study: two ambulances» Cannot amortize the cost over many

ambulances» Use existing wireless infrastructure

Page 5: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Talk Structure› Motivation

› Wireless Wide Area Networks (WWANs)» Performance overview

› Horde: network striping middleware» Network striping» Horde API» Horde internals

Channel managers and transmission slots

Packet scheduling

Page 6: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

WWAN Performance Overview› CDMA EV-DO interfaces

» US providers: Verizon and Sprint › Low throughput

» Download < 400 kbits/sec» Upload < 150 kbits/sec

› High and variable packet RTTs» 500 ms ± 200 ms

› Realistic WWAN performance data is hard to come by» Lots of hype/disinformation

Page 7: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

WWAN Experiments› We spent some time running WWAN

experiments in Orlando and Boston» Drove around in a car» Simultaneously used multiple interfaces» Measured UDP throughput and RTTs» Used GPS to derive coverage maps» Also logged 802.11 APs

› Not a rigorous analysis» Nonetheless, provided a great deal of

insight into WWAN behaviour

Page 8: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Throughput

VERIZON-1 mean = 109 kbps, stdev = 21 kbps

VERIZON-2 mean = 91 kbps, stdev = 32 kbps

SPRINT mean = 111 kbps, stdev = 36 kbps

AGGREGATE mean = 306 kbps, stdev = 64 kbps

Page 9: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

High and variable RTTsS

tatio

nary

pin

gs (B

osto

n)

Page 10: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

› ‘Stripe’ Application Data across Multiple Network Channels» Simultaneously use many networks» Wireless networks can be dissimilar and

unstable

Network Striping

A

N network channels

M data streams

M data streams

B

Page 11: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Striping: Related Work› Wired networks

» e.g., n-ISDN lines as a virtual T1 line» SIGCOMM ‘96: “A Reliable and Scalable Striping

Protocol”, ADISESHU, PARULKAR, AND VARGHESE.» Mostly concerned with getting TCP to run well.

› Wireless networks» Globecom ’99: “Adaptive Inverse Multiplexing for Wide-

Area Wireless Networks”, SNOEREN.» Mobisys 2004: “MAR: A Commuter Router Infrastructure

for the Mobile Internet”, RODRIGUEZ, CHAKRAVORTY, CHESTERFIELD, PRATT, AND BANERJEE.

› Multi-path video streaming» 2001: “Unbalanced Multiple Description Video

Communication using Path Diversity”, APOSTOLOPOULOS AND WEE.

Page 12: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Challenges› Network

» Network channels can be quite dissimilar» Channel QoS varies significantly in time» Number of channels varies

› Application» Bandwidth limited» Different types of streams with dissimilar

network QoS sensitivities» Want applications to be independent of

the number and types of channels

Page 13: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Our approach: Horde› Network striping middleware

» Exposes striping operation to applications» Apps can abstractly modulate striping policy» Flexible striping mechanism» Per-channel congestion control

› Does not support unmodified legacy applications» Horde is targeted at developers of new mobile

applications» Legacy support is relatively easy to provide…

Virtual TUN interfaces TESLA (Salz et al, Usenix ‘03)

Page 14: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Forward Compatibility› Applications do not have a short shelf-life

» Depend on Horde’s abstract API

› The modular design of the middleware, allows our applications to be forward compatible» Networks are likely to evolve.

Sprint moving to WiMax Verizon moving to EV-DO rev A

» Our middleware is designed to simultaneously handle many different types of networks and its functionality can be extended easily.

Page 15: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

› Each host runs a local Horde daemon» Exposes a RPC-like interface to applications

› Before any data is sent, peering applications must negotiate a named session.» Multiple sessions (unique names) are allowed

Horde API: Sessions

Host A

HordeBHordeA

ApplicationA ApplicationB

“Tavarua” “Tavarua”

Host B

N network channels

Page 16: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

› Within a session, one or more streams can be negotiated.» Streams are (relaxed) bi-directional FIFOs of

Application Data Units (ADUs). Maximum reordering (maximum number of channels)

» ADUs can be fragmented, partially lost, etc.

Horde API: Streams & ADUs

Host A

HordeBHordeA

ApplicationA ApplicationB

“Tavarua” “Tavarua”“video”

“audio”

“data”

Host B

Page 17: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

API: Data Send Timeline› Host A: send data

» App requests that Horde send an ADU» Data is scheduled (ADU fragments → packets)

One or more ADU fragments per packet

› Host B: receive data» Data is unpacked (packets → ADU fragments)» App notified about received fragments» ACKs sent for received packets

› Host A: receive ACKs» ACKs mapped to ADU fragment info» Losses detected from ACK stream» App notified about ACK’d or Lost ADU fragments

Page 18: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Horde API: QoS Objectives› ADUs can be ‘tagged’ with Quality-of-service

objectives» Tags are hints to packet scheduler» An abstract way to modulate the packet

scheduling policy

› Example tags:» ADU priority» Correlation group

Minimize the joint loss probability P(X lost ∧ Y lost), if the two ADUs X and Y are in the same correlation group.

Elements in the same correlation group are less likely to experience correlated failures.

E.g., President and Vice president would have the same group.

Page 19: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Horde Internals

APPLICATION

API

Network Channel Management

Packet Scheduler (iMux)

IPC

Applications

Horde Daemon

ADUs

Packets

O/S NETWORK SERVICES

Session

MUXctrl

Scheduler and network layer can have per-session configurations. Multiple implementations of these.

Page 20: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Channel Managers

O/S NETWORK SERVICES

Packet Scheduler

› A single channel manager instance for each active network interface» Pool manager creates and destroys the Mi

» The Mi implement congestion control» Multiple implementations of the channel manager

interface Pool manager chooses one based on per-interface settings

M1 M2 MN

Network Management

Layer

Page 21: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Channel Managers› Primary services provided by MX

» Throttle packet sends on interface X.» Generate ACK and LOSS notifications for

packets sent on X.

› Each MX runs a congestion control session» Congestion control logic belongs below the

striping layer Multiple independent congestion domains, need

multiple independent sessions.

» Channel-specific optimizations possible Pick congestion control algorithm based on the

channel type (e.g., 802.11, EV-DO, WiMax) Implementations: AIMD, CBR, AIMD_EVDO, DCCP*, …

Page 22: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Transmission Slots› TxSlot objects are the interface between

the scheduler and the network layer» For the scheduler, each channel manager is a

source of TxSlots.» Each TxSlot provides a packet TX capability.» When a slot becomes available, the scheduler

maps data to that slot.

› A TxSlot provides expected QoS for that TX» E.g., expected RTT and expected loss probability.» The scheduler can use the expected QoS fields to

determine the best data for that slot.

Page 23: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

TxSlot Life Cycle

Managerk

Packet Scheduler

Ti

DiTi

generate_tx_slot(…)TxSlot allocation

consume_tx_slot(…)TxSlot deallocation

schedule_tx_slot(…)TxSlot→Data mapping

Packet

ADUADU

ADU

One or more ADU fragments packed together

Page 24: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Hoard Scheduler

» schedule_tx_slot(slot): streams = set of streams with unsent data while (slot not full) and (streams not empty): stream = highest priority from streams adu = ADU at the head of stream f = largest fragment that will fit in slot if test_constraints(slot, f) is okay:

read f from adu into slot if (no more unsent data in adu): pop adu from stream if (stream empty): remove from streams if (slot has data): consume_tx_slot(slot)

Page 25: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Currently Supported Objectives› Optimization

» Static ADU priority› Constraints

» Stream FIFO ordering» ADU loss probability threshold» ADU latency threshold» Stream latency variance threshold» ADU correlation groups

› Other» Resilient ADU sends

Page 26: Flexible Network Striping Asfandyar Qureshi RQE: 21 st August 2006.

Conclusion› Mobile telemedicine deployment

» Horde is a big part of a system that is being deployed soon.

» Will allow doctors to try things they wouldn’t have been able to try for another 5-10 years.

› Support the development of demanding mobile applications» Transparently exploit all available wireless

resources.› Powerful abstractions (internal and API)

» Objectives, transmission slots, etc.» Allowed us to modularly experiment with

different congestion control schemes and scheduling strategies.