230 likes | 332 Views
Planning for Network-Aware Paths. Xiaodong Fu and Vijay Karamcheti Parallel and Distributed Systems Group Department of Computer Science Courant Institute of Mathematical Sciences New York University http://www.cs.nyu.edu/pdsg. Motivation. Goal : Seamless access to network services
E N D
Planning for Network-Aware Paths Xiaodong Fu and Vijay Karamcheti Parallel and Distributed Systems GroupDepartment of Computer ScienceCourant Institute of Mathematical SciencesNew York University http://www.cs.nyu.edu/pdsg
Motivation • Goal: Seamless access to network services • Problem: Heterogeneous and dynamically changing environments • Wide diversity in node and network characteristics • Dynamic load • Conventional abstractions suffer from poor performance Optical Backbone WAN WAN WAN LAN LAN
Possible Solution Approaches • Reserving sufficient resources for communication paths • Protocols such as RSVP, MPLS-TE, … • Making data communication network aware • Network awareness combines two aspects • Recognition of application-specificrequirements • Adaptation to network resource availability
Network-Aware Paths • Several proposals • End-point approaches: Odyssey, Rover, … • Proxy-based approaches: TACC, Ninja, Active Services, … • Path-based approaches: Conductor, Scout, CANS, Active Names, … • Question: How to automatically build network-aware paths? • Given resource availability, performance requirements • To provide optimized performance, and • Work with large-scale networks • This talk focuses on this question
Functionality can handle transcoding, reconnection, protocol conversion, … Context: CANS Composable Adaptive Network Services • A path-based infrastructure for realizing network awareness
CANS Implementation Service1 Service2 Legacy components: Code Repository Planning Custom components:(Java + standard APIs) Event Handling Communication Resource Monitor Java/RMI Infrastructure
Client-sideProxy Server-sideProxy Browser Internet wireless wired R F M D Mobile Client Gateway Edge Server Server U Z Example: Web Access • CANS components • Demux, Mux • Image: Filter, Resizer • Text: Zip, Unzip A sample path
Focus ofour paper Building Network-Aware Paths in CANS • Step 1: Receive request from client application • Step 2: Initial planning to construct a path • Choose route across domains to deploy services and drivers • Similar to routing a request packet • Construct initial path • Can involve multiple administrative domains • Steps 3+: Dynamic reconfiguration to adapt to changes • (Incremental) Modifications to created path
Automatic Creation of Network-Aware Paths Two parts • A scheme for inferring valid paths mechanically • Problems: • How to determine which component can interface with which? • How to model impact of components, network resources along a path? • Solutions: • Type-based modeling • Component resource utilization model • A scheme for finding paths with the best performance • Problem: • How to select among possible valid paths? • Solution: • Dynamic programming-based algorithm • Local and distributed variants
Enc Enc Enc HTML HTML HTML Sec=T Sec=F HTML HTML HTML HTML HTML HTML X HTML Enc Stream Server Encrypt Decrypt Browser Stream Enc HTML (1) Type-Based Modeling • Goal: Model composition properties of components • Type = Name + Attributes + Compatibility Operator • Extensions • Stacked types for modeling aggregate effects of composition • Augmented types for modeling impact of network resources • Type ranks for expressing constraint on composition order
Time x Processingcost per byte = Size of output semantic unit y Size of input semantic unit x x y Bandwidthreduction factor = = (2) Component Resource Utilization Model • Goal: Model resource utilization of a component • Context-sensitive: incoming data, type of node, … • Components viewed as filterson data streams • Allows estimation of CPU, bandwidth use for deployment • Refined component model • Different profile per classof input traffic • Functionality identifies how class of input translates to class of output • E.g., compress component has different behavior based oncharacteristics of input data stream
(3) Path Creation Algorithm Problem: • Input: Application performance reqmts, resource availability • Output: Selected components, mapping to network resources • Path that provides “optimal” performance • General problem is NP-hard Solution for single-input, single-output components: • Restriction: Computation resources allocated in discrete units • A node’s resources correspond to a fixed number of intervals • A component uses up an integral number of such intervals • Permits enumeration of available resource vector • A = (r1,r2, …, rp); ri= available intervals on nodeni
t’ ts t N0 N1 N2 N3 c Sketch of Base Algorithm Dynamic programming solution • Incrementally fills in the table S[ t, A, k ] … • Optimal sequence of length k, which takes tsrc to t using node resources A • … while maximizing or minimizing a performance metric • O(n3m3), n: #types, m: #components S[ t, (1,1,1,1), k ] S[ t, (1,1,1,1), k ] = maxt’( S[ t’, (1,1,1,3/4), k1 ] + (c N3), S[ t’, (1,1,3/4,0), k1 ] + (c N2), …)
Extensions to the Base Algorithm • Planning for value ranges • E.g. best data quality with throughput between 10 to 20 fps • Modify dynamic programming strategy to retain solution that guarantees in-range solution • Need to employ a procedure called complementary planning • Planning for a local segment of an existing path • Based on range planning • Useful for incremental adjustment of communication paths • Distributed implementation across network domains • Each network domain calculate its own path segment • Reduces dependency among different network domains • See paper for additional details
Client-sideProxy Server-sideProxy Browser Internet wireless wired Mobile Client Gateway Edge Server Server Evaluation (1): Web Access Application • CANS components • Demux, Mux • Image: Filter, Resizer • Text: Zip, Unzip • Configurations • PocketPC – 19.2 Kbps – Pentium III – 10 Mbps • PocketPC – 384 Kbps – Pentium III – 10 Mbps • Laptop – 3.84 Mbps – Pentium III – 10 Mbps • Laptop – 3.84 Mbps – Pentium III – 384 Kbps • Laptop – 3.84 Mbps – Pentium Pro – 384 Kbps PocketPC : Pentium Pro : Laptop : Pentium III = 0.1 : 0.25 : 0.5 : 1
wireless wired R R F F A M M M D D D U Z B U Z C U Z Web Access: Automatic Path Creation • PocketPC – 19.2 Kbps – Pentium III – 10 Mbps • PocketPC – 384 Kbps – Pentium III – 10 Mbps • Laptop – 3.84 Mbps – Pentium III – 10 Mbps • Laptop – 3.84 Mbps – Pentium III – 384 Kbps • Laptop – 3.84 Mbps – Pentium Pro – 384 Kbps
A R R F F M M M D D D U Z B U Z C U Z Web Access: Performance Advantages
Internet Server Evaluation (2): Image Streaming Application • Evaluate adaptation responsiveness over a 20 minute run • In response to change in wireless link bandwidth • Starts at 150 KBps • Drops by 10 KBps every 40 seconds till it reaches 10 KBps • Rises according to same schedule • Application preference • 8—15 frames/sec, highest quality • CANS components • Filter, Resizer ImageViewer wireless wired Mobile Client Gateway Edge Server
Summary • Network-aware data paths enable seamless service access • Automatic creation of network-aware paths • Type-based specification of components, network resources • Component resource utilization models • Path creation strategies • Work with different application requirements • Maximal value, or value ranges • Local and distributed variants • Additional information • http://www.cs.nyu.edu/pdsg • http://www.cs.nyu.edu/pdsg/projects/cans • vijayk@cs.nyu.edu