基于內(nèi)存控制器的帶寬分配方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),尤其涉及一種基于內(nèi)存控制器的帶寬分配方法及 裝置。
【背景技術(shù)】
[0002] 隨著多核處理器的發(fā)展,在系統(tǒng)或處理器片內(nèi)集成多個(gè)內(nèi)存控制器,其中,內(nèi)存控 制器是計(jì)算機(jī)系統(tǒng)內(nèi)部控制內(nèi)存并且使內(nèi)存與CPU之間交換數(shù)據(jù)的重要組成部分。由于多 個(gè)應(yīng)用在多核處理器上同時(shí)運(yùn)行會(huì)共享內(nèi)存帶寬,因此,需要采取合理的帶寬分配方案以 提1?系統(tǒng)吞吐量。
[0003] 現(xiàn)有的多內(nèi)存控制器通過(guò)請(qǐng)求調(diào)度方法來(lái)提高系統(tǒng)吞吐量,可選地先周期性地根 據(jù)每個(gè)應(yīng)用從內(nèi)存控制器獲得的服務(wù)時(shí)間對(duì)各個(gè)應(yīng)用進(jìn)行排序,并在每一個(gè)周期內(nèi)給予在 上一周期中獲得最少服務(wù)時(shí)間的應(yīng)用高的優(yōu)先級(jí),然后根據(jù)各個(gè)應(yīng)用的優(yōu)先級(jí)進(jìn)行調(diào)度。
[0004] 當(dāng)某些關(guān)鍵應(yīng)用和其它應(yīng)用并發(fā)運(yùn)行時(shí),所述其它應(yīng)用會(huì)與所述關(guān)鍵應(yīng)用共享內(nèi) 存帶寬,其中,所述關(guān)鍵應(yīng)用為提供在線服務(wù)的延遲敏感交互式用應(yīng)用,如網(wǎng)頁(yè)搜索。但 現(xiàn)有技術(shù)中僅根據(jù)每個(gè)應(yīng)用從內(nèi)存控制器獲得的服務(wù)時(shí)間長(zhǎng)短對(duì)各個(gè)應(yīng)用進(jìn)行優(yōu)先級(jí)排 序,并不能保證分配給關(guān)鍵應(yīng)用的帶寬,從而無(wú)法保障關(guān)鍵應(yīng)用的服務(wù)質(zhì)量(Quality Of Service,簡(jiǎn)稱 Qos)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)實(shí)施例提供一種基于內(nèi)存控制器的帶寬分配方法及裝置,用以保障第一應(yīng)用 的 Q〇s。
[0006] 第一方面,本發(fā)明實(shí)施例提供一種基于內(nèi)存控制器的帶寬分配方法,包括:
[0007] 在一時(shí)間窗口結(jié)束之時(shí),集中式內(nèi)存控制器Meta-MC獲取至少一個(gè)內(nèi)存控制器MC 的訪存請(qǐng)求服務(wù)信息,其中,所述時(shí)間窗口長(zhǎng)度為一預(yù)設(shè)值,所述訪存請(qǐng)求服務(wù)信息為第一 應(yīng)用在所述MC上的訪存請(qǐng)求服務(wù)信息;
[0008] 所述Meta-MC根據(jù)所述訪存請(qǐng)求服務(wù)信息調(diào)整下一個(gè)時(shí)間窗口中所述第一應(yīng)用 在所述MC上的帶寬比例。
[0009] 結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,在一時(shí)間窗口結(jié)束之時(shí), 所述集中式內(nèi)存控制器Meta-MC獲取至少一個(gè)內(nèi)存控制器MC的訪存請(qǐng)求服務(wù)信息,包括 :
[0010] 在一時(shí)間窗口結(jié)束之時(shí),所述Meta-MC接收由所述MC在所述時(shí)間窗口內(nèi)收集所述 第一應(yīng)用在所述MC上的訪存請(qǐng)求服務(wù)信息之后發(fā)送的所述訪存請(qǐng)求服務(wù)信息,其中,所述 訪存請(qǐng)求服務(wù)信息包括請(qǐng)求服務(wù)速率RSR 1和所述第一應(yīng)用在所述MC上獲得服務(wù)的訪存周 期數(shù)AS1,所述RSR1包括并發(fā)運(yùn)行時(shí)的請(qǐng)求服務(wù)速率RSR sharadw和單獨(dú)運(yùn)行時(shí)的請(qǐng)求服務(wù)速 率RSRA1_(1) ;i為所述MC的標(biāo)號(hào)。
[0011] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式 中,所述Meta-MC根據(jù)所述訪存請(qǐng)求服務(wù)信息調(diào)整下一個(gè)時(shí)間窗口中所述第一應(yīng)用在所述 MC上的帶寬比例,包括:
[0012] 所述Meta-MC根據(jù)所述MC的RSRsharadw及RSRA1_ (1)信息預(yù)測(cè)所述第一應(yīng)用的性 能下降幅度值;
[0013] 所述Meta-MC根據(jù)所述下降幅度值、一預(yù)設(shè)下降幅度閥值及所述MC的AS1信息調(diào) 整下一個(gè)時(shí)間窗口中所述第一應(yīng)用在所述MC上的帶寬比例。
[0014] 結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式 中,所述Meta-MC根據(jù)所述下降幅度值、一預(yù)設(shè)下降幅度閥值及所述MC的AS 1信息調(diào)整下 一個(gè)時(shí)間窗口中所述第一應(yīng)用在所述MC上的帶寬比例,包括:
[0015] 所述Meta-MC將所述下降幅度值與一預(yù)設(shè)下降幅度閥值進(jìn)行比較,若所述下降幅 度值大于等于所述下降幅度閥值,則在第一目標(biāo)帶寬比例的基礎(chǔ)上增加一預(yù)設(shè)帶寬調(diào)整比 例得到第二目標(biāo)帶寬比例;否則,則在第一目標(biāo)帶寬比例的基礎(chǔ)上減少一預(yù)設(shè)帶寬調(diào)整比 例得到第二目標(biāo)帶寬比例;其中,所述第一目標(biāo)帶寬比例為所述第一應(yīng)用在所述時(shí)間窗口 內(nèi)在所述各個(gè)MC上的帶寬比例之和,所述第二目標(biāo)帶寬比例為所述第一應(yīng)用在所述下一 個(gè)時(shí)間窗口內(nèi)在所述各個(gè)MC上的帶寬比例之和;
[0016] 所述Meta-MC根據(jù)所述MC的AS1信息將所述第二目標(biāo)帶寬比例分配給所述各個(gè) MC0
[0017] 結(jié)合第一方面的第二種或第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí) 現(xiàn)方式中,所述Meta-MC根據(jù)所述MC的RSR sharadw及RSRA1_(1)信息預(yù)測(cè)所述第一應(yīng)用的性 能下降幅度值,包括:
[0018] 所述Meta-MC采用公5
預(yù)測(cè)所述第一應(yīng)用的性能下 降幅度值;其中,所述ct為處理器核的計(jì)算停頓周期比例,RSRsharad為所述RSRsharadw的累 積和,所述RSRA1_為所述RSRA1_(1)的累積和。
[0019] 結(jié)合第一方面、第一方面的第一種至第四種任一種可能的實(shí)現(xiàn)方式,在所述第一 方面的第五種可能的實(shí)現(xiàn)方式中,所述Meta-MC根據(jù)所述訪存請(qǐng)求服務(wù)信息調(diào)整下一個(gè)時(shí) 間窗口中所述第一應(yīng)用在所述MC上的帶寬比例之后,還包括:
[0020] 所述Meta-MC將剩余帶寬比例分配給其它應(yīng)用;其中,所述剩余帶寬比例為除為 所述第一應(yīng)用分配的帶寬比例之外的帶寬比例。
[0021] 結(jié)合第一方面、第一方面的第一種至第五種任一種可能的實(shí)現(xiàn)方式,在所述第一 方面的第六種可能的實(shí)現(xiàn)方式中,所述Meta-MC根據(jù)所述訪存請(qǐng)求服務(wù)信息調(diào)整下一個(gè)時(shí) 間窗口中所述第一應(yīng)用在所述MC上的帶寬比例之后,還包括:
[0022] 所述Meta-MC將調(diào)整后的所述第一應(yīng)用在所述MC上的帶寬比例發(fā)送給所述MC。
[0023] 第二方面,本發(fā)明實(shí)施例提供一種基于內(nèi)存控制器的帶寬分配方法,包括:
[0024] 第一內(nèi)存控制器檢測(cè)第一應(yīng)用在所述第一內(nèi)存控制器上的當(dāng)前帶寬配額;
[0025] 所述第一內(nèi)存控制器根據(jù)所述當(dāng)前帶寬配額和一預(yù)設(shè)帶寬配額調(diào)整所述第一應(yīng) 用在所述第一內(nèi)存控制器上的帶寬配額;其中,所述預(yù)設(shè)帶寬配額為所述第一應(yīng)用在所述 第一內(nèi)存控制器上預(yù)設(shè)的帶寬配額。
[0026] 結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述第一內(nèi)存控制器根 據(jù)所述當(dāng)前帶寬配額和一預(yù)設(shè)帶寬配額調(diào)整所述第一應(yīng)用在所述第一內(nèi)存控制器上的帶 寬配額,包括:
[0027] 若所述當(dāng)前帶寬配額小于所述預(yù)設(shè)帶寬配額,則所述第一內(nèi)存控制器發(fā)送多余帶 寬配額信息,當(dāng)收到第二內(nèi)存控制器的帶寬配額請(qǐng)求后,所述第一內(nèi)存控制器減少所述第 一應(yīng)用在所述第一內(nèi)存控制器上的帶寬配額,并將所述減少的帶寬配額發(fā)送給所述第二內(nèi) 存控制器;其中,所述多余帶寬配額信息中包含所述第一應(yīng)用在所述第一內(nèi)存控制器上多 余的帶寬配額信息;所述帶寬配額請(qǐng)求中包含所述第二內(nèi)存控制器需要借用帶寬配額的信 息;
[0028] 若所述當(dāng)前帶寬配額大于所述預(yù)設(shè)帶寬配額,則所述第一內(nèi)存控制器發(fā)送帶寬配 額請(qǐng)求,當(dāng)收到第二內(nèi)存控制器的多余帶寬配額信息后,所述第一內(nèi)存控制器增加所述第 一應(yīng)用在所述第一內(nèi)存控制器上的帶寬配額;其中,所述多余帶寬配額信息中包含所述第 一應(yīng)用在所述第二內(nèi)存控制器上多余的帶寬配額信息。
[0029] 結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式 中,所述第一內(nèi)存控制器發(fā)送多余帶寬配額信息,包括:
[0030] 所述第一內(nèi)存控制器通過(guò)集中式內(nèi)存控制器發(fā)送所述多余帶寬配額信息;
[0031] 相應(yīng)地,所述第一內(nèi)存控制器發(fā)送帶寬配額請(qǐng)求,包括:
[0032] 所述第一內(nèi)存控制器通過(guò)所述集中式內(nèi)存控制器發(fā)送所述帶寬配額請(qǐng)求。
[0033] 結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式 中,所述第一內(nèi)存控制器發(fā)送多余帶寬配額信息,包括:
[0034] 所述第一內(nèi)存控制器通過(guò)專用MC協(xié)調(diào)總線發(fā)送所述多余帶寬配額信息;
[0035] 相應(yīng)地,所述第一內(nèi)存控制器發(fā)送帶寬配額請(qǐng)求,包括:
[0036] 所述第一內(nèi)存控制器通過(guò)所述專用MC協(xié)調(diào)總線發(fā)送所述帶寬配額請(qǐng)求。
[0037] 結(jié)合第二方面、第二方面的第一種至第三種任一種可能的實(shí)現(xiàn)方式,在第二方面 的第四種可能的實(shí)現(xiàn)方式中,所述第一內(nèi)存控制器檢測(cè)第一應(yīng)用在所述第一內(nèi)存控制器上 的當(dāng)前帶寬配額,包括:
[0038] 當(dāng)?shù)竭_(dá)任一時(shí)間窗口內(nèi)的任一帶寬分配同步點(diǎn)時(shí),所述第一內(nèi)存控制器檢測(cè)第一 應(yīng)用在所述第一內(nèi)存控制器上的當(dāng)前帶寬配額;其中,所述時(shí)間窗口內(nèi)設(shè)置至少一個(gè)帶寬 分配同步點(diǎn)。
[0039] 第三方面,本發(fā)明實(shí)施例提供一種集中式內(nèi)存控制器Meta-MC,包括:
[0040] 獲取模塊,用于在一時(shí)間窗口結(jié)束之時(shí)獲取至少一個(gè)內(nèi)存控制器MC的訪存請(qǐng)求 服務(wù)信息,其中,所述時(shí)間窗口長(zhǎng)度為一預(yù)設(shè)值,所述訪存請(qǐng)求服務(wù)信息為第一應(yīng)用在所述 MC上的訪存請(qǐng)求服務(wù)信息;
[0041] 調(diào)整模塊,用于根據(jù)所述訪存請(qǐng)求服務(wù)信息調(diào)整下一個(gè)時(shí)間窗口中所述第一應(yīng)用 在所述MC上的帶寬比例。
[0042] 結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,獲取模塊用于:在一時(shí)間 窗口結(jié)束之時(shí)接收由所述MC在所述時(shí)間窗口內(nèi)收集所述第一應(yīng)用在所述MC上的訪存請(qǐng)求 服務(wù)信息之后發(fā)送的所述訪存請(qǐng)求服務(wù)信息,其中,所述訪存請(qǐng)求服務(wù)信息包括請(qǐng)求服務(wù) 速率RSR1和所述第一應(yīng)用在所述MC上獲得服務(wù)的訪存周期數(shù)AS 1,所述RSR1包括并發(fā)運(yùn)行 時(shí)的請(qǐng)求服務(wù)速率RSRsharadw和單獨(dú)運(yùn)行時(shí)的請(qǐng)求服務(wù)速率RSR A1_W ;i為所述MC的標(biāo)號(hào)。
[0043] 結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式 中,所述調(diào)整模塊,包括:
[0044] 預(yù)測(cè)單兀,用于根據(jù)所述MC的RSRsharad⑴及RSRAlcine⑴彳目息預(yù)測(cè)所述弟一應(yīng)用的性 能下降幅度值;
[0045] 調(diào)整單元,用于根據(jù)所述下降幅度值、一預(yù)設(shè)下降幅度閥值及所述MC的AS1信息 調(diào)整下一個(gè)時(shí)間窗口中所述第一應(yīng)用在所述MC上的帶寬比例。
[0046] 結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式 中,所述調(diào)整單元,具體用于:
[0047] 將所述下降幅度值與一預(yù)設(shè)下降幅度閥值進(jìn)行比較,若所述下降幅度值大于等于 所述下降幅度閥值,則在第一目標(biāo)帶寬比例的基礎(chǔ)上增加一預(yù)設(shè)帶寬調(diào)整比例得到第二目 標(biāo)帶寬比例;否則,則在第一目標(biāo)帶寬比例的基礎(chǔ)上減少一預(yù)設(shè)帶寬調(diào)整比例得到第二目 標(biāo)帶寬比例;其中,所述第一目標(biāo)帶寬比例為所述第一應(yīng)用在所述時(shí)間窗口內(nèi)在所述各個(gè) MC上的帶寬比例之和,所述第二目標(biāo)帶寬比例為所述第一應(yīng)用在所述下一個(gè)時(shí)間窗口內(nèi)在 所述各個(gè)MC上的帶寬比例之和;
[0048] 根據(jù)所述MC的AS1信息將所述第二目標(biāo)帶寬比例分配給所述各個(gè)MC。
[0049] 結(jié)合第三方面的第二種或第三種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí) 現(xiàn)方式中,所述預(yù)測(cè)單元具體用于:采用公式
預(yù)測(cè)所述第一 應(yīng)用的性能下降幅度值;其中,所述α為處理器核的計(jì)算停頓周期比例,RSRsharad為所述 RSRsharadw的累積和,所述RSRaw為所述RSRAWl)的累積和