TW201805833A - 設備分配控制器以及設備分配方法 - Google Patents

設備分配控制器以及設備分配方法 Download PDF

Info

Publication number
TW201805833A
TW201805833A TW105125444A TW105125444A TW201805833A TW 201805833 A TW201805833 A TW 201805833A TW 105125444 A TW105125444 A TW 105125444A TW 105125444 A TW105125444 A TW 105125444A TW 201805833 A TW201805833 A TW 201805833A
Authority
TW
Taiwan
Prior art keywords
server
peripheral devices
processor
controller
peripheral
Prior art date
Application number
TW105125444A
Other languages
English (en)
Other versions
TWI616759B (zh
Inventor
周瑜鏡
Original Assignee
創義達科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 創義達科技股份有限公司 filed Critical 創義達科技股份有限公司
Priority to TW105125444A priority Critical patent/TWI616759B/zh
Priority to CN201610825397.7A priority patent/CN107015859A/zh
Priority to US15/286,591 priority patent/US20180048559A1/en
Publication of TW201805833A publication Critical patent/TW201805833A/zh
Application granted granted Critical
Publication of TWI616759B publication Critical patent/TWI616759B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

一種設備分配控制器。此設備分配控制器包括多個周邊設備、處理器以及通訊介面。所述周邊設備以及通訊介面符合匯流排(PCI Express)互聯標準。處理器藉由符合匯流排互聯標準的匯流排耦接所述周邊設備。通訊介面耦接處理器。伺服器透過通訊介面耦接設備分配控制器。處理器在伺服器啟動時接收伺服器的設備掃描請求,並且提供預設設備資訊至伺服器,其中伺服器依據預設設備資訊來預留對應的硬體資源以及記憶體空間。處理器分配所述周邊設備至伺服器,其中每一種類的所述周邊設備的數量不大於預設設備資訊中所記載每一種類的所述周邊設備的數量。

Description

設備分配控制器以及設備分配方法
本發明是有關於一種設備分配技術,且特別是有關於一種設備分配控制器以及一種設備分配方法。
隨著雲端網路科技的發展,雲端運算和資料存取的需求越來越大,許多的廠商提供硬體設備虛擬化技術來提高伺服器的設備使用率。硬體設備虛擬化技術可應用在諸多周邊設備上,例如採用匯流排(PCI Express)互聯標準的網路卡(Network interface controller;NIC)、資料儲存控制卡(RAID HBA)等周邊設備。
在建設雲端運算中心時,為了滿足大量的運算和資料存取需求,只能不斷地在雲端運算中心增加伺服器和加裝例如通用圖形處理器(General purpose computing on graphics processing units;PGPU)、網路卡、資料存儲控制卡等的周邊設備,從而補足足夠的硬體。然而,這些加裝的周邊設備只能被使用在此伺服器上,且當此伺服器閒置時,這些周邊設備也會處於閒置而造成無謂的浪費。
因此,上述情形將會造成雲端運算中心對於伺服器的硬體設備冗餘性,也增加了廠商在建置雲端運算中心的大量成本。無論伺服器的使用狀況如何,這些伺服器都加裝了許多的周邊設備,而多餘的周邊設備除了讓建構雲端運算中心的成本增加,同時也會增加耗電量,不符合目前綠能化的趨勢。
本發明提供一種設備分配控制器及設備分配方法,藉由額外增設的設備分配控制器來動態分配多個周邊設備至伺服器,進而提升伺服器的使用效率以及避免能源的浪費。
本發明的設備分配控制器包括多個周邊設備、處理器以及通訊介面。所述周邊設備符合匯流排(PCI Express)互聯標準。處理器藉由符合匯流排互聯標準的匯流排耦接所述周邊設備。通訊介面耦接處理器,並且符合匯流排互聯標準。伺服器透過通訊介面耦接設備分配控制器。處理器在伺服器啟動時接收伺服器的設備掃描請求,並且提供預設設備資訊至伺服器,其中伺服器依據預設設備資訊來預留對應的硬體資源以及記憶體空間。處理器分配所述周邊設備至伺服器,其中每一種類的所述周邊設備的數量不大於預設設備資訊中所記載種類的所述周邊設備的數量。
在本發明的一實施例中,上述的處理器透過單根輸入輸出虛擬化規範以將所述設備虛擬化為多個虛擬設備,且動態分配所述虛擬設備至伺服器。
在本發明的一實施例中,上述的周邊設備包括實體設備。設備分配控制器用以動態分配實體設備至伺服器。
在本發明的一實施例中,上述的處理器依據伺服器的設備需求來動態分配所述周邊設備至伺服器。
在本發明的一實施例中,上述的當伺服器的設備需求改變時,處理器依據伺服器的設備需求來收回或重新分配所述周邊設備至伺服器。
在本發明的一實施例中,當所述周邊設備發生熱插拔事件時,處理器依據伺服器的設備需求來收回或重新分配所述周邊設備至伺服器。
在本發明的一實施例中,上述的分配所述周邊設備至伺服器的步驟包括:透過單根輸入輸出虛擬化規範以將所述設備虛擬化為多個虛擬設備;以及動態分配所述虛擬設備至伺服器,並使所述虛擬設備耦接至伺服器。
在本發明的一實施例中,上述的其中所述周邊設備包括實體設備,並且分配所述周邊設備至伺服器的步驟包括:使實體設備耦接至設備分配控制器。
在本發明的一實施例中,上述的分配所述周邊設備至伺服器的步驟包括:依據伺服器的設備需求分配所述周邊設備至伺服器。
在本發明的一實施例中,上述的分配所述周邊設備至伺服器的步驟更包括:當伺服器的設備需求改變時,依據伺服器的設備需求收回或重新分配所述周邊設備至伺服器。
在本發明的一實施例中,上述的分配所述周邊設備至伺服器的步驟更包括:當所述周邊設備發生熱插拔時,依據伺服器的設備需求收回或重新分配所述周邊設備至伺服器。
基於上述,本發明實施例的設備分配控制器以及設備分配方法在伺服器剛啟動時,將提供預設設備資訊至伺服器,使伺服器可預先藉由此預設設備資訊來保留硬體資源以及記憶體空間,因此伺服器中便可透過事先預留的硬體資源以及記憶體空間來支持由設備分配控制器所分配來的諸多周邊設備,避免設備分配控制器難以提供較多的周邊設備給此伺服器。換句話說,藉由預留硬體資源的相應技術,可使設備分配控制器在藉由動態分配的方式來分配周邊設備至伺服器時不會擔心對應的伺服器無法支援。藉此,本發明實施例便可有效提升伺服器的使用效率以及避免能源的浪費。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明實施例在周邊設備與伺服器之間的連接關係中,提出一種周邊設備的分配方法以及設備分配控制器,其使伺服器於啟動時預留可供最大使用程度的硬體資源以及記憶體空間,以供設備分配控制器進行周邊設備的分配。並且,可依據伺服器的設備需求或是熱插拔,以動態的方式直接收回或重新分配周邊設備,而無須重新開啟或關閉伺服器或是設備分配控制器的電源。藉此可以可有效達到能源的節省以及提升周邊設備的使用效率。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置連接於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地耦接該第二裝置。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1繪示本發明一實施例的設備分配控制器的方塊圖,請參考圖1,設備分配控制器100包括多個周邊設備110、多個伺服器200以及通訊介面130。在本發明一實施例中,周邊設備110以及通訊介面130符合匯流排(PCI Express)互聯標準。處理器120耦接周邊設備110以及通訊介面130,其中處理器120可藉由符合匯流排互聯標準的匯流排(圖上未示)耦接周邊設備110以及通訊介面130。多個伺服器200可透過通訊介面130耦接設備分配控制器100。在本發明一實施例中,周邊設備110以及通訊介面130之間也可以透過藉由符合匯流排互聯標準的匯流排來互相耦接。
在本實施例中,設備分配控制器100為一種用於可動態分配這些周邊設備110至一台或多台實體伺服器200。在本實施例中,設備分配控制器100用以分配周邊設備110與伺服器200之間的耦接情況。
處理器110可用以執行本發明各實施例的設備分配方法,處理器110例如是中央處理單元(Central processing unit;CPU)以藉由軟體的程式或硬體的邏輯電路來實現本發明當中所述的設備分配方法。
周邊設備110可以包括圖形處理器(graphics processing unit;GPU)、通用圖形設備分配控制器(General-purpose computing on graphics processing unit;GPGPU)、非揮發性記憶體(Non-volatile memory express;NVMe)、固態硬碟(Solid state disk;SSD)、網路介面卡(Network interface controller;NIC)、可程式化閘極陣列(Field-programmable gate array;FPGA)、磁碟陣列(Redundant array of independent disk;RAID)或任何其他類似的裝置或其組合等。舉例來說,上述各式周邊設備如果支援單根輸入輸出虛擬化(Single root I/O virtualization;SR-IOV)規範,則設備分配控制器可以將此周邊設備虛擬化為多個具有支援單根輸入輸出虛擬化技術的虛擬設備,並且進一步包括一或多個PCIe實體功能(Physical function;PF),且各個實體功能可對應至少一個虛擬功能(Virtual function;VF),其中虛擬功能可做為虛擬機器來被使用以及被分類(單根輸入輸出虛擬化SRIOV轉換成多根輸入輸出虛擬化MRIOV來使用)。也就是說,單根輸入輸出虛擬化規範係指一種PCIe的擴展功能,可以使實體的周邊設備呈現多個虛擬設備。例如,一個實體功能可對應區分為64個虛擬功能。因此,在本實施例中,處理器120可透過單根輸入輸出虛擬化規範以將周邊設備110進一步虛擬化為多個虛擬設備,並且依據伺服器110的設備需求來動態分配這些虛擬設備。然而,在本實施例中,周邊設備也可以包括多個直接提供實體功能的實體設備,本發明並不限於此。
通訊介面130可以包括用於高速通訊傳輸的多個連接埠,並且這些連接埠符合匯流排互聯標準。在本實施例中,通訊介面130可藉由纜線(Cable)耦接伺服器200,以提供周邊設備110以及伺服器120之間的資料傳輸功能。然而,本發明實施例對於設備分配控制器100以及伺服器200之間的耦接方式可視應用本實施例者所採用的傳輸介面而定,並藉由匯流排互聯標準來進行相互溝通,本發明並不加以限制。
伺服器200可以是機架型或塔式伺服器、桌上型(Desktop)電腦、筆記型電腦(Laptop)…等具備中央處理單元(Central Processing Unit;CPU)。
舉例來說,圖2繪示本發明一實施例的設備分配控制器的範例示意圖。請參考圖2,設備分配控制器300可包括周邊設備311、312、313、…、31N以及通訊介面320,並且通訊介面320可以包括連接埠331、332、…、32M,其中N以及M為大於1的正整數。在本實施例中,連接埠331、332、…、32M可為四通道SFP收發器。如圖2所示,周邊設備311、312、313、…、31N可以是圖形處理器、網路介面卡、固態硬碟、可程式化閘極陣列以及磁碟陣列…等。
在本實施例中,設備分配控制器300可透過連接埠331、332、…、32M與伺服器410、420耦接。在本實施例中,設備分配控制器300可以利用處理器來分別依據伺服器410、420的設備需求分別分配周邊設備311、312、313、…、31N至伺服器410或伺服器420,以使伺服器410、420當中的作業系統可以依據個別的設備需求使用周邊設備311、312、…、31N當中的功能。也就是說,設備分配控制器300可依據伺服器410、420個別的設備需求來分別選擇透過連接埠331、332、…、32M來耦接伺服器410、420,以進一步分別將個別伺服器所需的周邊設備提供至伺服器410、420。例如,分配網路介面卡以及固態硬碟至伺服器410,並且分配圖形處理器、可程式化閘極陣列以及磁碟陣列至伺服器420。在本實施例中,伺服器的設備需求係指伺服器於執行運算或資料存取動作時所需的硬體資源,例如伺服器於執行影像處理運算時所需的圖形處理器,或是伺服器於執行資料存取動作時所需的資料儲存設備…等。可能由於伺服器本身硬體資源不足,便需要向設備分配控制器300提出此設備需求。在本實施例中,各伺服器410、420的設備需求是依據各別的處理事務的內容來決定,本發明並不加以限制。
需說明的是,本發明的周邊設備以及通訊介面的種類以及數量不限於圖2所示,並且伺服器的數量也不限於圖2所示。在本實施例中,周邊設備、通訊介面以及伺服器的種類以及數量可以依據使用者需求來任意地配置。
再參考圖1,在本發明一實施例中,設備分配控制器100用以耦接多個伺服器200(例如,10至16個伺服器,但其數量本發明並不加以限制)。當伺服器200於啟動時,處理器110將透過通訊介面130分別接收伺服器200的設備掃描請求SR。處理器110可分別依據設備掃描請求SR提供預設設備資訊EI至每一伺服器200。藉此,伺服器200將依據預設設備資訊EI來分別預留硬體資源以及記憶體空間,以使處理器110可分配周邊設備110至伺服器200。需說明的是,周邊設備110可以為多個不同類型以及數量的PCIe設備。在本實施例中,每一種類的周邊設備的數量將不大於預設設備資訊中所記載每一種類的周邊設備的數量,並且伺服器200將分別接收到相同的預設設備資訊EI。
例如,預設設備資訊EI中所記載的設備分配控制器100可配置最多三個圖形處理器以及四個網路介面卡,而每一伺服器200將先預留可用於執行三個圖形處理器以及四個網路介面卡的硬體資源以及記憶體空間。當伺服器200啟動後,處理器120依據其中一伺服器200的設備需求來分配兩個圖形處理器以及一個網路介面卡至所述的其中一伺服器200。或者,處理器120依據其中一伺服器200的設備需求分配全部的圖形處理器以及網路介面卡至所述的其中一伺服器200。也就是說,每一伺服器200可分配到的每一種類的周邊設備110的數量將不大於預設設備資訊中所記載的數量,且可分配的每一種類的周邊設備110的數量最多可等於預設設備資訊所記載所述種類的數量。藉此,設備分配控制器100可以避免任一伺服器200因資源分配的因素,導致任一伺服器200的作業系統啟動後用於執行周邊設備110功能的至少其中之一的頻寬以及記憶體空間受到限制。
詳細來說,當伺服器200於啟動後,伺服器200將傳輸設備掃描請求至設備分配控制器100,其目的在於掃瞄設備分配控制器100當中的具有哪些種類以及數量的周邊設備110的相關設備資訊,以供啟動後的伺服器200當中的作業系統進行使用。然而,設備分配控制器100將使啟動時的伺服器200可以直接掃描周邊設備110的設備資訊或伺服器200開機完成後,再由分配控制器100進行設備分配。若為伺服器200開機完成後,再由分配控制器100進行設備分配時,設備分配控制器100將輸出預設設備資EI至啟動時的伺服器200,因此每一啟動時的伺服器200將依據預設設備資訊EI來預留對應的硬體資源以及記憶體空間。硬體資源例如是通訊匯流排的數量或是編號。
在本發明一實施例中,預設設備資訊EI可設定為設備分配控制器100能夠配置的各種類型以及最大數量的周邊設備的相關設備資訊,以使接收到預設設備資訊EI將預留可供最大使用程度的硬體資源以及記憶體空間。藉此,當伺服器200的作業系統啟動後,處理器120可以依據伺服器200的設備需求收回原先已分配至伺服器200的周邊設備110,並且重新分配周邊設備110給目前具有設備需求的伺服器200。也就是說,當伺服器200的作業系統啟動後,設備分配控制器100分配周邊設備110至伺服器200的數量將不會因為伺服器200所預留的硬體資源、頻寬或者記憶體空間不足而造成限制,並且可動態分配周邊設備110至伺服器200。設備分配控制器100可以依據伺服器200的設備需求來配置大量甚至全部的周邊設備110以供伺服器200的作業系統執行。
舉例來說,圖3繪示本發明一實施例的周邊設備的分配示意圖。請參考圖3,設備分配控制裝置500包括周邊設備511、512,並且通訊介面530包括連接埠531、532、533。在本實施例中,周邊設備511、512分別產生三個具有虛擬功能的虛擬設備511_1、511_2、511_3、512_1、512_3、512_3。設備分配控制裝置500的處理器可依據伺服器610、620、630的設備需求來分配虛擬設備511_1、511_2、511_3、512_1、512_3、512_3。在本實施例中,假設伺服器630有最高的設備需求,伺服器620其次,伺服器610最少。因此,虛擬設備511_1可藉由連接埠531耦接伺服器610。虛擬設備511_2、511_3可藉由連接埠532耦接伺服器620。虛擬設備512_1、512_2、512_3可藉由連接埠533耦接伺服器630。伺服器610、620、630可以分別依據各別設備需求來決定與虛擬設備耦接的數量,並且即使伺服器630需要較高的設備需求,也不會因為伺服器630所預留的PCIe匯流排數量以及記憶體空間不足,而造成設備分配控制裝置500無法分配足夠的資源給伺服器630。需注意的是,本實施例的不限於虛擬設備的分配情況,實體設備的分配情況亦適用之。
再參考圖1,在本發明一實施例中,由於設備分配控制器100是分別依據每一伺服器200的設備需求來分配周邊設備110,因此當伺服器200的其中之一不需要使用周邊設備110的功能時(例如,伺服器閒置、損毀或關閉等因素),設備分配控制器100可以重新動態分配伺服器200,而不需要重新開啟設備分配控制器100以及伺服器200。也就是說,設備分配控制器100的分配方式是依據伺服器200的使用狀況來決定是否收回或重新分配周邊設備100,以使具有設備資源需求的伺服器200可有效率的使用周邊設備110的實體功能以及虛擬功能。
舉例來說,圖4繪示本發明另一實施例的周邊設備的分配示意圖。請參考圖4,設備分配控制裝置700包括周邊設備711、712,並且通訊介面730包括連接埠731、732、733。在本實施例中,周邊設備711、712分別具有實體功能的實體設備711_1、712_1。設備分配控制裝置700可依據伺服器810、820、830的設備需求來分配伺服810、820、830至實體設備711_1、712_1。假設伺服器820以及830有實體設備的設備需求,伺服器810則無。因此,周邊設備711可藉由連接埠732耦接伺服器820。周邊設備712可藉由連接埠732耦接伺服器830。也就是說,伺服器820以及830可以依據設備需求來獲得實體設備711_1、712_1的耦接,而不會因為伺服器810佔走實體設備的資源,而造成設備分配控制裝置700無法分配足夠的資源給伺服820以及830。需注意的是,本實施例的不限於實體設備的分配情況,虛擬設備的分配情況亦適用之。
圖5繪示本發明一實施例的設備分配方法的流程圖。請同時參考圖1、圖5,本實施例的方法至少適用於圖1中的設備分配控制器100以及伺服器200。在步驟S910中,設備分配控制器100可設置多個周邊設備110,其中周邊設備110可藉由符合匯流排互聯標準的匯流排耦接設備分配控制器100。在步驟S920中,當伺服器200啟動時,設備分配控制器100的處理器120接收伺服器200的設備掃描請求SR,並且提供預設設備資訊EI至伺服器200以作為回應。在步驟S930中,伺服器200依據預設設備資訊EI來預留對應的硬體資源以及記憶體空間。在步驟S940中,設備分配控制器100的處理器120分配周邊設備100至伺服器200,其中每一種類的周邊設備110的數量不大於預設設備資訊EI中所記載種類的周邊設備110的數量。因此,伺服器200可以藉由通訊介面130耦接設備分配控制器100的處理器120,並且預留最高需求的硬體資源以及記憶體空間,以供處理器120依據伺服器200的設備需求來分配周邊設備110。
此外,本實施例的設備分配控制器以及伺服器的相關裝置特徵以及設備分配方法可由上述關於圖1至圖4的各實施例的敘述當中,獲得足夠的教示、建議以及實施方式,在此不再加以贅述。
綜上所述,本發明實施例的設備分配控制器可以使耦接的至少一伺服器在伺服器剛啟動時,保留最大的PCIe匯流排數量以及記憶體空間,因此伺服器中便可透過事先預留的硬體資源以及記憶體空間來支持由設備分配控制器所分配來的諸多周邊設備,避免設備分配控制器難以提供較多的周邊設備給此伺服器。換句話說,藉由預留硬體資源的相應技術,可使設備分配控制器在藉由動態分配的方式來分配周邊設備至伺服器時不會擔心對應的伺服器無法支援。藉此,本發明實施例便可有效提升伺服器的使用效率以及避免能源的浪費。並且,本發明實施例的設備分配控制器對於周邊設備發生熱插拔的情況,以動態分配的方式調整其餘周邊設備至伺服器,而不需重新開啟伺服器以及設備分配控制器。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100、300、500、700‧‧‧設備分配控制器
110、311、312、31N、511、512、711、712‧‧‧周邊設備
120‧‧‧處理器
130、530、730‧‧‧通訊介面
200、410、420、610、620、630、810、820、830‧‧‧伺服器
331、332、33M、531、532、533、731、732、733‧‧‧連接埠
511_1、511_2、511_3、512_1、512_2、512_3‧‧‧虛擬設備
711_1、712_1‧‧‧實體設備
EI‧‧‧預設設備資訊
SR‧‧‧設備掃描請求
S910、S920、S930、S940‧‧‧步驟
圖1繪示本發明一實施例的設備分配控制器的方塊圖。 圖2繪示本發明一實施例的設備分配控制器的電路示意圖。 圖3繪示本發明一實施例的周邊設備的分配示意圖。 圖4繪示本發明另一實施例的周邊設備的分配示意圖。 圖5繪示本發明一實施例的設備分配方法的流程圖。
100‧‧‧設備分配控制器
110‧‧‧周邊設備
120‧‧‧處理器
130‧‧‧通訊介面
200‧‧‧伺服器

Claims (12)

  1. 一種設備分配控制器,包括: 多個周邊設備,符合一匯流排(PCI Express)互聯標準; 一處理器,藉由符合該匯流排互聯標準的一匯流排耦接該些周邊設備;以及 一通訊介面,耦接該處理器,並且符合該匯流排互聯標準, 其中至少一伺服器透過該通訊介面耦接該設備分配控制器, 該處理器在該至少一伺服器啟動時接收該至少一伺服器的一設備掃描請求,提供一預設設備資訊至該至少一伺服器,其中該至少一伺服器依據該預設設備資訊來預留對應的一硬體資源以及一記憶體空間,且該處理器分配該些周邊設備至該至少一伺服器, 其中每一種類的該些周邊設備的數量不大於該預設設備資訊中所記載該種類的該些周邊設備的數量。
  2. 如申請專利範圍第1項所述的設備分配控制器,其中處理器透過一單根輸入輸出虛擬化規範以將該些周邊設備虛擬化為多個虛擬設備,且動態分配該些虛擬設備至該至少一伺服器。
  3. 如申請專利範圍第1項所述的設備分配控制器,其中該些周邊設備包括至少一實體設備,該設備分配控制器用以動態分配該至少一實體設備至該至少一伺服器。
  4. 如申請專利範圍第1項所述的設備分配控制器,其中該處理器依據該至少一伺服器的一設備需求來動態分配該些周邊設備至該至少一伺服器。
  5. 如申請專利範圍第4項所述的設備分配控制器,其中當該至少一伺服器的該設備需求改變時,該處理器依據該至少一伺服器的該設備需求來收回或重新分配該些周邊設備至該至少一伺服器。
  6. 如申請專利範圍第4項所述的設備分配控制器,其中當該些周邊設備當中的至少其中之一發生一熱插拔事件時,該處理器依據該至少一伺服器的該設備需求來收回或重新分配該些周邊設備至該至少一伺服器。
  7. 一種設備分配方法,適用於一設備分配控制器,其中該設備分配方法包括: 設置多個周邊設備,其中該些周邊設備藉由符合一匯流排互聯標準的一匯流排耦接該設備分配控制器; 當至少一伺服器啟動時,接收該至少一伺服器的一設備掃描請求,提供一預設設備資訊至該至少一伺服器; 該至少一伺服器依據該預設設備資訊來預留對應的一硬體資源以及一記憶體空間;以及 分配該些周邊設備至該至少一伺服器,其中每一種類的該些周邊設備的數量不大於該預設設備資訊中所記載該種類的該些周邊設備的數量。
  8. 如申請專利範圍第7項所述的設備分配方法,分配該些周邊設備至該至少一伺服器的步驟包括: 透過一單根輸入輸出虛擬化規範以將該些設備虛擬化為多個虛擬設備;以及 動態分配該些虛擬設備至該至少一伺服器,並使該些虛擬設備耦接至該伺服器。
  9. 如申請專利範圍第7項所述的設備分配方法,其中該些周邊設備包括至少一實體設備,並且,分配該些周邊設備至該至少一伺服器的步驟包括: 使該至少一實體設備耦接至該設備分配控制器。
  10. 如申請專利範圍第7項所述的設備分配方法,分配該些周邊設備至該至少一伺服器的步驟包括: 依據該至少一伺服器的一設備需求分配該些周邊設備至該至少一伺服器。
  11. 如申請專利範圍第10項所述的設備分配方法,分配該些周邊設備至該至少一伺服器的步驟更包括: 當該至少一伺服器的該設備需求改變時,依據該至少一伺服器的該設備需求收回或重新分配該些周邊設備至該至少一伺服器。
  12. 如申請專利範圍第10項所述的設備分配方法,分配該些周邊設備至該至少一伺服器的步驟更包括: 當該些周邊設備當中的至少其中之一發生一熱插拔時,依據該至少一伺服器的該設備需求收回或重新分配該些周邊設備至該至少一伺服器。
TW105125444A 2016-08-10 2016-08-10 設備分配控制器以及設備分配方法 TWI616759B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105125444A TWI616759B (zh) 2016-08-10 2016-08-10 設備分配控制器以及設備分配方法
CN201610825397.7A CN107015859A (zh) 2016-08-10 2016-09-18 设备分配控制器以及设备分配方法
US15/286,591 US20180048559A1 (en) 2016-08-10 2016-10-06 Apparatus assigning controller and apparatus assigning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105125444A TWI616759B (zh) 2016-08-10 2016-08-10 設備分配控制器以及設備分配方法

Publications (2)

Publication Number Publication Date
TW201805833A true TW201805833A (zh) 2018-02-16
TWI616759B TWI616759B (zh) 2018-03-01

Family

ID=59439058

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105125444A TWI616759B (zh) 2016-08-10 2016-08-10 設備分配控制器以及設備分配方法

Country Status (3)

Country Link
US (1) US20180048559A1 (zh)
CN (1) CN107015859A (zh)
TW (1) TWI616759B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623526B2 (en) * 2016-10-03 2020-04-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamically configuring multi-mode hardware components based on workload requirements
US11074668B2 (en) * 2018-06-19 2021-07-27 Weka.IO Ltd. GPU based server in a distributed file system
CN110333906B (zh) * 2019-05-16 2023-06-16 广州明珞装备股份有限公司 一种快速处理预留设备的方法、系统、装置和存储介质
US11467776B1 (en) 2021-06-28 2022-10-11 H3 Platform Inc. System supporting virtualization of SR-IOV capable devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386654B2 (en) * 2008-03-25 2013-02-26 Hewlett-Packard Development Company, L.P. System and method for transforming PCIe SR-IOV functions to appear as legacy functions
US8732349B2 (en) * 2009-11-18 2014-05-20 Fusion-Io, Inc. Assignment of resources in an input/output (I/O) virtualization system
US9135044B2 (en) * 2010-10-26 2015-09-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Virtual function boot in multi-root I/O virtualization environments to enable multiple servers to share virtual functions of a storage adapter through a MR-IOV switch
CN102722414B (zh) * 2012-05-22 2014-04-02 中国科学院计算技术研究所 用于多根i/o 虚拟化共享系统的i/o 资源管理方法
CN102722458B (zh) * 2012-05-29 2015-01-07 中国科学院计算技术研究所 一种用于多根共享系统的i/o重映射方法和装置
CN102819447B (zh) * 2012-05-29 2015-06-03 中国科学院计算技术研究所 一种用于多根共享系统的直接i/o虚拟化方法和装置
CN103701881B (zh) * 2013-12-18 2017-03-22 中国科学院计算技术研究所 一种支持i/o功能动态分配的虚拟热插拔系统及其工作方法
TWI556174B (zh) * 2014-03-05 2016-11-01 威盛電子股份有限公司 虛擬功能分配系統、方法及其管理主機

Also Published As

Publication number Publication date
US20180048559A1 (en) 2018-02-15
TWI616759B (zh) 2018-03-01
CN107015859A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
US11768698B2 (en) Mechanism to dynamically allocate physical storage device resources in virtualized environments
US8930507B2 (en) Physical memory shared among logical partitions in a VLAN
US8103810B2 (en) Native and non-native I/O virtualization in a single adapter
US7913024B2 (en) Differentiating traffic types in a multi-root PCI express environment
US9531668B2 (en) Micro server, method of allocating MAC address, and computer readable recording medium
WO2016135875A1 (ja) 情報処理装置
CN110098946B (zh) 虚拟化网元设备的部署方法以及装置
TWI616759B (zh) 設備分配控制器以及設備分配方法
US10592285B2 (en) System and method for information handling system input/output resource management
CN102722414A (zh) 用于多根i/o 虚拟化共享系统的i/o 资源管理方法
US20120284437A1 (en) Pci express sr-iov/mr-iov virtual function clusters
TWI598740B (zh) 設備分配控制器以及設備分配方法
US20230051825A1 (en) System supporting virtualization of sr-iov capable devices
CN111382095A (zh) 用于主机适应可配置集成电路管芯的角色变化的方法和装置
US11922072B2 (en) System supporting virtualization of SR-IOV capable devices
US9218219B2 (en) Managing virtual functions of an input/output adapter
US7827333B1 (en) System and method for determining a bus address on an add-in card
US11093422B2 (en) Processor/endpoint communication coupling configuration system
US11360824B2 (en) Customized partitioning of compute instances
US20150039873A1 (en) Processor providing multiple system images
WO2022063273A1 (zh) 一种基于numa属性的资源分配方法及装置
WO2015043175A1 (zh) 服务器系统及其操作系统启动方法和启动管理节点
CN116324706A (zh) 分离式存储器池分配
CN108228496B (zh) 一种直接内存访问内存管理方法、装置和主控设备
TWI615720B (zh) 資源分配系統、設備分配控制器以及設備識別方法