routing & architecture comparison about: dcell, portland, vl2, bcube, mdcube point of views:...
TRANSCRIPT
Routing & Architecture
Comparison about:DCell , PortLand , VL2 , BCube , MDCube
Point of views:Goals , artecheture ,routing algorithm , fault tolerance ,broadcast and multicast ,evaluation and compare,
GoalsComparison 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 Adminstratornot 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
GoalsBCube 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
ArtechetureComparison about:DCell , PortLand , VL2 , BCube , MDCube
artechetureDCell
artecheturePortLand
artechetureVL2
artecheture
DCell PortLand VL2
artecheture
cost high wiring cost(compare the expensive core switch)
--- ---
diameter 2^(k+1) – 1 6 6
artechetureBCube
Recursively define architecture
artechetureMDCube
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.
artechetureMDCube
artechetureBCube 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 switchn = number of nodesn= p^(k+1)k = level of Bcube
4k+3+D(2k+3)k is the level of BcubeD is the level of MDCube.
artechetureDiameter 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
routing algorithmDCell PortLand 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.
Just as TCP Agent add the header
routing algorithmDCell PortLand 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.
routing algorithmDCell PortLan
d
VL2
Just as TCP
routing algorithmDCell PortLand VL2
Agent add the header
routing algorithmBCube 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:
routing algorithmBCube 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: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)
routing algorithmBCube MDCubeOne-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 ToleranceComparison about:DCell , PortLand , VL2 , BCube , MDCube
fault toleranceDCell 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 multicastDCell : 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 & CompareComparison about:DCell , PortLand , VL2 , BCube , MDCube
evalution and compareDCell :
1. The link failure incurs only 1-second throughput degradation, while the node failure incurs a 5-second 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 comparePortLand :
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 compareVL2 :
Uniform high capacityVLB fairnessPerformance IsolationDirectory-system performance
evalution and compareBCube:
evalution and compareBCube:
evalution and compareMDCube:
evalution and compareMDCube:
evalution and compareMDCube: