410 likes | 425 Views
This paper discusses a management station architecture for pattern-based management, using echo patterns for decentralized control in large networks. It explores the properties and advantages of this approach and provides examples of echo-based management operations.
E N D
Scalable Management for Networks and Services Rolf Stadler Laboratory for Communication NetworksKTH Royal Institute of Technology Stockholm HP Laboratories, Palo Alto, March 31, 2003
Management station A A A A A A node Manager-Agent based management The Shift of a Management Paradigm Management Program Management station P Manager P M download & execute Agent results P node • Centralized Control • Management protocols: SNMP, CMIP • Program runs on Management Station • Decentralized Control • Program runs on network nodes
Management station Architecture for Pattern-based Management Management Program navigation Code Server Execution Environment Router
Management Station WAN A WAN B WAN C WAN D Router A Router B Router C Router D FastEthernet Switch Weaver—A Testbed for pattern-based Management
Echo Pattern (expansion) droot=1
Echo Pattern (expansion) droot=2
Echo Pattern (expansion) droot=3
Echo Pattern (expansion) droot=4
Echo Pattern droot=5
Echo Pattern (contraction) droot=4
Echo Pattern (contraction) droot=3
Echo Pattern (contraction) droot=2
Echo Pattern (contraction) droot=1
The Echo Pattern • Two phases of traversal • expansion phase: explorers flood network with requests for local operations • contraction phase: echoes return and aggregate results • Properties • Generates balanced traffic load • Traffic load depends on network topology, not on speed of traversal • Time complexity increases linearly with network diameter.
Examples of Echo-based Management • Get information on topology • compute the current number of leaf nodes, the connectivity distribution • discover current topology within 10 hops of node x • Get information on network state • identify 10 most congested links • compute distribution of link utilization, queue lengths • identify sub topologies with highly loaded links • find a resource R closest to node x
Pattern-based Management—An Engineering Approach to Decentralized Management • A management program consists of • A navigation pattern (distr. graph traversal algorithm) • An operation on nodes • An aggregation function • Relevance of this approach • Provides a basis to analyze management operation for performance, scalability, robustness • Supports concept of re-usable patterns, hides complexity
Res. Disc. Conn. Hist. Leaf Count Load. Hist. Skip Segall Chang Wait Scope Multi SNMP HTTP XML CLI Composing Management Programs Echo Aggregators Echo Patterns Navigation Patterns Aggregators Management Program Local Operations Node Access
Simple Echo Robust Echo Others Res. Disc. Leaf Count Load. Hist. Conn. Hist. Echo Patterns Navigation Patterns Skip Segall Multi Scope Chang Wait SNMP HTTP XML CLI Properties of Patterns Echo Aggregators Aggregators • A pattern can be used for many management operations. • A pattern can be chosen according to performance objectives. • A pattern hides the complexity of a distributed operation. • Network failures can be handled within patterns. • Code mobility can be controlled. Management Program Node Access
… av_load := load(); n:=1; … … av_loadi := av_load; … … av_load := (av_load*n + av_loadj)/(n+1); n:=n+1; … The Interface between Pattern and Aggregator OnAggregate visitedi : boolean init false; Gi : set of integers init neighbors(); parenti : integer init -1; Echo(inmsg: bytes, from: integer) { Gi := Gi - from; if visitedi = false { parenti := from; visitedi := true; OnInitiate(inmsg, outmsg); if Gi != empty dispatch(parenti, outmsg, i); } else OnAggregate(inmsg); if Gi = empty { OnComplete(outmsg); if parenti >= 0 dispatch(parenti, outmsg, i); else OnTerminate(inmsg); } } OnComplete OnInitiate OnBegin OnTerminate
Centralized Management Distributed Management Analyzing Management Operations Network Graph G=(V,E) Execution Graphs G’=(V’,E’) Star Pattern Echo Pattern
Traffic Complexity of Management Operations Amount of traffic placed on the network during execution.
Time Complexity of Management Operations Time needed from invocation until completion of a operation.
Performing Echo-based Operations on the Entire Internet • Purpose is illustrating the scalability of echo-based operations. • What we needed: • Complexity analysis of pattern • Estimation of Internet topological properties • diameter • connectivity distribution • number of nodes
Estimated Performance of Echo-based Operation on the Internet Assumptions: Process-level transmission time: 5ms Network delay per hop: 4ms Message size: 1KB Local operation: 500ms per execution Diameter of Internet: 34 hops
Management Station results Source code, Active node management Active Node Manager Source Code SourceRepository Management commands Node State C++ Compiler Preprocessor Binaries Repository Execution Environment Transport Access Point Source, State Source, State Management Operation Results Source, State Events Local Program States Device Manager Active Node Engine SNMP gets/traps SNMP sets Weaver Active Node Router
start Execution (T1) Serialization (T2) Dispatch (T3) TC1 Receiving (T4) Loading (T5) or Instantiation (T6) Time De-serialization (T7) Execution (T1) Serialization (T2) Dispatch (T3) TC2 Receiving (T4) Resolving (T8) De-serialization (T7) Execution (T1) end Node A Node B Suboperations in Weaver
Duration in ms Performed by Module Execution (T1) 1.57 (σ = 0.48) Execution Environment Serialization (T2) 3.46 (σ = 0.71) Execution Environment Dispatch (T3) 1.67 (σ = 0.49) Transport Access Point Receiving (T4) 0.62 (σ = 0.30) Transport Access Point Loading (T5) 23.42 (σ = 0.70) Execution Environment Instantiation (T6) 0.77 (σ = 0.015) Execution Environment De-serialization (T7) 2.04 (σ = 0.49) Execution Environment Resolving (T8) 0.15 (σ = 0.001) Execution Environment Communications Delay (TC) 4.04 (σ = 0.10) --- Measuring Execution Times on Weaver
Estimating Execution Times of Echo-based Operations on Weaver
Designing Robust Patterns Wait Echo SkipEcho(inmsg: bytes from: integer) { if visitedi = false { parenti := from; visitedi := true; OnInitiate(inmsg, outmsg, i); Gi = up_neighbors() - from; if Gi != empty dispatch(parenti, outmsg, i); } else { Gi = Gi - from; OnAggregate(inmsg); } if completei != true and Gi = empty { OnComplete(outmsg); completedi := true; if parenti >= 0 dispatch(parenti, outmsg, i); else OnTerminate(inmsg); } } alarm(type: {failure, recovery}, affected: integer){ if visitedi= true { if type == failure { Gi = Gi - affected Bi = Bi + affected if completei != true and Gi = empty { completei := true; OnComplete(outmsg); if parenti >= 0 dispatch(parenti, outmsg, i) else OnTerminate(inmsg); } } else { if affected is in Bi { Bi = Bi - affected Gi = Gi + affected } } } } Plain Echo Echo(inmsg: bytes, from: integer) { Gi := Gi - from; if visitedi = false { parenti := from; visitedi := true; OnInitiate(inmsg, outmsg); if Gi != empty dispatch(parenti, outmsg, i); } else OnAggregate(inmsg); if Gi = empty { OnComplete(outmsg); if parenti >= 0 dispatch(parenti, outmsg, i); else OnTerminate(inmsg); } } Skip Echo SkipEcho(inmsg: bytes from: integer) { if visitedi = false { parenti := from; visitedi := true; OnInitiate(inmsg, outmsg, i); Gi = up_neighbors() - from; if Gi != empty dispatch(parenti, outmsg, i); } else { Gi = Gi - from; OnAggregate(inmsg); } if completei != true and Gi = empty { OnComplete(outmsg); completedi := true; if parenti >= 0 dispatch(parenti, outmsg, i); else OnTerminate(inmsg); } } alarm(type: {failure, recovery}, affected: integer){ if visitedi = true { if type = failure { Gi := Gi - affected if completei != true and Gi = empty { completei := true; OnComplete(outmsg); if parenti >= 0 dispatch(parenti, outmsg, i); else OnTerminate(inmsg); } } } }
MTTF = 3.6 hrs MTTF = 7.3 hrs MTTF = 11.0 hrs MTTF = 14.7 hrs MTTF = 29.4 hrs MTTF = 73.6 hrs Network Coverage vs. Execution Timefor Skip Echo MTTR inf MTTR=11 min MTTR 0 MTTR=1 min
Current and Planned Work • Self-organizing, adaptable Networks and Systems:Patterns for routing and dynamic construction of network control structures. (Constantin Adam) • WQL: A table-based Network Query Language on Weaver. (Koon-Seng Lim) • Policy-based Management: Patterns for distribution and dynamic re-computation of policies.(Alberto Gonzalez)
Literature on this Work • K.S. Lim, R. Stadler: “Weaver—Realizing a scalable management paradigm on commodity routers,” Eighth IFIP/IEEE International Symposium on Integrated Network Management (IM 2003), Colorado Springs, Colorado, USA, March 24-28, 2003. • K.S. Lim and R. Stadler: "Developing pattern-based management programs," IFIP/IEEE International Conference on Management of Multimedia Networks and Services (MMNS 2001), Chicago, IL, October 29 - November 1, 2001. • K.S. Lim and R. Stadler: "A navigation pattern for scalable Internet management,"IFIP/IEEE International Symposium on Integrated Network Management (IM 2001), Seattle,Washington, 14-18 May, 2001. • R. Kawamura and R. Stadler: "A middleware architecture for active distributed management of IP networks, "IEEE/IFIP Network Operations and Management Symposium (NOMS 2000), Honolulu, Hawaii, April 10-14, 2000.