TWI710879B - 具有彈性組態之計算系統、電腦實施方法及非暫態電腦可讀取儲存媒體 - Google Patents
具有彈性組態之計算系統、電腦實施方法及非暫態電腦可讀取儲存媒體 Download PDFInfo
- Publication number
- TWI710879B TWI710879B TW108112064A TW108112064A TWI710879B TW I710879 B TWI710879 B TW I710879B TW 108112064 A TW108112064 A TW 108112064A TW 108112064 A TW108112064 A TW 108112064A TW I710879 B TWI710879 B TW I710879B
- Authority
- TW
- Taiwan
- Prior art keywords
- pcie
- computing system
- switch
- peripheral component
- switch circuit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000003860 storage Methods 0.000 title claims description 10
- 238000003491 array Methods 0.000 claims abstract description 6
- 230000002093 peripheral effect Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 8
- 238000001816 cooling Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3808—Network interface controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
本揭露提供一種系統及方法,用於在計算系統中致能彈性PCIe拓撲。彈性PCIe拓撲可允許使用者調整基於特定應用調整計算系統的CPU與組件之間的PCIe連結。在一些實施例中,計算系統包括複數CPU、複數GPU或現場可程式閘陣列(FPGA)、複數PCIe交換器以及複數網路介面控制器(NIC)。在一些實施例中,計算系統包括交換器電路,以連接複數CPU、複數PCIe交換器以及複數NIC。交換器電路包括複數輸入及複數輸出,以連接複數CPU、複數PCIe交換器以及複數NIC。交換器電路中的連接路線可被調整,以設置計算系統之特定PCIe拓撲。
Description
本揭露係有關於電腦伺服器系統,特別係有關於具有彈性組態之電腦伺服器系統。
現代計算系統包括許多電子組件,例如圖像處理單元(Graphics Processing Units, GPUs)、中央處理單元(Central Processing Units, CPUs)、隨機存取記憶體(Random-Access Memory, RAM)等。隨著計算系統變得越來越複雜以支援使用者對計算及其他應用的需求,在同一個計算系統內經常需要複數GPU及/或CPU。
傳統上,計算系統設計有固定的快速週邊組件互連(Peripheral Component Interconnect Express, PCIe)拓撲,以支援複數GPU及CPU。計算系統的使用者並不能改變計算系統的PCIe拓撲。然而,對特定應用而言相當理想的特定PCIe拓撲,卻可能在一些其他應用(例如:其他GPU應用)上效能低落。
根據本揭露範例之系統及方法,藉由致能計算系統中的彈性(flexible)PCIe拓撲以解決上述問題。彈性PCIe拓撲可允許計算系統之使用者或管理控制器基於特定應用以調整計算系統之CPUs與組件之間的PCIe連結。在一些實施例中,計算系統包括複數CPU、複數GPU或現場可程式閘陣列(Field-Programmable Gate Arrays, FPGAs)、複數PCIe交換器以及複數網路介面控制器(network interface controllers, NICs)。在一些實施例中,計算系統包括交換器電路,以連接複數CPU、複數PCIe交換器以及複數NIC。交換器電路包括複數輸入及複數輸出,以連接複數CPU、複數PCIe交換器以及複數NIC。交換器電路內的連接路線(connection route)可被調整,以設置計算系統的特定PCIe拓撲。特定PCIe拓撲包括但不限於:全組態模式(configuration mode)、平衡模式(balance mode)、共用模式(common mode)以及串級模式(cascade mode)。
在一些實施例中,交換器電路被連接至雙行組件(Dual-Inline-Package, DIP)交換器。其中DIP交換器被配置以設置交換器電路之複數輸入與複數輸出之間的連接路線。
在一些實施例中,交換器電路包括複數多工器(multiplexers, MUXs),以連接複數輸入及複數輸出。DIP交換器可設置每個MUX之連接狀態,並因此設置交換器電路之複數輸入與複數輸出之間的連接路線。
在一些實施例中,複數CPU、複數PCIe交換器及複數NIC之間的至少一個連接路線包括多重迷你SAS連接器(multiple mini Serial Attached SCSI (SAS) connector)及至少一個物理快速週邊組件互連(PCIe)纜線。可藉由經由至少一個物理PCIe纜線,調整多重迷你SAS連接器及/或金手指轉發器板(golden finger repeater board)之間的連接路線,以設置計算系統之特定PCIe拓撲,其中金手指轉發器板安裝於複數NIC之其中一個NIC上。
根據本揭露實施例的一態樣,提供一種電腦實施方法,用於在計算系統中設置快速週邊組件互連(PCIe)拓撲,上述方法包括下列步驟:接收對計算系統之一特定PCIe拓撲的要求;判斷計算系統中,複數CPU、複數PCIe交換器、複數NIC以及複數FPGA及/或複數GPU之間的當前連接路線;判斷當前連接路線是否與特定PCIe拓撲一致;以及在複數CPU、複數PCIe交換器及複數NIC之間的當前連接路線與特定PCIe拓撲不一致的事件(event)中,調整複數CPU、複數PCIe交換器及複數NIC之間的至少一個連接路線。
根據本揭露實施例的一態樣,提供用於儲存指令的一種非暫態電腦可讀取儲存媒體(non-transitory computer-readable storage medium),當上述指令由計算系統之處理器執行時,會使處理器執行下列操作:接收對計算系統之一特定PCIe拓撲的要求;判斷計算系統中,複數CPU、複數PCIe交換器、複數NIC以及複數FPGA及/或複數GPU之間的當前連接路線;判斷當前連接路線是否與特定PCIe拓撲一致;以及在複數CPU、複數PCIe交換器及複數NIC之間的當前連接路線與特定PCIe拓撲不一致的事件(event)中,調整複數CPU、複數PCIe交換器及複數NIC之間的至少一個連接路線。
本揭露之其他特徵及優點將於下列敘述中闡明,且將於說明中變得顯而易見,或者可以透過本揭露之原理而了解。本揭露之特徵及優點可藉由所附申請專利範圍特別指出之手段與組合以實現及獲得。
本揭露可以多種不同實施形式呈現。其表現於圖式並詳述於此。這些實施例為本揭露原理之範例或說明,並非旨於限制本揭露所揭露範圍。舉例來說,揭露於摘要、先前技術、發明內容(但未明確闡述於申請專利範圍)之範圍、要素及限制,上述範圍、要素及限制不應單獨地或集體地以暗示、推論或其他方式體現在申請專利範圍。為本揭露內容之詳述目的,除非特定否認,單數詞包含複數詞,反之亦然。並且字詞“包含”其意為“非限制性地包含”。此外,進似性的(approximation)用語例如“大約”、“幾乎”、“相當地”、“大概”等,可用於本揭露實施例,其意義上如“在、接近或接近在”或“在3至5%內”或“在可接受之製造公差內”或任意符合邏輯之組合。
本揭露之多種範例提供系統及方法,上述系統及方法用於致能計算系統中的彈性PCIe拓撲。彈性PCIe拓撲可允許計算系統之使用者或管理控制器基於特定應用以調整計算系統之CPUs與組件之間的PCIe連結。在一些實施例中,計算系統包括複數CPU、複數GPU或現場可程式閘陣列(Field-Programmable Gate Arrays,FPGAs)、複數PCIe交換器以及複數網路介面控制器(network interface controllers,NICs)。在一些實施例中,計算系統包括交換器電路,以連接複數CPU、複數PCIe交換器以及複數NIC。交換器電路包括複數輸入及複數輸出,以連接複數CPU、複數PCIe交換器以及複數NIC。交換器電路內的連接路線可被調整,以設置計算系統的特定PCIe拓撲。
第1圖根據本揭露實施例所示之區塊示意圖用於說明範例性之計算系統100,範例性之計算系統100包括具有彈性組態之複數處理器104、複數PCIe交換器113以及複數GPU或FPGA 112。於此範例中,計算系統100包括GPUs 112、處理器104、PCIe交換器113、一個或多個冷卻模組(cooling module)110、主記憶體(MEM)111以及至少一個電源供應單元(power supply unit,PSU)102,其中PSU 102從電源供應器101接收交流電。PSU 102提供電力至計算系統100之各種組件,例如處理器104、北橋(NB)邏輯電路106、PCIe擴充槽161、南橋(SB)邏輯電路108、儲存裝置109、工業標準架構(ISA)擴充槽151、PCI擴充槽171、以及管理控制器103。
於此範例中,GPUs或FPGAs 112經由PCIe交換器113被連接至處理器104。PCIe交換器113致能複數I/O裝置、GPUs或FPGAs 112及處理器104之間的高速串列(serial)點對點連接,以最佳化到主機的端點流量(end-point traffic)之聚合(aggregation)、扇出(fan-out)或同級間通信(peer-to-peer communication)。在一些範例中,計算系統100更包括連接至PCIe交換器113的NICs(未圖示)。NICs將計算系統100連接至電腦網路。
處理器104可為中央處理單元(CPUs),其被配置以執行用於特定功能之程式指令。舉例來說,在啟動程序期間,處理器104可存取儲存於管理控制器103或快閃儲存裝置之韌體資料,並執行BIOS 105以初始化計算系統100。於啟動程序後,處理器104可執行作業系統(OS),以執行並管理用於計算系統100之特定任務。
在一些組態中,每個處理器104經由連接至北橋邏輯電路的CPU匯流排(未圖示)耦接在一起。在一些組態中,北橋邏輯電路106可被整合至處理器104。北橋邏輯電路106亦可連接至複數快速週邊組件互連(PCIe)擴充槽161及南橋邏輯電路108(可選用)。複數PCIe擴充槽161可用於連接器及匯流排,例如PCI Express x1、USB 2.0、SIM卡、作為日後擴充所用之另一PCIe通道、1.5V及3.3V電源以及連接計算系統100機箱上之診斷LED(diagnostics LEDs)之線路。
於計算系統100中,北橋邏輯電路106及南橋邏輯電路108藉由週邊組件互連(PCI)匯流排107所連接。南橋邏輯電路108可經由擴充匯流排將PCI匯流排107耦接至複數擴充卡(expansion card)或ISA擴充槽150(例如:ISA擴充槽151)。南橋邏輯電路108可進一步耦接至連接到至少一個PSU 102的管理控制器103。在一些實施例中,管理控制器103可為嵌入計算系統100之主機板的專用微控制器。管理控制器103可為基板管理控制器(baseboard management controller, BMC)或框架管理控制器(rack management controller, RMC)。
在一些實施例中,處理器104可經由交換器電路(未圖示)連接至PCIe交換器113。交換器電路包括複數輸入及複數輸出,以連接複數處理器、複數PCIe交換器113及複數NIC(未圖示)。交換器電路中的連接路線(connection route)可被調整,以設置計算系統100之特定PCIe拓撲。特定PCIe拓撲包括全組態模式、平衡模式、共用模式以及串級模式。
在一些實施例中,複數處理器104、複數PCIe交換器113及複數NIC之間的至少一個連接路線包括多重迷你SAS連接器(未圖示),以及至少一個物理PCIe纜線(未圖示)。可藉由經由至少一個物理PCIe纜線,調整多重迷你SAS連接器及/或金手指轉發器板(golden finger repeater board)之間的連接路線,以設置計算系統100之特定PCIe拓撲,其中金手指轉發器板安裝於複數NIC之其中一個NIC上。
第2A圖至第2E圖進一步說明第1圖中之PCIe組態的實施例。在第2A圖至第2E圖中,多重迷你串列SCSI(multiple mini Serial Attached SCSI, SAS)連接器及至少一個物理PCIe纜線被用來在計算系統中設置彈性PCIe拓撲。特定PCIe拓撲包括全組態模式、平衡模式、共用模式以及串級模式。
第2A圖圖示計算系統200A之通用PCIe拓撲。計算系統200A包括CPUs 204-1及204-2(CPU0及CPU1)、FPGAs 212-1到212-16、NICs 202-1到202-4、PCIe交換器213-1到213-4(PLX0到PLX3)以及SAS連接器201-1到201-6。於此範例中,CPU 204-1經由超通路互連(UltraPath Interconnect, UPI)連接至CPU 204-2。CPU 204-1經由PCIe連結連接至PCIe交換器213-1,並經由兩個SAS連接器201-1與201-2以及PCIe纜線203-1連接至PCIe交換器213-2。CPU 204-2經由兩個SAS連接器201-3與201-4以及PCIe纜線203-2連接至PCIe交換器213-3,並經由兩個SAS連接器201-5與201-6以及PCIe纜線203-3連接至PCIe交換器213-4。PCIe交換器213-1連接至FPGAs 212-1、212-3、212-5及212-7,以及NIC 202-1。PCIe交換器213-2連接至FPGAs 212-2、212-4、212-6及212-8,以及NIC 202-2。PCIe交換器213-3連接至FPGAs 212-9、212-11、212-13及212-15,以及NIC 202-3。PCIe交換器213-4連接至FPGAs 212-10、212-12、212-14及212-16,以及NIC 202-4。
計算系統200A中的PCIe拓撲可被調整為全組態模式、平衡模式、共用模式以及串級模式,分別圖示於第2B圖至第2E圖。
於第2B圖中,計算系統200B之PCIe拓撲為全組態模式。計算系統200B包括CPUs 204-1及204-2、FPGAs或GPUs 212-1到212-16、NICs 202-1到202-4、PCIe交換器213-1到213-4以及SAS連接器201-1到201-6。上述計算系統200B組件之間的連接路線與第2A圖所示相同。在全組態模式中,計算系統200B支援連接到終端裝置(endpoint device)的所有PCIe交換器(213-1到213-4)之下游(downstream)。於此範例中,計算系統200B具有四個PCIe交換器且必須支援多達20個PCIe x16終端裝置。
於第2C圖中,計算系統200C之PCIe拓撲為平衡模式。計算系統200B包括CPUs 204-1及204-2、FPGAs或GPUs(例如:212-1、212-3、212-5、212-7、212-9、212-11、212-13及212-15)、NICs 202-1及202-3、PCIe交換器213-1及213-3以及SAS連接器201-1到201-6。比較第2B圖之全組態模式與第2C圖之平衡模式,計算系統200C不需要或未裝上PCIe交換器213-2及213-4。PCIe纜線203-1用於連接SAS連接器201-3及201-4。SAS連接器201-3及201-4分別連接至CPU 204-2及PCIe交換器213-3。於平衡模式中,計算系統200C之每個CPU連接至一個PCIe交換器,並連接至所對應的PCIe交換器之所有下游。於此範例中,每個CPU 204-1及204-2連接至一個PCIe交換器,如此一來,每個CPU之PCIe根埠(root port)可經由對應之PCIe交換器213-1及213-3分別連接多達5個的PCIe x16終端裝置。
於第2D圖中,計算系統200D之PCIe拓撲為共用模式。與第2C圖之計算系統200C相似,計算系統200D不需要或未裝上PCIe交換器213-2及213-4。然而,在計算系統200D中,PCIe纜線203-1被用於連接SAS連接器201-1及201-4。SAS連接器201-1及201-4分別連接至CPU 204-1及PCIe交換器213-3。計算系統200D之PCIe拓撲的剩餘連接路線與計算系統200C之PCIe拓撲相同。藉由調整連接SAS連接器201-4、201-1及/或201-3的PCIe纜線203-1,PCIe拓撲可在共用模式與平衡模式之間切換。於共用模式中,計算系統200D之CPU連接至兩個PCIe交換器及兩個PCIe交換器的所有下游。於此範例中,CPU 204-1連接至動作的(active)PCIe交換器213-1及213-3,以及連接至終端裝置(end point device) 212-1、212-3、212-5、212-7、202-1、202-3、212-9、212-11、212-13及212-15。來自這些終端裝置的資料被直接傳送至CPU 204-1,而非讓一些資料須自CPU 204-2經由UPI傳送至CPU 204-1。
於第2E圖中,計算系統200E之PCIe拓撲為串級模式。與第2C圖之計算系統200C及第2D圖之計算系統200D相似,計算系統200E不需要或未裝上PCIe交換器213-2及213-4。然而,在計算系統200E中,PCIe纜線203-1被用於連接SAS連接器201-4及安裝於NIC 202-1上的金手指轉發器板205-1。SAS連接器201-4連接至PCIe交換器213-3。金手指轉發器板205-1被配置以將PCIe訊號自NIC 202-1傳遞(pass)至SAS通訊通道(例如:PCIe纜線203-1)及PCIe交換器213-3。在串級模式中,計算系統200E之CPU連接至兩個PCIe交換器及兩個PCIe交換器的所有下游。於此範例中,CPU 204-1連接至動作的PCIe交換器213-1及213-3,以及連接至終端裝置212-1、212-3、212-5、212-7、202-1、202-3、212-9、212-11、212-13及212-15。來自這些終端裝置的資料被直接傳送至CPU 204-1,而非讓一些資料須自CPU 204-2經由UPI傳送至CPU 204-1。在串級模式中,計算系統200E連接至第一PCIe交換器,而第二PCIe交換器串列在第一PCIe交換器下。如此一來,CPU可連接至所有動作的終端裝置,並在不受制於計算系統100E之CPUs的通量的情況下,在第一及第二PCIe交換器之間傳送資料。於此範例中,CPU 204-1連接至第一PCIe交換器213-1,而第二PCIe交換器213-3則經由NIC 202-1連接至第一PCIe交換器213-1。
如上述第2A圖至第2E圖所示,多重迷你串列SCSI(SAS)連接器及至少一個物理PCIe纜線可用於在計算系統200A至計算系統200E中設置彈性PCIe拓撲。然而,本揭露考量一種交換器電路,可用於在不同模式間切換PCIe拓撲。圖示於第3A圖至第3F圖。
第3A圖至第3F圖所示係根據本揭露實施例之區塊示意圖,用於說明範例性之計算系統300A至300F,範例性之計算系統包括用以設置範例性之計算系統之特定PCIe拓撲的交換器電路301。交換器電路301被配置,以基於範例性系統之管理控制器或使用者以設置特定PCIe拓撲。
於第3A圖中,計算系統300A包括CPUs 304-1及304-2(CPU0及CPU1)、FPGAs 312-1到312-16、NICs 302-1到302-4、PCIe交換器313-1到313-4(PLX0到PLX3)以及交換器電路301,其中交換器電路301連接至CPUs(即304-1及304-2)、PCIe交換器(即313-1到313-4)及NICs(即302-1及302-3)。於此範例中,CPU 304-1經由經由超通路互連(UPI)連接至CPU 304-2。CPU 304-1亦連接至PCIe交換器313-1,而CPU 304-2亦連接至PCIe交換器313-4。PCIe交換器313-1連接至FPGAs 312-1、312-3、312-5及312-7。PCIe交換器313-2連接至FPGAs 312-2、312-4、312-6、312-8及NIC 302-2。PCIe交換器313-3連接至FPGAs 312-9、312-11、312-13及312-15。PCIe交換器313-4連接至FPGAs 312-10、312-12、312-14、312-16及NIC 302-4。
於此範例中,交換器電路301具有四個輸入(即來自CPUs 304-1與304-2,以及來自PCIe交換器313-1與313-3),以及四個輸出(即輸出至PCIe交換器313-2與313-3,以及輸出至NICs 302-1與302-3)。於此實施例中,DIP交換器被用來設置交換器電路301中的連接路線。
在一些實施例中,交換器電路301包括連接至CPUs(即304-1與304-2)、PCIe交換器(即313-1到313-4)以及NICs(即302-1與302-3)的複數SAS連接器(即多工器MUXs 301-1到301-6),圖示於第3B圖中。DIP交換器302可設置複數MUX(即301-1到301-6)中每個MUX的連接路線,並以此設置交換器電路301之四個輸入與四個輸出之間的連接路線。
在第3C圖中,計算系統300C之PCIe拓撲為全組態模式。計算系統300C包括CPUs 304-1及304-2、FPGAs或GPUs 312-1到312-16、NICs 302-1到302-4、PCIe交換器313-1到313-4以及MUXs 301-1到301-6。於此範例中,DIP交換器302將交換器電路301之輸入設置為自CPU 304-1到MUX 301-1,再到MUX 301-3,接著再到PCIe交換器313-2。同時,DIP交換器302亦將交換器電路301之輸入設置為自CPU 304-2到MUX 301-2,再到MUX 301-4,接著再到PCIe交換器313-3。DIP交換器302進一步將交換器電路301之輸入設置為自PCIe交換器313-1到MUX 301-5,接著再到NIC 302-1。同時,DIP交換器302亦將交換器電路301之輸入設置為自PCIe交換器313-3到MUX 301-6,接著再到NIC 302-3。於計算系統300C中,DIP交換器302使交換器電路301中的所有其他連接路線全部失效。
在第3D圖中,計算系統300D之PCIe拓撲為平衡模式。於此範例中,DIP交換器302將交換器電路301之輸入設置為自CPU 304-2到MUX 301-2,再到MUX 301-4,接著再到PCIe交換器313-3。DIP交換器302進一步將交換器電路301之輸入設置為自PCIe交換器313-1到MUX 301-5,接著再到NIC 302-1。同時,DIP交換器302亦將交換器電路301之輸入設置為自PCIe交換器313-3到MUX 301-6,接著再到NIC 302-3。於計算系統300D中,DIP交換器302使交換器電路301中的所有其他連接路線全部失效。
第3E圖中,計算系統300E之PCIe拓撲為共用模式。於此範例中,DIP交換器302將交換器電路301之輸入設置為自CPU 304-1到MUX 301-1,再到MUX 301-4,接著再到PCIe交換器313-3。DIP交換器302進一步將交換器電路301之輸入設置為自PCIe交換器313-1到MUX 301-5,接著再到NIC 302-1。同時,DIP交換器302亦將交換器電路301之輸入設置為自PCIe交換器313-3到MUX 301-6,接著再到NIC 302-3。於計算系統300E中,DIP交換器302使交換器電路301中的所有其他連接路線全部失效。
第3F圖中,計算系統300F之PCIe拓撲為串級模式。於此範例中,DIP交換器302將交換器電路301之輸入設置為自PCIe交換器313-1到MUX 301-5,再到MUX 301-6,接著再到PCIe交換器313-3。於計算系統300F中,DIP交換器302使交換器電路301中的所有其他連接路線全部失效。
如上述第3A圖至第3F圖所示,交換器電路301可用於在計算系統300A至計算系統300F中設置彈性PCIe拓撲。由交換器電路301所設置之PCIe拓撲包括但不限於:全組態模式、平衡模式、共用模式以及串級模式。
第4圖係根據本揭露實施例所示,用於在計算系統中設置PCIe拓撲之範例性之方法400。應理解的是,範例性之方法400僅用於說明之目的,且根據本揭露之其他方法可包括附加的、更少的或替代的步驟,並以相似的或替換之順序執行上述步驟,或是同步執行上述步驟。範例性之方法400始於步驟402,接收對計算系統之特定PCIe拓撲的一要求。在一些實施例中,上述要求可來自計算系統之管理控制器(例如:BMC)或使用者。特定PCIe拓撲包括但不限於:全組態模式、平衡模式、共用模式以及串級模式。
於步驟404中,管理控制器可判斷計算系統中,複數CPU、複數PCIe交換器、複數NIC以及複數FPGA及/或複數GPU之間的當前連接路線。在一些實施例中,計算系統包括交換器電路,上述交換器電路包括複數輸入及複數輸出。交換器電路之輸入及輸出連接複數CPU、複數PCIe交換器、複數NIC以及複數FPGA及/或複數GPU。在一些實施例中,交換器電路包括複數MUX(即SAS連接器)。連接至交換器電路的DIP交換器可設置複數MUX中的每一個MUX的連接路線,並以此設置交換器電路之複數輸入及複數輸出之間的連接路線。
於步驟405中,管理控制器可判斷CPUs、PCIe交換器、NICs以及FPGAs及/或GPUs之間的當前連接路線是否與特定PCIe拓撲一致。在CPUs、PCIe交換器、NICs以及FPGAs及/或GPUs之間的當前連接路線與特定PCIe拓撲一致的事件中,方法400止於步驟406。在CPUs、PCIe交換器、NICs以及FPGAs及/或GPUs之間的當前連接路線與特定PCIe拓撲不一致的事件中,管理控制器可在步驟408中使交換器電路之複數輸入及複數輸出之間的連接路線被調整,使得連接路線與特定PCIe拓撲一致。在一些實施例中,管理控制器可調整DIP交換器的設定,以設置交換器電路中複數MUX之每個MUX的連接路線。
儘管已於上就本揭露多種實施例進行描述,但應理解的是,上述實施例僅用作範例,而非對本揭露的限制。在不脫離本揭露之精神或範圍的情況下,可根據本文對本揭露實施例進行諸多改動,因此,本揭露之廣度與範圍不應受限於任何上述實施例。更確切的說,本揭露之範圍應根據後續之申請專利範圍及其均等物而定。
100:計算系統
101:電源供應器
102:電源供應單元
103:管理控制器
104:處理器
105:BIOS
106:北橋邏輯電路
107:PCI匯流排
108:南橋邏輯電路
109:儲存裝置
110:冷卻模組
111~主記憶體 112~ GPUs或FPGAs 113~ PCIe交換器 151~ ISA擴充槽 161~ PCIe擴充槽 171~ PCI擴充槽 200A~計算系統 201-1~201-6~SAS連接器 202-1~202-4~NIC 203-1~203-4~PCIe纜線 204-1、204-2~CPU 205-1~金手指轉發器板 212-1~212-16~FPGA或GPU 213-1~213-4~ PCIe交換器 UPI~超通路互連 200B~計算系統 200C~計算系統 200D~計算系統 200E~計算系統 300A~計算系統 301~交換器電路 302~ DIP交換器 302-1~302-4~ NIC 304-1、304-2~CPU 312-1~312-16~FPGA 313-1~313-4~ PCIe交換器 300B~計算系統 301-1~301-6~MUX 300C~計算系統 300D~計算系統 300E~計算系統 300F~計算系統 400~方法 402-408~步驟
本揭露及本揭露之優點與製圖自後續範例性實施例及附圖可更加理解。這些附圖僅描繪範例性之實施例,因此不應被視為對多種實施例或申請專利範圍之限制。 第1圖所示係根據本揭露實施例之區塊示意圖,用於說明具有彈性組態之複數CPU、複數PCIe交換器及複數GPU所組成之範例性系統。 第2A-2E圖所示係根據本揭露實施例之區塊示意圖,在示意圖中,複數CPU、複數PCIe交換器及複數NIC之間的至少一個連接路線包括多重迷你SAS連接器及一個物理PCIe纜線。 第3A-3F圖所示係根據本揭露實施例之區塊示意圖,用於說明範例性系統,範例性系統包括用以設置範例性系統之特定PCIe拓撲的交換器電路。 第4圖係根據本揭露實施例所示,用於在計算系統中設置PCIe拓撲之範例性方法。
300A~計算系統 301~交換器電路 302~ DIP交換器 302-1~302-4~ NIC 304-1、304-2~CPU 312-1~312-16~FPGA 313-1~313-4~ PCIe交換器 UPI~超通路互連
Claims (9)
- 一種具有彈性組態的計算系統,包括:複數中央處理單元(CPUs);複數快速週邊組件互連(PCIe)交換器;複數圖像處理單元(GPUs)或現場可程式閘陣列(FPGAs),連接至上述複數快速週邊組件互連交換器;複數網路介面控制器(NICs);以及一連結機制,包括:多重迷你串列SCSI(SAS)連接器;至少一個物理快速週邊組件互連(PCIe)纜線;以及一金手指轉發器板,上述金手指轉發器板安裝於上述複數網路介面控制器之其中一個網路介面控制器;上述連結機制使得上述複數中央處理單元、上述複數快速週邊組件互連交換器以及上述複數網路介面控制器之間的至少一個連接路線可被調整,以設置上述計算系統的一特定快速週邊組件互連拓撲。
- 如申請專利範圍第1項所述之具有彈性組態的計算系統,其中:上述連結機制包括一交換器電路,以連接上述複數中央處理單元、上述複數快速週邊組件互連交換器以及上述複數網路介面控制器;以及上述計算系統更包括一雙行組件(DIP)交換器,其中上述雙行組 件交換器被配置以設置上述交換器電路之複數輸入與複數輸出之間的複數連接路線。
- 如申請專利範圍第2項所述之具有彈性組態的計算系統,其中:上述交換器電路包括複數多工器(MUXs),以連接上述複數輸入及上述複數輸出;以及上述雙行組件交換器被配置以設置每個上述複數多工器之連接狀態,並因此設置上述交換器電路之上述複數輸入與上述複數輸出之間的上述複數連接路線。
- 一種電腦實施方法,用於在一計算系統中設置一快速週邊組件互連(PCIe)拓撲,包括:接收對上述計算系統之一特定快速週邊組件互連拓撲的一要求;判斷上述計算系統中,複數中央處理單元(CPUs)、複數快速週邊組件互連(PCIe)交換器、複數網路介面控制器以及複數現場可程式閘陣列(FPGAs)及/或複數圖像處理單元(GPUs)之間的複數當前連接路線;判斷上述複數當前連接路線是否與上述特定快速週邊組件互連拓撲一致;以及在上述複數中央處理單元、上述複數快速週邊組件互連交換器及上述複數網路介面控制器之間的上述複數當前連接路線與上述特定快速週邊組件互連拓撲不一致的一事件中,經由一連結機制調整上述複數中央處理單元、上述複數快速週邊組件互連交換器及上述複 數網路介面控制器之間的至少一個連接路線,其中上述連結機制包括:多重迷你串列SCSI(SAS)連接器;至少一個物理快速週邊組件互連(PCIe)纜線;以及一金手指轉發器板,上述金手指轉發器板安裝於上述複數網路介面控制器之其中一個網路介面控制器。
- 如申請專利範圍第4項所述之電腦實施方法,其中上述計算系統包括:一交換器電路,以連接上述複數中央處理單元、上述複數快速週邊組件互連交換器以及上述複數網路介面控制器;以及一雙行組件(DIP)交換器,其中上述雙行組件交換器被配置以設置上述交換器電路之複數輸入與複數輸出之間的複數連接路線。
- 如申請專利範圍第5項所述之電腦實施方法,其中:上述交換器電路包括複數多工器(MUXs),以連接上述複數輸入及上述複數輸出;以及上述雙行組件交換器被配置以設置每個上述複數多工器之連接狀態,並因此設置上述交換器電路之上述複數輸入與上述複數輸出之間的上述複數連接路線。
- 一種非暫態電腦可讀取儲存媒體,上述非暫態電腦可讀取儲存媒體包括複數指令,當上述指令由一計算系統中之至少一個處理器執行時,會使上述計算系統執行下列操作,包括: 接收對上述計算系統之一特定快速週邊組件互連(PCIe)拓撲的一要求;判斷上述計算系統中,複數中央處理單元(CPUs)、複數快速週邊組件互連(PCIe)交換器、複數網路介面控制器以及複數現場可程式閘陣列(FPGAs)及/或複數圖像處理單元(GPUs)之間的複數當前連接路線;判斷上述複數當前連接路線是否與上述特定快速週邊組件互連拓撲一致;以及在上述複數中央處理單元、上述複數快速週邊組件互連交換器及上述複數網路介面控制器之間的上述複數當前連接路線與上述特定快速週邊組件互連拓撲不一致的一事件中,經由一連結機制調整上述複數中央處理單元、上述複數快速週邊組件互連交換器及上述複數網路介面控制器之間的至少一個連接路線,其中上述連結機制包括:多重迷你串列SCSI(SAS)連接器;至少一個物理快速週邊組件互連(PCIe)纜線;以及一金手指轉發器板,上述金手指轉發器板安裝於上述複數網路介面控制器之其中一個網路介面控制器。
- 如申請專利範圍第7項所述之非暫態電腦可讀取儲存媒體,其中上述計算系統包括:一交換器電路,以連接上述複數中央處理單元、上述複數快速週邊組件互連交換器以及上述複數網路介面控制器;以及 一雙行組件(DIP)交換器,其中上述雙行組件交換器被配置以設置上述交換器電路之複數輸入與複數輸出之間的複數連接路線。
- 如申請專利範圍第8項所述之非暫態電腦可讀取儲存媒體,其中:上述交換器電路包括複數多工器(MUXs),以連接上述複數輸入及上述複數輸出;以及上述雙行組件交換器被配置以設置每個上述複數多工器之連接狀態,並因此設置上述交換器電路之上述複數輸入與上述複數輸出之間的上述複數連接路線。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/259,488 US10585833B1 (en) | 2019-01-28 | 2019-01-28 | Flexible PCIe topology |
US16/259,488 | 2019-01-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202028915A TW202028915A (zh) | 2020-08-01 |
TWI710879B true TWI710879B (zh) | 2020-11-21 |
Family
ID=67303389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108112064A TWI710879B (zh) | 2019-01-28 | 2019-04-08 | 具有彈性組態之計算系統、電腦實施方法及非暫態電腦可讀取儲存媒體 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10585833B1 (zh) |
EP (1) | EP3686747A1 (zh) |
JP (1) | JP2020119498A (zh) |
CN (1) | CN111488302B (zh) |
TW (1) | TWI710879B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737181A (zh) * | 2020-06-19 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 异构处理设备、系统、端口配置方法、装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143347A1 (en) * | 2004-12-24 | 2006-06-29 | Hon Hai Precision Industry Co., Ltd. | USHA card and UPS system incorporating the same |
US7147476B1 (en) * | 2005-12-01 | 2006-12-12 | Wistron Corporation | Interface card with a mechanism for covering a connector thereof |
US20120033370A1 (en) * | 2010-08-06 | 2012-02-09 | Ocz Technology Group Inc. | PCIe BUS EXTENSION SYSTEM, METHOD AND INTERFACES THEREFOR |
US20170177528A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Architecture for software defined interconnect switch |
TW201738752A (zh) * | 2011-12-29 | 2017-11-01 | 英特爾公司 | 非依電性隨機存取記憶磁碟(二) |
US20180052793A1 (en) * | 2016-01-13 | 2018-02-22 | Huawei Technologies Co., Ltd. | Switching Device, Peripheral Component Interconnect Express System, and Method for Initializing Peripheral Component Interconnect Express System |
CN107992438A (zh) * | 2017-11-24 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种服务器及在服务器内灵活配置PCIe拓扑的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1811395A4 (en) * | 2004-09-28 | 2008-01-02 | Zentek Technology Japan Inc | HOST CONTROLLER |
GB2497493B (en) * | 2010-09-16 | 2017-12-27 | Iii Holdings 2 Llc | Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect |
CN102497432B (zh) * | 2011-12-13 | 2014-06-25 | 华为技术有限公司 | 一种多路径访问i/o设备的方法、i/o多路径管理器及系统 |
US10073801B2 (en) * | 2014-04-25 | 2018-09-11 | Hitachi, Ltd. | Computer and method of controlling I/O switch of computer |
US10387346B2 (en) | 2016-05-06 | 2019-08-20 | Quanta Computer Inc. | Dynamic PCIE switch reconfiguration mechanism |
US10795842B2 (en) | 2017-05-08 | 2020-10-06 | Liqid Inc. | Fabric switched graphics modules within storage enclosures |
CN109242754B (zh) * | 2018-07-17 | 2020-12-04 | 北京理工大学 | 一种基于OpenVPX平台的多GPU高性能处理系统 |
-
2019
- 2019-01-28 US US16/259,488 patent/US10585833B1/en active Active
- 2019-04-08 TW TW108112064A patent/TWI710879B/zh active
- 2019-04-24 CN CN201910332544.0A patent/CN111488302B/zh active Active
- 2019-07-15 EP EP19186365.3A patent/EP3686747A1/en active Pending
- 2019-11-01 JP JP2019199707A patent/JP2020119498A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143347A1 (en) * | 2004-12-24 | 2006-06-29 | Hon Hai Precision Industry Co., Ltd. | USHA card and UPS system incorporating the same |
US7147476B1 (en) * | 2005-12-01 | 2006-12-12 | Wistron Corporation | Interface card with a mechanism for covering a connector thereof |
US20120033370A1 (en) * | 2010-08-06 | 2012-02-09 | Ocz Technology Group Inc. | PCIe BUS EXTENSION SYSTEM, METHOD AND INTERFACES THEREFOR |
TW201738752A (zh) * | 2011-12-29 | 2017-11-01 | 英特爾公司 | 非依電性隨機存取記憶磁碟(二) |
US20170177528A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Architecture for software defined interconnect switch |
US20180052793A1 (en) * | 2016-01-13 | 2018-02-22 | Huawei Technologies Co., Ltd. | Switching Device, Peripheral Component Interconnect Express System, and Method for Initializing Peripheral Component Interconnect Express System |
CN107992438A (zh) * | 2017-11-24 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种服务器及在服务器内灵活配置PCIe拓扑的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202028915A (zh) | 2020-08-01 |
CN111488302A (zh) | 2020-08-04 |
CN111488302B (zh) | 2022-03-29 |
US10585833B1 (en) | 2020-03-10 |
JP2020119498A (ja) | 2020-08-06 |
EP3686747A1 (en) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3033681B1 (en) | Method and apparatus for delivering msi-x interrupts through non-transparent bridges to computing resources in pci-express clusters | |
WO2016037503A1 (zh) | PCIe拓扑的配置方法和装置 | |
US20150347345A1 (en) | Gen3 pci-express riser | |
US10210120B2 (en) | Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch | |
US9792240B2 (en) | Method for dynamic configuration of a PCIE slot device for single or multi root ability | |
US9940143B2 (en) | Using peripheral component interconnect express vendor-defined message (PCIe-VDM) and inter-integrated circuit (I2C) transport for network communications | |
US10489337B2 (en) | Method, apparatus and system for dynamic optimization of signal integrity on a bus | |
US20160292115A1 (en) | Methods and Apparatus for IO, Processing and Memory Bandwidth Optimization for Analytics Systems | |
US20170031863A1 (en) | Sideband signal consolidation fanout using a clock generator chip | |
US10474612B1 (en) | Lane reversal detection and bifurcation system | |
CN114579500A (zh) | 用于高速数据通讯的系统、中介件及方法 | |
TWI710879B (zh) | 具有彈性組態之計算系統、電腦實施方法及非暫態電腦可讀取儲存媒體 | |
US11232060B2 (en) | Method, apparatus and system for power supply policy exchange on a bus | |
US20150186317A1 (en) | Method and apparatus for detecting the initiator/target orientation of a smart bridge | |
WO2012103768A1 (zh) | 数据处理方法及装置、pci-e总线系统、服务器 | |
US11093422B2 (en) | Processor/endpoint communication coupling configuration system | |
CN108090004B (zh) | 硬件资源共用系统及连线桥接平台的操作方法 | |
US20140089533A1 (en) | Allocation of flow control credits for high performance devices | |
US9760515B2 (en) | Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY) | |
US10877920B2 (en) | Communications device for routing signals on communications networks | |
US10360167B1 (en) | Systems and methods for using a bus exchange switch to control processor affinity | |
US11500808B1 (en) | Peripheral device having an implied reset signal | |
US20240184732A1 (en) | Modular datacenter interconnection system | |
US20160292117A1 (en) | Methods and Apparatus for Efficient Network Analytics and Computing Card | |
WO2016175837A1 (en) | Configuration of a peripheral component interconnect express link |