複製鏈接
請複製以下鏈接發送給好友

服務器

(專利)

鎖定
《服務器》北京百度網訊科技有限公司是於2015年3月6日申請的專利,該專利的公佈號為CN104657317A,申請號為201510101474X,授權公佈日為2015年5月27日,發明人是丁瑞全、陳國峯、王志謙、康盛、張家軍、劉濤。 [1] 
《服務器》專利提出一種服務器,該服務器包括PCIe主機;具有PCIe接口的端點;PCIe網絡;其中,所述PCIe主機和所述具有PCIe接口的端點分別連接所述PCIe網絡,且所述PCIe主機和所述具有PCIe接口的端點是物理上分離設置的。該服務器能夠實現主機與端點、主機與主機及端點與端點之間通過PCIe網絡進行高速低延時的互聯互通,可以靜態或者動態的對主機與端點之間的訪問關係進行相應配置,從而可以實現服務器的靈活配置。 [2] 
2018年12月20日,《服務器》專利獲得第二十屆中國專利優秀獎。 [3] 
(概述圖為《服務器》專利摘要附圖 [2] 
中文名
服務器
公告號
CN104657317A
授權日
2015年5月27日
申請號
201510101474X
申請人
北京百度網訊科技有限公司
申請日
2015年3月6日
地    址
北京市海淀區上地十街10號百度大廈2層
發明人
丁瑞全、陳國峯、王志謙、康盛、張家軍、劉濤
Int.Cl.
G06F13/40(2006.01)I
代理機構
北京清亦華知識產權代理事務所(普通合夥)
代理人
宋合成
類    別
發明專利

服務器專利背景

傳統的-服務器通常將中央處理器(Central Processing Unit,CPU),機械硬盤(HardDiskDrive,HDD),固態硬盤(Solid State Disk,SSD),GPU(General Processor Unit)及其他外設等集中在單一的物理機箱中,通常以不同的服務器設計方案來滿足不同的應用需求,無法靈活擴展變更以滿足不同的應用需求。此外因為CPU可支持的PCIelane數量有限,單CPU可支持的PCIe設備數量也受到限制,且PCIe主從設備之間的通信帶寬有限。另外跨服務器單元節點的通信帶寬和延時也有諸多限制。 [1] 

服務器發明內容

服務器專利目的

《服務器》專利旨在至少在一定程度上解決相關技術中的技術問題之一。
《服務器》專利的一個目的在於提出一種服務器,該服務器可以靈活擴展,並支持服務器內各單元之間的高速低延時通信。 [1] 

服務器技術方案

《服務器》專利實施例提出的服務器,包括:PCIe主機;具有PCIe接口的端點;PCIe網絡;其中,所述PCIe主機和所述具有PCIe接口的端點分別連接所述PCIe網絡,且所述PCIe主機和所述具有PCIe接口的端點是物理上分離設置的。
《服務器》專利實施例提出的服務器,通過將主機和端點分離設置,可以實現主機與端點的解耦合,並且通過PCIe網絡分別與主機和端點連接,可以實現主機與端點、主機與主機及端點與端點之間通過PCIe網絡進行高速低延時的互聯互通,可以靜態或者動態的對主機與端點之間的訪問關係進行相應配置,從而可以實現服務器的靈活配置。
《服務器》專利附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過《服務器》專利的實踐瞭解到。 [1] 

服務器附圖説明

圖1是《服務器》專利一實施例提出的服務器的結構示意圖;
圖2是《服務器》專利另一實施例提出的服務器的結構示意圖;
圖3是《服務器》專利另一實施例提出的服務器的結構示意圖;
圖4是《服務器》專利另一實施例提出的服務器的結構示意圖;
圖5是《服務器》專利實施例中GPU放置位置的立體示意圖;
圖6是《服務器》專利實施例中GPU放置位置的平面示意圖;
圖7是《服務器》專利另一實施例提出的服務器的結構示意圖;
圖8是《服務器》專利另一實施例提出的服務器的結構示意圖。 [1] 

服務器技術領域

《服務器》專利涉及計算機通信技術領域,尤其涉及一種服務器。 [1] 

服務器權利要求

1.一種服務器,其特徵在於,包括:PCIe主機;具有PCIe接口的端點;PCIe網絡;其中,所述PCIe主機和所述具有PCIe接口的端點分別連接所述PCIe網絡,且所述PCIe主機和所述具有PCIe接口的端點是物理上分離設置的;其中,所述主機為至少一個,所述端點為至少一個,所述PCIe網絡中包括:配置模塊和交換設備;所述交換設備由至少一個PCIe交換機構建得到,其中,多個PCIe交換機可構建得到多種層級關係的交換設備;所述配置模塊用於對所述交換設備進行配置,以動態配置節點間的邏輯訪問關係,所述邏輯訪問關係包括如下項中的至少一項:主機之間的邏輯訪問關係,端點之間的邏輯訪問關係,主機與端點之間的邏輯訪問關係。
2.根據權利要求1所述的服務器,其特徵在於,所述配置模塊具體用於:在配置所述邏輯訪問關係時,進行多路徑路由配置,和/或,進行多路徑上聯配置。
3.根據權利要求1所述的服務器,其特徵在於,所述PCIe網絡和所述端點分別由模塊化元件組成,且所述模塊化元件是可更換的。
4.根據權利要求1所述的服務器,其特徵在於,所述端點圍繞交換板對稱設置,其中,所述交換板是所述交換設備的一種具體實現方式。
5.根據權利要求1所述的服務器,其特徵在於,所述端點和/或所述主機具有統一插槽。
6.根據權利要求1所述的服務器,其特徵在於,當所述端點包括功耗大於預設值的端點時,所述功耗大於預設值的端點至少包括兩排,且相鄰排的所述功耗大於預設值的端點設置在不同的高度上。
7.根據權利要求6所述的服務器,其特徵在於,還包括:導風罩,設置在前排的所述功耗大於預設值的端點的上面,用於改變所在排的所述功耗大於預設值的端點的散熱方向。
8.根據權利要求1-7任一項所述的服務器,其特徵在於,所述具有PCIe接口的端點包括如下項中的至少一項:GPU,NIC,PCIeSSD,PCIe接口的磁盤裝置。
9.根據權利要求8所述的服務器,其特徵在於,當所述端點包括GPU時,每個GPU所在機箱設置16個GPU。 [1] 

服務器實施方式

圖1是《服務器》專利一實施例提出的服務器的結構示意圖,該服務器包括:PCIe主機11,具有PCIe接口的端點12,以及,PCIe網絡13;其中,所述PCIe主機11和所述具有PCIe接口的端點12分別連接所述PCIe網絡13,且所述PCIe主機11和所述具有PCIe接口的端點12是物理上分離設置的。
其中,PCIe是PCI-express的簡稱,PCI是外設部件互連標準(Peripheral Component Interconnect,PCI)。
PCIe主機也可以稱為PCIeHost,是指按照PCIe規範,工作在PCIExpressRootComplex模式的設備。
具有PCIe接口的端點也可以稱為PCIeEndpoint,是指按照PCIe規範,工作在PCIExpressEndpoint模式的設備。
PCIe主機11為一個或者多個,具有PCIe接口的端點12為一個或者多個,多個是指至少兩個。
PCIe主機11和具有PCIe接口的端點12的類型不限。
例如,PCIe主機11可以包括:中央處理器(Central Process Unit,CPU)或者微處理器等,微處理器例如包括:高級精簡指令集機器(Advanced RISC Machine,ARM),或者,現場可編程門陣列(Field Programmable Gate Array,FPGA),或者,數字信號處理器(Digital Signal Processor,DSP)等。
又例如,所述具有PCIe接口的端點包括如下項中的至少一項:
圖形處理器(Graphic Process Unit,GPU),網絡接口卡(Network Interface Card,NIC),PCIeSSD,PCIe接口的磁盤裝置。
PCIe接口的磁盤裝置例如包括:主機總線適配器(Host Bus Adapter,HBA)卡或者獨立磁盤冗餘陣列(Redundant ArrayofIndependent Disks,RAID)卡作為前端訪問接口的磁盤簇(Justa Bunchof Disks,JBOD),JBOD具體可以是HDDJBOD或者SSDJBOD。
可以理解的是,上述給出的具體的PCIe主機以及具體的具有PCIe接口的端點只是示例,還可以是其他形式的PCIe主機和具有PCIe接口的端點。
《服務器》專利實施例中,以服務器是GPU服務器為例,參見圖2,服務器包括:主機21,如圖2所示,以兩個主機為例,分別是PCIeHost-1和PCIeHost-2,服務器還包括端點22,如圖2所示,端點22是GPU或者NIC(圖2中用GPU&NIC表示),服務器還包括:PCIe網絡23,如圖2所示,PCIe網絡可以包括多個單元,分別用PCIeTOR,Chassis表示。
傳統的服務器設計方案通常將CPU、電源、風扇、外設(如HDD、SSD、網卡、GPU等)等集中在單一的物理機箱中,其無法靈活擴展變更以滿足不同的應用需求,因此通常以不同的服務器硬件設計方案來滿足不同的應用需求。
而該實施例突破單機的物理限制,將服務器的主要部件分散在不同的物理單元上,通過PCIe網絡將各模塊組織起來,從機櫃(Rack)層面來靈活構建不同配置的系統以滿足多變的業務需求。任何PCIe接口的主從設備都可以接入該PCIe網絡,如PCIeSSD、HBA/RAID卡作為前端接口的JBOD、GPU、網卡、ARM、FPGA等。以GPU服務器為例,假設主機是CPU,該實施例可以將CPU和GPU物理分離,通過PCIe網絡將二者互聯起來,以突破單機最大支持8個GPU的限制,並且可靈活調整CPU和GPU的配比來滿足不同業務需求。
該實施例中,通過將主機和端點物理上分離設置,可以實現服務器中相應硬件的解耦合,從而可以實現服務器的靈活擴展。 [1] 
另一實施例中,所述主機為至少一個,所述端點為至少一個,所述PCIe網絡中包括:
配置模塊和交換設備;
所述交換設備由至少一個PCIe交換機構建得到,其中,多個PCIe交換機可構建得到多種層級關係的交換設備;
所述配置模塊用於對所述交換設備進行配置,以動態配置節點間的邏輯訪問關係,所述邏輯訪問關係包括如下項中的至少一項:主機之間的邏輯訪問關係,端點之間的邏輯訪問關係,主機與端點之間的邏輯訪問關係。
其中,PCIe交換機可以稱為PCIeSwitch,如圖2所示,以PCIeSwitch是PCIeX為例。
其中,動態配置是指配置的邏輯訪問關係不限於靜態的固定關係,而是可以根據實際需要動態更改。
具體的,配置模塊可以是圖2中所示的管理CPU(MgmtCPU),通過管理CPU配置上述各種邏輯訪問關係。
例如,當配置主機與端點之間的邏輯訪問關係時,在該PCIe網絡內,PCIeHost枚舉階段能夠發現的PCIeendpoint的數量和類型都是可以通過負責集羣管理的MgmtCPU來靈活設置的,因此可實現PCIeendpoint設備的池化共享。參見圖3,以GPU服務器為例,服務器包括CPU31,GPU32和PCIe網絡33,PCIe網絡(具體可以是PCIe網絡中的MgmtCPU)可靈活調整CPU和GPU的配比關係,以此構建不同配置的邏輯GPU服務器來支持不同粒度的GPU計算任務。如圖3所示,節點A的CPU可以訪問兩個GPU,節點B的CPU可以訪問六個GPU。
該實施例通過PCIe網絡的配置,可以實現主從設備之間的靈活配置。
又例如,該實施例中不僅可以實現上述的主從設備之間的訪問,還可以實現兩個主設備之間的訪問。具體的,當配置主機與主機之間的邏輯訪問關係時,當兩個主設備(兩個PCIeHost)在同一個PCIe網絡內,通過MgmtCPU對PCIe網絡的各個子單元(如PCIeTOR,Chassis)進行相關配置,PCIeHost之間可直接通過該PCIe網絡實現高帶寬低延時的通信。對於跨機櫃且不處於同一個PCIe網絡內的PCIeHost,其可通過共享的SR-IOV網卡實現互聯互通。
進一步的,在配置上述邏輯訪問關係時,可以具體配置成多路徑路由,和/或,具體配置成多路徑上聯。
具體的,多路徑路由是指對應一組起點和終點,存在多條路徑,通過配置多路徑路由可以減少阻塞並提高系統鏈路可靠性。例如,A點和B點之間的路徑可以配置成第一路徑和第二路徑,當第一路徑故障時,可以動態切換到第二路徑。
另一方面,PCIe作為一種樹形拓撲網絡,其上聯端口只能有一條固定路徑。因此現有的GPU方案中,其上聯端口只有1個x16。而該實施例中可通過MgmtCPU來配置PCIeX(PCIeSwitch),使得其下所連接的PCIe端點可通過不同的上聯端口來與其他PCIe端點進行通信,因此可利用2條以上的x16上聯鏈路實現多Switch芯片下聯接的多個GPU設備間的高速互聯通信。例如,參見圖2,一個PCIeX可以通過兩個路徑上聯,分別用路徑-1和路徑-2表示。
該實施例中,通過配置模塊的配置,不僅可以實現主從設備之間的訪問,還可以實現兩個主設備之間的訪問,另外,通過配置多路徑上聯,可以實現不同節點通過不同路徑傳輸數據,從而實現節點之間的高帶寬低延時通信,並且,通過配置多路徑路由,可以減少擁塞,提高通信的帶寬並降低延時,還可以提高鏈路可靠性。
另一實施例中,所述PCIe網絡和所述端點分別由模塊化元件組成,且所述模塊化元件是可更換的。
具體的,參見圖4,服務器41中包括PCIe網絡,端點和主機,其中,PCIe網絡位於交換板上,端點包括GPU和NIC,端點連接到數據信號背板上,主機在圖4中未示出。在圖4中,RackMiddleplane、BusBar、Fan等屬於機櫃級共享基礎設施,信號轉接板和電源轉接板屬於機箱級共享設施,可最大限度複用。交換板、數據信號背板及GPU和NIC等則可以靈活變更以滿足不同的應用需求。
保持交換板、數據信號背板不變,可將GPU和NIC設備更換為其他PCIe接口的主或從設備,即可構成不同的解決方案。如將GPU更換為ARM則可構建MicroServer平台,將GPU更換為FPGA卡即可構建異構計算平台等。
保持數據信號接口板不變,也可將交換板更新為其他網絡互聯方案如以太網,將GPU更換為ARM則可構建MicroServer平台。
該實施例中,通過模塊化,可以在統一的框架下可靈活支持不同產品。 [1] 
另一實施例中,當所述端點包括功耗大於預設值的端點時,所述功耗大於預設值的端點至少包括兩排,且相鄰排的所述功耗大於預設值的端點設置在不同的高度上。其中,預設值可以根據實際散熱需要進行設置。
具體的,參見圖5或者圖6,以功耗大於預設值的端點是GPU,且排數是兩排為例,如圖5或圖6所示,服務器包括前排GPU51和後排GPU52,如圖6所示,前排GPU51和後排GPU52位於不同的高度上,以方便散熱。
另外,還可以設置導風罩53,設置在前排的所述功耗大於預設值的端點的上面,用於改變所在排的所述功耗大於預設值的端點的散熱方向。
例如,參見圖5或圖6,通過在前排GPU上設置導風罩,導風罩可以將前排GPU的散熱方向更改,從而避免將散熱直接傳輸到後排GPU,從而可以降低前排GPU對後排GPU的散熱影響。其中,該實施例中的前排和後排是指散熱方向進行排列的,例如,A排的散熱是朝向B排的,那麼A排是前排,B排是後排。
該實施例中,以功耗較大的端點是GPU為例,通過相鄰排的GPU設置在不同的高度上,可以充分利用機箱的高度空間,前後兩排GPU在豎直方向上交錯部署,並增加導風裝置可降低前排GPU排出的熱風對後排GPU的影響,最大化優化散熱效率。另外,通常採用增加風扇轉速提高散熱性,而該實施例通過高度位置的不同,可以利用自然條件散熱,降低風扇功耗。 [1] 
另一實施例中,所述端點圍繞交換板對稱設置,其中,所述交換板是所述交換設備的一種具體實現方式。
交換設備在具體實現時可以採用不同的實現方式,其中一種實現方式是交換板。例如,如圖4所示,交換板由多個PCIeX組成。
另外可以通過配置多個PCIeX來構建多種層級關係的交換設備。例如,參見圖2,交換設備具有兩層,第一級是交換板,第二級是PCIeTOR交換機。
具體的,第一級PCIe網絡位於交換板上,高速數據信號源自交換板,最終連接到GPU等設備上。如圖7所示,交換板71位於系統中央,離前後左右各PCIe設備(如GPU)72距離較近,最大限度的減少了高速信號衰減,提升了硬件設計質量。
該實施例中,通過端點圍繞所述交換板對稱設置,可以減少信號衰減。 [1] 
另一實施例中,所述端點和/或所述主機具有統一插槽。
具體的,以GPU服務器為例,參見圖8,服務器包括GPU81和NIC82,GPU和NIC共用統一插槽,以便根據單機箱與外部通信的帶寬需求靈活調整NIC數量。
該實施例中,採用統一插槽設計,可支持不同的PCIe主從設備,靈活調整系統配置。 [1] 
另一實施例中,當所述端點包括GPU時,每個GPU所在機箱設置16個GPU。
具體的,該實施例中,將傳統服務器的CPU、風扇、電源等主要器件從GPU機箱中分離出來,因此可有效利用節點空間支持更多的GPU,高達16個,機箱內部各GPU的互聯帶寬高達64Gb。當同一CPU通過PCIeTOR來同時連接兩個GPU機箱時,集羣規模高達32個GPU,且跨機箱的兩個GPU之間也可達到無阻塞32Gb互聯通信,其帶寬為兩個GPU機箱通過一個40GE網卡互聯通信的帶寬的12.8倍。
該實施例中,在8.8KW的機櫃內可以實現單CPU可支持高達32個GPU。 [1] 
綜上所示,《服務器》專利實施例中,相比雙socketCPU支持8個GPU卡的系統(之間通過40Gb以太網互聯),《服務器》專利可擴大GPU機器規模,實現PCIe主從設備任意二者之間的高速低延時通信,具體為可實現單socketCPU支持32個GPU,集羣規模擴大8倍,GPU互聯帶寬達到無阻塞的32Gb,擴大12.8倍,平均通信延時縮小5倍。將CPU、GPU和NIC物理分離,通過PCIe網絡將三者互聯起來,可靈活調整CPU和GPU的配比來滿足不同業務需求,可靈活調整NIC數量來滿足不同的外部帶寬需求。採用全模塊化設計,靈活多變,可快速變更以適應不同的業務需求。
需要説明的是,在《服務器》專利的描述中,術語“第一”、“第二”等僅用於描述目的,而不能理解為指示或暗示相對重要性。此外,在《服務器》專利的描述中,除非另有説明,“多個”的含義是兩個或兩個以上。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用於實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,並且《服務器》專利的優選實施方式的範圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被《服務器》專利的實施例所屬技術領域的技術人員所理解。
應當理解,《服務器》專利的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用該領域公知的下列技術中的任一項或他們的組合來實現:具有用於對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。
該技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲於一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。
此外,在《服務器》專利各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以採用硬件的形式實現,也可以採用軟件功能模塊的形式實現。所述集成的模塊如果以軟件功能模塊的形式實現並作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
上述提到的存儲介質可以是隻讀存儲器,磁盤或光盤等。
在該説明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特徵、結構、材料或者特點包含於《服務器》專利的至少一個實施例或示例中。在該説明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特徵、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
儘管上面已經示出和描述了《服務器》專利的實施例,可以理解的是,上述實施例是示例性的,不能理解為對《服務器》專利的限制,該領域的普通技術人員在《服務器》專利的範圍內可以對上述實施例進行變化、修改、替換和變型。

服務器榮譽表彰

2018年12月20日,《服務器》獲得第二十屆中國專利優秀獎。 [3] 
參考資料