Routing & Architecture Comparison about: DCell , PortLand ,VL2 , BCube , MDCube Point of views: Goals , artecheture , routing algorithm , fault tolerance , broadcast and multicast , evaluation and compare, Goals Comparison about: DCell , PortLand ,VL2 , BCube , MDCube Goals DCell PortLand VL2 Scalable + incremental expansion VM migration Support high huge data centers with uniform high capacity between servers Fault-tolerance Adminstrator not need to configure any switch Performances isolation between services High network capacity Any end host should efficiently communicate with others. Ethernet layer-2 semantic No forwarding loop Failure detection Goals BCube MDCube An architecture model for modular data center (MDC). Solve the scalability problem on BCube with small cost by increasing the diameter and some change of routing algorithm. High performance. For the same number of nodes, cost is significantly lower than BCube. Robust, graceful performance degradation for both switch/server faults Artecheture Comparison about: DCell , PortLand ,VL2 , BCube , MDCube artecheture DCell artecheture PortLand artecheture VL2 DCell PortLand VL2 artecheture artecheture cost high wiring cost (compare the expensive core switch) --- --- diameter 2^(k+1) – 1 6 6 artecheture BCube Recursively define architecture artecheture MDCube Base on the architecture of BCube and some high speed fiber link. Each container is a BCube, and connect them with fiber. Usually one or two dimensions. artecheture MDCube BCube artecheture MDCube artecheture cost Only need cheap switches, but need a lot of switches when the number of nodes is very huge. With the help of fiber, the number of switches is much lower than BCube. If the level of BCube is not high( 2 or 3 ), then the cost will be low even compare to other architecture (FatTree, DCell, etc.) diameter 2* log p n p = number of ports in a switch n = number of nodes n= p^(k+1) k = level of Bcube 4k+3+D(2k+3) k is the level of Bcube D is the level of MDCube. artecheture Diameter Compare Architecture Diameter Balance Tree 2k Fat-Tree 6 DCell 2^(k+1) – 1 BCube K+1 Routing Algorithm Comparison about: DCell , PortLand ,VL2 , BCube , MDCube DCell PortLand VL2 routing algorithm Divide-and-conquer Two nodes src and dst that are in the same DCell(k) but in two different DCell(k-1)s. When computing the path from src to dst in a DCell k, we first calculate the intermediate link (n1; n2) that interconnects the two DCell(k-1)s. Just as TCP Agent add the header PortLand DCell routing algorithm VL2 Divide-and-conquer Two nodes src and dst that are in the same DCell(k) but in two different DCell(k-1)s. When computing the path from src to dst in a DCell k, we first calculate the intermediate link (n1; n2) that interconnects the two DCell(k-1)s. DCell PortLand routing algorithm Just as TCP VL2 DCell PortLand VL2 routing algorithm Agent add the header routing algorithm BCube MDCube Each packet header contains the routing path of the packet, the relay node don’t have to decide the next node. One-to-one: One-to-one: One-to-many: All-to-all: One-to-all: All-to-all: MDCube BCube routing algorithm Each packet header contains the routing path of the packet, the relay node don’t have to decide the next node. One-to-one: For node A = (a0,…,ak), B = (b0,…,bk), we can route A to B by changing one bit of the ID each time. Since the ID of the node is at most k+1, the length of the routing path is at most 2( k+1). There are k+1 parallel path. One-to-many: If node A want to send the data to x nodes, and x <= number of ports p, then we can construct a complete graph on these x+1 (including A) nodes by another x nodes as relays. One-to-all: Can build (k+1) edge disjoint trees, and use them to broadcast All-to-all: Can reach a good Aggregate Bottleneck Throughput (ABT) which is Θ(n) BCube MDCube routing algorithm One-to-one: In the container, the routing algorithm is the same as BCube. When the path cross the container, correct the container ID one-by-one. The hops needed to intermediate the containers are 2D(k+1) + (D+1), D+1 is for the high speed link. This number plus the hop need in the two ends, which is 2*2(k+1), is the maximum hop needed in one routing path. There are k+1 parallel path. All-to-all: Similar to BCube, MDCube has ABT =Θ(n) Fault Tolerance Comparison about: DCell , PortLand ,VL2 , BCube , MDCube fault tolerance DCell Local-reroute and Proxy, Local Link-state, Jump-up for Rack Failure PortLand Multi-rooted tree VL2 Completely bipartite BCube Yes, and has a good result on both switch and server fault. MDCube Good because of BCube. fault tolerance - BCube fault tolerance - BCube Broadcast & Multicast Comparison about: DCell , PortLand ,VL2 , BCube , MDCube broadcast and multicast DCell : a sender delivers the broadcast packet to all its k + 1 neighbors when broadcasting a packet in a DCell(k). PortLand : nothing special VL2 : not mentioned BCube: Both can be reached. Do broadcast by constructing edge disjoint trees. Do multicast by using some relay nodes. MDCube: Similar to BCube. Evalution & Compare Comparison about: DCell , PortLand ,VL2 , BCube , MDCube evalution and compare DCell : 1. The link failure incurs only 1-second throughput degradation, while the node failure incurs a 5second throughput outage that corresponds to our link-state timeout value. 2. The aggregate throughput of DCell was about 2 times faster than Tree. evalution and compare PortLand : Convergence time : 70ms (TCP : 200ms) Scalability : 100ARPs/sec/host 30000 nodes control traffic 400Mbps; Core required : 70 VM migration : throughput drops to zero in 200-600ms, fully recovered after 32s evalution and compare VL2 : Uniform high capacity VLB fairness Performance Isolation Directory-system performance evalution and compare BCube: evalution and compare BCube: evalution and compare MDCube: evalution and compare MDCube: evalution and compare MDCube: