累計用于電子系統(tǒng)的硬件計數(shù)的方法和電子系統(tǒng)的制作方法
【專利摘要】提供一種累計用于電子系統(tǒng)的硬件計數(shù)的方法和電子系統(tǒng)。通過從全速硬件計數(shù)器單元向存儲器控制器連續(xù)發(fā)送計數(shù)值來執(zhí)行計算機系統(tǒng)中的硬件計數(shù)的存儲器內(nèi)累計。發(fā)送單元定期地采樣來自硬件計數(shù)器單元的性能數(shù)據(jù),并且向用于與存儲器控制器通信的互連總線的總線接口傳輸計數(shù)值。存儲器控制器使用當前計數(shù)值來響應(yīng)地更新在系統(tǒng)存儲器中存儲的累計計數(shù)值,例如遞增累計計數(shù)值??梢耘c指向存儲器位置的指針和關(guān)于將如何更新位置的指令一起發(fā)送計數(shù)值。指令可以是原子性讀取-修改-寫入操作,并且存儲器控制器可以包括用于執(zhí)行該操作的專用算術(shù)邏輯單元。數(shù)據(jù)收獲器然后可以用來通過從系統(tǒng)存儲器中的表讀取累計計數(shù)值來收獲累計計數(shù)值。
【專利說明】累計用于電子系統(tǒng)的硬件計數(shù)的方法和電子系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明主要地涉及監(jiān)視計算機系統(tǒng),并且更具體地涉及一種累計來自計算機系統(tǒng)或者設(shè)備中的硬件計數(shù)器的性能數(shù)據(jù)的方法。
【背景技術(shù)】
[0002]隨著電子系統(tǒng)變得更復(fù)雜,更加需要監(jiān)視系統(tǒng)的性能以保證最優(yōu)操作并且標識任何缺陷或者設(shè)計問題。這一考慮對于集成電路、比如在計算機系統(tǒng)中使用的處理器和其他現(xiàn)有技術(shù)設(shè)備特別重要。典型處理器包括都由集成電路裝置形成的各種執(zhí)行單元、寄存器、緩沖器、存儲器和其他功能單元。硬件計數(shù)器可以被嵌入于這一電路裝置內(nèi)以跟蹤各種事件。如今的處理器通常提供對在第一事件與第二事件之間的時間、周期或者其他事件類型進行計數(shù)的性能監(jiān)視計數(shù)器。例如,如果將要測量延時,則計數(shù)的事件通常是周期,并且典型的開始和停止事件可以是指令取讀和指令完成、加載取讀和加載完成或者高速緩存未命中和高速緩存重載。備選地,如果考察對于大量高速緩存重載延時的原因,則典型的開始和停止事件可以是高速緩存加載和高速緩存重載,并且計數(shù)的事件可以是在互連結(jié)構(gòu)中的加載重試或者為了重載高速緩存而執(zhí)行的某個動作。除了對在開始與停止事件之間的事件進行計數(shù),經(jīng)常希望查看計數(shù)的事件數(shù)目是否超過給定的門限,或者測量計數(shù)的事件數(shù)目多么頻繁地超過門限。為了提供這一附加功能,硬件可以支持包含如下值的門限寄存器,計數(shù)的事件總數(shù)將與該值做比較。在硬件計數(shù)器寄存器中的值可以與先前存儲的值交換以作為使處理器的狀態(tài)改變的上下文切換的一部分。
[0003]由于如今的處理器的復(fù)雜性,所以存在可以計數(shù)的大量不同事件類型以及需要指定的大量不同可能的開始事件和停止事件。用于復(fù)雜計算機系統(tǒng)的在開始事件與停止事件之間的計數(shù)的事件總數(shù)可以在大范圍內(nèi)變化。例如一些開始事件和停止事件對可以被僅少數(shù)計數(shù)的事件分離,而其他開始事件和停止事件對可以被百萬或者更多計數(shù)的事件分離。
【發(fā)明內(nèi)容】
[0004]本發(fā)明主要地涉及一種用于累計硬件計數(shù)的方法和系統(tǒng),包括在硬件計數(shù)器單元中維持用于電子系統(tǒng)的硬件部件的計數(shù)的事件的當前計數(shù)值,以及向存儲器控制器發(fā)送當前計數(shù)值,該存儲器控制器控制對電子系統(tǒng)的系統(tǒng)存儲器設(shè)備的訪問。存儲器控制器使用當前計數(shù)值來響應(yīng)性地更新在電子系統(tǒng)的系統(tǒng)存儲器設(shè)備中存儲的累計計數(shù)值。例如存儲器控制器可以包括根據(jù)當前計數(shù)值來遞增累計計數(shù)值。在示例應(yīng)用中,電子系統(tǒng)是計算機系統(tǒng),并且硬件部件是計算機系統(tǒng)的處理器核,處理器核處理在系統(tǒng)存儲器設(shè)備中駐留的程序指令。該系統(tǒng)可以包括發(fā)送單元,發(fā)送單元定期地采樣來自硬件計數(shù)器單元的包括當前計數(shù)值的性能數(shù)據(jù),并且向用于與存儲器控制器通信的互連總線的總線接口傳輸當前計數(shù)值??梢耘c指向系統(tǒng)存儲器設(shè)備中的位置的存儲器指針和關(guān)于將如何更新該位置的指令一起發(fā)送當前計數(shù)值。在所示實現(xiàn)方式中,指令用于原子性讀取-修改-寫入操作。存儲器控制器可以包括用于執(zhí)行原子性讀取-修改-寫入操作的專用算術(shù)邏輯單元。數(shù)據(jù)收獲器應(yīng)用可以用來通過從系統(tǒng)存儲器設(shè)備中的表讀取累計計數(shù)值來收獲累計計數(shù)值。
[0005]本發(fā)明的以上以及附加目的、特征和優(yōu)點將在以下具體書面描述中變得清楚。
【專利附圖】
【附圖說明】
[0006]可以通過參照附圖更好地理本發(fā)明解并且使它的許多目的、特征和優(yōu)點為本領(lǐng)域技術(shù)人員所清楚。
[0007]圖1是根據(jù)本發(fā)明的一個實施例構(gòu)造的計算機系統(tǒng)的框圖,該計算機系統(tǒng)具有性能數(shù)據(jù)在系統(tǒng)的主存儲器內(nèi)被累計的硬件計數(shù)器;
[0008]圖2是圖示根據(jù)本發(fā)明的一個實現(xiàn)方式的硬件計數(shù)器性能數(shù)據(jù)的存儲器內(nèi)累計操作的聞級不意圖;
[0009]圖3是根據(jù)本發(fā)明的一個實施例的用于來自硬件計數(shù)器單元的性能數(shù)據(jù)的在存儲器中的組條目的示例;
[0010]圖4是圖示根據(jù)本發(fā)明的一個實現(xiàn)方式的存儲器內(nèi)累計(IMA)表的構(gòu)造的圖表,該IMA表具有被組織成不同分節(jié)的記錄集合;以及
[0011]圖5是描繪根據(jù)本發(fā)明的一個實現(xiàn)方式的用于監(jiān)視IMA性能數(shù)據(jù)的收獲器狀態(tài)機的邏輯流程的圖表。
[0012]在不同附圖中使用相同標號指示相似或者相同項目。
【具體實施方式】
[0013]每代計算機硬件比先前更復(fù)雜。隨著設(shè)計復(fù)雜性增加,性能差異也增加。對現(xiàn)場極為廣泛的客戶工作量范圍的評估和響應(yīng)變得更重要。必須設(shè)計硬件性能測量設(shè)備以滿足這些增加的需求,但是用于全部系統(tǒng)的連續(xù)性能監(jiān)視的傳統(tǒng)方式已經(jīng)為許多限制所阻礙,這些限制使現(xiàn)場部署在初始設(shè)計投資上或者在連續(xù)運營成本上昂貴得無人問津。在這些限制之中有如下限制。
[0014]在計數(shù)器溢出之前可能存在相對短的間隔。這一步調(diào)需要中斷溢出維修或者頻繁輪詢以避免丟失數(shù)據(jù)。這兩種維修方法消耗硬件和軟件執(zhí)行資源。
[0015]在現(xiàn)有技術(shù)系統(tǒng)中,通常有少量全速計數(shù)器,因為用于構(gòu)造計數(shù)器以及關(guān)聯(lián)事件、控制和數(shù)據(jù)路徑布線的芯片面積非常昂貴。這一壓力經(jīng)常迫使密集使用事件復(fù)用,這在歷史上需要主機處理器干預(yù)(工作量中斷)以讀取、存儲和配置性能計數(shù)器。
[0016]如果設(shè)計焦點是在虛擬設(shè)備監(jiān)視上,則測量范圍可能限于在其中使用它們的操作系統(tǒng)映像(邏輯分區(qū))。如果這是僅有的可用數(shù)據(jù),則變得幾乎不可能協(xié)調(diào)為了跨越所有物理設(shè)備構(gòu)造整個系統(tǒng)的性能快照而必需的同時虛擬機(同時分區(qū))測量。相反,如果設(shè)計焦點是在物理設(shè)備監(jiān)視上,則沒有回到虛擬域(邏輯分區(qū)或者虛擬機)的對準的橋接。物理設(shè)備計數(shù)器也可能缺乏通向下層軟件代碼狀態(tài)的橋接。
[0017]在具有用于連接事件源與集中式硬件計數(shù)器的長數(shù)據(jù)路徑的實現(xiàn)方式中,硬件性能計數(shù)器經(jīng)常不能恰好位于它們將監(jiān)視的邏輯附近。性能監(jiān)視器在芯片設(shè)計的一些最復(fù)雜化的區(qū)域中尤其必要。長的直接事件數(shù)據(jù)路徑在面積、功率消耗和測試方面很昂貴。
[0018]對于上下文切換,存在必須在物理到虛擬映射的改變(分區(qū)交換)時保存和恢復(fù)的額外狀態(tài)開銷(額外計數(shù)器寄存器)。這一開銷消耗了可以更好地花費在執(zhí)行對服務(wù)提供者和終端使用客戶有價值的工作量上的系統(tǒng)資源。
[0019]常規(guī)監(jiān)視系統(tǒng)使用廣泛不同的收集和數(shù)據(jù)訪問接口。位于物理設(shè)備內(nèi)的與程序和操作性能監(jiān)視器的接口通常不同于在虛擬設(shè)備內(nèi)的接口。在相同系統(tǒng)內(nèi)(或者從一代到下一代系統(tǒng)硬件)的不同接口增添了開發(fā)成本并且增加部署錯誤的機會。
[0020]現(xiàn)有技術(shù)系統(tǒng)另外對于在許多監(jiān)視應(yīng)用之間的直接共享并不友好。本地硬件性能計數(shù)器是稀缺和極有價值的資源。當前用于共享這些計數(shù)器的方法增加測量間隔要求并且增加為每個應(yīng)用在操作系統(tǒng)內(nèi)保存和恢復(fù)狀態(tài)的開銷。
[0021]因此將希望設(shè)計一種可以克服前述限制的改進的性能數(shù)據(jù)監(jiān)視方法。如果該方法可以適合用于在所有操作環(huán)境中、在實驗室中和在現(xiàn)場客戶地點中的系統(tǒng)范圍硬件性能監(jiān)視則將進一步有利。本發(fā)明使用新穎的存儲器內(nèi)累計(IMA)機制來實現(xiàn)這些目標。第一,IMA連續(xù)更新存儲器中的廣泛表,向它們填充硬件性能事件計數(shù)(每芯片數(shù)以千計的硬件性能事件計數(shù)易于維持)。第二,該機制用最少硬件和軟件資源消耗執(zhí)行它的數(shù)據(jù)收集和累計,并且作為結(jié)果,它的操作將接近不可察覺。第三,以可以從物理設(shè)備、虛擬機和代碼狀態(tài)的角度準確和同時表征系統(tǒng)操作這樣的方式在存儲器中累計數(shù)據(jù)。第四,IMA提供可以由在系統(tǒng)中的所有層級的性能監(jiān)視工具使用的統(tǒng)一接口。第五,IMA部件設(shè)計起來簡單并且實施起來不昂貴。
[0022]現(xiàn)在參照各圖并且具體參照圖1,其描繪根據(jù)本發(fā)明構(gòu)造的計算機系統(tǒng)的一個實施例10。計算機系統(tǒng)10是具有連接到系統(tǒng)總線14的多個處理器12a、12b的對稱多處理器(SMP)系統(tǒng)。系統(tǒng)總線14還被連接到提供與系統(tǒng)存儲器18的接口的組合式存儲器控制器/主機橋接(MC/HB) 16并且與該MC/HB通信。系統(tǒng)存儲器18可以是本地存儲器設(shè)備或者備選地可以包括多個分布式存儲器設(shè)備、優(yōu)選為動態(tài)隨機存取存儲器(DRAM)。在存儲器分級中可以存在未描繪的附加結(jié)構(gòu)、比如板上(LI)和第二級(L2)或者第三級(L3)高速緩存。
[0023]MC/HB16也具有與外圍部件互連(PCI)快速鏈路20a、20b、20c的接口。每個PCI快速(PCIe)鏈路20a、20b被連接到相應(yīng)PCIe適配器22a、22b,并且每個PCIe適配器22a、22b被連接到相應(yīng)輸入/輸出(I/O)設(shè)備24a、24b。MC/HB16還可以具有與I/O總線26的接口,該I/O總線被連接到交換機(I/O結(jié)構(gòu))28。交換機28向多個PCI鏈路20d、20e、20f提供用于I/O總線的扇出。這些PCI鏈路被連接到更多PCIe適配器22c、22d、22e,這些PCIe適配器又支持更多I/O設(shè)備24c、24d、24e。I/O設(shè)備可以包括而不限于鍵盤、圖形指示設(shè)備(鼠標)、麥克風、顯示設(shè)備、揚聲器、持久存儲設(shè)備(硬盤驅(qū)動)或者這樣的存儲設(shè)備、光盤驅(qū)動和網(wǎng)卡的陣列。每個PCIe適配器提供在PCI鏈路與相應(yīng)I/O設(shè)備之間的接口。MC/HB16提供低延時路徑,處理器12a、12b可以通過該低延時路徑訪問在總線存儲器或者I/O地址空間內(nèi)任意處映射的PCI設(shè)備。MC/HB16還提供用于允許PCI設(shè)備訪問存儲器18的高帶寬路徑。交換機28可以提供在不同端點之間的對等通信,并且如果此數(shù)據(jù)流量未涉及高速緩存相干存儲器傳送則無需被轉(zhuǎn)發(fā)到MC/HB16。示出交換機28為分離邏輯部件,但是它可以被集成到MC/HB16中。
[0024]在這一實施例中,PCI鏈路20c將MC/HB16連接到服務(wù)處理器接口 30以允許在I/O設(shè)備24a與服務(wù)處理器32之間的通信。服務(wù)處理器32經(jīng)由JTAG接口 34被連接到處理器12a、12b,并且使用使處理器12a、12b的操作中斷的衰減線36。服務(wù)處理器32可以具有其自己的本地存儲器38并且被連接到存儲用于系統(tǒng)啟動的各種程序指令的只讀存儲器(R0M)40。服務(wù)處理器32也可以具有對硬件操作面板42的訪問以提供系統(tǒng)狀態(tài)和診斷信肩、O
[0025]在備選實施例中,計算機系統(tǒng)10可以包括這些硬件部件或者它們的互連的修改或者附加部件,因此不應(yīng)將描述的示例解釋為暗示關(guān)于本發(fā)明的任何架構(gòu)限制??梢栽诘刃г朴嬎悱h(huán)境中實施本發(fā)明。
[0026]在計算機系統(tǒng)10被初始地上電時,服務(wù)處理器32使用JTAG接口 34以詢問系統(tǒng)(主機)處理器12a、12b和MC/HB16。在完成詢問之后,服務(wù)處理器32獲取用于計算機系統(tǒng)10的庫存清單和拓撲。服務(wù)處理器32然后對計算機系統(tǒng)10的部件執(zhí)行各種測試、比如內(nèi)置自測試(BIST)、基本保證測試(BAT)和存儲器測試。服務(wù)處理器32向操作面板42報告用于在測試期間檢測到的故障的任何錯誤信息。如果系統(tǒng)資源的有效配置在取出在測試期間發(fā)現(xiàn)有故障的任何部件之后仍然是可能的,則允許計算機系統(tǒng)10繼續(xù)。向存儲器18中加載可執(zhí)行代碼,并且服務(wù)處理器32釋放主機處理器12a、12b以供執(zhí)行程序代碼、例如操作系統(tǒng)(OS),該程序代碼用來啟動應(yīng)用并且具體為輔助本發(fā)明的性能監(jiān)視應(yīng)用(收獲器)44,可以在系統(tǒng)的硬盤驅(qū)動(I/O設(shè)備24)中存儲這些應(yīng)用的結(jié)果。在主機處理器12a、12b執(zhí)行程序代碼之時,服務(wù)處理器32可以進入如下模式,即監(jiān)視和報告任何操作參數(shù)或者錯誤、比如冷卻風扇速度和操作、熱傳感器、功率供應(yīng)調(diào)節(jié)器以及處理器12a、12b、存儲器18和MC/HB16中的任一項報告的可恢復(fù)和不可恢復(fù)錯誤。服務(wù)處理器32可以基于錯誤類型或者定義的門限采取進一步動作。
[0027]如所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,可以與本發(fā)明結(jié)合使用的數(shù)據(jù)收獲器應(yīng)用可以實現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,該應(yīng)用可以采取以下形式,即:完全硬件實施例、完全軟件實施例(包括固件、駐留軟件、微代碼等),或者硬件和軟件方面結(jié)合的實施例,所有這些本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明還可以采取在表達的任何有形介質(zhì)中實現(xiàn)的計算機程序產(chǎn)品的形式,該有形介質(zhì)具有實現(xiàn)在該介質(zhì)中的計算機可讀的程序代碼。
[0028]可以采用一個或多個計算機可用的或者計算機可讀的介質(zhì)的任意組合。計算機可用或者計算機可讀介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體系統(tǒng)、裝置或器件,或者傳播介質(zhì)。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)可以包括以下:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、諸如那些支持互聯(lián)網(wǎng)或內(nèi)聯(lián)網(wǎng)的傳輸介質(zhì)、或者磁存儲器件。計算機可用或計算機可讀介質(zhì)甚至可以是程序可以打印于其上的紙或其他合適的介質(zhì),因為程序可以經(jīng)由例如對紙或其他介質(zhì)進行光學掃描、然后匯編、解譯或若需要的話通過合適的方式以其他方式處理并繼而存儲在計算機存儲器中而被電子式捕獲。在本發(fā)明的上下文中,計算機可用或計算機可讀介質(zhì)可以是任何介質(zhì),其可以包含、存儲、傳送、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。計算機可用介質(zhì)可以包括具有利用其具體化的計算機可用程序代碼的傳播的數(shù)據(jù)信號,在基帶中或者作為載波的一部分。計算機可用程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、電線、光纜、RF等等。
[0029]可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計語言,針對各種平臺(諸如AIX環(huán)境)或者操作系統(tǒng)(諸如Wind0ws7或Linux)來編寫。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0030]下面將參照本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其他可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,這些計算機程序指令通過計算機或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。
[0031]也可以把這些計算機程序指令存儲在能使得計算機或其他可編程數(shù)據(jù)處理裝置以特定方式工作的計算機可讀介質(zhì)中,這樣,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出一個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruct1nmeans)的制造品(manufacture)。這種計算機可讀存儲介質(zhì)不包括諸如傳播信號的瞬態(tài)介質(zhì)。
[0032]也可以把計算機程序指令加載到計算機或其他可編程數(shù)據(jù)處理裝置上,使得在計算機或其他可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機或其他可編程裝置上執(zhí)行的指令能夠提供實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。
[0033]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)示出的方框?qū)嶋H上可以基本并行地執(zhí)行,或者它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0034]計算機系統(tǒng)10具有在系統(tǒng)的不同部件中嵌入的多個硬件計數(shù)器單元(HCU) 50。在描繪的實施例中,在主機處理器12a、12b中的每個主機處理器中以及在互連結(jié)構(gòu)28中提供HCU0 HCU對在源部件本地的性能事件進行計數(shù)而無丟失。來自HCU的數(shù)據(jù)由發(fā)送單元定期地采樣。發(fā)送單元的功能是將尋址和數(shù)據(jù)組合成記錄集合、然后發(fā)起向系統(tǒng)存儲器18中的大存儲器表發(fā)布那些記錄集合。可以通過多個基地址寄存器(BAR)高效地管理多個發(fā)布。發(fā)布可以在時間上移位以支持歷史收集。在格式化記錄集合之后,發(fā)送單元然后向總線接口傳遞那些集合。附加地址構(gòu)造可以在總線接口中出現(xiàn)。總線接口可以向存儲器控制器16寫入記錄集合中的每個記錄。存儲器控制器16解釋每個數(shù)據(jù)記錄和命令并且如果被指示則可以用對存儲器位置的算術(shù)操作來做出響應(yīng)。在整個記錄集合已經(jīng)被交付以向存儲器發(fā)布時,在HCU中設(shè)立下一收集間隔。大和寬泛的硬件性能數(shù)據(jù)表現(xiàn)在變成可用于性能監(jiān)視應(yīng)用。
[0035]在圖2中示意地圖示來自HCU50的性能數(shù)據(jù)的存儲器內(nèi)累計的一個示例。HCU50被配置為在它們的邏輯域內(nèi)對性能事件以全速進行計數(shù)(而無丟失)??梢杂卸鄠€監(jiān)視域;在示例實現(xiàn)方式中有三個:線程級域、核級域(在物理與虛擬之間的橋接)和芯片級域(存儲器控制器、總線、i/o、互連鏈路等)。也可以收集對測量間隔的準確指派。如果性能監(jiān)視要求允許在總體數(shù)據(jù)收獲時的附加延遲,則可以復(fù)用用于計數(shù)器的事件源以擴展硬件計數(shù)器單元的事件類型覆蓋。HCU例如可以根據(jù)提交于2011年12月6日的美國專利申請第13/312,715號中的描述來適配。在該HCU中,通過如下來對電子設(shè)備中的特定事件的出現(xiàn)進行計數(shù):每當可變數(shù)目的特定事件已經(jīng)出現(xiàn)時遞增事件計數(shù)器,并且每當計數(shù)尾數(shù)溢出時按幾何級數(shù)地自動增加該可變數(shù)目。
[0036]來自HCU50的數(shù)據(jù)由發(fā)送單元定期地采樣??梢圆⑷霑和_M一步累計或者緩沖以跨越HCU50中的多個計數(shù)器而維持對準。發(fā)送單元52基于時間、監(jiān)視的事件數(shù)據(jù)和源域的函數(shù)來形成地址偏移。每個更新集合可以包括多個記錄。更新集合中的所有記錄將被一起發(fā)送到存儲器中的持久位置,或者它們都不被發(fā)布到存儲器。在所示實施例中,發(fā)送單元52的職責是格式化地址基礎(chǔ)和關(guān)聯(lián)性能數(shù)據(jù)以用于簡化其他邏輯單元的解碼。為了跨越多個域維持HCU數(shù)據(jù)對準,發(fā)送單元52可以簡單地發(fā)布相同記錄集合不止一次,從而更新多個表(每個域一個表)。例如,可以通過簡單地向兩個表發(fā)布相同記錄集合來收集并行虛擬化數(shù)據(jù):一個針對當前虛擬處理器核,另一個針對物理核(虛擬處理器核所映射到的物理核)。累計表(或者表的部分)的位置可以被置于操作系統(tǒng)的控制之下。BAR數(shù)目確定硬件支持的并行性能分析視圖的數(shù)目、例如物理核、虛擬核、物理線程、虛擬線程等。訪問權(quán)限可以由涉及的特定域來管理,例如管理程序(用于邏輯分區(qū))、操作系統(tǒng)或者用戶應(yīng)用。表或者條目偏移可以在發(fā)布時推進或者按照時間間隔推進,從而創(chuàng)建所監(jiān)視的性能計數(shù)器數(shù)據(jù)的時序記錄。一系列較短測量間隔將比長累計平均值更準確地揭示峰值事件頻率。
[0037]在格式化之后,發(fā)送單元52向總線接口 54傳遞所有更新記錄集合??偩€接口 54組合來自發(fā)送單元52的地址偏移與系統(tǒng)范圍管理實體(管理程序)設(shè)置的基地址以形成用于正在更新的記錄集合的存儲器中絕對地址。總線接口 54然后逐個處理更新集合中的每個記錄。更新集合中的一些記錄將被無更改地寫入到存儲器、比如時間戳或者標識標簽。一些記錄預(yù)計被解釋為讀取-修改-寫入操作(例如存儲器內(nèi)遞增)??偩€接口 54保證用于處理數(shù)據(jù)凈荷中的每個記錄的命令類型對于其關(guān)聯(lián)存儲器控制器操作是適合的。總線接口 54也處理用于正在向存儲器控制器發(fā)送的記錄的存儲器相干性協(xié)議以保證數(shù)據(jù)一致性。
[0038]來自總線接口 54的命令被發(fā)出到公共(系統(tǒng))總線14,在該總線上它們被存儲器控制器16拾取。存儲器控制器16處理每個命令和通過總線接口 54發(fā)送的關(guān)聯(lián)數(shù)據(jù)凈荷。例如存儲器控制器16可以通過以與性能數(shù)據(jù)中的計數(shù)值相等的數(shù)量來遞增累計計數(shù)值從而更新累計計數(shù)值。存儲器控制器16包括專用于存儲器控制器操作的共同定位的本地算術(shù)邏輯單元(ALU) 56。在原子性ALU操作由適當存儲器控制器接收時,讀取在指定的存儲器位置處的數(shù)據(jù),執(zhí)行操作(例如加法操作),并且在適當位置處存儲回新結(jié)果??梢栽诟咚倬彺婊蛘呔彌_器中執(zhí)行存儲器控制器中的讀取-修改-寫入操作,只要遵守系統(tǒng)存儲器相干性規(guī)則。操作被視為原子的,因為完成整個讀取-修改-寫入過程如同它是單個操作、即過程的任何中斷將造成重試整個過程。對于作為ALU操作的目標的存儲器位置的操作數(shù)大小可以不同于數(shù)據(jù)凈荷的源。例如,作為對發(fā)送單元的輸入的8位遞增可以在持久存儲器位置中構(gòu)建64位累計。一旦整個記錄集合被交付以向存儲器發(fā)布,可以在HCU中設(shè)立下一收集間隔。
[0039]不是一定需要經(jīng)由總線接口發(fā)送更新命令??梢越?jīng)由允許與存儲器控制器通信的任何電路發(fā)送更新命令。也可以如例如涉及在I/o結(jié)構(gòu)26內(nèi)的HCU50的圖1中所見直接發(fā)送更新命令。
[0040]在存儲器中維持大和寬泛的硬件性能事件計數(shù)器表完成了存儲器內(nèi)累計過程的、由硬件連續(xù)和實際自治執(zhí)行的部分。累計在其被經(jīng)常和規(guī)律地重復(fù)的意義上是連續(xù)的。表使收獲應(yīng)用的訪問和解釋相對簡單。在示例實現(xiàn)方式中,收獲應(yīng)用44從IMA表讀取ENTRANCE值、等待某個預(yù)定時間段、然后從表讀取EXIT值。對于性能計數(shù)和流逝的測量時間計算差分。在收獲器應(yīng)用44執(zhí)行的性能分析中使用那些差分(重建的遞增)。對累計表的訪問可以是直接的或者通過某個管理實體(比如操作系統(tǒng)或者管理程序)。設(shè)計表條目使得多記錄更新可以被收獲器44檢測到。時間戳可以用于在系統(tǒng)上下文中對測量精確地定位并且用作簡單“前哨”,該前哨指示數(shù)據(jù)記錄在它正在被更新之時被讀取。
[0041]如這里教導的存儲器內(nèi)累計完全利用處理速率要求的呈指數(shù)減少,因為硬件性能數(shù)據(jù)穿過三級:收集、累計和分析。在與性能事件的邏輯源最接近的監(jiān)視域中,IMA執(zhí)行向本地硬件計數(shù)器的無損全速累計。也收集測量時間。向存儲器中的累計位置定期地發(fā)布來自本地計數(shù)器的遞增。發(fā)布速率可以是執(zhí)行無損本地累計的速率的千分之一。性能監(jiān)視應(yīng)用然后以可以在跨越數(shù)百毫秒到周的范圍中測量的速率來從存儲器讀取計數(shù)器累計表。IMA與本地計數(shù)器邏輯相比還利用存儲器的相對無窮大小(寬度和深度)。
[0042]存儲器內(nèi)累計較傳統(tǒng)硬件性能計數(shù)器收集方法而言具有許多優(yōu)點。通過從存儲器中的累計去耦合本地(無損)事件計數(shù)累計,可以使本地計數(shù)器變窄,因為可以使存儲器中的計數(shù)器寬到足以去除對于溢出校驗的要求。例如64位存儲器累計位置可能需要一百年來溢出以按如今的處理器設(shè)計中的處理器時鐘速率計數(shù)??梢韵蛟?4位累計器饋送可以更小、例如16位的遞增。由于不存在用于累計(原子性相加)的存儲器位置的獨特之處,所以IMA計數(shù)器填充僅受為這一目的而分配的存儲器所限制。在如今的服務(wù)器中,芯片后面的存儲器的僅0.001 %可以保持多于兩百萬個64位IMA計數(shù)器。整個收集、發(fā)布和累計過程由(適度數(shù)量的)硬件邏輯來執(zhí)行。一旦確定存儲器分配并且設(shè)置基地址寄存器,IMA關(guān)于用于將數(shù)據(jù)收集到大存儲器表的處理器資源方面幾乎無消耗。IMA連續(xù)操作并且無需跨分區(qū)(無需跨虛擬機)協(xié)調(diào)以執(zhí)行系統(tǒng)范圍監(jiān)視。存儲器內(nèi)累計延伸包括本地硬件性能計數(shù)器、公共處理器總線和存儲器控制器的現(xiàn)有(非外來)硬件邏輯部件和數(shù)據(jù)路徑。這一方式有利于減少設(shè)計和測試成本。
[0043]多個發(fā)布可以用來累計向不同域?qū)实臄?shù)據(jù)。例如,如果用于IMA的本地硬件性能計數(shù)器被置于處理器核中,則可以使用對準的跨域數(shù)據(jù)(物理核、虛擬核和代碼狀態(tài))來分析以下域。多個發(fā)布所消耗的附加總線和存儲器資源被能夠組裝從這些不同域收集的精確對準的表的能力所彌補。由于可以在存在分區(qū)(虛擬機)改變時執(zhí)行向存儲器的清空(close-out)發(fā)布,所以無需保存寄存器狀態(tài)。在更簡單的IMA配置中,需要為傳入分區(qū)寫入一個指向它在存儲器中的持久表的新基地址。管理程序可以繼續(xù)與IMA邏輯清空發(fā)布并行的分區(qū)交換操作。
[0044]IMA表也提供統(tǒng)一接口并且可以如向基地址添加的索引一樣簡單。通過抽象化性能事件,可以跨越在相同系統(tǒng)上的域以及潛在地從一代硬件到下一代硬件維持合理地可移植接口。雖然IMA表優(yōu)選地僅有一個寫入器,但是時間戳和記錄更新指示符的使用產(chǎn)生對于大量并行讀取器(即收獲器)的支持。以如下速率執(zhí)行向存儲器控制器的遞增發(fā)布,這些速率是低于本地事件計數(shù)的量值。這一方式使總線和存儲器訪問帶寬的使用變得經(jīng)濟。
[0045]進一步參照圖3,在一個實施示例中,發(fā)送單元位于處理器核中,并且它的HCU包括四個計數(shù)器的簡單混合:具有固定事件源的兩個計數(shù)器(即相同的兩個事件由不同HCU的集合來記錄)和具有可編程事件源的兩個計數(shù)器。存在可以被配置為用于兩個可編程HCU計數(shù)器的輸入的共計256個事件。流逝時間計數(shù)器也可以存在于HCU中,其精確地匹配HCU計數(shù)器正在監(jiān)視時的時間段。硬件事件源的自動復(fù)用由計數(shù)器執(zhí)行,該計數(shù)器由間隔定時器的到期所驅(qū)動,每個間隔定時器溢出有一個HCU組。為了有助于準確跨表條目分析,兩個固定事件HCU計數(shù)器和流逝時間計數(shù)器可以用作橋接(歸一化)值。對于這一示例,存儲器中的HCU組條目60包含圖3中所見的元素。HCU組條目60包含八個記錄類型,這些記錄類型包括時基、更新計數(shù)、時間段、四個計數(shù)值(兩個固定、兩個可編程)和狀態(tài)指示符。每個記錄類型具有關(guān)聯(lián)數(shù)據(jù)源、存儲器事務(wù)和發(fā)布-讀取源操作。
[0046]對于IMA實現(xiàn)方式的總體設(shè)計考慮包括:IMA發(fā)送單元的位置(它可以在計算機系統(tǒng)10的任何硬件單元中);本地(無損)HCU性能計數(shù)器數(shù)目;來自每個HCU的數(shù)據(jù)所驅(qū)動的不同IMA表(域)(設(shè)置BAR);配置IMA域表選擇的方法;更新存儲器中的IMA表的方法(例如人工、自動或者混合);用于自動IMA表條目更新的最小刷新速率;用于可編程HCU計數(shù)器(如果有)的事件源數(shù)目;用于HCU計數(shù)器的配置方法(例如人工、自動或者混合);跨越表條目的歸一化支持;用于指示IMA表條目在被發(fā)送單元更新的過程中的方法;以及對存儲器中的IMA表的訪問控制。
[0047]在圖4中示出用于實施IMA表構(gòu)造的更具體示例。IMA表62被劃分成四個分節(jié)64,每個分節(jié)64包含多個記錄集合66。每個記錄集合包含圖3中所示每個記錄類型的性能數(shù)據(jù)和關(guān)聯(lián)信息。逐一改變HCU配置迫使對存儲器表的更新。由于這一點,間隔定時器在效果上也可以設(shè)置最小更新速率。對于這一示例,間隔定時器具有八個設(shè)置(以毫秒為單位):0.5、1、4、16、64、256、1024和4096。HCU中的事件選擇是人工和自動選擇的混合。使用硬件來自動掃描所有256個基事件(128組),但是執(zhí)行對指明的表分節(jié)的過濾。過濾器基于由操作系統(tǒng)在硬件寄存器中維持的狀態(tài)位。這一過濾幫助構(gòu)建在下層軟件與該軟件在其上運行的物理和虛擬設(shè)備之間的鏈接。事件掩碼寄存器保持代碼狀態(tài)過濾設(shè)置。對于所描繪的實施例,HCU事件組的四分之一(32)將無過濾,而其余(96)將被三個掩碼設(shè)置之一過濾(每個掩碼設(shè)置字段32個組)。三個掩碼值集合將通過代碼描繪、比如“內(nèi)核”、“用戶”和“管理程序”來間斷(breakout)性能事件計數(shù)器累計。在備選實現(xiàn)方式中,計數(shù)器可以對一般由核執(zhí)行的指令數(shù)目進行計數(shù),而過濾器可以僅對于特定指令類型、例如浮點,產(chǎn)生計數(shù)。
[0048]為了高效地橋接從物理設(shè)備到虛擬設(shè)備的分析,兩個硬件基地址寄存器(BAR)可以用來支持用于虛擬處理器核(VPCBAR)和物理處理器核(PPCBAR)的并行IMA表累計。在VPCBAR中的值指向從虛擬處理器核設(shè)備的立場累計的HCU條目的一個或者多個表;在PPCBAR中的值指向從物理處理器核設(shè)備的立場累計的一個或者多個表。除了由間隔定時器的到期所引起的表條目更新之外,向IMA表的發(fā)布也可以由向VPCBAR的寫入(這指示虛擬到物理映射中的改變)來觸發(fā)。在多數(shù)情況下,傳入虛擬處理器核將具有與傳出虛擬處理器核使用的用于累計的IMA表不同的用于累計的IMA表。流逝時間計數(shù)器補償由在更新之間的未糾正的交互所引起的更新間隔可變性,這些更新包括由VPCBAR引起的更新和由間隔定時器的到期引起的更新。為了延伸虛擬化分析,附加VPCBAR表可以由管理程序支持。由于VPCBAR中的地址在分區(qū)(虛擬機)映射改變時在主機代碼中由管理程序設(shè)置,所以任何數(shù)目的VPCBAR表間斷是可能的。對于這一示例,可以實施四個表拆分以提供虛擬處理器核在它在不同親合環(huán)境之下執(zhí)行之時的更具體表征、比如‘家用’物理處理器核、“家用”物理芯片、“家用”節(jié)點和“遠程”節(jié)點。地址偏移由在核中的發(fā)送單元形成。在示例實現(xiàn)方式中,通過級聯(lián)在每個條目內(nèi)的事件復(fù)用器索引和記錄偏移來構(gòu)造它們。如果執(zhí)行時序收集,則選擇滾動緩沖器條目的位可以被恰好置于復(fù)用器索引以上。
[0049]最后,必須從存儲器讀出并且向性能監(jiān)視應(yīng)用(數(shù)據(jù)收獲器)中讀入IMA表數(shù)據(jù)。在圖5中圖示用于收獲器狀態(tài)機70的一個實現(xiàn)方式。在過程開始時,收獲器未在監(jiān)視(72)。通過讀取感興趣的IMA記錄集合的當前值來獲得ENTRANCE計數(shù)(74)。數(shù)據(jù)收獲器可以對在IMA記錄集合中返回的狀態(tài)代碼進行解釋和響應(yīng)。在等待預(yù)定義的測量間隔之后,通過讀取感興趣的相同IMA記錄集合的當前值來獲得EXIT計數(shù)(76)。然后根據(jù)收獲器的特定監(jiān)視功能來處理累計(78)。例如收獲器可以計算退出到進入計數(shù)增量(差值)并且報告或者分析所得計數(shù)增量。重復(fù)這些步驟直至終止監(jiān)視活動。
[0050]收獲器也可以被設(shè)計為支持異步采樣。盡管個別“向存儲器添加”和“向存儲器存儲”64位操作本身是原子性的,但是完整IMA記錄集合的發(fā)布無需如此。使用標準同步機制(比如POWERPC指令LARX/STCX)將可能在存儲器控制器中造成競爭并且也可能使硬件邏輯變復(fù)雜。一種用于大型IMA表的異步解決方案是在每個記錄集合的前面和后面設(shè)立先前提到的“前哨”。在這一示例中,再次重復(fù)初始時基值的一部分以作為關(guān)閉標記符以指示完整記錄集合已經(jīng)被發(fā)布到存儲器。
[0051]如這里教導的存儲器內(nèi)累計回應(yīng)對于硬件部件的連續(xù)和漸進式系統(tǒng)范圍監(jiān)視的需要。本發(fā)明因而對于諸如服務(wù)質(zhì)量、服務(wù)水平協(xié)定、退費評估、客戶工作量表征、負荷平衡和產(chǎn)能預(yù)測之類的領(lǐng)域具有廣泛應(yīng)用。有利地,對于性能計數(shù)器溢出無需檢測或者處理,并且本發(fā)明可以支持大量計數(shù)器。累計可以完全由硬件執(zhí)行??梢詮摹按蠛凶印庇嬎銠C系統(tǒng)(單個固件控制的核集合)的上電到掉電實現(xiàn)連續(xù)硬件性能計數(shù)器監(jiān)視。本發(fā)明特別易于實施,因為它無需特殊系統(tǒng)總線連接。不同于現(xiàn)有技術(shù)監(jiān)視系統(tǒng),本發(fā)明在最小虛擬化開銷的情況下允許虛擬化和代碼狀態(tài)間斷,并且專屬于分區(qū)的計數(shù)累計表在存儲器中持續(xù)。本發(fā)明也在利用一個寫入器、許多讀取器和無需等待的情況下允許用于帶內(nèi)或者帶外性能監(jiān)視應(yīng)用的簡單和統(tǒng)一接口。本發(fā)明還使存儲器帶寬的使用變得經(jīng)濟。
[0052]雖然已經(jīng)參照具體實施例描述本發(fā)明,但是不意在在限制意義上解釋本描述。公開的實施例的各種修改以及本發(fā)明的備選實施例將在參照本發(fā)明的描述時變得為本領(lǐng)域技術(shù)人員所清楚。例如盡管已經(jīng)在使用原子性讀取/添加/寫入指令來執(zhí)行累計的存儲器控制器的具體上下文中描述本發(fā)明,但是這里的發(fā)明概念更一般地適用于一般可以對性能數(shù)據(jù)執(zhí)行操作的“智能”存儲器控制器。因此設(shè)想可以進行這樣的修改而未脫離如在所附權(quán)利要求中限定的本發(fā)明的精神實質(zhì)或者范圍。
【權(quán)利要求】
1.一種累計用于電子系統(tǒng)的硬件計數(shù)的方法,包括: 在硬件計數(shù)器單元中維持用于所述電子系統(tǒng)的硬件部件的至少一個計數(shù)的事件的至少一個當前計數(shù)值; 向存儲器控制器發(fā)送所述當前計數(shù)值,所述存儲器控制器控制對所述電子系統(tǒng)的系統(tǒng)存儲器設(shè)備的訪問;并且 所述存儲器控制器使用所述當前計數(shù)值來響應(yīng)性地更新在所述電子系統(tǒng)的所述系統(tǒng)存儲器設(shè)備中存儲的累計計數(shù)值。
2.根據(jù)權(quán)利要求1所述的方法,其中所述更新所述累計計數(shù)值包括根據(jù)所述當前計數(shù)值遞增所述累計計數(shù)值。
3.根據(jù)權(quán)利要求1所述的方法,其中所述電子系統(tǒng)是計算機系統(tǒng),并且所述硬件部件是所述計算機系統(tǒng)的處理器核,所述處理器核處理在所述系統(tǒng)存儲器設(shè)備中駐留的程序指令。
4.根據(jù)權(quán)利要求1所述的方法,其中所述發(fā)送由發(fā)送單元執(zhí)行,所述發(fā)送單元定期地采樣來自所述硬件計數(shù)器單元的包括所述當前計數(shù)值的性能數(shù)據(jù)并且向用于與所述存儲器控制器通信的互連總線的總線接口傳輸所述當前計數(shù)值。
5.根據(jù)權(quán)利要求1所述的方法,其中所述發(fā)送包括提供指向所述系統(tǒng)存儲器設(shè)備中的位置的存儲器指針和關(guān)于將如何更新所述位置的指令。
6.根據(jù)權(quán)利要求5所述的方法,其中所述指令用于原子性讀取-修改-寫入操作。
7.根據(jù)權(quán)利要求6所述的方法,其中所述存儲器控制器包括專用算術(shù)邏輯單元,并且使用所述專用算術(shù)邏輯單元來執(zhí)行所述原子性讀取-修改-寫入操作。
8.根據(jù)權(quán)利要求1所述的方法,還包括通過從所述系統(tǒng)存儲器設(shè)備讀取所述累計計數(shù)值并且將其提供給性能監(jiān)視器來收獲所述累計計數(shù)值。
9.一種電子系統(tǒng),包括: 多個硬件部件; 系統(tǒng)存儲器設(shè)備; 至少一個硬件計數(shù)器單元,所述至少一個硬件計數(shù)器單元維持用于所述硬件部件之一的至少一個當前計數(shù)的事件的至少一個當前計數(shù)值;以及 存儲器控制器,所述存儲器控制器控制對所述系統(tǒng)存儲器設(shè)備的訪問并且接收所述當前計數(shù)值并且使用所述當前計數(shù)值來響應(yīng)性地更新在所述系統(tǒng)存儲器設(shè)備中存儲的累計計數(shù)值。
10.根據(jù)權(quán)利要求9所述的電子系統(tǒng),其中所述存儲器控制器通過根據(jù)所述當前計數(shù)值遞增所述累計計數(shù)值來更新所述累計計數(shù)值。
11.根據(jù)權(quán)利要求9所述的電子系統(tǒng),其是計算機系統(tǒng),并且其中所述硬件部件是處理在所述系統(tǒng)存儲器設(shè)備中駐留的程序指令的處理器核。
12.根據(jù)權(quán)利要求9所述的電子系統(tǒng),還包括: 與所述存儲器控制器通信的互連總線; 用于所述互連總線的總線接口 ;以及 發(fā)送單元,所述發(fā)送單元定期地采樣來自所述硬件計數(shù)器單元的包括所述當前計數(shù)值的性能數(shù)據(jù)并且向所述總線接口傳輸所述當前計數(shù)值。
13.根據(jù)權(quán)利要求9所述的電子系統(tǒng),其中所述存儲器控制器連同所述當前計數(shù)值一起接收指向所述系統(tǒng)存儲器設(shè)備中的位置的存儲器指針和關(guān)于將如何更新所述位置的指令。
14.根據(jù)權(quán)利要求13所述的電子系統(tǒng),其中所述指令用于原子性讀取-修改-寫入操作。
15.根據(jù)權(quán)利要求14所述的電子系統(tǒng),其中所述存儲器控制器包括專用算術(shù)邏輯單元,并且所述原子性讀取-修改-寫入操作使用所述專用算術(shù)邏輯單元來執(zhí)行。
16.根據(jù)權(quán)利要求9所述的電子系統(tǒng),還包括性能監(jiān)視器,其通過從所述系統(tǒng)存儲器設(shè)備讀取所述累計計數(shù)值來收獲所述累計計數(shù)值。
17.一種計算機程序產(chǎn)品形式的用于電子設(shè)備的數(shù)據(jù)收獲器應(yīng)用,所述計算機程序產(chǎn)品包括: 計算機可讀存儲介質(zhì);以及 在所述存儲介質(zhì)中駐留的程序指令,所述程序指令用于從計算機系統(tǒng)的系統(tǒng)存儲器設(shè)備中的表讀取性能數(shù)據(jù),其中所述性能數(shù)據(jù)包括用于所述計算機系統(tǒng)的硬件部件的至少一個計數(shù)的事件的至少一個累計計數(shù)值。
18.根據(jù)權(quán)利要求17所述的數(shù)據(jù)收獲器應(yīng)用,其中所述程序指令適于從具有多個表分節(jié)的表讀取所述性能數(shù)據(jù),每個表分節(jié)具有涉及不同過濾的事件的多個記錄集合,并且每個記錄集合包含一個或者多個累計計數(shù)值。
19.根據(jù)權(quán)利要求17所述的數(shù)據(jù)收獲器應(yīng)用,其中所述程序指令還從所述表的記錄集合獲得進入計數(shù),在獲得所述進入計數(shù)之后的預(yù)定義的測量間隔從相同記錄集合獲得退出計數(shù),以及計算退出到進入計數(shù)增量。
20.根據(jù)權(quán)利要求17所述的數(shù)據(jù)收獲器應(yīng)用,其中所述表包括多個記錄集合,并且所述程序指令通過使用時間戳以指示給定的記錄集合已經(jīng)被完整地發(fā)布到存儲器來支持異步讀取所述性能數(shù)據(jù)。
【文檔編號】G06F11/30GK104239181SQ201410274055
【公開日】2014年12月24日 申請日期:2014年6月18日 優(yōu)先權(quán)日:2013年6月24日
【發(fā)明者】P·J·海爾曼, V·R·因杜庫魯, C·E·洛夫, A·C·索德伊, P·L·瓦伊塔爾 申請人:國際商業(yè)機器公司