亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法

文檔序號(hào):6379229閱讀:215來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法
技術(shù)領(lǐng)域
本發(fā)明涉及固態(tài)存儲(chǔ)設(shè)備(Solid Storage Device, SSD),更具體地,本發(fā)明涉及存儲(chǔ)設(shè)備向主機(jī)發(fā)出的中斷。
背景技術(shù)
同機(jī)械式硬盤(pán)相類(lèi)似,固態(tài)存儲(chǔ)設(shè)備(SSD)也是用于計(jì)算機(jī)系統(tǒng)的大容量、非易失性存儲(chǔ)設(shè)備。固態(tài)存儲(chǔ)設(shè)備一般以閃存(Flash)作為存儲(chǔ)介質(zhì)。高性能的固態(tài)存儲(chǔ)設(shè)備被用于高性能計(jì)算機(jī)。高性能計(jì)算機(jī)通常具有多個(gè)中央處理器(CPU, Centrol Process Unit),而每個(gè)CPU可包括多個(gè)CPU核。在現(xiàn)代操作系統(tǒng)中,幾乎每一個(gè)中斷處理操作都被分成了兩部分,即中斷服務(wù)程序(ISR)和下半部分處理程序(Bottom Half Handler);或者說(shuō)中斷處理的上半部分(Top Half)和下半部分(Bottom Half);在一些場(chǎng)合中,也被稱(chēng)為第一級(jí)中斷處理程序(FLIH, First-Level Interrupt Handler)和第二級(jí)中斷處理程序(SLIH, Second-LevelInterrupt Handlers)。兩者之間的區(qū)別是在中斷處理的上半部分,中斷是被禁止的,精確地說(shuō)是至少有一個(gè)中斷(當(dāng)前中斷)在一個(gè)CPU上(當(dāng)前CPU)是被禁止的,在某些情況下,可能當(dāng)前CPU的全部中斷都被禁止;而在中斷處理的下半部分,系統(tǒng)中的中斷都是允許的,新的中斷可以隨時(shí)搶占下半部分處理程序。通過(guò)將中斷處理劃分為兩部分,并且讓上半部分處理函數(shù)只做最少最快的工作一例如將數(shù)據(jù)從設(shè)備緩沖區(qū)拷貝到內(nèi)存,而將后續(xù)的更耗時(shí)間的工作留給下半部分處理程序去執(zhí)行,有效地減少了中斷阻塞的時(shí)間,從而提高了系統(tǒng)的中斷處理效率。在美國(guó)專(zhuān)利申請(qǐng)US2011/0087814A1中,提供了通過(guò)中斷親和性機(jī)制來(lái)增強(qiáng)多處理器系統(tǒng)中的10 (Input Output)性能的方案。參看圖I,主機(jī)100包括CPU 101、102、103和104,應(yīng)用程序111、112、113和114分別運(yùn)行在各自的CPU上。高速緩存121、122、123和124分別同CPU 101、102、103和104相耦合,用于存儲(chǔ)分別用于應(yīng)用程序111、112、113和114的指令和數(shù)據(jù)。而具有較大容量的存儲(chǔ)器131、132、133和134分別耦合到高速緩存121、122、123 和 124。主機(jī)總線適配器(HBA, Host Bus Adapter)150 通過(guò) 10 APICCAdvancedProgrammable Interr upt Controller,高級(jí)可編程中斷控制器)集線器140稱(chēng)合到主機(jī)100,并配置為同存儲(chǔ)域網(wǎng)絡(luò)(SAN, Storage Area, Network) 160通信。SAN 160連接到多個(gè)諸如硬盤(pán)的計(jì)算機(jī)存儲(chǔ)設(shè)備170。中斷親和性機(jī)制意味著,當(dāng)1/0 APIC集線器140接收到來(lái)自HBA 150的中斷時(shí),確定由主機(jī)100的多個(gè)CPU中的哪一個(gè)來(lái)處理中斷。例如,記錄發(fā)出10請(qǐng)求的CPU標(biāo)識(shí)符,當(dāng)接收到對(duì)應(yīng)于該10請(qǐng)求的中斷時(shí),基于記錄的CPU標(biāo)識(shí)符來(lái)選擇處理中斷的CPU。一些計(jì)算機(jī)具有 NUMA (Non-Uniform Memory Access)或 NUIO (Non-UniformInput Output)結(jié)構(gòu)。在美國(guó)專(zhuān)利申請(qǐng)US2005/0060460A1中提供了在NUMA系統(tǒng)中為多個(gè)節(jié)點(diǎn)中的10設(shè)備指派中斷的方案。參看圖2,NUMA系統(tǒng)200包括通過(guò)互連網(wǎng)絡(luò)彼此耦合的節(jié)點(diǎn)201、211、221和231。每個(gè)節(jié)點(diǎn)201、211、221和231可包括處理器和存儲(chǔ)器。給定節(jié)點(diǎn)的存儲(chǔ)器相對(duì)于該節(jié)點(diǎn)的處理器是本地的,而其他節(jié)點(diǎn)的存儲(chǔ)器相對(duì)于該處理器是遠(yuǎn)程的。系統(tǒng)200包括IO設(shè)備202、212和242,以及用于IO設(shè)備202、212和242的中斷服務(wù)例程(ISR, Interrupt Service Routine) 203、213 和 223。系統(tǒng) 200 還包括中斷分配軟件222,用于將中斷服務(wù)例程203、213和223分配給IO設(shè)備202、212和242。中斷服務(wù)例程的分配可基于下列因素設(shè)備所連接的節(jié)點(diǎn),用于設(shè)備的ISR所位于的節(jié)點(diǎn),以及節(jié)點(diǎn)的處理器。在 www. acpi. info/D0ffNL0ADS/ACPIspec50. pdf 可獲得的 “Advanced Configurationand Power Interface Specification”(2011 年 12 月 6 日)提供了獲取 NUMA 系統(tǒng)的各個(gè)NUMA域信息。然而,高性能固態(tài)存儲(chǔ)設(shè)備的10處理能力顯著提高,10請(qǐng)求的數(shù)量和數(shù)據(jù)量的增力口,給CPU的處理造成了負(fù)擔(dān)。因而,需要進(jìn)一步優(yōu)化對(duì)中斷請(qǐng)求的處理
發(fā)明內(nèi)容

根據(jù)本發(fā)明的第一方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理單元中的一個(gè),所述方法包括獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符;依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理單元;將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行;將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行;其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第二方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理器插槽中的一個(gè),所述方法包括獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符;依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理器插槽;將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行;將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行;其中所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第二方面提供的方法,進(jìn)一步包括,顯示所述存儲(chǔ)設(shè)備與所述第一處理器插槽和/或所述第一處理器核的耦合關(guān)系。根據(jù)本發(fā)明的第一方面或第二方面提供的方法,進(jìn)一步包括,顯示所述存儲(chǔ)設(shè)備與所述第一處理單元的耦合關(guān)系。根據(jù)本發(fā)明的第二方面所提供的方法,還包括將訪問(wèn)所述存儲(chǔ)設(shè)備的應(yīng)用程序設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第三處理器核上執(zhí)行,所述第一處理器核、所述第二處理器核以及所述第三處理器核共享高速緩沖存儲(chǔ)器。
根據(jù)本發(fā)明的第一方面或第二方面提供的方法,還包括獲取并顯示所述PCIE總線的通道(Lane)數(shù)量。根據(jù)本發(fā)明的第一方面或第二方面提供的方法,還包括獲取并顯示所述存儲(chǔ)設(shè)備的具有第一延遲時(shí)間的IO訪問(wèn)的數(shù)量,以及所述存儲(chǔ)設(shè)備的具有第二延遲時(shí)間的IO訪問(wèn)的數(shù)量,所述第一延遲時(shí)間不同于所述第二延遲時(shí)間。根據(jù)本發(fā)明的第一方面或第二方面提供的方法,還包括獲取并顯示所述存儲(chǔ)設(shè)備的具有第一延遲時(shí)間范圍的IO訪問(wèn)的數(shù)量,以及所述存儲(chǔ)設(shè)備的具有第二延遲時(shí)間范圍的IO訪問(wèn)的數(shù)量,所述第一延遲時(shí)間范圍不同于所述第二延遲時(shí)間范圍。根據(jù)本發(fā)明的第一方面提供的方法,將訪問(wèn)所述存儲(chǔ)設(shè)備的應(yīng)用程序設(shè)置為在第二處理器上執(zhí)行。根據(jù)本發(fā)明的第一方面提供的方法,將訪問(wèn)所述存儲(chǔ)設(shè)備的應(yīng)用程序設(shè)置為在第三處理單元上執(zhí)行,第三處理單元與所述第一處理單元和第二處理單元共享高速緩存。 根據(jù)本發(fā)明的第一方面或第二方面提供的方法,所述中斷處理任務(wù)的上半部分實(shí)現(xiàn)為工作隊(duì)列或內(nèi)核線程。根據(jù)本發(fā)明的第一方面或第二方面提供的方法,所述中斷處理任務(wù)的上半部分用于保存寄存器狀態(tài)并清除中斷,所述中斷處理任務(wù)的下半部分根據(jù)所保存的寄存器狀態(tài)確定第一 IO請(qǐng)求處理完成。根據(jù)本發(fā)明的第三方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元和多個(gè)PCIE插槽,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理單元中的一個(gè),所述方法包括識(shí)別所述第一 PCIE插槽所耦合的第一處理單元; 確定所述存儲(chǔ)設(shè)備耦合到所述第一處理單元;將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行;將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行;其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第四方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽和多個(gè)PCIE插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理器插槽中的一個(gè),所述方法包括識(shí)別所述第一 PCIE插槽所耦合的第一處理器插槽;確定所述存儲(chǔ)設(shè)備耦合到所述第一處理器插槽;將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行;將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行;其中,所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第一方面或第三方面的方法,還包括將訪問(wèn)所述存儲(chǔ)設(shè)備的應(yīng)用程序設(shè)置為在所述第一處理單元、所述第二處理單元或第三處理單元上執(zhí)行,所述第一處理單元、所述第二處理單元以及所述第三處理單元共享所述高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第二方面或第四方面的方法,還包括將訪問(wèn)所述存儲(chǔ)設(shè)備的應(yīng)用程序設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第三處理器核上執(zhí)行,所述第一處理器核、所述第二處理器核以及所述第三處理器核共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第一方面、第二方面、第三方面或第四方面的方法,進(jìn)一步包括,所述存儲(chǔ)設(shè)備將所述計(jì)算機(jī)系統(tǒng)請(qǐng)求的數(shù)據(jù)以DMA方式傳輸?shù)剿龈咚倬彌_存儲(chǔ)器。根據(jù)本發(fā)明的第五方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理單元中的一個(gè),所述裝置包括用于獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符的模塊;用于依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理單元的模塊;用于將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行的模塊;用于將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行的模塊;其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第六方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理器插槽中的一個(gè),所述裝置包括用于獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符的模塊;用于依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理器插槽的模塊;用于將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行的模塊;用于將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行的模塊;其中所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第七方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元和多個(gè)PCIE插槽,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理單元中的一個(gè),所述裝置包括用于識(shí)別所述第一 PCIE插槽所耦合的第一處理單元的模塊;用于確定所述存儲(chǔ)設(shè)備耦合到所述第一處理單元的模塊;用于將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行的模塊;用于將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行的模塊;其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。根據(jù)本發(fā)明的第八方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽和多個(gè)PCIE插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理器插槽中的一個(gè),所述裝置包括用于識(shí)別所述第一 PCIE插槽所耦合的第一處理器插槽的模塊;用于確定所述存儲(chǔ)設(shè)備耦合到所述第一處理器插槽的模塊;用于將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行的模塊;用于將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行的模塊;其中,所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器?!?br> 根據(jù)本發(fā)明的第九方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括第一處理單元和第二處理單元,所述計(jì)算機(jī)系統(tǒng)同存儲(chǔ)設(shè)備相耦合;所述方法包括將與所述存儲(chǔ)設(shè)備的IO請(qǐng)求相關(guān)聯(lián)的中斷處理任務(wù)設(shè)置為在所述第一處理單元上執(zhí)行;接收用于訪問(wèn)所述存儲(chǔ)設(shè)備的第一 IO請(qǐng)求;記錄所述第一 IO請(qǐng)求的開(kāi)始時(shí)間;響應(yīng)于接收到來(lái)自所述存儲(chǔ)設(shè)備的指示所述第一 IO請(qǐng)求處理完成的中斷請(qǐng)求,執(zhí)行所述中斷處理任務(wù),以記錄所述第一 IO請(qǐng)求的結(jié)束時(shí)間;計(jì)算所述第一 IO請(qǐng)求的結(jié)束時(shí)間與所述第一 IO請(qǐng)求的開(kāi)始時(shí)間的第一時(shí)間差;計(jì)算一預(yù)定時(shí)間期間內(nèi)所述第一時(shí)間差的分布;以及基于所述第一時(shí)間差的分布,將中斷處理任務(wù)設(shè)置為在所述第二處理單元上執(zhí)行。根據(jù)本發(fā)明的第九方面的方法,還包括接收用于訪問(wèn)所述存儲(chǔ)設(shè)備的第二 IO請(qǐng)求;記錄所述第二 IO請(qǐng)求的開(kāi)始時(shí)間;響應(yīng)于接收到來(lái)自所述存儲(chǔ)設(shè)備的指示所述第二 IO請(qǐng)求處理完成的中斷請(qǐng)求,執(zhí)行所述中斷處理任務(wù),以記錄所述第二 IO請(qǐng)求的結(jié)束時(shí)間;計(jì)算所述第二 IO請(qǐng)求的結(jié)束時(shí)間與所述第二 IO請(qǐng)求的開(kāi)始時(shí)間的第二時(shí)間差;計(jì)算一預(yù)定時(shí)間期間內(nèi)所述第二時(shí)間差的分布;以及基于所述第一時(shí)間差的分布與所述第二時(shí)間差的分布,將中斷處理任務(wù)設(shè)置為在所述第一處理單元或所述第二處理單元之一上執(zhí)行。根據(jù)本發(fā)明的第九方面的方法,還包括將所述第一時(shí)間差的分布傳送給應(yīng)用程序。根據(jù)本發(fā)明的第九方面的方法,還包括將所述第一時(shí)間差的分布和/或所述第二時(shí)間差的分布傳送給應(yīng)用程序。根據(jù)本發(fā)明的第十方面,提供了一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括第一處理單元和第二處理單元,所述計(jì)算機(jī)系統(tǒng)同存儲(chǔ)設(shè)備相耦合;所述裝置包括用于將與所述存儲(chǔ)設(shè)備的IO請(qǐng)求相關(guān)聯(lián)的中斷處理任務(wù)設(shè)置為在所述第一處理單元上執(zhí)行的模塊;用于接收用于訪問(wèn)所述存儲(chǔ)設(shè)備的第一 IO請(qǐng)求的模塊;用于記錄所述第一 IO請(qǐng)求的開(kāi)始時(shí)間的模塊;用于響應(yīng)于接收到來(lái)自所述存儲(chǔ)設(shè)備的指示所述第一 IO請(qǐng)求處理完成的中斷請(qǐng)求,執(zhí)行所述中斷處理任務(wù),以記錄所述第一 IO請(qǐng)求的結(jié)束時(shí)間的模塊;用于計(jì)算所述第一 IO請(qǐng)求的結(jié)束時(shí)間與所述第一 IO請(qǐng)求的開(kāi)始時(shí)間的第一時(shí)間差的模塊;用于計(jì)算一預(yù)定時(shí)間期間內(nèi)所述第一時(shí)間差的分布的模塊;以及用于基于所述第一時(shí)間差的分布,將中斷處理任務(wù)設(shè)置為在所述第二處理單元上 執(zhí)行的模塊。根據(jù)本發(fā)明的第十方面的裝置,還包括用于接收用于訪問(wèn)所述存儲(chǔ)設(shè)備的第二 IO請(qǐng)求的模塊;用于記錄所述第二 IO請(qǐng)求的開(kāi)始時(shí)間的模塊;用于響應(yīng)于接收到來(lái)自所述存儲(chǔ)設(shè)備的指示所述第二 IO請(qǐng)求處理完成的中斷請(qǐng)求,執(zhí)行所述中斷處理任務(wù),以記錄所述第二 IO請(qǐng)求的結(jié)束時(shí)間的模塊;用于計(jì)算所述第二 IO請(qǐng)求的結(jié)束時(shí)間與所述第二 IO請(qǐng)求的開(kāi)始時(shí)間的第二時(shí)間差的模塊;用于計(jì)算一預(yù)定時(shí)間期間內(nèi)所述第二時(shí)間差的分布的模塊;以及用于基于所述第一時(shí)間差的分布與所述第二時(shí)間差的分布,將中斷處理任務(wù)設(shè)置為在所述第一處理單元或所述第二處理單元之一上執(zhí)行的模塊。


當(dāng)連同附圖閱讀時(shí),通過(guò)參考后面對(duì)示出性的實(shí)施例的詳細(xì)描述,將最佳地理解本發(fā)明以及優(yōu)選的使用模式和其進(jìn)一步的目的和優(yōu)點(diǎn),其中附圖包括圖I是根據(jù)現(xiàn)有技術(shù)的存儲(chǔ)系統(tǒng)的結(jié)構(gòu)框圖;圖2是根據(jù)現(xiàn)有技術(shù)的NUMA系統(tǒng)的結(jié)構(gòu)框圖;圖3A是實(shí)施本發(fā)明實(shí)施例的中斷優(yōu)化方法的NUIO系統(tǒng)的結(jié)構(gòu)框圖;圖3B是根據(jù)本發(fā)明的實(shí)施例的中斷優(yōu)化方法的流程圖;圖4A是實(shí)施本發(fā)明的另一實(shí)施例的中斷優(yōu)化方法NUIO系統(tǒng)的結(jié)構(gòu)框圖;圖4B是根據(jù)本發(fā)明的另一實(shí)施例的中斷優(yōu)化方法的流程圖;以及圖5是根據(jù)本發(fā)明的又一實(shí)施例的中斷優(yōu)化方法的流程圖。
具體實(shí)施例方式圖3A是實(shí)施本發(fā)明實(shí)施例的中斷優(yōu)化方法的NUIO系統(tǒng)的結(jié)構(gòu)框圖。如圖3A所示的實(shí)施例的計(jì)算機(jī)系統(tǒng)具有NUIO結(jié)構(gòu),因?yàn)榇鎯?chǔ)設(shè)備321耦合到CPU 301,而存儲(chǔ)設(shè)備322耦合到CPU302,使得CPU 301與存儲(chǔ)設(shè)備321之間的IO同CPU 322與存儲(chǔ)設(shè)備321之間的IO是不同的。CPU 301和CPU 302均耦合到高速緩存311,并且CPU 301和CPU 302共享高速緩存311。CPU 301可通過(guò)諸如PCIE總線/接口耦合到存儲(chǔ)設(shè)備321。在圖3A示出一個(gè)存儲(chǔ)設(shè)備321耦合到CPU 301,但在一個(gè)實(shí)施例中,可將多個(gè)存儲(chǔ)設(shè)備耦合到CPU 301。存儲(chǔ)設(shè)備301可以是固態(tài)存儲(chǔ)設(shè)備(SSD),也可以是具有PCIE接口的其他存儲(chǔ)設(shè)備。還可以將諸如DRAM (Dynamic Random Access Memory)的存儲(chǔ)器分別稱(chēng)合到CPU 301和302,并因而形成NUMA結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)。CPU 302與存儲(chǔ)設(shè)備322之間也通過(guò)諸如PCIE總線/接口耦合。CPU 301和302各自可具有本地且非共享的高速緩存(未示出),諸如集成在CPU芯片內(nèi)部的LI聞速緩存。而聞速緩存311可以是布置在主板上或者集成在芯片組上的L2聞速緩存。由于存儲(chǔ)設(shè)備321耦合到CPU 301,因而將同存儲(chǔ)設(shè)備321相關(guān)聯(lián)的中斷處理任務(wù)設(shè)置或綁定在CPU 301上執(zhí)行是有利的。即,當(dāng)存儲(chǔ)設(shè)備321產(chǎn)生中斷請(qǐng)求時(shí),中斷請(qǐng)求被轉(zhuǎn)發(fā)給CPU 301,由CPU 301通過(guò)執(zhí)行ISR來(lái)處理該中斷請(qǐng)求。將ISR配置為處理同存儲(chǔ)設(shè)備321相關(guān)聯(lián)的中斷處理任務(wù)的上半部分。例如,在ISR中,查詢(xún)并保存存儲(chǔ)設(shè)備321所對(duì)應(yīng)的PCI/PCIE設(shè)備存寄存器狀態(tài)并清除中斷。類(lèi)似地,將同存儲(chǔ)設(shè)備322相關(guān)聯(lián)的中斷處理任務(wù)設(shè)置或綁定在CPU 302上執(zhí)行。
參看圖3B,圖3B是根據(jù)本發(fā)明的實(shí)施例的中斷優(yōu)化方法的流程圖。在步驟360,獲取存儲(chǔ)設(shè)備321的標(biāo)識(shí)符。對(duì)于PCI/PCIE設(shè)備,通過(guò)PCI配置空間獲取唯一描述存儲(chǔ)設(shè)備321的標(biāo)識(shí)符?;诖鎯?chǔ)設(shè)備321的標(biāo)識(shí)符,在步驟370,確定存儲(chǔ)設(shè)備耦合到CPU 301與302之中的CPU 301。在Linux操作系統(tǒng)中,可通過(guò)“/proc/cpuinfo”獲得CPU 301所對(duì)應(yīng)的APICID,繼而訪問(wèn)APIC表獲得與存儲(chǔ)設(shè)備321屬于相同NUMA域的CPU 301。在Linux操作系統(tǒng)中,還可以通過(guò)用戶(hù)空間的“/sys/devices/pci〈pci-bus>/〈pci-dev>/numa_node,,、“/sys/devices/pci〈pci_bus>/〈pci_dev>/local_cpus,,或 iVsys/devices/pci〈pci-bus>/〈pci-dev>/local_cpulist” 獲得與存儲(chǔ)設(shè)備 321 屬于相同 NUMA 域的 CPU301。也可以在Linux的存儲(chǔ)設(shè)備321的驅(qū)動(dòng)程序中,通過(guò)“dev_numa_node”獲得與存儲(chǔ)設(shè)備321屬于相同NUMA域的CPU 301。在Windows操作系統(tǒng)中,也可訪問(wèn)APIC表,并獲得與存儲(chǔ)設(shè)備321屬于相同NUMA域的CPU 301。還可以通過(guò)查看存儲(chǔ)設(shè)備301與存儲(chǔ)設(shè)備321所在的電路板,確定CPU 301與存儲(chǔ)設(shè)備321的耦合關(guān)系。優(yōu)選地,在電路板的用于耦合存儲(chǔ)設(shè)備321的插槽上標(biāo)記該插槽所耦合的CPU 301,并通過(guò)配置文件、命令行接口或圖形用戶(hù)界面將存儲(chǔ)設(shè)備321與CPU 301的關(guān)聯(lián)關(guān)系提供給驅(qū)動(dòng)程序。在步驟380,將與存儲(chǔ)設(shè)備321相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在CPU301上執(zhí)行。使用于存儲(chǔ)設(shè)備321的ISR在CPU 301上執(zhí)行。在一個(gè)實(shí)施例中,當(dāng)存儲(chǔ)設(shè)備321產(chǎn)生中斷請(qǐng)求時(shí),中斷請(qǐng)求被轉(zhuǎn)發(fā)給CPU 301。在ISR中,查詢(xún)并保存存儲(chǔ)設(shè)備321所對(duì)應(yīng)的PCI/PCIE設(shè)備存寄存器狀態(tài)并清除中斷??蛇x地,在ISR中還將數(shù)據(jù)從存儲(chǔ)設(shè)備321的緩沖區(qū)拷貝到DRAM存儲(chǔ)器和/或高速緩存311。在步驟390,將與存儲(chǔ)設(shè)備321相關(guān)聯(lián)的中斷處理任務(wù)的下半部分設(shè)置為在CPU 302上執(zhí)行。由于CPU 301與302共享高速緩存311,使得由中斷處理任務(wù)的上半部分所處理的數(shù)據(jù)可通過(guò)高速緩存311而被中斷處理任務(wù)的下半部分訪問(wèn),從而減少了在DRAM存儲(chǔ)器和高速緩存311之間交換數(shù)據(jù)而產(chǎn)生的開(kāi)銷(xiāo)。并且,也減少了在CPU 301上切換中斷處理任務(wù)的上半部分與下半部分而產(chǎn)生的開(kāi)銷(xiāo)。特別地,當(dāng)存儲(chǔ)設(shè)備321頻繁產(chǎn)生中斷請(qǐng)求時(shí),中斷處理任務(wù)的上半部分將頻繁執(zhí)行,而將中斷處理任務(wù)的下半部分設(shè)置在不同于CPU 301的CPU 302上執(zhí)行,也降低了 CPU 301的負(fù)擔(dān),并降低了中斷處理任務(wù)的下半部分被頻繁打斷的幾率。在一個(gè)實(shí)施例中,將中斷處理任務(wù)的下半部分實(shí)現(xiàn)為L(zhǎng)inux操作系統(tǒng)提供的工作隊(duì)列(Wordqueue)。在一個(gè)實(shí)施例中,將中斷處理任務(wù)的下半部分實(shí)現(xiàn)為內(nèi)核線程,諸如Linux或Windows等的操作系統(tǒng)都支持內(nèi)核線程。對(duì)于存儲(chǔ)設(shè)備322,也可通過(guò)步驟360-390,以將其中斷處理任務(wù)的上半部分設(shè)置在CPU 302上執(zhí)行,并將其中斷處理任務(wù)的下半部分設(shè)置在CPU 301上執(zhí)行。還可以將用于存儲(chǔ)設(shè)備322的中斷處理任務(wù)的下半部分設(shè)置在不同于CPU 301與302的其他CPU上執(zhí)行。在進(jìn)一步的實(shí)施例中,還將存儲(chǔ)設(shè)備321與CPU 301的耦合關(guān)系保存并提供給應(yīng)用程序,使得用戶(hù)可通過(guò)應(yīng)用程序獲取存儲(chǔ)設(shè)備321與CPU 301的耦合關(guān)系。以及,在依然進(jìn)一步的實(shí)施例中,依據(jù)存儲(chǔ)設(shè)備321與CPU 301的耦合關(guān)系,將訪問(wèn)存儲(chǔ)設(shè)備321的應(yīng)用程序設(shè)置為在CPU 301或302上執(zhí)行。圖4A是實(shí)施本發(fā)明實(shí)施例的中斷優(yōu)化方法的NUIO系統(tǒng)的結(jié)構(gòu)框圖。如圖4A所示的實(shí)施例的計(jì)算機(jī)系統(tǒng)具有NUIO結(jié)構(gòu),因?yàn)榇鎯?chǔ)設(shè)備431耦合到CPU插槽405,而存儲(chǔ)設(shè)備441耦合到CPU插槽415,使得CPU插槽405與存儲(chǔ)設(shè)備431之間的IO同CPU插槽415與存儲(chǔ)設(shè)備441之間的IO是不同的。CPU 400布置于CPU插槽405中,而CPU 410布置于 CPU插槽415中。CPU 400、410可以是多核CPU,并且CPU 400包括CPU核401、402,而CPU410包括CPU核411和412。在CPU 400內(nèi),布置有由CPU核401、402共享的高速緩存403,而在CPU 410內(nèi),布置有由CPU核411、412共享的高速緩存413。CPU核401、402、411和412可分別配置有獨(dú)占的高速緩存(未示出)。CPU 400 與 CPU 410 之間通過(guò)諸如 QPI (QuickPath Interconnect)或 FSB(Front-Side Bus)的高速連接450相耦合。PCIE插槽435、445分別耦合到CPU插槽405、415,并進(jìn)而分別耦合到CPU 400,410o PCIE插槽435、445上分別耦合有存儲(chǔ)設(shè)備431、441。存儲(chǔ)設(shè)備431、441可以是固態(tài)存儲(chǔ)設(shè)備(SSD),也可以是具有PCIE接口的其他存儲(chǔ)設(shè)備。還將諸如 DRAM (Dynamic Random Access Memory)的主存儲(chǔ)器 421、422 分別稱(chēng)合到 CPU 400和410,并因而形成NUMA結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)。并且,所屬領(lǐng)域技術(shù)人員將意識(shí)到,CPU 400可以訪問(wèn)耦合到CPU插槽405的主存儲(chǔ)器421和存儲(chǔ)設(shè)備431,并且也可以訪問(wèn)耦合到CPU插槽415的主存儲(chǔ)器422和存儲(chǔ)設(shè)備441。類(lèi)似的,CPU 410可以訪問(wèn)耦合到CPU插槽415的主存儲(chǔ)器422和存儲(chǔ)設(shè)備441,并且也可以訪問(wèn)耦合到CPU插槽405的主存儲(chǔ)器421和存儲(chǔ)設(shè)備431。由于存儲(chǔ)設(shè)備431耦合到CPU 400,因而將同存儲(chǔ)設(shè)備431相關(guān)聯(lián)的中斷處理任務(wù)設(shè)置或綁定在CPU 400上執(zhí)行是有利的。即,當(dāng)存儲(chǔ)設(shè)備431產(chǎn)生中斷請(qǐng)求時(shí),中斷請(qǐng)求被轉(zhuǎn)發(fā)給CPU 400,由CPU 400通過(guò)執(zhí)行ISR來(lái)處理該中斷請(qǐng)求。將ISR配置為處理同存儲(chǔ)設(shè)備431相關(guān)聯(lián)的中斷處理任務(wù)的上半部分。例如,在ISR中,查詢(xún)并保存存儲(chǔ)設(shè)備431所對(duì)應(yīng)的PCI/PCIE設(shè)備存寄存器狀態(tài)并清除中斷。類(lèi)似地,將同存儲(chǔ)設(shè)備441相關(guān)聯(lián)的中斷處理任務(wù)設(shè)置或綁定在CPU 410上執(zhí)行是有利的。參看圖4B,圖4B是根據(jù)本發(fā)明的實(shí)施例的中斷優(yōu)化方法的流程圖。在步驟460,獲取存儲(chǔ)設(shè)備431的標(biāo)識(shí)符。對(duì)于PCI/PCIE設(shè)備,通過(guò)PCI配置空間獲取唯一描述存儲(chǔ)設(shè)備431的標(biāo)識(shí)符。在步驟470,確定存儲(chǔ)設(shè)備431耦合到CPU插槽405和CPU插槽415之中的CPU插槽405,并進(jìn)而確定存儲(chǔ)設(shè)備431耦合到CPU 400??赏ㄟ^(guò)訪問(wèn)基于高級(jí)配置和電源接口規(guī)范(Advanced Configuration and Power Interface Specification)的 APIC 表獲得與存儲(chǔ)設(shè)備431屬于相同NUMA域的CPU 400及其CPU核401、402。也可以通過(guò)查看PCIE插槽435與CPU插槽405所在的電路板,確定CPU插槽405與PCIE插槽435之間的耦合關(guān)系。優(yōu)選地,在電路板的用于耦合存儲(chǔ)設(shè)備431的PCIE插槽435上標(biāo)記該插槽所耦合的CPU插槽405,或者耦合到CPU插槽405的CPU 400和/或CPU核401、402,并通過(guò)配置文件、命令行接口或圖形用戶(hù)界面將存儲(chǔ)設(shè)備431與CPU 400和/或CPU核401、402的關(guān)聯(lián)關(guān)系提供給驅(qū)動(dòng)程序和/或訪問(wèn)存儲(chǔ) 設(shè)備的431的應(yīng)用程序。類(lèi)似地,在電路板的用于耦合存儲(chǔ)設(shè)備441的PCIE插槽445上標(biāo)記該插槽所耦合的CPU插槽415,或者耦合到CPU插槽415的CPU 410和/或CPU核411、412。并將存儲(chǔ)設(shè)備441與CPU 410和/或CPU核411,412的關(guān)聯(lián)關(guān)系提供給驅(qū)動(dòng)程序和/或訪問(wèn)存儲(chǔ)設(shè)備的441的應(yīng)用程序。在步驟480,將與存儲(chǔ)設(shè)備431相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在CPU400的CPU核401上執(zhí)行。使用于存儲(chǔ)設(shè)備431的ISR在CPU核401上執(zhí)行。在一個(gè)實(shí)施例中,當(dāng)存儲(chǔ)設(shè)備431產(chǎn)生中斷請(qǐng)求時(shí),中斷請(qǐng)求被轉(zhuǎn)發(fā)給CPU核401。在ISR中,查詢(xún)并保存存儲(chǔ)設(shè)備431所對(duì)應(yīng)的PCI/PCIE設(shè)備存寄存器狀態(tài)并清除中斷??蛇x地,在ISR中還將數(shù)據(jù)從存儲(chǔ)設(shè)備431的緩沖區(qū)拷貝到主存儲(chǔ)器421和/或高速緩存403。在步驟490,將與存儲(chǔ)設(shè)備431相關(guān)聯(lián)的中斷處理任務(wù)的下半部分設(shè)置為在CPU400的CPU核402上執(zhí)行。在中斷處理任務(wù)的下半部分中,根據(jù)中斷處理任務(wù)的上半部分存儲(chǔ)的寄存器狀態(tài)確定是哪一個(gè)IO請(qǐng)求完成,完成相應(yīng)的IO并更新統(tǒng)計(jì)信息。由于CPU核401、402共享高速緩存403,使得由中斷處理任務(wù)的上半部分所處理的數(shù)據(jù)可通過(guò)高速緩存403而被中斷處理任務(wù)的下半部分訪問(wèn),從而減少了在主存儲(chǔ)器421和高速緩存403之間交換數(shù)據(jù)而產(chǎn)生的開(kāi)銷(xiāo),也減少了在CPU 400和CPU 410之間交換數(shù)據(jù)而產(chǎn)生的開(kāi)銷(xiāo)。并且,也減少了在CPU核401上切換中斷處理任務(wù)的上半部分與下半部分而產(chǎn)生的開(kāi)銷(xiāo)。對(duì)于存儲(chǔ)設(shè)備441,也可通過(guò)步驟460-490,以將其中斷處理任務(wù)的上半部分設(shè)置在CPU410的CPU核411上執(zhí)行,并將其中斷處理任務(wù)的下半部分設(shè)置在CPU 410的CPU核412上執(zhí)行。所屬領(lǐng)域技術(shù)人員將意識(shí)到,當(dāng)CPU 410的負(fù)載較高時(shí),也可以將用于存儲(chǔ)設(shè)備441的中斷處理任務(wù)的下半部分設(shè)置在CPU 400或其他CPU上執(zhí)行。在依然另一個(gè)實(shí)施例中,存儲(chǔ)設(shè)備431通過(guò)以高速緩存403為目的地的DMA傳輸,將數(shù)據(jù)寫(xiě)入到高速緩存403中,并發(fā)出指示相應(yīng)IO請(qǐng)求完成的中斷請(qǐng)求。CPU核401執(zhí)行中斷處理任務(wù)的上半部分,查詢(xún)并保存存儲(chǔ)設(shè)備431所對(duì)應(yīng)的PCI/PCIE設(shè)備存寄存器狀態(tài)并清除中斷。而(PU核402執(zhí)行中斷處理任務(wù)的下半部分,根據(jù)中斷處理任務(wù)的上半部分存儲(chǔ)的寄存器狀態(tài)確定是哪一個(gè)IO請(qǐng)求完成,利用高速緩存403中的數(shù)據(jù)完成相應(yīng)的IO操作。還可以將發(fā)出IO請(qǐng)求的應(yīng)用程序也設(shè)置為在CPU核402上執(zhí)行,或者設(shè)置為在與CPU核401、402共享高速緩存403的其他CPU核(未示出)上執(zhí)行,以直接使用高速緩存403中的通過(guò)IO請(qǐng)求從存儲(chǔ)設(shè)備431傳輸來(lái)的數(shù)據(jù)。所屬領(lǐng)域技術(shù)人員也將意識(shí)到,也可以將用于存儲(chǔ)設(shè)備431的ISR在CPU核402上執(zhí)行。并將用于存儲(chǔ)設(shè)備431的中斷處理任務(wù)的下半部分設(shè)置在CPU核401上執(zhí)行。以及,在依然進(jìn)一步的實(shí)施例中,依據(jù)存儲(chǔ)設(shè)備431與CPU 400的耦合關(guān)系,將訪問(wèn)存儲(chǔ)設(shè)備431的應(yīng)用程序設(shè)置為在CPU核401或402上執(zhí)行。在進(jìn)一步的實(shí)施例中,還將存儲(chǔ)設(shè)備431與CPU插槽405和/或CPU 400和/或CPU核401、402的耦合關(guān)系保存并提供給應(yīng)用程序,使得用戶(hù)可通過(guò)應(yīng)用程序獲取存儲(chǔ)設(shè)備431與CPU插槽405和/或CPU 400和/或CPU核401、402的耦合關(guān)系。以及類(lèi)似地,將存儲(chǔ)設(shè)備441與CPU插槽415和/或CPU 410和/或CPU核411、412的耦合關(guān)系保存并
提供給應(yīng)用程序。圖5是根據(jù)本發(fā)明的又一實(shí)施例的優(yōu)化方法的流程圖?;贗O請(qǐng)求的時(shí)間延遲的分布,調(diào)整用于執(zhí)行中斷處理任務(wù)的CPU或CPU核。下面將結(jié)合圖4A的NUIO系統(tǒng)而描述根據(jù)圖5的實(shí)施例的優(yōu)化方法。所屬領(lǐng)域技術(shù)人員將意識(shí)到,也可以結(jié)合圖3A的NUIO系統(tǒng)而實(shí)施根據(jù)圖5的實(shí)施例的優(yōu)化方法。在步驟501,將與存儲(chǔ)設(shè)備431相關(guān)聯(lián)的中斷處理任務(wù)設(shè)置為在CPU核401上執(zhí)行。該中斷處理任務(wù)用于處理來(lái)自存儲(chǔ)設(shè)備431的IO請(qǐng)求。IO請(qǐng)求由應(yīng)用程序發(fā)起。在步驟520,用于存儲(chǔ)設(shè)備431的驅(qū)動(dòng)程序接收到用于訪問(wèn)存儲(chǔ)設(shè)備431的IO請(qǐng)求。在步驟530,記錄該IO請(qǐng)求的開(kāi)始時(shí)間。在步驟540,當(dāng)接收到來(lái)自存儲(chǔ)設(shè)備431的指示該IO請(qǐng)求處理完成的中斷請(qǐng)求并處理該中斷請(qǐng)求后,記錄該IO請(qǐng)求的結(jié)束時(shí)間。在步驟550,計(jì)算結(jié) 束時(shí)間與開(kāi)始時(shí)間的時(shí)間差,以得到該IO請(qǐng)求的時(shí)間延遲。以此方式,對(duì)于與存儲(chǔ)設(shè)備431相關(guān)聯(lián)的多個(gè)或每個(gè)IO請(qǐng)求,都可獲得其IO請(qǐng)求的時(shí)間延遲。在步驟560,計(jì)算在一預(yù)定時(shí)間期間內(nèi)(例如,O. 5秒或I秒)的多個(gè)IO請(qǐng)求的時(shí)間延遲的分布。例如,在一個(gè)實(shí)施例中,如下表所示,延遲時(shí)間在90-400微秒的IO請(qǐng)求占預(yù)定時(shí)間內(nèi)的IO請(qǐng)求總量的64. 3%,而延遲時(shí)間在400-1. 5毫秒的IO請(qǐng)求占預(yù)定時(shí)間內(nèi)的IO請(qǐng)求總量的33. 4%。并可將該時(shí)間延遲的分布提供給應(yīng)用程序。
權(quán)利要求
1.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理單元中的一個(gè),所述方法包括 獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符; 依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理單元; 將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行;將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行; 其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。
2.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理器插槽中的一個(gè),所述方法包括 獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符; 依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理器插槽; 將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行; 將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行; 其中所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括,顯示所述存儲(chǔ)設(shè)備與所述第一處理器插槽和/或所述第一處理器核的耦合關(guān)系。
4.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元和多個(gè)PCIE插槽,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理單元中的一個(gè),所述方法包括 識(shí)別所述第一 PCIE插槽所耦合的第一處理單元; 確定所述存儲(chǔ)設(shè)備耦合到所述第一處理單元; 將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行; 將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行; 其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。
5.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽和多個(gè)PCIE插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理器插槽中的一個(gè),所述方法包括 識(shí)別所述第一 PCIE插槽所耦合的第一處理器插槽; 確定所述存儲(chǔ)設(shè)備耦合到所述第一處理器插槽; 將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行; 將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行;其中,所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器。
6.根據(jù)權(quán)利要求2或5所述的方法,還包括將訪問(wèn)所述存儲(chǔ)設(shè)備的應(yīng)用程序設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第三處理器核上執(zhí)行,所述第一處理器核、所述第二處理器核以及所述第三處理器核共享高速緩沖存儲(chǔ)器。
7.根據(jù)權(quán)利要求I、2、4或5所述的方法,進(jìn)一步包括,所述存儲(chǔ)設(shè)備將所述計(jì)算機(jī)系統(tǒng)請(qǐng)求的數(shù)據(jù)以DMA方式傳輸?shù)剿龈咚倬彌_存儲(chǔ)器。
8.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理單元中的一個(gè),所述裝置包括 用于獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符的模塊; 用于依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理單元的模塊; 用于將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行的模塊; 用于將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行的模塊; 其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。
9.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理器插槽中的一個(gè),所述裝置包括 用于獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符的模塊; 用于依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理器插槽的模塊; 用于將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行的模塊; 用于將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行的模塊; 其中所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器。
10.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元和多個(gè)PCIE插槽,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理單元中的一個(gè),所述裝置包括 用于識(shí)別所述第一 PCIE插槽所耦合的第一處理單元的模塊; 用于確定所述存儲(chǔ)設(shè)備耦合到所述第一處理單元的模塊; 用于將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行的模塊; 用于將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行的模塊; 其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。
11.一種用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的裝置,所述計(jì)算機(jī)系統(tǒng)包括多個(gè)處理器插槽和多個(gè)PCIE插槽,每個(gè)處理器插槽上布置有多核處理器,所述多核處理器具有多個(gè)處理器核,所述存儲(chǔ)設(shè)備通過(guò)所述多個(gè)PCIE插槽中的第一 PCIE插槽耦合到所述多個(gè)處理器插槽中的一個(gè),所述裝置包括用于識(shí)別所述第一 PCIE插槽所耦合的第一處理器插槽的模塊; 用于確定所述存儲(chǔ)設(shè)備耦合到所述第一處理器插槽的模塊; 用于將與所述存 儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第一處理器核上執(zhí)行的模塊; 用于將所述中斷處理任務(wù)的下半部分設(shè)置為在布置于所述第一處理器插槽上的多核處理器的第二處理器核上執(zhí)行的模塊; 其中,所述第一處理器核與所述第二處理器核共享高速緩沖存儲(chǔ)器。
全文摘要
提供了用于處理計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備的中斷請(qǐng)求的方法。計(jì)算機(jī)系統(tǒng)包括多個(gè)處理單元,所述存儲(chǔ)設(shè)備通過(guò)PCIE總線耦合到所述多個(gè)處理單元中的一個(gè),所述方法包括獲取所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符;依據(jù)所述存儲(chǔ)設(shè)備的標(biāo)識(shí)符,確定所述存儲(chǔ)設(shè)備所耦合的第一處理單元;將與所述存儲(chǔ)設(shè)備相關(guān)聯(lián)的中斷處理任務(wù)的上半部分設(shè)置為在所述第一處理單元上執(zhí)行;將所述中斷處理任務(wù)的下半部分設(shè)置為在第二處理單元上執(zhí)行;其中所述第一處理單元與所述第二處理單元共享高速緩沖存儲(chǔ)器。
文檔編號(hào)G06F13/24GK102929819SQ20121040172
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年10月19日 優(yōu)先權(quán)日2012年10月19日
發(fā)明者唐志波, 路向峰 申請(qǐng)人:北京憶恒創(chuàng)源科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1