專利名稱:片上多線程計(jì)算機(jī)系統(tǒng)中線程性能預(yù)測(cè)和控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)資源分配和線程性能的預(yù)測(cè)和控制方法,尤其涉及一種片上多線程(CMT)計(jì)算機(jī)系統(tǒng)中線程性能預(yù)測(cè)和控制方法。該發(fā)明屬于計(jì)算機(jī)系統(tǒng)設(shè)計(jì)領(lǐng)域,用于對(duì)計(jì)算機(jī)系統(tǒng)、特別是片上多線程計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)進(jìn)行性能設(shè)計(jì)、預(yù)測(cè)、控制,具體應(yīng)用領(lǐng)域是片上多線程體系結(jié)構(gòu)上的處理器內(nèi)部的線程調(diào)度、資源分配、操作系統(tǒng)任務(wù)調(diào)度等功能的設(shè)計(jì)和實(shí)現(xiàn)。
背景技術(shù):
現(xiàn)代計(jì)算機(jī)系統(tǒng)已逐步進(jìn)入片上多線程(CMT)系統(tǒng)結(jié)構(gòu)時(shí)期,允許多個(gè)線程在處理器內(nèi)部同時(shí)運(yùn)行,通過挖掘和利用線程級(jí)并行(TLP),克服指令級(jí)并行(ILP)的不足,提高計(jì)算機(jī)系統(tǒng)的整體處理能力和資源利用率。CMT是硬件級(jí)多線程并行,其主要架構(gòu)形式包括同時(shí)多線程(SMT),片上多處理器(CMP),或二者的混合體。與傳統(tǒng)的操作系統(tǒng)(OS)通過時(shí)間片方式調(diào)度實(shí)現(xiàn)的多任務(wù)并發(fā)(concurrency)機(jī)制不同,CMT系統(tǒng)中是硬件上、時(shí)間上的物理并行,多個(gè)線程同時(shí)在片運(yùn)行,競爭并共享各種片上資源和整個(gè)計(jì)算機(jī)系統(tǒng)的資源, 使得系統(tǒng)的吞吐率(throughput)和資源利用率得到的顯著提升。然而,多個(gè)線程對(duì)處理器片上資源的競爭存在很大的盲目性。如果置之不理或者處理不當(dāng),則極有可能引起線程間的互相干擾和對(duì)資源惡性的競爭,形成一系列不良后果,例如線程的意外饑餓和停滯、資源濫用、優(yōu)先級(jí)顛倒、實(shí)時(shí)性被破壞、交互性被破壞、服務(wù)質(zhì)量(QoS)降低等,這些問題嚴(yán)重增加了計(jì)算機(jī)系統(tǒng)的不可預(yù)測(cè)性和不可控制性,整體性能也隨之降低。通過分析找出上述問題的原因,主要以下有兩方面軟件方面現(xiàn)有操作系統(tǒng)根據(jù)線程的任務(wù)級(jí)別、運(yùn)行要求、調(diào)度策略等選擇一個(gè)或多個(gè)線程調(diào)度到某個(gè)處理器上運(yùn)行或者進(jìn)行線程切換。其調(diào)度功能是工作在通過控制處理器分配時(shí)間來控制線程運(yùn)行時(shí)間這一層面,將線程進(jìn)入處理器的時(shí)間等同于線程運(yùn)行時(shí)間。該做法對(duì)傳統(tǒng)單核、單線程系統(tǒng)完全沒有問題,而對(duì)CMT系統(tǒng)卻容易出現(xiàn)偏差。操作系統(tǒng)對(duì)處理器片上資源難以監(jiān)控和管理,對(duì)多線程的片內(nèi)運(yùn)行難以監(jiān)控和管理。資源的競爭和共享使得多線程的執(zhí)行進(jìn)度并非均勻一致,不可避免地出現(xiàn)差異,即線程運(yùn)行時(shí)間不能等同其在片時(shí)間。在這種情況下,為了滿足指定線程的性能要求,從操作系統(tǒng)的角度只能通過調(diào)度分配其更多的在片時(shí)間、甚至讓其一定程度地獨(dú)占在片資源,這必然犧牲了其它線程的運(yùn)行進(jìn)度,是以資源的不公平分配和整體處理能力的下降為代價(jià)。此外,現(xiàn)有調(diào)度方法中還有試圖通過改善線程搭配的合理性來提高對(duì)線程性能的預(yù)測(cè)和控制,然而這需要對(duì)各類線程運(yùn)行特性的預(yù)知或者在線學(xué)習(xí),以及對(duì)線程的類型、數(shù)量、運(yùn)行特性平穩(wěn)等方面要求,這很大程度上制約了其實(shí)用性和適應(yīng)性。硬件方面CMT是硬件級(jí)線程并行,與傳統(tǒng)并發(fā)方式的OS線程調(diào)度相區(qū)別,CMT更多依靠片上硬件邏輯實(shí)現(xiàn)資源分配和線程調(diào)度策略,為軟件(OS和應(yīng)用程序)同時(shí)提供多個(gè)線程上下文(context),其內(nèi)部細(xì)節(jié)通常對(duì)軟件是透明的,因此CMT的片上調(diào)度和控制邏輯對(duì)系統(tǒng)整體性能的發(fā)揮至關(guān)重要。然而受限于以下幾個(gè)因素,設(shè)計(jì)和實(shí)現(xiàn)科學(xué)、合理、高效率、適應(yīng)性強(qiáng)的硬件級(jí)資源分配和線程調(diào)度策略并非易事(1)不同線程的運(yùn)行特性和資源依賴特性差別很大,即使是一個(gè)線程在不同運(yùn)行階段也會(huì)出現(xiàn)不斷變化,這種差異和變化使得對(duì)線程性能的預(yù)測(cè)類似于未卜先知,非常困難。(2)線程運(yùn)行需要各種在片資源 (可粗略分為帶寬類和存儲(chǔ)類),不同資源對(duì)線程性能的影響機(jī)理和程度不同,且存在一定的耦合作用。因此線程性能對(duì)資源的依賴關(guān)系實(shí)質(zhì)上是對(duì)一個(gè)多輸入、多約束條件下的非線性問題進(jìn)行實(shí)時(shí)地、連續(xù)地求解,需要考慮軟、硬件代價(jià)和可實(shí)現(xiàn)性,因此建模困難。(3) 前述的兩點(diǎn)困難實(shí)際上對(duì)傳統(tǒng)單核、單線程系統(tǒng)也存在,但依賴片上資源獨(dú)占和操作系統(tǒng)的適當(dāng)調(diào)度,基本能夠滿足系統(tǒng)要求。然而對(duì)CMT而言,多個(gè)線程間存在片上資源互相競爭和干擾現(xiàn)象,進(jìn)一步加劇了線程性能和整個(gè)系統(tǒng)的不可預(yù)測(cè)性和不可控制性,因此需要專門的研究和處理。
綜上,線程性能的預(yù)測(cè)和控制能力關(guān)系到CMT系統(tǒng)性能潛力能否充分發(fā)揮以及計(jì)算任務(wù)能否按要求執(zhí)行,現(xiàn)有技術(shù)無論是軟件還是硬件方面都難以給出滿意的解決方案。 歸其原因,一方面是目前缺少線程“性能-資源”依賴關(guān)系的準(zhǔn)確的、量化的、普適的、可操作的模型,導(dǎo)致目前除了操作系統(tǒng)調(diào)度控制在片運(yùn)行時(shí)間之外,對(duì)線程性能的預(yù)測(cè)和控制無從下手。另一方面,CMT系統(tǒng)的線程調(diào)度功能由操作系統(tǒng)層次部分下移到處理器內(nèi)部實(shí)現(xiàn),各線程的進(jìn)度水平實(shí)際是受到操作系統(tǒng)調(diào)度方法和處理器片上資源分配和線程調(diào)度方法共同影響和決定,加大了線程性能的預(yù)測(cè)和控制難度??傊?,目前對(duì)CMT系統(tǒng)中線程性能缺少有效的預(yù)測(cè)、控制的方法和技術(shù)。
發(fā)明內(nèi)容
本發(fā)明為了解決目前CMT計(jì)算機(jī)系統(tǒng)中多線程對(duì)片上資源的無序競爭和互相干擾,以及多線程運(yùn)行的性能不可預(yù)測(cè)性、不可控制性等技術(shù)難題,提供了一種CMT計(jì)算機(jī)系統(tǒng)中線程性能預(yù)測(cè)和控制方法,該方法的實(shí)現(xiàn)步驟(I)建立線程“性能-資源”依賴關(guān)系模型基于關(guān)鍵資源(重命名寄存器,即RRF)分配的線程“性能-資源”依賴關(guān)系的量化模型
m Ρ\*χ + Ρ [_9] /(Χ) = χ“4(公式”其中X表示資源數(shù)量,即重命名寄存器的尺寸,用RRF_size表示;f(x)代表性能,用IPC表示;P1 p4為待確定參數(shù);(2)模型參數(shù)的計(jì)算和調(diào)整模型參數(shù)的計(jì)算和調(diào)整是通過線程采樣運(yùn)行在線學(xué)習(xí)得到;根據(jù)線程運(yùn)行情況實(shí)時(shí)地計(jì)算和調(diào)整參數(shù)P1 P4 ;通過設(shè)定不同的RRF_size,即公式I中的x,并獲取對(duì)應(yīng)的 IPC,即公式I中的f (X),得到關(guān)于參數(shù)P1 P4的四元一次方程組,求解得到;(3)線程性能的預(yù)測(cè)和控制根據(jù)建立的“性能-資源”依賴關(guān)系模型,對(duì)指定線程在運(yùn)行過程中持續(xù)進(jìn)行性能采樣和監(jiān)測(cè),實(shí)現(xiàn)對(duì)線程性能進(jìn)行實(shí)時(shí)跟蹤和準(zhǔn)確預(yù)測(cè)。根據(jù)用戶或系統(tǒng)設(shè)定的性能要求,利用參數(shù)確定模型計(jì)算要達(dá)到該性能所需要的關(guān)鍵資源(RRF)數(shù)量;利用參數(shù)確定模型的計(jì)算結(jié)果指導(dǎo)CMT系統(tǒng)中關(guān)鍵資源的分配和調(diào)整,從而實(shí)現(xiàn)對(duì)線程性能的預(yù)測(cè)和控制,達(dá)到用戶或系統(tǒng)對(duì)該線程的性能設(shè)定要求。本發(fā)明的有益效果本發(fā)明能夠?qū)崿F(xiàn)對(duì)線程性能比較精確的預(yù)測(cè)和控制,解決 CMT計(jì)算機(jī)系統(tǒng)中多線程對(duì)片上資源的無序競爭和互相干擾,克服多線程運(yùn)行的性能不可預(yù)測(cè)性、不可控制性。本發(fā)明的應(yīng)用對(duì)于徹底解決CMT系統(tǒng)中的線程意外饑餓和停滯、資源濫用、優(yōu)先級(jí)顛倒、實(shí)時(shí)性被破壞、交互性被破壞、服務(wù)質(zhì)量(QoS)降低等問題很有幫助。本發(fā)明的特點(diǎn)(I)模型簡單、準(zhǔn)確,能夠準(zhǔn)確地描述“性能-資源”的依賴關(guān)系。(2)適應(yīng)性強(qiáng),能夠?qū)崿F(xiàn)對(duì)各類線程性能比較精確的預(yù)測(cè)和控制。(3)支持絕對(duì)性能和性能百分比這兩種性能控制方式。
(4)實(shí)現(xiàn)代價(jià)小,在現(xiàn)有體系結(jié)構(gòu)基礎(chǔ)上容易實(shí)現(xiàn)。
圖I.線程的“性能-資源”依賴關(guān)系(用SPEC CPU2000測(cè)試)圖2.性能公式參數(shù)(P1 p4)的計(jì)算方法圖3.線程性能的預(yù)測(cè)和控制方法
具體實(shí)施例方式參見圖I-圖3所給出的CMT計(jì)算機(jī)系統(tǒng)中線程性能預(yù)測(cè)和控制方法的實(shí)現(xiàn)過程; 下面詳細(xì)介紹每個(gè)步驟的技術(shù)手段、方案(I)線程“性能-資源”依賴關(guān)系模型的建立這是本發(fā)明的基礎(chǔ)。該依賴關(guān)系十分復(fù)雜,迄今為止國內(nèi)外還沒有出現(xiàn)準(zhǔn)確的、普適的、可操作的量化模型。我們?cè)谘芯窟^程中通過分析、實(shí)驗(yàn)、簡化和抽象,設(shè)計(jì)出一種基于關(guān)鍵資源(重命名寄存器,即RRF)分配的線程“性能-資源”依賴關(guān)系的量化模型,如公式I所示。該模型的提出基于如下事實(shí)(a) 線程在流水線上運(yùn)行時(shí),需要各種存儲(chǔ)類資源(如取指隊(duì)列、重命名寄存器、發(fā)射隊(duì)列、再定序緩沖、保留棧、數(shù)據(jù)讀寫緩沖、I-Cache、D-Cache)和各種帶寬類資源(如取指帶寬、 譯碼帶寬、重命名帶寬、發(fā)射帶寬、各類執(zhí)行單元的數(shù)量和間隔、讀寫帶寬)。不同資源對(duì)線程性能的影響機(jī)理和程度各不相同,建立一個(gè)涵蓋各類資源和各種因素的統(tǒng)一模型既不現(xiàn)實(shí)、也沒必要。理論分析和大量實(shí)驗(yàn)發(fā)現(xiàn),找出對(duì)線程性能起到調(diào)控作用的關(guān)鍵點(diǎn),即通過對(duì)關(guān)鍵帶寬類資源分配的調(diào)控,完全可以實(shí)現(xiàn)對(duì)線程性能的預(yù)測(cè)和控制。(b)重命名寄存器 (RRF)是現(xiàn)代動(dòng)態(tài)超標(biāo)量處理器的標(biāo)準(zhǔn)技術(shù),是實(shí)現(xiàn)指令亂序發(fā)射、提高ILP的重要基礎(chǔ)。 RRF作為流水線前端最重要的存儲(chǔ)類資源,其分配數(shù)量對(duì)線程在后面各流水段的資源分配和運(yùn)行過程有直接的調(diào)控作用。因此,本發(fā)明選取重命名寄存器數(shù)量(RRF_s ize)作為“性能-資源”模型的自變量。(c)通過國際通用的SPEC CPU2000測(cè)試集全部26個(gè)程序的大量測(cè)試,驗(yàn)證了該量化模型的準(zhǔn)確性、普適性、可操作性。圖I給出了各測(cè)試程序的IPC對(duì) RRF_size的依賴關(guān)系(連續(xù)100個(gè)大小為IM條指令的線程片段),其中的點(diǎn)為實(shí)測(cè)數(shù)據(jù)點(diǎn), 曲線為采用公式I進(jìn)行擬合的結(jié)果。(2)模型參數(shù)的計(jì)算和調(diào)整該模型具有準(zhǔn)確性和普適性。然而不同的線程依賴特性有所差別,即使同一線程的不同階段也會(huì)有所變化,因此應(yīng)用該模型的前提是根據(jù)線程運(yùn)行情況實(shí)時(shí)地計(jì)算和調(diào)整參數(shù)P1 P4。參數(shù)計(jì)算的流程如圖2所示。其原理是連續(xù) 4次對(duì)指定線程進(jìn)行采樣方式運(yùn)行,即設(shè)定不同的RRF_size(公式I中的x)并獲取對(duì)應(yīng)的 IPC (公式I中的f (X)),得到關(guān)于參數(shù)P1 P4的四元一次方程組,求解得到。(3)線程性能的預(yù)測(cè)和控制方法根據(jù)建立的“性能-資源”依賴關(guān)系模型,本發(fā)明設(shè)計(jì)出對(duì)線程性能的準(zhǔn)確預(yù)測(cè)和控制方法,其流程如圖3所示。其基本過程是對(duì)指定線程在運(yùn)行過程中持續(xù)進(jìn)行性能采樣和監(jiān)測(cè),并根據(jù)模型計(jì)算結(jié)果進(jìn)行資源的分配調(diào)整,達(dá)到用戶或系統(tǒng)對(duì)該線程性能方面的設(shè)定要求。其中步驟2的采樣測(cè)定參數(shù)的過程即是圖2 所示的參數(shù)計(jì)算過程。采樣測(cè)定參數(shù)后,根據(jù)模型估算該線程的最大性能潛力,即f(x)的極值。實(shí)際計(jì)算過程中,可以將其導(dǎo)數(shù)即Γ (X)等于或接近于O(例如O. 03)時(shí)的值認(rèn)定是最大性能(參見圖I)。此后,如果設(shè)定的是絕對(duì)性能,需要對(duì)設(shè)定性能是否合理進(jìn)行判斷并相應(yīng)處理,即不能大于該線程估算的最大性能。如果設(shè)定的是相對(duì)性能(即占最大性能的百分比),則需要在步驟4換算成絕對(duì)性能。在步驟5中根據(jù)公式I計(jì)算x(即達(dá)到設(shè)定性能所需要的RRF_size),根據(jù)計(jì)算結(jié)果進(jìn)行RRF的分配和調(diào)整。此后保持線程運(yùn)行直至下一次參數(shù)調(diào)整間隔返回步驟2重新測(cè)定并調(diào)整參數(shù),或者線程運(yùn)行結(jié)束。實(shí)施例參看圖2-圖3,應(yīng)用本發(fā)明能夠?qū)MT計(jì)算機(jī)系統(tǒng)中線程性能進(jìn)·行預(yù)測(cè)和控制,解決CMT計(jì)算機(jī)系統(tǒng)中因?yàn)槎嗑€程對(duì)片上資源的無序競爭和互相干擾帶來的各種問題,克服多線程運(yùn)行的性能不可預(yù)測(cè)性、不可控制性。本發(fā)明的具體實(shí)施可以在硬件級(jí)(即處理器芯片內(nèi)部)設(shè)計(jì)完成,也可以由操作系統(tǒng)配合硬件設(shè)計(jì)共同完成。根據(jù)用戶或應(yīng)用程序設(shè)定的性能要求(絕對(duì)性能或性能百分比),利用參數(shù)確定好的模型計(jì)算要達(dá)到該性能所需要的關(guān)鍵資源(RRF)數(shù)量,調(diào)整資源分配,達(dá)到線程性能控制的目的。模型參數(shù)的獲取和調(diào)整是通過線程采樣在線學(xué)習(xí)得到,如圖2所示。這種在線學(xué)習(xí)和定期調(diào)整方式保證了對(duì)線程性能的實(shí)時(shí)跟蹤,保證對(duì)線程性能預(yù)測(cè)和控制的準(zhǔn)確性。這里通過一個(gè)典型的應(yīng)用場景來說明該方法的實(shí)施過程。設(shè)CMT計(jì)算機(jī)系統(tǒng)正在同時(shí)運(yùn)行η個(gè)線程Tl-Tn,其中某個(gè)線程Tx有特殊的性能要求IPCx,其余線程沒有特殊的性能要求。要實(shí)現(xiàn)這一要求,參看圖3 :步驟1,首先要設(shè)定Tx線程要達(dá)到的絕對(duì)性能或性能百分比;步驟2通過采樣確定Tx的性能模型參數(shù)P1 p4,即參看圖2所示過程,在連續(xù)4 次短期(例如IM周期)的采樣過程中為Tx設(shè)定不同的RRF_size并測(cè)算其對(duì)應(yīng)的IPC,求解方程組得到參數(shù)P1 P4。步驟3,根據(jù)性能公式I估算線程Tx的最大性能。步驟4,判斷設(shè)定的IPCx的合理性(不能大于步驟3中估算的最大性能)。步驟5,根據(jù)性能公式I計(jì)算 Tx需要的RRF_size并調(diào)整RRF分配。步驟6,保持系統(tǒng)運(yùn)行,直到下次參數(shù)調(diào)整間隔(例如100M周期)返回步驟2或者線程Tx運(yùn)行結(jié)束。以這種“采樣-參數(shù)計(jì)算-資源分配調(diào)整-連續(xù)運(yùn)行”的循環(huán)方式連續(xù)運(yùn)行直到線程結(jié)束,能夠達(dá)到線程Tx要求的性能IPCx。通過實(shí)驗(yàn)對(duì)全部26個(gè)SPEC CPU2000各類測(cè)試程序進(jìn)行驗(yàn)證,有效率達(dá)100%,準(zhǔn)確率達(dá)95% 以上,即設(shè)定性能與實(shí)際性能的誤差小于5%,達(dá)到了對(duì)CMT線程性能精確預(yù)測(cè)和控制的目的。參見圖2,關(guān)于模型參數(shù)的計(jì)算和調(diào)整需要說明的幾點(diǎn)(a)線程的性能特性和資源需求具有一定的慣性,二者雖然隨著運(yùn)行不斷變化,但在一個(gè)相對(duì)較短的時(shí)間間隔內(nèi)(如IOOM周期或100M條指令)大多是保持相對(duì)穩(wěn)定的。因此這種通過連續(xù)采樣方式獲得參數(shù)的方法是切實(shí)可行的,即得到的參數(shù)對(duì)后面一段時(shí)間的線程運(yùn)行能做到比較準(zhǔn)確的預(yù)測(cè)。(b)采樣片段占線程總體運(yùn)行時(shí)間的比例很小,對(duì)線程正常運(yùn)行的影響可以忽略。以 100M周期參數(shù)調(diào)整間隔為例,連續(xù)4次IM周期的采樣可以指導(dǎo)其后96M周期的線程運(yùn)行, 采樣時(shí)間比例只占4%。實(shí)際上對(duì)于性能和資源需求相對(duì)平穩(wěn)的線程,采樣時(shí)間比例可以更低。(C)現(xiàn)代處理器和計(jì)算機(jī)系統(tǒng)普遍支持片上計(jì)數(shù)和統(tǒng)計(jì)功能(cycle-level counting), 例如圖2中每個(gè)采樣片段的指令計(jì)數(shù)和周期計(jì)數(shù),這種硬件級(jí)支持使得對(duì)線程運(yùn)行過程的指標(biāo)統(tǒng)計(jì)變得很容易、且實(shí)現(xiàn)代價(jià)很小。(d)步驟5中四元一次方程組求解需要的計(jì)算量很小,可以由操作系統(tǒng)開辟一個(gè)專門線程進(jìn)行計(jì)算或采用硬件固化實(shí)現(xiàn),對(duì)其余在片線程的運(yùn)行的影響基本可以忽略。(e)該方法的步驟I中的初始化設(shè)置實(shí)際上是根據(jù)經(jīng)驗(yàn)和具體CMT系統(tǒng)配置水平來確定,沒有必要每次都設(shè)定。在實(shí)際應(yīng)用中,建議結(jié)合操作系統(tǒng)的線程調(diào)度管理以及對(duì)線程運(yùn)行狀態(tài)的在線評(píng)測(cè)適時(shí)地進(jìn)行調(diào)整,可進(jìn)一步提高該方法的適應(yīng)性。參見圖3,關(guān)于線程性能的預(yù)測(cè)和控制方法需要說明的幾點(diǎn)(a)步驟I對(duì)線程性能的設(shè)定由用戶或操作系統(tǒng)根據(jù)程序運(yùn)行的具體要求進(jìn)行設(shè)定,結(jié)果記入操作系統(tǒng)的調(diào)度模塊中關(guān)于該線程的調(diào)度記錄。(b)整個(gè)過程的實(shí)現(xiàn)可由操作系統(tǒng)和處理器配合完成,虛線內(nèi)的計(jì)算部分可由操作系統(tǒng)開辟專門的管理線程進(jìn)行,也可以在處理器內(nèi)部固化硬件實(shí)現(xiàn)。資源分配和調(diào)整的功能在處理器內(nèi)部進(jìn)行,需要對(duì)現(xiàn)有體系結(jié)構(gòu)的進(jìn)行調(diào)整和再設(shè)計(jì), 這在現(xiàn)有體系結(jié)構(gòu)(支持片上計(jì)數(shù)和統(tǒng)計(jì)功能、支持資源顯式分配)的基礎(chǔ)上容易實(shí)現(xiàn),實(shí)現(xiàn)代價(jià)很小,幾乎可忽略。(C)應(yīng)用該方法既可以預(yù)測(cè)和控制某一指定線程的性能,也可以預(yù)測(cè)和控制某幾個(gè)指定線程的性能(即將該方法同時(shí)用于多個(gè)線程),前提是累計(jì)性能要求不超過系統(tǒng)的最大處理能力。(d)整個(gè)運(yùn)行過程中,處理器內(nèi)部或操作系統(tǒng)對(duì)整個(gè)運(yùn)行過程中線程運(yùn)行和資源分配情況進(jìn)行跟蹤監(jiān)測(cè)和相應(yīng)管理,保證系統(tǒng)的正常運(yùn)行。 附英文縮寫的含義、中文名稱CMP :chip multiprocessor,片上多處理器CMT chip multithrea ding,片上多線程ILP instruction level parallelism,指令級(jí)并行IPC instruction per cycle,指令/節(jié)拍,計(jì)算機(jī)系統(tǒng)性能單位OS operating system,操作系統(tǒng)RRF rename register file,重命名寄存器RRF_size rename register file size,重命名寄存器的尺寸SMT simultaneous multithreading,同時(shí)多線程TLP thread level parallelism,線程級(jí)并行
權(quán)利要求
1.片上多線程(CMT)計(jì)算機(jī)系統(tǒng)中線程性能預(yù)測(cè)和控制方法,該方法實(shí)現(xiàn)步驟 (1)建立線程“性能-資源”依賴關(guān)系模型 是基于重命名寄存器RRF分配的線程“性能-資源”依賴關(guān)系的量化模型 ル)=/^7+2Α(公式 I) 其中 X表示資源數(shù)量,即重命名寄存器的尺寸,用RRF_size表示; f(x)代表性能,用IPC表示; Pi P4為待確定參數(shù); (2)模型參數(shù)的計(jì)算和調(diào)整 根據(jù)線程運(yùn)行情況實(shí)時(shí)地計(jì)算和調(diào)整參數(shù)P1 P4 :設(shè)定不同的RRF_size,即公式I中的X,并獲取對(duì)應(yīng)的IPC,即公式I中的f (X),得到關(guān)于參數(shù)P1 P4的四元一次方程組,求解得到; (3)線程性能的預(yù)測(cè)和控制 根據(jù)建立的“性能-資源”依賴關(guān)系模型,對(duì)指定線程在運(yùn)行過程中持續(xù)進(jìn)行性能采樣和監(jiān)測(cè),井根據(jù)模型計(jì)算結(jié)果進(jìn)行資源的分配調(diào)整,達(dá)到用戶或系統(tǒng)對(duì)該線程性能方面的設(shè)定要求; 用“性能-資源”依賴關(guān)系模型指導(dǎo)CMT系統(tǒng)中關(guān)鍵資源的分配,從而達(dá)到對(duì)線程性能進(jìn)行預(yù)測(cè)和控制的目的;模型參數(shù)的獲取和調(diào)整是通過線程采樣在線學(xué)習(xí)得到;以實(shí)現(xiàn)對(duì)線程性能進(jìn)行實(shí)時(shí)跟蹤、對(duì)線程性能準(zhǔn)確預(yù)測(cè);根據(jù)用戶或應(yīng)用程序設(shè)定的性能要求,利用參數(shù)確定模型計(jì)算要達(dá)到該性能所需要的關(guān)鍵資源(RRF)數(shù)量,重新調(diào)整資源分配,達(dá)到線程性能控制的目的。
全文摘要
片上多線程計(jì)算機(jī)系統(tǒng)中線程性能預(yù)測(cè)和控制方法,是為解決目前CMT系統(tǒng)中的線程意外饑餓和停滯,資源濫用,優(yōu)先級(jí)顛倒等技術(shù)難題而設(shè)計(jì)的。該方法用“性能-資源”依賴關(guān)系模型指導(dǎo)CMT系統(tǒng)中關(guān)鍵資源(RRF)的分配,實(shí)現(xiàn)對(duì)線程性能進(jìn)行預(yù)測(cè)和控制;模型參數(shù)的獲取和調(diào)整是通過線程采樣在線學(xué)習(xí)得到;以實(shí)現(xiàn)對(duì)線程性能實(shí)時(shí)跟蹤及準(zhǔn)確預(yù)測(cè);根據(jù)設(shè)定的性能要求利用參數(shù)確定模型計(jì)算要達(dá)到該性能所需要的關(guān)鍵資源數(shù)量,重新調(diào)整資源分配。有益效果模型簡單,能準(zhǔn)確描述性能-資源的依賴關(guān)系;適應(yīng)性強(qiáng),能實(shí)現(xiàn)對(duì)各類線程性能比較精確的預(yù)測(cè)和控制;支持絕對(duì)性能和性能百分比兩種控制方式;實(shí)現(xiàn)代價(jià)小,在現(xiàn)有體系結(jié)構(gòu)基礎(chǔ)上易于實(shí)現(xiàn),實(shí)現(xiàn)多線程對(duì)片上資源的有序分配及性能的可預(yù)測(cè)性和可控制性。
文檔編號(hào)G06F9/50GK102708007SQ201210100629
公開日2012年10月3日 申請(qǐng)日期2012年4月6日 優(yōu)先權(quán)日2012年4月6日
發(fā)明者楊華, 潘琢金, 石祥斌 申請(qǐng)人:沈陽航空航天大學(xué)