塊和更新模塊。統(tǒng)計模塊用于統(tǒng)計所述業(yè)務處理組中的每個CPU分組的CPU利用率以及所述中斷處理組中的每個CPU分組的CPU利用率;調整模塊用于根據所述系統(tǒng)中的CPU分組的CPU利用率,對所述系統(tǒng)中的CPU分組包括的CPU核個數進行調整,所述系統(tǒng)中的CPU分組包括所述業(yè)務處理組中的CPU分組和所述中斷處理組中的CPU分組;更新模塊用于更新所述LUN與CPU分組的映射關系。
[0018]在本發(fā)明第二方面的一種可能的實現方式,所述調整模塊具體用于:判斷所述系統(tǒng)中的CPU分組的CPU利用率是否滿足條件一和條件一中的任意一個,其中,所述條件一為:所述系統(tǒng)中的每個CPU分組的CPU利用率均大于第一閾值,所述條件二為:所述系統(tǒng)中的每個CPU分組的CPU利用率均小于第二閾值,所述第二閾值小于所述第一閾值。
[0019]如果所述系統(tǒng)中的CPU分組的CPU利用率滿足所述條件一和所述條件二中的任意一個,則確定不對所述系統(tǒng)中的CPU分組包括的CPU核個數進行調整。如果所述系統(tǒng)中的CPU分組的CPU利用率不滿足所述條件一和所述條件二中的任意一個,則進一步判斷所述系統(tǒng)的CPU分組中CPU利用率最大的CPU分組和CPU利用率最小的CPU分組的CPU利用率的差值是否大于第三閾值。如果所述CHJ利用率的差值大于所述第三閾值,則確定對所述業(yè)務處理組中的CPU分組包括的CPU核個數進行調整,將所述CPU利用率最小的CPU分組中的一個CPU核分配給所述CPU利用率最大的CPU分組;如果所述CPU利用率的差值不大于所述第三閾值,則確定不對所述業(yè)務處理組中的CPU分組包括的CPU核個數進行調整。其中,所述第三閾值大于所述第二閾值,且小于所述第一閾值;
[0020]在本發(fā)明第二方面的一種可能的實現方式,所述更新模塊具體用于:判斷所述CPU利用率最小的CPU分組中CPU核的個數是否為零。如果所述CPU利用率最小的CPU分組中CPU核的個數為零,則刪除所述CPU利用率最小的CPU分組,并更新所述CPU利用率最大的CPU分組和LUN的對應關系。如果所述CPU利用率最小的CPU分組中CPU核的個數不為零,則分別更新所述CPU利用率最大的CPU分組和LUN的對應關系,以及所述CPU利用率最小的CPU分組和LUN的對應關系。
[0021]本發(fā)明實施例提供的I/O請求的處理方法和裝置,通過將CPU核劃分為中斷處理組和業(yè)務處理組,讓中斷固化在部分CPU核上處理,與處理業(yè)務I/O的CPU核分開,可以避免由于中斷的突然到來導致業(yè)務I/o瞬時時延突然變大的問題,提升了系統(tǒng)的時延穩(wěn)定性,進一步通過對業(yè)務處理組中的CPU核進行分組,建立LUN與CPU分組的映射關系,每個CPU組處理固定的LUN上的I/O請求,減少各個CPU核上的I/O對同一個LUN上的共享資源爭用時的沖突,提升CPU緩存命中率和系統(tǒng)整體性能。
【附圖說明】
[0022]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0023]圖1為計算機系統(tǒng)的一種結構示意圖;
[0024]圖2為主機的一種結構不意圖;
[0025]圖3為本發(fā)明實施例一提供的I/O請求的處理方法的流程圖;
[0026]圖4為本發(fā)明實施例二提供的業(yè)務處理組中的CPU核的分組方法的流程圖;
[0027]圖5為本發(fā)明實施例三提供的業(yè)務處理組中的CPU核的分組方法的流程圖;
[0028]圖6為本發(fā)明實施例四提供的分組均衡方法的流程圖;
[0029]圖7為本發(fā)明實施例五提供的I/O請求的處理裝置的結構示意圖;
[0030]圖8為本發(fā)明實施例八提供的I/O請求的處理裝置的結構示意圖;
[0031]圖9為本發(fā)明實施例九提供的I/O請求的處理裝置的實體結構的示意圖。
【具體實施方式】
[0032]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0033]本發(fā)明實施例的方法應用在計算機系統(tǒng)中,圖1為計算機系統(tǒng)的一種結構示意圖,如圖1所示,該計算機系統(tǒng)包括一個主機和存儲陣列包括多個硬盤,將多個硬盤劃分為多個組,每組由一個控制器控制,將每組硬盤映射到主機上,再將映射到主機上的每組硬盤劃分成多個邏輯單元號(Logical Unit Number,簡稱LUN),例如將存儲陣列中的硬盤劃分成4個組,每組硬盤劃分成4個LUN,那么主機共對應16個LUN。這里只是舉例說明,本發(fā)明實施例并不對存儲陣列的LUN的劃分進行限制。圖2為主機的一種結構示意圖,如圖2所示,主機包括12個中央處理單元(Central Processing Unit,簡稱CPU)核,這里的CPU核為邏輯核,CPU核用于處理輸入/輸出(Input/Output,簡稱I/O)請求,I/O請求包括業(yè)務I/O請求和中斷I/O請求。
[0034]圖3為本發(fā)明實施例一提供的I/O請求的處理方法的流程圖,本實施例的方法由I/O請求的處理裝置執(zhí)行,該I/O請求處理裝置設置在主機中,如圖3所示,本實施例的方法可以包括以下步驟:
[0035]步驟101、對系統(tǒng)中的N個CPU核進行劃分,將M個CPU核劃分到中斷處理組,將N-M個CHJ核劃分到業(yè)務處理組。
[0036]其中,中斷處理組中的CPU核用于處理中斷1/0,業(yè)務處理組中的CPU核用于處理業(yè)務1/0,其中均為大于正整數,且M小于N。
[0037]通過將CPU核劃分為中斷處理組和業(yè)務處理組,讓中斷固化在部分CPU核上處理,與處理業(yè)務I/O的CPU核分開,可以避免由于中斷的突然到來導致業(yè)務I/O瞬時時延突然變大的問題,提升了系統(tǒng)的時延穩(wěn)定性。另外,在進行分組的時候,還可以根據歷史統(tǒng)計數據得到中斷I/o和業(yè)務I/O的總量,根據中斷I/O和業(yè)務I/O的總量的關系進行分組,以達到負載的均衡。例如,為FC、SAS中斷預留4個CPU核,為PCIE中斷預留4個CPU核,工作為中斷預留8個CPU核,在中斷處理分組內,每種中斷以輪詢的方式分發(fā)。
[0038]步驟102、根據系統(tǒng)中的LUN個數和業(yè)務處理組中的CPU核的個數,對業(yè)務處理組中的CPU核進行分組。
[0039]分組后每個CPU分組中包含至少一個CPU核,每個CPU分組具有一個分組標識,用于唯一標識該CPU分組,各個CPU分組中包括的CPU個數可以相同,也可以不相同。另外,本實施例并不對分組方式進行限制。通過對業(yè)務處理組中的CPU核進行分組,I/O請求的處理裝置可以按照LUN將I /0請求分發(fā)到各CPU分組上執(zhí)行,每個CPU組處理固定的LUN上的I /0請求,減少各個CPU核上的I /0對同一個LUN上的共享資源爭用時的沖突,提升CPU緩存命中率和系統(tǒng)整體性能。
[0040 ] 步驟103、建立LUN與CPU分組的映射關系。
[0041]LUN和CPU分組的映射關系可以通過一個映射關系表實現,映射關系表中記錄每個CHJ分組的標識,以及每個P⑶分組處理哪些LUN。
[0042]步驟104、當接收到應用發(fā)送的業(yè)務I/O請求時,根據業(yè)務I/O請求中包括的訪問地址確定業(yè)務I/O請求要訪問的目標LUN。
[0043]I/O請求中包括要訪問的數據的訪問地址,I/O請求的處理裝置根據訪問地址確定訪問地址要訪問的數據所屬的目標LUN。
[0044]步驟105、根據目標LUN和LUN與CPU分組的映射關系,確定執(zhí)行業(yè)務I/O請求的目標CPU分組。
[0045]在確定業(yè)務I/O請求要訪問的目標LUN后,I/O請求的處理裝置根據目標LUN,查詢LUN與CPU分組的映射關系,確定目標LUN對應的目標CPU分組。
[0046]步驟106、將業(yè)務I/O請求發(fā)送給目標CPU分組。
[0047]I/O請求的處理裝置在確定執(zhí)行業(yè)務I/O請求的目標CPU分組后,將業(yè)務I/O請求發(fā)送給目標CPU分組,由目標CPU分組中的CPU分組執(zhí)行,在CPU分組內I/O請求按照最短隊列被分發(fā)到對應的CPU核上處理。
[0048]本實施例的方法,通過將CPU核劃分為中斷處理組和業(yè)務處理組,讓中斷固化在部分CPU核上處理,與處理業(yè)務I/O的CPU核分開,可以避免由于中斷的突然到來導致業(yè)務I/O瞬時時延突然變大的問題,提升了系統(tǒng)的時延穩(wěn)定性,進一步通過對業(yè)務處理組中的CPU核進行分組,建立LUN與CPU分組的映射關系,每個CPU組處理固定的LUN上的I /0請求,減少各個CPU核上的I/O對同一個LUN上的共享資源爭用時的沖突,提升CPU緩存命中率和系統(tǒng)整體性能。
[0049]在實施例一的基礎上,本發(fā)明實施例二提供一種業(yè)務處理組中的CPU核的分組方法,圖4為本