本發(fā)明總體上涉及數(shù)據(jù)通信網(wǎng)絡(luò),更具體地涉及用于評估胖樹(fat-tree,ft)網(wǎng)絡(luò)中的可用帶寬的方法和系統(tǒng)。
背景技術(shù):
1、胖樹(ft)是一種廣泛用于數(shù)據(jù)中心和其他數(shù)據(jù)通信網(wǎng)絡(luò)的網(wǎng)絡(luò)拓撲。ft拓撲由leiserson在1985年10月的ieee計算機學(xué)報,c-34卷,第10期,“胖樹:用于硬件高效的超級計算的通用網(wǎng)絡(luò)(fat-trees:universal?networks?for?hardware-efficientsupercomputing)”中首次描述。
2、ohring等人在1995年4月于加利福尼亞州圣巴巴拉舉行的第九屆國際并行處理研討會論文集“關(guān)于廣義胖樹”中描述了ft拓撲的廣義形式。zahavi等人在2014年8月于加利福尼亞州山景城ieee第22屆高性能互連年度研討會論文集“hpc云的準胖樹及其容錯封閉式路由(quasi?fat?trees?for?hpc?clouds?and?their?fault-resilient?closed-formrouting)”中描述了另一類ft拓撲,稱為準胖樹(qft)。
技術(shù)實現(xiàn)思路
1、本文所描述的本發(fā)明的一個實施例提供了一種用于帶寬估計的系統(tǒng),其包括接口和處理器。該接口用于與胖樹(ft)網(wǎng)絡(luò)進行通信,該ft網(wǎng)絡(luò)包括多個交換機。這些交換機包括(i)屬于底層的多個葉子交換機,(ii)屬于頂層的多個主干交換機以及(iii)屬于頂層與底層之間的一個或更多個中間層的多個中間交換機;多個鏈路連接這些交換機中的所選交換機。處理器用于:經(jīng)由接口從ft網(wǎng)絡(luò)接收指示該ft網(wǎng)絡(luò)的當(dāng)前拓撲的拓撲信息,以及基于該拓撲信息,估計第一葉子交換機與第二葉子交換機之間的可用帶寬。處理器用于通過以下方式來估計該可用帶寬:從ft網(wǎng)絡(luò)的多個自底到頂(bottom-to-top)子樹(每個自底到頂子樹從葉子交換機延伸到頂層)中,識別第一葉子交換機所屬的第一自底到頂子樹和第二葉子交換機所屬的第二自底到頂子樹;確定中間層中的至少一些交換機的路徑計數(shù),其中交換機的路徑計數(shù)指示(i)通過該交換機、(ii)經(jīng)由第一自底到頂子樹到達第一葉子交換機以及(iii)經(jīng)由第二自底到頂子樹到達第二葉子交換機的路徑的數(shù)量;以及基于路徑計數(shù)估計第一葉子交換機與第二葉子交換機之間的可用帶寬。
2、在一些實施例中,處理器用于:識別最低共同層,最低共同層被定義為包括第一葉子交換機和第二葉子交換機的聯(lián)合父交換機的ft網(wǎng)絡(luò)的最低中間層;以及確定最低共同層中的交換機的路徑計數(shù)。
3、在所公開的實施例中,處理器用于:通過按序列(in?sequence)掃描葉子交換機,向ft網(wǎng)絡(luò)中的交換機分配索引,以及針對該序列中的每個葉子交換機,從葉子交換機向頂層遍歷該葉子交換機所屬的自底到頂子樹,以及向尚未被分配任何索引的每個所遍歷的交換機分配索引,該索引至少在該交換機所屬的層內(nèi)對于該葉子交換機是特有的;定義(i)包括被分配給最低共同層中的第一葉子交換機的父級(parent)的索引的第一組,以及(ii)包括被分配給最低共同層中的第二葉子交換機的父級的索引的第二組;以及對于該最低共同層中的每個交換機,基于第一組索引與第二組索引之間的交集確定路徑計數(shù)。
4、在示例實施例中,在完成該序列之后,處理器用于識別未被分配任何索引或被分配了矛盾索引的交換機,以及向所識別的交換機分配無矛盾的整合索引。
5、在一個實施例中,處理器用于通過以下方式確定第一葉子交換機與第二葉子交換機之間的總路徑計數(shù):識別給定層中作為第一葉子交換機和第二葉子交換機的共同父級的交換機的集合;針對該集合中的每個共同父級,在(i)將共同父級連接到第一葉子交換機的第一端口數(shù)與(ii)將共同父級連接到第二葉子交換機的第二端口數(shù)之間找到最小值;以及對該組共同父級上的最小值求和。
6、在一些實施例中,拓撲信息指示一個或更多個鏈路中的故障。在示例實施例中,在估計可用帶寬時,處理器僅考慮將葉子交換機連接到緊接在底層上方的中間層的鏈路中發(fā)生的故障。
7、根據(jù)本文所述的實施例,還提供了一種用于帶寬估計的方法。該方法包括:接收指示胖樹(ft)網(wǎng)絡(luò)的當(dāng)前拓撲的拓撲信息,該ft網(wǎng)絡(luò)包括多個交換機以及連接多個交換機中的所選交換機的多個鏈路,該多個交換機包括:(i)屬于底層的多個葉子交換機,(ii)屬于頂層的多個主干交換機以及(iii)屬于頂層與底層之間的一個或更多個中間層的多個中間交換機?;谕負湫畔ⅲㄟ^以下方式估計第一葉子交換機與第二葉子交換機之間的可用帶寬:從ft網(wǎng)絡(luò)的多個自底到頂子樹(每個自底到頂子樹從葉子交換機延伸到頂層)中,識別第一葉子交換機所屬的第一自底到頂子樹和第二葉子交換機所屬的第二自底到頂子樹;確定中間層中的至少一些交換機的路徑計數(shù),其中交換機的路徑計數(shù)指示(i)通過交換機,(ii)經(jīng)由第一自底到頂子樹到達第一葉子交換機,以及(iii)經(jīng)由第二自底到頂子樹到達第二葉子交換機的路徑的數(shù)量;以及基于路徑計數(shù)估計第一葉子交換機與第二葉子交換機之間的可用帶寬。
8、根據(jù)本文所述的實施例,還提供了一種計算機軟件產(chǎn)品,該產(chǎn)品包括存儲程序指令的有形非暫時性計算機可讀介質(zhì)。這些指令在由處理器讀取時,使處理器用于:接收指示胖樹(ft)網(wǎng)絡(luò)的當(dāng)前拓撲的拓撲信息,該ft網(wǎng)絡(luò)包括多個交換機以及連接多個交換機中的所選交換機的多個鏈路,該多個交換機包括(i)屬于底層的多個葉子交換機,(ii)屬于頂層的多個主干交換機以及(iii)屬于頂層與底層之間的一個或更多個中間層的多個中間交換機;以及基于拓撲信息,通過以下方式估計第一葉子交換機與第二葉子交換機之間的可用帶寬:從ft網(wǎng)絡(luò)的多個自底到頂子樹(每個自底到頂子樹從葉子交換機延伸到頂層)中,識別第一葉子交換機所屬的第一自底到頂子樹以及第二葉子交換機所屬的第二自底到頂子樹;確定中間層中的至少一些交換機的路徑計數(shù),其中交換機的路徑計數(shù)指示(i)通過交換機,(ii)經(jīng)由第一自底到頂子樹到達第一葉子交換機以及(iii)經(jīng)由第二自底到頂子樹到達第二葉子交換機的路徑的數(shù)量;以及基于路徑計數(shù)估計第一葉子交換機與第二葉子交換機之間的可用帶寬。
9、通過下面結(jié)合附圖對本發(fā)明實施例的詳細描述,將更充分地理解本發(fā)明,其中:
1.一種用于帶寬估計的系統(tǒng),所述系統(tǒng)包括:
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述處理器用于識別最低共同層以及確定所述最低共同層中的交換機的所述路徑計數(shù),所述最低共同層被定義為包括所述第一葉子交換機和所述第二葉子交換機的聯(lián)合父交換機的所述ft網(wǎng)絡(luò)的最低中間層。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述處理器用于:
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中在完成所述序列之后,所述處理器用于識別未被分配任何索引或被分配了矛盾索引的交換機,以及向所識別的交換機分配無矛盾的整合索引。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述處理器用于通過以下方式確定所述第一葉子交換機與所述第二葉子交換機之間的總路徑計數(shù):
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述拓撲信息指示所述多個鏈路中的一個或更多個鏈路中的故障。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中在估計所述可用帶寬時,所述處理器僅考慮將所述葉子交換機連接到緊接在所述底層上方的中間層的鏈路中發(fā)生的故障。
8.一種用于帶寬估計的方法,所述方法包括:
9.根據(jù)權(quán)利要求8所述的方法,其中確定所述路徑計數(shù)包括:識別最低共同層以及確定所述最低共同層中的交換機的所述路徑計數(shù),所述最低共同層被定義為包括所述第一葉子交換機和所述第二葉子交換機的聯(lián)合父交換機的所述ft網(wǎng)絡(luò)的最低中間層。
10.根據(jù)權(quán)利要求9所述的方法,其中確定所述路徑計數(shù)包括:
11.根據(jù)權(quán)利要求10所述的方法,進一步包括:在完成所述序列之后,識別未被分配任何索引或被分配了矛盾索引的交換機,以及向所識別的交換機分配無矛盾的整合索引。
12.根據(jù)權(quán)利要求8所述的方法,其中確定所述路徑計數(shù)包括通過以下方式確定所述第一葉子交換機與所述第二葉子交換機之間的總路徑計數(shù):
13.根據(jù)權(quán)利要求8所述的方法,其中所述拓撲信息指示所述多個鏈路中的一個或更多個鏈路中的故障。
14.根據(jù)權(quán)利要求13所述的方法,其中估計所述可用帶寬包括:僅考慮將所述葉子交換機連接到緊接所述底層上方的中間層的鏈路中發(fā)生的故障。
15.一種計算機軟件產(chǎn)品,所述產(chǎn)品包括其中存儲有程序指令的有形的非暫時性計算機可讀介質(zhì),所述指令在由處理器讀取時,使得所述處理器:
16.根據(jù)權(quán)利要求15所述的產(chǎn)品,其中所述指令使得所述處理器識別最低共同層以及確定所述最低共同層中的交換機的所述路徑計數(shù),所述最低共同層被定義為包括所述第一葉子交換機和所述第二葉子交換機的聯(lián)合父交換機的所述ft網(wǎng)絡(luò)的最低中間層。
17.根據(jù)權(quán)利要求16所述的產(chǎn)品,其中所述指令使得所述處理器:
18.根據(jù)權(quán)利要求17所述的產(chǎn)品,其中所述指令使得所述處理器:在完成所述序列之后,識別未被分配任何索引或被分配了矛盾索引的交換機,以及向所識別的交換機分配無矛盾的整合索引。
19.根據(jù)權(quán)利要求15所述的產(chǎn)品,其中所述指令使得所述處理器通過以下方式確定所述第一葉子交換機與所述第二葉子交換機之間的總路徑計數(shù):
20.根據(jù)權(quán)利要求15所述的產(chǎn)品,其中所述拓撲信息指示所述多個鏈路中的一個或更多個鏈路中的故障。