230 likes | 342 Views
This document explores the design and implementation of network-aware paths to facilitate seamless access to network services in heterogeneous, dynamically changing environments. It addresses the challenges posed by the diverse characteristics of nodes and networks, proposing solutions like resource reservation and dynamic path adaptation. The paper focuses on the integration of application-specific requirements with network resource availability to ensure optimized performance. With a thorough examination of path creation algorithms and the modeling of resource utilization, it highlights the potential for efficient communication pathways.
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