2013/2/1 ゼミ発表 資料
DESCRIPTION
サーバ セントリック ネットワーク アーキテクチャ "BCube" とは何か?TRANSCRIPT
2013/2/1 Seminar Keiichi Maeda
Bcube: A High Performance, Server-centric Network Architecture for Modular Data Centers
• The Paper published in ACM SIGCOMM ’09 by Microso> Research Asia. • Designed for shipping-‐container based modular data centers. • Server-‐centric Network Architecture
• Server act as • End hosts • Relay nodes for each other
• Use Low-‐end commodity switches
• Layer structure • Graceful performance degradaNon as servers or switches fail.
Bcube structure
000 001 002 010 011 012 020 021 022 100 101 102 110 111 112 120 121 122 200 201 202 210 211 212 220 221 222
Level 0
Level 1
Level 2
Switch
Server
Bcube Address (baddr)
• Every server connect directly every level switch. • Bcube use Bbube address (baddr) to denote a server.
• Use digit array. (Example: 120) • Array length is layer number. • Every digit mean port number index of each level switch.
• Two servers are neighbors if they connect to the same switch. • The Hamming distance of two neighboring servers is one.
• 202 and 222 are neighbors.
Single-path Routing /* A=akak−1 ·∙·∙·∙a0 and B=bkbk−1 ·∙·∙·∙b0; A[i] = ai; B[i] = bi; Π = [πk,πk−1,·∙·∙·∙ ,π0] is a permutaNon of [k,k − 1,·∙·∙·∙ ,1,0] */ BCubeRouNng(A, B, Π): path(A, B) = {A, }; I_Node = A; for(i = k;i ≥ 0;i−−) if (A[πi] ̸= B[πi]) I_Node[πi] = B[πi]; append I Node to path(A,B); return path(A, B)
BCubeRou(ng to find a path from A to B. The algorithm corrects one digit at one step. The digit correc(ng order is decided by the predefined permuta(on Π.
Path from 000 to 222 000→200→220→222
000 001 002 010 011 012 020 021 022 100 101 102 110 111 112 120 121 122 200 201 202 210 211 212 220 221 222
Level 0
Level 1
Level 2
Switch
Server
• MulN-‐paths • There are k(=Max Level) +1 parallel paths between any two servers in Bcube.
• h(A,B) paths are the first categories. • k + 1 – h(A,B) are the second categories.
• Bcube Source RouNng (BSR) • use Source RouNng.
Implementation
• We have prototyped the BCube architecture by designing and implemenNng a BCube protocol stack. We have implemented the stack as a kernel driver in the Windows Servers 2003 and 2008.
• The BCube stack locates between the TCP/IP protocol driver and the Ethernet NDIS (Network Driver Interface SpecificaNon) driver.
• TCP/IP applicaNons are compaNble with Bcube. • Each packet includes a BCube header between the Ethernet header and IP header.