TW201823984A - 中央處理單元的配置方法及適用此方法的伺服器 - Google Patents

中央處理單元的配置方法及適用此方法的伺服器 Download PDF

Info

Publication number
TW201823984A
TW201823984A TW106102081A TW106102081A TW201823984A TW 201823984 A TW201823984 A TW 201823984A TW 106102081 A TW106102081 A TW 106102081A TW 106102081 A TW106102081 A TW 106102081A TW 201823984 A TW201823984 A TW 201823984A
Authority
TW
Taiwan
Prior art keywords
central processing
processing unit
performance
server
task
Prior art date
Application number
TW106102081A
Other languages
English (en)
Other versions
TWI613594B (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 財團法人工業技術研究院
Application granted granted Critical
Publication of TWI613594B publication Critical patent/TWI613594B/zh
Publication of TW201823984A publication Critical patent/TW201823984A/zh

Links

Classifications

    • 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/5083Techniques for rebalancing the load in a distributed system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

一種中央處理單元的配置方法及伺服器,該方法包括測試伺服器的第一效能,記錄用以執行第一類型任務的第一中央處理單元的第一數量、用以執行第二類型任務的第二中央處理單元的第二數量與第一效能。判斷第一中央處理單元是否處於忙碌狀態。當第一中央處理單元處於忙碌狀態時,增加該第一數量。當第一中央處理單元未處於忙碌狀態時,判斷第一類型任務是否達到上限頻寬。當第一類型任務未達到上限頻寬時,增加該第二數量。持續執行測試第一效能、判斷第一中央處理單元是否處於忙碌狀態與判斷第一類型任務是否達到上限頻寬的步驟。

Description

中央處理單元的配置方法及適用此方法的伺服器
本揭露係關於一種中央處理單元的配置方法及適用此方法的伺服器,特別是一種針對處理不同類型任務的中央處理單元的配置方法及伺服器。
一直以來,人們一直在追求儲存系統的存取速度以提升其效能。由於儲存系統受限於傳統的硬碟(Hard Disk Drive, HDD) 的存取速度,而導致系統的效能無法改善。因此,有越來越多的人提出以固態硬碟(Solid State Disk, SSD)來取代傳統的硬碟。在全快閃陣列(All Flash Array, AFA)的架構下,應用具有高速、低延遲傳輸特性的高速匯流排標準(Infiniband),配置有網路卡的用戶端與伺服器之間能夠達到高存取效能。然而,高速匯流排標準(Infiniband)價格昂貴,且與乙太網通訊協定(Ethernet)無法相容。因此,人們期望在乙太網通訊協定(Ethernet)的環境之下也可以達到高存取效能。然而,由於收送網路封包的底層網卡,以及處理網路封包的上層網路層的延遲影響,而導致用戶端與伺服器之間的存取無法達到高效能。
本揭露提出一種中央處理單元的配置方法及伺服器,可以依據處理不同類型任務的負載情況,自動地配置中央處理單元的數量,使整體伺服器的效能可以提升。
依據本揭露之一實施例提出一種中央處理單元的配置方法,適用於包括多個中央處理單元的處理系統,所述的配置方法包括:測試伺服器的第一效能,且記錄經設置以執行第一類型任務的至少一第一中央處理單元的第一數量、經設置以執行第二類型任務的至少一第二中央處理單元的第二數量與第一效能。判斷至少一第一中央處理單元是否處於忙碌狀態。當至少一第一中央處理單元處於忙碌狀態時,增加至少一第一中央處理單元的第一數量。當至少一第一中央處理單元未處於忙碌狀態時,判斷第一類型任務是否達到上限頻寬。當第一類型任務未達到上限頻寬時,增加至少一第二中央處理單元的第二數量。持續執行測試伺服器的第一效能、判斷伺服器的至少一第一中央處理單元是否處於忙碌狀態與判斷第一類型任務是否達到上限頻寬的上述步驟,直到第一類型任務達到上限頻寬。其中,初始配置的至少一第一中央處理單元的第一數量與至少一第二中央處理單元的第二數量均為1。
依據本揭露之另一實施例提出一種伺服器,包括至少一硬體佇列、至少一軟體佇列、處理器與儲存單元。至少一硬體佇列經設置以接受網路封包。至少一軟體佇列用以重置網路封包。處理器包括至少一第一中央處理單元與至少一第二中央處理單元,經設置以處理網路封包。儲存單元經設置以儲存至少一執行指令,至少一執行指令使該處理器經設置以測試伺服器的第一效能,且記錄經設置以執行第一類型任務的至少一第一中央處理單元的第一數量、經設置以執行第二類型任務的至少一第二中央處理單元的第二數量與第一效能。判斷至少一第一中央處理單元是否處於忙碌狀態。當至少一第一中央處理單元處於忙碌狀態時,增加至少一第一中央處理單元的第一數量。當至少一第一中央處理單元未處於忙碌狀態時,判斷第一類型任務是否達到上限頻寬。當第一類型任務未達到上限頻寬時,增加至少一第二中央處理單元的第二數量。持續執行測試伺服器的第一效能、判斷伺服器的至少一第一中央處理單元是否處於忙碌狀態與判斷第一類型任務是否達到上限頻寬的上述步驟,直到第一類型任務達到上限頻寬。其中,初始配置的至少一第一中央處理單元的第一數量與至少一第二中央處理單元的第二數量均為1。
依據本揭露之另一實施例提出一種中央處理單元的配置方法,適用於包括多個中央處理單元的處理系統。所述的配置方法包括以下步驟:測試伺服器的第一效能,且記錄經設置以執行第一類型任務的至少一第一中央處理單元的第一數量、經設置以執行第二類型任務的至少一第二中央處理單元的第二數量與第一效能。將至少一第一中央處理單元的第一數量減1。若至少一第一中央處理單元的第一數量不等於0,判斷至少一第一中央處理單元的第一數量是否小於等於至少一第二中央處理單元的第二數量,且當第一數量小於等於第二數量時,增加第二數量,且使第一數量為多個中央處理單元的總數量減去第二數量。其中,初始配置至少一第二中央處理單元的第二數量為1,至少一第一中央處理單元的第一數量為多個中央處理單元的總數量減去第二數量。
依據本揭露之另一實施例提出一種伺服器,包括至少一硬體佇列、至少一軟體佇列、處理器與儲存單元。硬體佇列經設置以接受至少一網路封包。軟體佇列用以重置網路封包。處理器包括至少一第一中央處理單元與至少一第二中央處理單元,經設置以處理該至少一網路封包。儲存單元經設置以儲存至少一執行指令。至少一執行指令使處理器經設置以執行以下步驟:測試伺服器的第一效能,且記錄經設置以執行第一類型任務的至少一第一中央處理單元的第一數量、經設置以執行第二類型任務的至少一第二中央處理單元的第二數量與第一效能。將至少一第一中央處理單元的第一數量減1。若至少一第一中央處理單元的第一數量不等於0,判斷至少一第一中央處理單元的第一數量是否小於等於至少一第二中央處理單元的第二數量,且當第一數量小於等於第二數量時,增加第二數量,且使第一數量為多個中央處理單元的總數量減去第二數量。其中,初始配置至少一第二中央處理單元的第二數量為1,至少一第一中央處理單元的第一數量為多個中央處理單元的總數量減去第二數量。
綜合以上所述,於本揭露的中央處理單元的配置方法及伺服器中,可以藉由判斷第一中央處理單元的負載狀況,選擇性地增加處理第一中央處理單元配置的數量,且藉由判斷第一類型任務的頻寬狀況時,選擇性地增加第二中央處理單元的第二數量,並反覆地持續前述步驟。藉此,可以使中央處理單元作最適當的配置, 以改善伺服器的效能。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本揭露之精神與原理,並且提供本揭露之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本揭露之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本揭露之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可理解本揭露相關之目的及優點。以下之實施範例係進一步詳細說明本揭露之觀點,但非以任何觀點限制本揭露之範疇。
請參照圖1,圖1係依據本揭露所繪示的一實施範例伺服器的架構圖。如圖1所示,伺服器1包括網路介面控制器(network interface controller, NIC)10以及核心12。網路介面控制器10具有多個硬體佇列102~106,經設置以接收來自用戶端2所發送的網路封包PKT。於實務上,在接收端調整(Receive Side Scaling, RSS)未致能的狀態之下,網路介面控制器10僅有一個硬體佇列,而當接收端調整(Receive Side Scaling, RSS)被致能時,網路介面控制器10可以具有多個硬體佇列(如硬體佇列102~106)。所述的接收端調整(RSS) 主要係用以讓網路介面控制器10能夠將網路的處理負載分散到多核心電腦的處理器中的多核心處理單元,使得伺服器能夠處理更高的網路流量。多個硬體佇列分別一一對應多個中央處理單元,如圖1實施例所示,多個硬體佇列102~106分別對應處理器14中的中央處理單元C1~C3,網路封包PKT便可以分散至處理器14中的多個中央處理單元C1~C3進行處理。所述的中央處理單元C1~C3僅係作為舉例說明,於實務上,處理器14係可包括更多的中央處理單元。於此實施例中,核心12中的多個軟體佇列122~126可對應同一個中央處理單元,因此當多個硬體佇列102~106的負載不平均時,可藉由搭配多個軟體佇列122~126來重置網路封包的配置,以使中央處理單元C1~C3的負載更為平均分散。
於一實施例中,處理器14中的多個第一中央處理單元(如中央處理單元C1~C3)執行第一類型任務,使網路介面控制器10接收來自用戶端2的網路封包PKT。 於一實施例中,儲存單元16儲存有一執行指令,處理器14依據執行指令,測試伺服器1的第一效能且記錄經設置以執行第一類型任務的第一中央處理單元的第一數量。請一併參照圖1與圖2,圖2係依據本揭露所繪示的中央處理單元的配置方法一實施範例流程圖。於圖2的實施例中,處理器14初始配置的第一中央處理單元的第一數量為1,且於步驟S201中,處理器14測試並記錄伺服器1的第一效能。所述的第一效能係透過每秒輸入/輸出運算(Input/Output Operations Per Second, IOPS) 的量測方式所獲得。於接下來的步驟S203中,處理器14判斷第一類型任務是否達到上限頻寬,若是未達到上限頻寬,則於步驟S205中,增加第一中央處理器的第一數量,並記錄伺服器1的第一效能。
於此實施例中,網路介面控制器10接收來自用戶端2的網路封包PKT,處理器14自多個中央處理單元中先分配一個第一中央處理單元以處理第一類型任務,也就是網路介面控制器10的硬體中斷(hardware interrupt),且測試所述的第一類型任務是否達到網路介面控制器10的上限頻寬。若是未達到網路介面控制器10的上限頻寬,處理器14進一步地將第一中央處理單元的第一數量由1增加為2,並記錄伺服器1的第一效能。於此實施例中,處理器14會持續上述步驟,逐步地增加第一中央處理單元的第一數量,直到第一類型任務達到網路介面控制器10的上限頻寬。此時,處理器14所記錄到的第一中央處理單元的第一數量便是網路介面控制器10達到上限頻寬所需要的第一中央處理單元的最少數量配置。藉此,處理器14便不需要再配置更多第一中央處理單元給網路介面控制器10,而係可以把其餘的中央處理單元分配給伺服器1中的其他設備,以減少資源的浪費。
前述的實施例僅考慮第一中央處理單元所執行的第一類型任務。於另一實施例中,更可考慮處理器14中的多個第二中央處理單元所執行的第二類型任務,使網路小型計算機系統介面目標(iSCSI target)接收且處理所述的網路封包。於實務上,所述的網路小型計算機系統介面係以網際網路通訊協定(TCP/IP)為基礎,用來連接伺服器1與用戶端2以相互交換資訊。網路小型計算機系統介面目標具有網路執行緒(network thread)與工作執行緒(worker thread),分別配有中央處理單元經設置以對網路封包進行處理。請一併參閱圖1與圖3,圖3係依據本揭露所繪示的中央處理單元的配置方法另一實施範例流程圖。於圖3的實施例中,處理器初始配置給第一類型任務的第一中央處理單元的第一數量為1,而初始配置給第二類型任務的第二中央處理單元的第二數量亦為1。於步驟S301中,處理器14依據執行指令,測試伺服器1的第一效能,且記錄經設置以執行第一類型任務的第一中央處理單元的第一數量、經設置以執行第二類型任務的第二中央處理單元的第二數量與所述的第一效能。於接下來的步驟S303中,處理器14判斷第一中央處理單元是否處於忙碌狀態。當第一中央處理單元處於忙碌狀態時,於步驟S307中,處理器14增加第一中央處理單元的第一數量。當第一中央處理單元未處於忙碌狀態時,於步驟S305中,處理器14判斷第一類型任務是否達到上限頻寬。於步驟S309中,當第一類型任務未達到上限頻寬時,增加第二中央處理單元的第二數量。持續執行測試伺服器1的第一效能、判斷伺服器1的第一中央處理單元是否處於忙碌狀態與判斷第一類型任務是否達到上限頻寬的步驟。
於一實施例中,步驟S303中,處理器14判斷第一中央處理單元是否處於忙碌狀態係包括,處理器14判斷第一中央處理單元所被佔用的資源是否大於等於一門檻值。當第一中央處理單元所被佔用的資源大於等於門檻值時,處理器14判斷第一中央處理單元處於忙碌狀態,當第一中央處理單元被佔用的資源小於所述的門檻值時,處理器14判斷第一類型任務未處於忙碌狀態。於一個可應用的實施例中,所被佔用的資源係為中央處理單元的使用率,當使用率大於等於一個門檻值(例如80%)時,處理器14便判斷第一中央處理單元處於忙碌狀態。反之,當使用率小於所述門檻值時,處理器便判斷第一中央處理單元未處於忙碌狀態。於另一個可應用的實施例中,所被佔用的資源係為多個第一中央處理單元的平均使用率,例如三個第一中央處理單元的使用率分別為85%、90%、80%,其平均使用率為85%大於前述的門檻值80%,處理器14便判斷該些第一中央處理單元處於忙碌狀態。
於一個可應用的實施例中,當第一類型任務達到上限頻寬時,獲得伺服器1的一運作效能表,此運作效能表至少包括第一效能、第一數量以及第二數量。請參照表一,表一係依據本揭露之一實施例所繪示的運作效能表。如表一所述,當處理器14依據執行指令,執行上述步驟後,當第一類型任務達到上限頻寬時,處理器14獲得對應伺服器的運作效能表。 表一
如表一所示,當經設置以處理第一類型任務的第一中央處理單元的第一數量與經設置以處理第二類型任務的第二中央處理單元的第二數量具有不同的配置時,所產生的第一效能也有所不同。在有限的中央處理單元的數量下,透過前述的配置方式,便可以於表一中查找到較佳的中央處理單元的配置模式。以表一的例子來說,當第一中央處理單元的第一數量與第二中央處理單元的第二數量的總和為10時,若是將第一中央處理單元的第一數量與第二中央處理單元的第二數量分別配置為4與6,其所得到的第一效能會優於將第一中央處理單元的第一數量與第二中央處理單元的第二數量分別配置為3與7所得到的第一效能。又從表一可以得知,若是第二中央處理單元的第二數量為11的情形下,將第一中央處理單元的第一數量配置為3所得到的第一效能優於將第一中央處理單元的第一數量配置為4所得到的第一效能。又從表一可以得知,當第一中央處理單元的第一數量與第二中央處理單元的第二數量被配置為3與6,其所得到的第一效能優於第一中央處理單元的第一數量與第二中央處理單元的第二數量被配置為4與7。由前述多個可應用的實施例中,可以得知第一中央處理單元的第一數量與第二中央處理單元的第二數量的總和較大時,其所能夠產生的效能未必優於第一中央處理單元的第一數量與第二中央處理單元的第二數量的總和較小時所能夠產生的效能。而即使第一中央處理單元的第一數量與第二中央處理單元的第二數量的總和相同,但配置的方式不同時,其產生的效能也有所不同。透過本揭露的配置方式,反覆地測試且記錄每次配置所對應的效能,便可以找到用最少資源或是於有限資源下可得到最高效能的中央處理單元的配置方式。
請參照圖1與圖4,圖4係依據本揭露所繪示的中央處理單元的配置方法另一實施範例流程圖。於此實施例中,處理器14更包括第三處理單元與第四處理單元,處理器14更可以依據儲存單元16中的執行指令,於步驟S401中,測試伺服器1的第二效能,且記錄經設置以執行第三類型任務的第三中央處理單元的第三數量、經設置以執行第四類型任務的第四中央處理單元的第四數量與第二效能。於一個可應用的實施例中,第三類型任務與第四類型任務分別係為快閃記憶體磁碟陣列管理技術(Software Orchestrated Flash Array, SOFA)中,前端的輸入/輸出需求的處理程序與後端讀寫的處理程序。而於此實施例中,第一中央處理單元的第一數量、第二中央處理單元的第二數量、第三中央處理單元的第三數量與第四中央處理單元的第四數量的總和為伺服器1的中央處理單元的總數量。以一個實際的例子來說,假設伺服器1的中央處理單元的總數量為24,而已配置的第一中央處理單元的第一數量、第二中央處理單元的第二數量的總和為13,此時處理器14分配給第三中央處理單元的第三數量與第四中央處理單元的第四數量的總和為11。
於另一實施例中,第一中央處理單元的第一數量、第二中央處理單元的第二數量、第三中央處理單元的第三數量與第四中央處理單元的第四數量的總和係小於伺服器1的中央處理單元的總數量。舉例來說,假設伺服器1的中央處理單元的總數量為24,其中已配置的第一中央處理單元的第一數量、第二中央處理單元的第二數量的總和為11,而分配給第三中央處理單元的第三數量與第四中央處理單元的第四數量的總和為10。也就是說,於此實施例中,其餘的3個中央處理單元經設置以處理其他的任務或是處於閒置狀態。
於步驟S402中,第三中央處理單元的第三數量減少1,且於接下來的步驟S402’中,處理器14判斷第三中央處理單元的第三數量是否等於0。若是第三中央處理單元的第三數量等於0,則結束配置方法的流程。反之,若是第三中央處理單元的第三數量不等於0,則於步驟S403中,處理器14判斷第三中央處理單元的第三數量是否小於等於第四中央處理單元的第四數量。於步驟S405中,當第三中央處理單元的第三數量小於等於第四中央處理單元的第四數量時,處理器14增加第四中央處理單元的第四數量,且使第三中央處理單元的第三數量為該些中央處理單元(也就是第一中央處理單元、第二中央處理單元、第三中央處理單元與第四中央處理單元)的總數量減去第一中央處理單元的第一數量、第二中央處理單元的第二數量與第四中央處理單元的第四數量。
於一實施例中,假設伺服器1的中央處理單元的總數量為30,而處理器14已配置第一中央處理單元的第一數量、第二中央處理單元的第二數量使其總和為13,此時處理器14需要分配給第三中央處理單元的第三數量與第四中央處理單元的第四數量的總和為11。於此實施例中,處理器14初始配置使第四中央處理單元的第四數量為1,此時,第三中央處理單元的第三數量為10。於步驟S401中,第三中央處理單元的第三數量為10與第四中央處理單元的第四數量為1的配置下,處理器14測試且記錄伺服器1的第二效能,並且進入下個步驟S402,使第三中央處理單元的第三數量減少1。且於步驟S402’中,處理器14判斷第三數量是否為0。若是第三數量不為0時,則於步驟S403中,處理器14判斷第三中央處理單元的第三數量是否小於等於第四中央處理單元的第四數量。於此實施例中,由於第三中央處理單元的第三數量係由10減少至9,仍大於第四中央處理單元的第四數量,因此回到步驟S401中,處理器14測試第二效能。 經過重複上述的步驟之後,第四中央處理單元的第四數量逐漸由10減少至1,此時第三中央處理單元的第三數量等於第四中央處理單元的第四數量(兩者皆為1),進入步驟S405,處理器14將第四中央處理單元的第四數量由1增加為2,且使第三中央處理單元的第三數量為該些中央處理單元(也就是第一中央處理單元、第二中央處理單元、第三中央處理單元與第四中央處理單元)的總數量(也就是24)減去第一中央處理單元的數量、第二中央處理單元的數量與第四中央處理單元的數量,也就是9。
此時,回到步驟S401中,在第三中央處理單元的第三數量與第四中央處理單元的第四數量分別為9與2的情形下,處理器14測試第二效能,且持續上述的步驟。當第三中央處理單元的數量為0時,得到包括第二效能、第三中央處理單元的數量以及第四中央處理單元的數量的伺服器的一運作效能表。請一併參照表二,表二係依據本揭露之一實施例所繪示的運作效能表,此運作效能表至少包括第二效能、第三數量以及第四數量。如表二所示,在不同的第三中央處理單元的第三數量與第四中央處理單元的第四數量的配置下,伺服器1具有不同的第二效能。由表二可得知,當第三中央處理單元的第三數量為7的時候,第四中央處理單元的第四數量被配置為2所產生的第二效能優於第四中央處理單元的第四數量被配置為3所產生的第二效能。換句話說,第三中央處理單元的第三數量與第四中央處理單元的第四數量的總和即使較小,其所產生的第二效能仍可以優於較大的第三中央處理單元的第三數量與第四中央處理單元的第四數量的總和所能產生的第二效能。也就是說,透過反覆執行上述的中央處理單元的配置方法所得到的運作效能表,可以使得處理器14於有限資源的情形下,獲得較佳的中央處理單元的配置方式,以減少資源的浪費,提升伺服器系統的效能。 表二
於一實施例中,當伺服器1具有24個中央處理單元且將該些24個中央處理單元分配給前述的四個類型任務時,其分配的組合共有1771種,然而透過本揭露的配置方法,所得到的伺服器的運作效能表會產生較少的分配組合。舉例來說,將13個中央處理單元分配給第一類型任務與第二類型任務,且將剩餘的11個中央處理單元分配給第三類型任務與第四類型任務,透過本揭露的配置方法所產生的分配組合僅為一百餘種,藉此可以將中央處理單元的配置與測試的流程與其所花費的時間縮減。
前述實施例所揭示的係針對關聯於快閃記憶體磁碟陣列管理技術(SOFA)的第三類型任務與第四類型任務,以及第一類型任務與第二類型任務的配置方法。然而,於另一實施例中,配置方法僅係針對第三類型任務與第四類型任務。請參照圖5,圖5係依據本揭露所繪示的中央處理單元的配置方法另一實施範例流程圖。圖5的實施例大致上具有與圖4的實施例相同的步驟,於此不予贅述。惟不同之處係在於,於圖5的步驟S405’中,第四中央處理單元的第四數量係為該些中央處理單元(也就是第三中央處理單元與第四中央處理單元)的總數量減去第三中央處理單元的第三數量。也就是說,於此實施例中,不需考慮前述的第一中央處理單元的第一數量與第二中央處理單元的第二數量。
綜合以上所述,本揭露的中央處理單元的配置方法及伺服器中,係藉由判斷第一中央處理單元的負載狀況,選擇性地增加處理第一中央處理單元配置的數量,且藉由判斷第一類型任務是否達到第一中央處理單元的上限頻寬,而選擇性地增加第二中央處理單元的第二數量,並反覆地持續前述步驟。藉此,獲得中央處理單元最適當的配置,從而改善伺服器的效能。
雖然本揭露以前述之實施例揭露如上,然其並非用以限定本揭露。在不脫離本揭露之精神和範圍內,所為之更動與潤飾,均屬本揭露之專利保護範圍。關於本揭露所界定之保護範圍請參考所附之申請專利範圍。
1‧‧‧伺服器
10‧‧‧網路介面控制器
102~106‧‧‧硬體佇列
12‧‧‧核心
122~126‧‧‧軟體佇列
14‧‧‧處理器
16‧‧‧儲存單元
C1~C3‧‧‧中央處理單元
PKT‧‧‧網路封包
2‧‧‧用戶端
圖1係依據本揭露所繪示的一實施範例伺服器的架構圖。 圖2係依據本揭露所繪示的中央處理單元的配置方法一實施範例流程圖。 圖3係依據本揭露所繪示的中央處理單元的配置方法另一實施範例流程圖。 圖4係依據本揭露所繪示的中央處理單元的配置方法另一實施範例流程圖。 圖5係依據本揭露所繪示的中央處理單元的配置方法另一實施範例流程圖。

Claims (13)

  1. 一種中央處理單元的配置方法,適用於包括多個中央處理單元的處理系統,包括:測試一伺服器的一第一效能,且記錄經設置以執行一第一類型任務的至少一第一中央處理單元的一第一數量、經設置以執行一第二類型任務的至少一第二中央處理單元的一第二數量與該第一效能;判斷該至少一第一中央處理單元是否處於忙碌狀態;當該至少一第一中央處理單元處於忙碌狀態時,增加該至少一第一中央處理單元的該第一數量;當該至少一第一中央處理單元未處於忙碌狀態時,判斷該第一類型任務是否達到一上限頻寬;當該第一類型任務未達到該上限頻寬時,增加該至少一第二中央處理單元的該第二數量;以及持續執行測試該伺服器的該第一效能、判斷該伺服器的該至少一第一中央處理單元是否處於忙碌狀態與判斷該第一類型任務是否達到該上限頻寬的以上步驟,直到該第一類型任務達到該上限頻寬,其中,初始配置的該至少一第一中央處理單元的該第一數量與該至少一第二中央處理單元的該第二數量均為1。
  2. 如請求項1所述的中央處理單元的配置方法,其中於判斷該至少一第一中央處理單元是否處於忙碌狀態的步驟中,包括:判斷該至少一第一中央處理單元所被佔用的資源是否大於等於一門檻值,其中當該至少一第一中央處理單元所被佔用的資源大於等於該門檻值時,判斷該至少一第一中央處理單元處於忙碌狀態,當該至少一第一中央處理單元所被佔用的資源小於該門檻值時,判斷該至少一第一中央處理單元未處於忙碌狀態。
  3. 如請求項1所述的中央處理單元的配置方法,更包括:當該第一類型任務達到該上限頻寬時,獲得至少包括該第一效能、該第一數量以及該第二數量的該伺服器的第一運作效能表。
  4. 如請求項1所述的中央處理單元的配置方法,更包括:測試該伺服器的一第二效能,且記錄經設置以執行一第三類型任務的至少一第三中央處理單元的一第三數量、經設置以執行一第四類型任務的至少一第四中央處理單元的一第四數量與該第二效能;將該至少一第三中央處理單元的該第三數量減1;以及若該至少一第三中央處理單元的該第三數量不等於0,判斷該至少一第三中央處理單元的該第三數量是否小於等於該至少一第四中央處理單元的該第四數量,且當該第三數量小於等於該第四數量時,增加該第四數量,且使該第三數量為該多個中央處理單元的總數量減去該第一數量、該第二數量與該第四數量,其中,初始配置該至少一第四中央處理單元的該第四數量為1,該至少一第三中央處理單元的該第三數量為該多個中央處理單元的總數量減去該第一數量、該第二數量與該第四數量。
  5. 如請求項4所述的中央處理單元的配置方法,更包括:當該至少一第三中央處理單元的該第三數量等於0時,獲得至少包括該第二效能、該第三數量以及該第四數量的該伺服器的第二運作效能表。
  6. 一種伺服器,包括:至少一硬體佇列,經設置以接受至少一網路封包;至少一軟體佇列,用以重置該至少一網路封包;一處理器,包括至少一第一中央處理單元與至少一第二中央處理單元,經設置以處理該至少一網路封包;一儲存單元,經設置以儲存至少一執行指令,該至少一執行指令使該處理器經設置以:測試該伺服器的一第一效能,且記錄經設置以執行一第一類型任務的該至少一第一中央處理單元的一第一數量、經設置以執行一第二類型任務的該至少一第二中央處理單元的一第二數量與該第一效能;判斷該至少一第一中央處理單元是否處於忙碌狀態;當該至少一第一中央處理單元處於忙碌狀態時,增加該至少一第一中央處理單元的該第一數量;當該至少一第一中央處理單元未處於忙碌狀態時,判斷該第一類型任務是否達到一上限頻寬;當該第一類型任務未達到該上限頻寬時,增加該至少一第二中央處理單元的該第二數量;以及持續執行測試該伺服器的該第一效能、判斷該伺服器的該至少一第一中央處理單元是否處於忙碌狀態與判斷該第一類型任務是否達到該上限頻寬的以上步驟,直到該第一類型任務達到該上限頻寬,其中,初始配置的該至少一第一中央處理單元的該第一數量與該至少一第二中央處理單元的該第二數量均為1。
  7. 如請求項6所述的伺服器,其中當該至少一第一中央處理單元所被佔用的資源大於等於一門檻值時,該處理器判斷該至少一第一中央處理單元處於忙碌狀態,當該至少一第一中央處理單元所被佔用的資源小於該門檻值時,該處理器判斷該至少一第一中央處理單元未處於忙碌狀態。
  8. 如請求項6所述的伺服器,其中該處理器更經設置以當該第一類型任務達到該上限頻寬時,獲得至少包括該第一效能、該第一數量以及該第二數量的該伺服器的第一運作效能表。
  9. 如請求項6所述的伺服器,其中該處理器更包括至少一第三中央處理單元與至少一第四中央處理單元,經設置以處理該至少一網路封包,該處理器更經設置以:測試該伺服器的一第二效能,且記錄經設置以執行一第三類型任務的該至少一第三中央處理單元的一第三數量、經設置以執行一第四類型任務的該至少一第四中央處理單元的一第四數量與該第二效能;將該至少一第三中央處理單元的該第三數量減1;以及若該至少一第三中央處理單元的該第三數量不等於0,判斷該至少一第三中央處理單元的該第三數量是否小於等於該至少一第四中央處理單元的該第四數量,且當該第三數量小於等於該第四數量時,增加該第四數量,且使該第三數量為多個中央處理單元的總數量減去該第一數量、該第二數量與該第四數量,其中,初始配置該至少一第四中央處理單元的該第四數量為1,該至少一第三中央處理單元的該第三數量為該多個中央處理單元的總數量減去該第一數量、該第二數量與該第四數量。
  10. 如請求項9所述的伺服器,其中當該至少一第三中央處理單元的該第三數量等於0時,獲得至少包括該第二效能、該第三數量以及該第四數量的該伺服器的第二運作效能表。
  11. 一種中央處理單元的配置方法,適用於包括多個中央處理單元的處理系統,包括:測試一伺服器的一第一效能,且記錄經設置以執行一第一類型任務的至少一第一中央處理單元的一第一數量、經設置以執行一第二類型任務的至少一第二中央處理單元的一第二數量與該第一效能;將該至少一第一中央處理單元的該第一數量減1;以及若該至少一第一中央處理單元的該第一數量不等於0,判斷該至少一第一中央處理單元的該第一數量是否小於等於該至少一第二中央處理單元的該第二數量,且當該第一數量小於等於該第二數量時,增加該第二數量,且使該第一數量為該多個中央處理單元的總數量減去該第二數量,其中,初始配置該至少一第二中央處理單元的該第二數量為1,該至少一第一中央處理單元的該第一數量為該多個中央處理單元的總數量減去該第二數量。
  12. 一種伺服器,包括:至少一硬體佇列,經設置以接受至少一網路封包;至少一軟體佇列,用以重置該至少一網路封包;一處理器,包括至少一第一中央處理單元與至少一第二中央處理單元,經設置以處理該至少一網路封包;一儲存單元,經設置以儲存至少一執行指令,該至少一執行指令使該處理器經設置以:測試該伺服器的一第一效能,且記錄經設置以執行一第一類型任務的該至少一第一中央處理單元的一第一數量、經設置以執行一第二類型任務的該至少一第二中央處理單元的一第二數量與該第一效能;將該至少一第一中央處理單元的該第一數量減1;以及若該至少一第一中央處理單元的該第一數量不等於0,判斷該至少一第一中央處理單元的該第一數量是否小於等於該至少一第二中央處理單元的該第二數量,且當該第一數量小於等於該第二數量時,增加該第二數量,且使該第一數量為多個中央處理單元的總數量減去該第二數量,其中,初始配置該至少一第二中央處理單元的該第二數量為1,該至少一第一中央處理單元的該第一數量為該多個中央處理單元的總數量減去該第二數量。
  13. 如請求項12所述的伺服器,其中當該至少一第一中央處理單元的該第一數量等於0時,獲得至少包括該第一效能、該第一數量以及該第二數量的該伺服器的第一運作效能表。
TW106102081A 2016-12-22 2017-01-20 中央處理單元的配置方法及適用此方法的伺服器 TWI613594B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611200418.2A CN108228337B (zh) 2016-12-22 2016-12-22 中央处理单元的配置方法及适用此方法的服务器
??201611200418.2 2016-12-22

Publications (2)

Publication Number Publication Date
TWI613594B TWI613594B (zh) 2018-02-01
TW201823984A true TW201823984A (zh) 2018-07-01

Family

ID=62014747

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106102081A TWI613594B (zh) 2016-12-22 2017-01-20 中央處理單元的配置方法及適用此方法的伺服器

Country Status (4)

Country Link
US (1) US11126470B2 (zh)
JP (1) JP6408079B2 (zh)
CN (1) CN108228337B (zh)
TW (1) TWI613594B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021203061A1 (de) * 2021-03-26 2022-09-29 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Betreiben einer Recheneinheit

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200219B1 (en) * 1999-02-10 2007-04-03 Avaya Technology Corp. Dynamically allocating server resources to competing classes of work based upon achievement of service goals
US6711607B1 (en) * 2000-02-04 2004-03-23 Ensim Corporation Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
US6950849B1 (en) * 2000-11-01 2005-09-27 Hob Gmbh & Co. Kg Controlling load-balanced access by user computers to server computers in a computer network
US6919896B2 (en) * 2002-03-11 2005-07-19 Sony Computer Entertainment Inc. System and method of optimizing graphics processing
GB0220846D0 (en) * 2002-09-07 2002-10-16 Ibm Remote dynamic configuration of a web server to facilitate capacity on demand
JP2004171234A (ja) 2002-11-19 2004-06-17 Toshiba Corp マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム
WO2005006673A1 (ja) * 2003-07-15 2005-01-20 Fujitsu Limited 帯域制御装置
US20060123422A1 (en) * 2004-12-02 2006-06-08 International Business Machines Corporation Processor packing in an SMP server to conserve energy
CN101231551B (zh) 2007-01-26 2014-12-10 华硕电脑股份有限公司 多处理器系统及其效能调整方法
JP5109799B2 (ja) 2008-05-15 2012-12-26 富士通株式会社 情報処理システム、負荷制御方法、および負荷制御プログラム
KR20100035394A (ko) * 2008-09-26 2010-04-05 삼성전자주식회사 멀티 프로세싱에서의 메모리 관리장치 및 그 방법
US8195859B2 (en) 2008-12-03 2012-06-05 Hitachi, Ltd. Techniques for managing processor resource for a multi-processor server executing multiple operating systems
TW201118593A (en) * 2009-11-30 2011-06-01 Inventec Corp Method for configuring server
TWI592805B (zh) * 2010-10-01 2017-07-21 傅冠彰 網路儲存與計算資源分享系統與方法
US20130227145A1 (en) * 2011-12-27 2013-08-29 Solidfire, Inc. Slice server rebalancing
US9710306B2 (en) * 2012-04-09 2017-07-18 Nvidia Corporation Methods and apparatus for auto-throttling encapsulated compute tasks
JP5915406B2 (ja) * 2012-06-22 2016-05-11 富士通株式会社 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
US9632822B2 (en) 2012-09-21 2017-04-25 Htc Corporation Multi-core device and multi-thread scheduling method thereof
TWI468931B (zh) * 2012-11-07 2015-01-11 Inventec Corp 磁碟配置方法及伺服器機架系統
TWI488473B (zh) * 2013-01-02 2015-06-11 Ind Tech Res Inst 自動配置伺服器及其用戶終端設備的管理方法
US9172756B2 (en) 2013-03-12 2015-10-27 Cisco Technology, Inc. Optimizing application performance in a network environment
JP2015103092A (ja) * 2013-11-26 2015-06-04 株式会社日立製作所 障害回復システム及び障害回復システムの構築方法
WO2015087449A1 (ja) * 2013-12-13 2015-06-18 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
TWI602125B (zh) * 2014-04-17 2017-10-11 國立臺灣大學 資源分配方法
US20180234491A1 (en) * 2015-08-14 2018-08-16 Hewlett Packard Enterprise Development Lp Program deployment according to server efficiency rankings
US10445271B2 (en) * 2016-01-04 2019-10-15 Intel Corporation Multi-core communication acceleration using hardware queue device
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center

Also Published As

Publication number Publication date
CN108228337A (zh) 2018-06-29
TWI613594B (zh) 2018-02-01
CN108228337B (zh) 2021-08-27
JP2018106660A (ja) 2018-07-05
US11126470B2 (en) 2021-09-21
JP6408079B2 (ja) 2018-10-17
US20180181438A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
US10534542B2 (en) Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
US8413158B2 (en) Processor thread load balancing manager
US8468251B1 (en) Dynamic throttling of access to computing resources in multi-tenant systems
US9575664B2 (en) Workload-aware I/O scheduler in software-defined hybrid storage system
US9246840B2 (en) Dynamically move heterogeneous cloud resources based on workload analysis
US7587492B2 (en) Dynamic performance management for virtual servers
US10394606B2 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
US20180285294A1 (en) Quality of service based handling of input/output requests method and apparatus
US20130254407A1 (en) Systems and Methods for Time-Based Dynamic Allocation of Resource Management
US11556391B2 (en) CPU utilization for service level I/O scheduling
US10146446B1 (en) Data storage system with port congestion hinting for host multipathing
WO2016008338A1 (zh) 一种i/o请求处理方法及存储系统
US10592107B2 (en) Virtual machine storage management queue
US20190188032A1 (en) Thread interrupt offload re-prioritization
TWI613594B (zh) 中央處理單元的配置方法及適用此方法的伺服器
JP2023539212A (ja) ストレージレベルの負荷分散
US8245229B2 (en) Temporal batching of I/O jobs
Yu et al. Analysis of CPU pinning and storage configuration in 100 Gbps network data transfer
US20170063976A1 (en) Dynamic record-level sharing (rls) provisioning inside a data-sharing subsystem
Huo et al. Hybrid storage throughput allocation among multiple clients in heterogeneous data center
WO2018024217A1 (zh) 一种i/o请求处理方法及设备
Evangelin et al. Performance measures of queuing models using cloud computing
JP2019179487A (ja) 情報処理装置、制御方法、及びプログラム
US11099741B1 (en) Parallel access volume I/O processing with intelligent alias selection across logical control units
Kawarasaki et al. System status aware hadoop scheduling methods for job performance improvement