[發(fā)明專利]一種利用多請(qǐng)求隊(duì)列提升IO并行性和減少小IO延遲的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210268098.X | 申請(qǐng)日: | 2012-07-30 |
| 公開(公告)號(hào): | CN102831014A | 公開(公告)日: | 2012-12-19 |
| 發(fā)明(設(shè)計(jì))人: | 劉景寧;童薇;馮丹;吳龍飛;林超 | 申請(qǐng)(專利權(quán))人: | 華中科技大學(xué) |
| 主分類號(hào): | G06F9/50 | 分類號(hào): | G06F9/50 |
| 代理公司: | 華中科技大學(xué)專利中心 42201 | 代理人: | 李佑宏 |
| 地址: | 430074 湖北*** | 國(guó)省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 利用 請(qǐng)求 隊(duì)列 提升 io 并行 減少 延遲 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)器技術(shù)領(lǐng)域,具體是一種提升IO并行性和減少小IO延遲的方法。
背景技術(shù)
目前隨著高性能計(jì)算與應(yīng)用服務(wù)的發(fā)展,更多的高性能存儲(chǔ)區(qū)域網(wǎng)絡(luò)開始利用高速網(wǎng)絡(luò)與專有協(xié)議來構(gòu)建,這主要包括基于以太網(wǎng)與iSCSI協(xié)議的IP-SAN、基于光纖通道和FCP協(xié)議的FC-SAN,以及基于以太網(wǎng)和光纖通道的新型FCoE存儲(chǔ)區(qū)域網(wǎng)絡(luò)。在FC-SAN和FCoE存儲(chǔ)區(qū)域網(wǎng)絡(luò)中,將目標(biāo)端系統(tǒng)的存儲(chǔ)設(shè)備通過存儲(chǔ)網(wǎng)絡(luò)協(xié)議掛載到發(fā)起端系統(tǒng)中,作為一個(gè)塊設(shè)備進(jìn)行訪問,隨著存儲(chǔ)網(wǎng)絡(luò)技術(shù)的發(fā)展,尤其是萬(wàn)兆網(wǎng)絡(luò)的推出,發(fā)起端系統(tǒng)訪問目標(biāo)端設(shè)備的帶寬也不斷提升,而發(fā)起端的IO請(qǐng)求的并行處理能力卻未得到提升。現(xiàn)在的服務(wù)器通常都搭載了多核處理器,發(fā)起端系統(tǒng)掛載的目標(biāo)端塊設(shè)備只有一個(gè)請(qǐng)求隊(duì)列,所有的IO請(qǐng)求都需要互斥的進(jìn)入請(qǐng)求隊(duì)列,完成IO合并、IO調(diào)度、請(qǐng)求處理等工作,對(duì)于IO次數(shù)繁重的存儲(chǔ)環(huán)境,單個(gè)請(qǐng)求隊(duì)列會(huì)成為請(qǐng)求處理的瓶頸,不能高效的利用多核系統(tǒng)的并行處理能力。
在存儲(chǔ)區(qū)域網(wǎng)絡(luò)中,小IO請(qǐng)求(一般指小于4KB的請(qǐng)求)通常是實(shí)時(shí)性要求較高的事務(wù)處理請(qǐng)求,而大IO請(qǐng)求通常是數(shù)據(jù)傳輸請(qǐng)求。在單個(gè)請(qǐng)求隊(duì)列環(huán)境下,沒有區(qū)分小IO請(qǐng)求和大IO請(qǐng)求機(jī)制,所有IO請(qǐng)求以相同的方式進(jìn)行處理,具有相近的延遲,不能滿足實(shí)時(shí)性要求較高的小IO請(qǐng)求。單個(gè)請(qǐng)求隊(duì)列在大量的小IO請(qǐng)求的環(huán)境下,請(qǐng)求隊(duì)列會(huì)成為所有IO請(qǐng)求競(jìng)爭(zhēng)的對(duì)象,IO合并和IO調(diào)度的效率都會(huì)降低,不能充分利用多核系統(tǒng),會(huì)很大的影響IO處理的并行性,增加小IO請(qǐng)求的處理延遲,不能滿足實(shí)時(shí)性要求。現(xiàn)有滿足小IO請(qǐng)求實(shí)時(shí)性要求的方法主要是通過修改請(qǐng)求隊(duì)列的調(diào)度器,授予小IO請(qǐng)求優(yōu)先處理權(quán),未能解決單個(gè)請(qǐng)求隊(duì)列是并行處理瓶頸的問題。
發(fā)明內(nèi)容
本發(fā)明提供一種利用多請(qǐng)隊(duì)列提高IO并行性和減少小IO延遲的方法,可以提升IO并行性和減少小IO延遲,滿足高負(fù)載和實(shí)時(shí)性要求。
本發(fā)明為解決上述技術(shù)問題采用的具體方案如下
(1)創(chuàng)建多個(gè)請(qǐng)求隊(duì)列;
(2)為所述多個(gè)請(qǐng)求隊(duì)列制定選擇策略,使IO請(qǐng)求選擇相應(yīng)的請(qǐng)求隊(duì)列進(jìn)行處理,實(shí)現(xiàn)IO請(qǐng)求并行運(yùn)行;
其中,所述選擇策略包括:
將進(jìn)程與一個(gè)請(qǐng)求隊(duì)列綁定,使多個(gè)進(jìn)程上的IO請(qǐng)求平均分配到多個(gè)請(qǐng)求隊(duì)列上處理;
將CPU與一個(gè)請(qǐng)求隊(duì)列綁定,使多個(gè)CPU上的IO請(qǐng)求平均的分配到多個(gè)請(qǐng)求隊(duì)列上處理。
對(duì)小IO請(qǐng)求和大IO請(qǐng)求進(jìn)行隊(duì)列劃分處理,并且使小IO請(qǐng)求的隊(duì)列數(shù)大于處理大IO請(qǐng)求的隊(duì)列數(shù);
本發(fā)明可以使用默認(rèn)的單請(qǐng)求隊(duì)列,而不使用或者開啟多請(qǐng)求隊(duì)列。
本發(fā)明可以通過命令接口發(fā)送配置命令,確定請(qǐng)求隊(duì)列的個(gè)數(shù)和選擇隊(duì)列的策略。
本發(fā)明中創(chuàng)建多個(gè)請(qǐng)求隊(duì)列優(yōu)選采用如下具體步驟:
(1.1)為塊設(shè)備創(chuàng)建一個(gè)通用統(tǒng)一命令接口;
(1.2)通過該命令接口發(fā)送創(chuàng)建多請(qǐng)求隊(duì)列的命令;
(1.3)系統(tǒng)內(nèi)核接收到創(chuàng)建多請(qǐng)求隊(duì)列命令后,將分配多個(gè)請(qǐng)求隊(duì)列,并使用默認(rèn)請(qǐng)求隊(duì)列參數(shù)對(duì)新分配的請(qǐng)求隊(duì)列進(jìn)行初始化,并完成多請(qǐng)求隊(duì)列向系統(tǒng)內(nèi)核的注冊(cè)。
在一個(gè)多核系統(tǒng)中,一個(gè)塊設(shè)備在系統(tǒng)內(nèi)核中只有一個(gè)請(qǐng)求隊(duì)列,為了提升IO請(qǐng)求處理的并行性,在系統(tǒng)內(nèi)核中給一個(gè)塊設(shè)備創(chuàng)建多個(gè)請(qǐng)求隊(duì)列,并修改IO請(qǐng)求發(fā)送到請(qǐng)求隊(duì)列的入口,增加多請(qǐng)求隊(duì)列的選擇策略,可以根據(jù)不同請(qǐng)求隊(duì)列的選擇策略來滿足不同存儲(chǔ)環(huán)境的需求。存儲(chǔ)區(qū)域網(wǎng)絡(luò)的塊設(shè)備通常都是以SCSI磁盤設(shè)備的方式掛載,為了實(shí)現(xiàn)多請(qǐng)求隊(duì)列,必須修改SCSI子系統(tǒng),使其支持多請(qǐng)求隊(duì)列,提升SCSI子系統(tǒng)的并行性。
本發(fā)明還公開了一種利用上述方法在FC或FCoE存儲(chǔ)系統(tǒng)中的應(yīng)用,其具體包括如下步驟:
(1)用戶發(fā)起讀寫操作,文件系統(tǒng)生成IO請(qǐng)求,將IO請(qǐng)求轉(zhuǎn)化為通用塊層IO請(qǐng)求;
(2)進(jìn)入多請(qǐng)求隊(duì)列的入口,依據(jù)IO請(qǐng)求大小選擇請(qǐng)求隊(duì)列,將通用塊層IO請(qǐng)求發(fā)送到選擇的請(qǐng)求隊(duì)列上,并完成IO的合并、調(diào)度和初始化;
(3)將經(jīng)步驟(2)處理后的IO請(qǐng)求發(fā)送到SCSI子系統(tǒng),轉(zhuǎn)化為SCSI請(qǐng)求,并發(fā)送到實(shí)現(xiàn)存儲(chǔ)網(wǎng)絡(luò)協(xié)議的SCSI底層驅(qū)動(dòng)模塊;
(4)SCSI底層驅(qū)動(dòng)模塊將所述SCSI請(qǐng)求轉(zhuǎn)化為存儲(chǔ)網(wǎng)絡(luò)協(xié)議幀,通過存儲(chǔ)網(wǎng)絡(luò)發(fā)送目標(biāo)端處理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華中科技大學(xué),未經(jīng)華中科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210268098.X/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 隊(duì)列調(diào)度系統(tǒng)及方法
- 一種從多隊(duì)列節(jié)點(diǎn)獲取消息的方法及系統(tǒng)
- 隊(duì)列請(qǐng)求處理方法和裝置
- 一種隊(duì)列清空方法以及相關(guān)設(shè)備
- 一種基于Linux通用塊層多隊(duì)列的優(yōu)化系統(tǒng)及方法
- 一種分離存儲(chǔ)的隊(duì)列實(shí)現(xiàn)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種接口擁塞時(shí)延的計(jì)算方法及裝置
- 一種報(bào)文調(diào)度方法及裝置
- RDMA網(wǎng)絡(luò)下的網(wǎng)卡隊(duì)列創(chuàng)建方法以及裝置





