TWI435271B - 中央處理單元量測設備 - Google Patents

中央處理單元量測設備 Download PDF

Info

Publication number
TWI435271B
TWI435271B TW098130110A TW98130110A TWI435271B TW I435271 B TWI435271 B TW I435271B TW 098130110 A TW098130110 A TW 098130110A TW 98130110 A TW98130110 A TW 98130110A TW I435271 B TWI435271 B TW I435271B
Authority
TW
Taiwan
Prior art keywords
data
data block
sampling
item
block
Prior art date
Application number
TW098130110A
Other languages
English (en)
Other versions
TW201015441A (en
Inventor
Jane H Bartik
Lisa Cranton Heller
Damian L Osisek
Donald W Schmidt
Patrick M West Jr
Phil C Yeh
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201015441A publication Critical patent/TW201015441A/zh
Application granted granted Critical
Publication of TWI435271B publication Critical patent/TWI435271B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/461Sector or disk block

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Description

中央處理單元量測設備
本發明大體上係關於促進處理環境內之處理,且詳言之,係關於有效收集與執行該處理環境內之任務相關的資料以增強其處理。
改良之系統效能及減少之錯誤為許多處理環境之高優先權目標。為努力達成此等目標,使用診斷及調整工具。一種該工具為聚集與出現在處理環境內之處理相關的資料的取樣設備。
特定言之,取樣設備用以週期性地拍攝在該環境內執行之中央處理單元的快照且記錄與該中央處理單元相關聯的狀態資訊。此資訊用於除錯及/或用以改良系統效能。
當今,在每一取樣時間,資料經收集、儲存於暫存器中,且提供中斷至控制程式。在中斷後,控制程式即讀出樣本資料、重設暫存器且恢復操作。每一取樣間隔處之此中斷產生大量系統額外耗用,且在一些即時環境中,可甚至使經量測資料失真。此額外耗用問題使使用者限制待收集之樣本資料的量,且由此,限制取樣設備之實際使用。
基於前述內容,存在對一種比當前取樣設備較不混亂(disruptive)且更有效之增強型取樣設備的需要。詳言之,存在對不在每一取樣間隔處中斷控制程式之取樣設備的需要。存在對能夠更好管理中斷使得該等中斷不太經常出現之取樣設備的需要。
先前技術之缺點得以克服,且經由提供一電腦程式產品而提供額外優點以促進管理處理環境內之資料的收集。該電腦程式產品包含:一儲存媒體,其可由一處理電路讀取且儲存用於由一電腦執行之指令以用於執行一方法。該方法包括(例如):在一緩衝器之一資料區塊中儲存與該處理環境之一或多個任務之執行相關的資料,其中在複數個指定間隔處執行該儲存,在該等指定間隔中,執行至該資料區塊之複數次儲存;針對另一指定間隔而嘗試至該資料區塊的另一次資料的儲存,其中判定該資料區塊不具有用於該另一次儲存的足夠空間;回應於判定該資料區塊不具有足夠空間而判定是否針對該資料區塊設定一警示指示項;回應於該判定指示設定該警示指示項而指示將在一指定時間執行一中斷;及將該另一指定間隔之該資料儲存於該緩衝器之另一資料區塊中。
本文中亦描述且主張與本發明之一或多個態樣相關的方法及系統。此外,本文中亦描述且可主張與本發明之一或多個態樣相關的服務。
經由本發明之技術來實現額外特徵及優點。本發明之其他實施例及態樣在本文中詳細描述且被視為所主張之本發明的一部分。
本發明之一或多個態樣經特別指出且在本說明書之結尾處的申請專利範圍中作為實例清楚地主張。本發明之前述及其他目標、特徵及優點自結合隨附圖式所考慮之以下實施方式顯而易見。
根據本發明之一態樣,提供一種CPU量測取樣設備,其對中央處理單元拍攝快照,在該中央處理單元上,其正依指定取樣間隔執行以收集關於在該中央處理單元上執行之任務(例如,應用程式、模組、函式、指令等)的資料。收集此資料以用於效能特性之統計估計。經收集資料儲存於緩衝器中,且在選定時間,提供中斷以清空該緩衝器以致使能夠再使用該緩衝器。中斷並非在每一樣本之後進行,而是以足夠時間進行以自緩衝器移除資料且最小化資料損失。
參看圖1描述併有及使用本發明之一或多個態樣之處理環境的一實施例。處理環境100為(例如)多重處理環境,其包括複數個處理器102(例如,中央處理單元(CPU))、一記憶體104(例如,主記憶體),及經由(例如)一或多個匯流排108或其他連接件而彼此耦接之一或多個輸入/輸出(I/O)器件106。
作為一實例,每一處理器102為基於International Business Machines Corporation,Armonk,New York之z/的z10處理器,且該等處理器中之一或多者執行控制程式,諸如由International Business Machines Corporation所供應之z/或z/作業系統。z/之一實例描述於「z/Architecture-Principles of Operation」(2008年2月,第七版,SA22-7832-06)中,其全部內容特此以引用的方式併入本文中。z/、z/及z/為International Business Machines Corporation,Armonk,NY,U.S.A之註冊商標。本文中所使用之其他名稱可為International Business Machines Corporation或其他公司之註冊商標、商標或產品名稱。
為提供資訊以促進處理環境內之處理,定期地(on a regular basis)聚集資料。此資料用於(例如)除錯目的及/或用以改良系統效能。舉例而言,CPU量測取樣函式110在該等CPU中之一或多者上執行,且對於該CPU量測取樣函式110正執行於上之每一CPU,該CPU量測取樣函式110依每一指定取樣間隔提供邏輯CPU的快照,該指定取樣間隔為如由CPU所經歷之處理時間間隔。每一快照產生一組樣本資料,其包括(例如)正執行之指令的指令位址及關於CPU之某一狀態資訊。此樣本資料儲存於(例如)一緩衝器之一或多個樣本資料區塊中。
在一實例中,CPU量測取樣設備包括兩個取樣函式、若干取樣控制暫存器、若干外部中斷事件及各種指令,其中每一者描述於下文。
該兩個取樣函式包括(例如)基本取樣及診斷取樣。基本取樣函式提供一組架構化樣本資料。該樣本資料包括作為實例之一指令位址、主要位址空間號碼(PASN)及關於CPU之某一狀態資訊。此允許工具程式(tooling program)將指令位址映射至模組或任務中,且促進作用點(hot spot)之判定。診斷取樣函式提供一組非架構化樣本資料,且意欲由硬體設計分析、作業系統、精密編譯器及內部子系統使用。由於由診斷取樣函式所提供之樣本資料可揭露詳細的內部硬體設計,因此具有受控密碼之控制台可用以對該函式之使用進行授權。
基本取樣函式及診斷取樣函式兩者使用相同取樣控制暫存器、相同取樣緩衝器結構、相同外部中斷事件,及相同指令。此等兩種函式之間的主要差異為樣本資料。
每一取樣函式之樣本資料大小及格式係相依於模型的,且由(例如)儲存於每一樣本資料中之16位元資料項格式碼判定。由基本取樣函式所提供之樣本資料未包括於由診斷取樣函式所提供之樣本資料中。為獲得有意義的診斷取樣資料,應啟動該兩種取樣函式。每一取樣函式之狀態可藉由執行設定取樣控制指令來個別設定,其描述於下文。藉由初始CPU重設、清除重設或電源開啟重設而停用該兩種取樣函式。
在一實例中,外部中斷事件包括一無效項位址警示、一不正確樣本資料區塊表項警示、一程式請求警示、一取樣授權改變警示,及一樣本資料損失警示。此等事件為一被稱作量測警示子類別之外部中斷子類別的部分。提供子類別遮罩位元,例如,控制暫存器零之位元58。將此位元初始化至1,其啟用中斷。
CPU量測取樣設備提供多個取樣控制暫存器。除授權控制以外,此等控制暫存器之內容由初始CPU重設、清除重設或電源開啟重設清除至零;且亦可藉由執行停用所有取樣函式之設定取樣控制指令而清除至零。授權控制由一外部構件設定或重設。
參看圖2A描述取樣控制暫存器之實例。在一實例中,此等暫存器為CPU內之硬體暫存器。如所展示,取樣控制暫存器200包括(例如)一表項位址暫存器(TEAR)202;一資料項位址暫存器(DEAR)204;一最大緩衝器大小指示項206;一取樣函式狀態控制暫存器208;一取樣間隔暫存器210;及一主體指示項212,其中每一者描述於下文。
如圖2B中所展示,表項位址暫存器202為(例如)64個位元,且包括當前樣本資料區塊表項之位址220。該位址為真實的或是絕對的為不可預測的。
參看圖2C,資料項位址暫存器204為(例如)64個位元,且包括下一樣本資料區塊資料項之位址230。又,該位址為真實的或是絕對的為不可預測的。
在一實例中,最大緩衝器大小指示項206為一個位元。當該指示項為零時,樣本資料區塊表之最大大小及樣本資料區塊之大小為4K個位元組。當該指示項為1時,樣本資料區塊表之最大大小及樣本資料區塊之大小為1M個位元組。
取樣函式狀態控制暫存器208為(例如)6個位元,且三個位元經指派至基本取樣函式,且其他三個位元經指派至診斷取樣函式。對於每一取樣函式,存在(例如)三個狀態控制指示項,其包括:授權控制(A)、啟用控制(E),及啟動控制(C)。
取樣間隔暫存器210為(例如)64個位元,且該暫存器之內容指定每一取樣間隔內之CPU循環的數目。
主體指示項212為(例如)一個位元,且可用於邏輯分割層級處之CPU(描述於下文)。當CPU正在該邏輯分割層級處執行時,且若一取樣函式為作用中的,則該主體指示項在為零時藉由樣本資料區塊更新處理程序儲存指定程式參數暫存器之內容至樣本資料區塊之客體程式參數欄位中;該主體指示項在為1時指定程式參數暫存器之內容儲存至主體程式參數欄位中。
當CPU在操作狀態中時,取樣函式可在作為實例之以下四種狀態中的任一者中:未授權狀態、停用狀態、非作用中狀態,及作用中狀態。
未授權狀態:當取樣函式在未授權狀態中時,不可使用該函式且不儲存樣本資料。提供一外部構件以對該函式之使用進行授權或取消授權。
停用狀態:當取樣函式在停用狀態中時,對該函式進行授權以供使用,但控制程式尚未啟用該函式。在此狀態中,不儲存新樣本資料,且樣本資料區塊之內容保持不變,且除授權控制以外,不保留取樣控制。
非作用中狀態:當取樣函式在非作用中狀態中時,對該函式進行授權、啟用及撤銷。在此狀態中,不儲存新樣本資料,樣本資料區塊之內容保持不變,且取樣控制經保留且可經提取。
作用中狀態:當取樣函式在作用中狀態中時,對該函式進行授權、啟用及啟動。在此狀態中,新取樣資料在每一取樣間隔期間儲存,且取樣控制可經提取。
當CPU自操作狀態進入停止狀態時,停止作用中取樣函式。當CPU自停止狀態進入操作狀態時,取樣函式恢復在其上一次停止時其所處的狀態。
下表概述引起取樣函式之狀態轉變的動作:
樣本資料儲存於(例如)主記憶體中之緩衝器中。舉例而言,多個樣本資料區塊(其構成一緩衝器)由機器之控制程式分配以在每一取樣間隔期間儲存樣本資料。每一樣本資料區塊由一樣本資料區塊表中之一區塊連結項指定。樣本資料區塊表之當前項由表項位址暫存器之內容指定,且樣本資料區塊之下一資料項由資料項位址暫存器之內容指定。在圖3中描繪根據本發明之一態樣的取樣緩衝器之結構的一實例。
參看圖3,一取樣緩衝器300包括一或多個樣本資料區塊表(SDBT)302及一或多個樣本資料區塊(SDB)304。在此特定實例中,展示三個(3個)樣本資料區塊表,其在一循環連結清單中耦接。此外,在此實例中,存在複數個樣本資料區塊。應理解,取樣緩衝器之其他實例可具有更多、更少或相同數目個SDBT及/或更多、更少或相同數目個SDB,如在此特定實例中所展示。
表項位址暫存器(TEAR)306之內容指向樣本資料區塊表302之當前項。在每一樣本資料區塊表中存在兩種種類之項,其包括(例如):區塊連結項308及表連結項310。每一區塊連結項308包括一樣本資料區塊(SDB)原點(origin),且每一表連結項包括一樣本資料區塊表(SDBT)原點。在此特定實施例中,每一樣本資料區塊表在16個位元組之整體邊界處起始,且每一項為8個位元組。每一樣本資料區塊表302包括多個區塊連結項308及一表連結項310。每一項中之一指定位元(例如,位元63)區分一區塊連結項與一表連結項。當位元63為零時,項為區塊連結項;當位元63為1時,項為表連結項。表連結項為樣本資料區塊表中之最後項。樣本資料區塊表之實際大小由表連結項之位置判定,且不超過最大緩衝器大小指示項中所指定的大小。在此實施例中,樣本資料區塊表之原點及表連結項不可由最大緩衝器大小之整體邊界分離。
當最大緩衝器大小指示項320為零時,一區塊連結項之一指定部分(例如,位元0至51)包括一樣本資料區塊在真實或絕對儲存器中之原點。當樣本資料區塊原點將置於資料項位址暫存器中時,其在右邊附有零(例如,12個零)以形成一64位元位址,且該位址接著置於該暫存器中。
當最大緩衝器大小指示項320為1時,一區塊連結項之指定位元(位元0至43)包括一樣本資料區塊在真實或絕對儲存器中之原點。當樣本資料區塊原點將置於資料項位址暫存器中時,其在右邊附有多個零(例如,20個)以形成一64位元位址,且該位址接著置於該暫存器中。
在一實例中,表連結項310之位元0至59包括一樣本資料區塊表在真實或絕對儲存器中之原點。當樣本資料區塊表原點將置於表項位址暫存器中時,其在右邊附有多個零(例如,4個)以形成一64位元位址,且該位址接著置於該暫存器中。
繼續參看圖3,資料項位址暫存器330之內容指定樣本資料區塊304之下一資料項332。每一樣本資料區塊在最大緩衝器大小之整體邊界處起始。樣本資料區塊之大小等於最大緩衝器大小指示項中所指定的大小。
在一實例中,每一樣本資料區塊中存在兩種種類之項,其包括(例如)資料項332及一尾部項336。一樣本資料區塊之位元組的最後號碼(例如,64)形成尾部項;該區塊中之所有其他空間用以形成資料項。
當至少一取樣函式為作用中的時,在每一取樣間隔期間儲存一資料項。若僅基本取樣函式為作用中的,則所儲存之資料項為基本取樣資料項;若僅診斷取樣函式為作用中的,則所儲存之資料項為診斷取樣資料項。若該兩種取樣函式為作用中的,則所儲存之資料項為組合資料項。下文更詳細地解釋此等資料項中之每一者。
參看圖4A描述基本取樣資料項之一實例。在一實例中,一基本取樣資料項400包括(例如)以下欄位:資料項格式碼402:資料項之位元0至15包括資料項之格式碼。
獨特指令之數目(U)404:資料項之位元20至23指定獨特、完整指令之數目,該等指令在獨特循環指示項經接通時在取樣循環期間同時執行。
管線化CPU可以重疊型式同時執行多個指令:正同時執行之此等指令中的每一者係在不同管線階段中。此外,針對一些模型,管線化CPU之每一階段可同時執行多個指令。
在指令執行期間,一獨特循環指示項在樣本點處接通歷時一循環,該樣本點為CPU中獲取樣本資料的地點。取樣點視模型而定,但對於在同一模型上所執行之所有指令為相同的。對於管線化CPU,取樣點通常為一特定管線階段。視模型而定,在指令執行期間接通該獨特循環指示項之時間為不可預測的。此欄位包括在該獨特循環指示項接通時在取樣點處同時執行之指令的數目。
當取樣時間出現時,且若取樣點因為CPU在等待狀態中或由於某一其他管線階段中之延遲而不繁忙,則此欄位之內容設定成零。
當使用足夠小的取樣間隔及充分較大數目之樣本時,此欄位之內容可用以估計每一指令的循環。
可藉由使繁忙樣本之數目除以所有繁忙樣本中之獨特指令的總數目來估計特定量測之每一指令的循環,該等繁忙樣本亦即具有正設定成零之等待狀態位元的樣本(下文所描述)。
DAT模式(T)406:資料項之位元26包括CPU之程式狀態字(PSW)中的資料位址轉譯(DAT)模式位元。
等待狀態(W)408:資料項之位元27包括CPU之PSW中的等待狀態位元。
問題狀態(P)410:資料項之位元28包括CPU之PSW中的問題狀態位元。
位址空間控制(AS)412:資料項之位元29至30包括CPU之PSW中的位址空間控制。
無效指示(I)414:資料項之位元31指示該項為有效的或是無效的。當該位元為零時,該項為有效的;當該位元為1時,該項為無效的。當一項中之樣本資料不一致時,該項設定成無效的。
主要ASN 416:資料項之位元組移位6至7包括CPU之控制暫存器4之位元48至63中的主要位址空間號碼(PASN)。
指令位址418:資料項之位元組移位8至15包括CPU在取樣循環期間執行之指令的指令位址。
將指令位址視為真實模式中之真實位址;視為主要位址模式、次要空間模式,或存取暫存器模式中之主要虛擬位址;且視為本地(home)空間模式中之本地虛擬位址。
當取樣點在取樣循環期間同時執行多個指令時,僅報告此等同時執行指令當中之一指令的位址。選擇報告哪一指令位址係相依於模型的。
針對一些模型,執行之目標指令的位址不在相同資料中報告。當等待狀態位元為1時,此欄位之內容為不可預測的。當取樣時間出現時,且若取樣點由於某一其他管線階段中之延遲而不執行任何指令,則報告CPU中同時執行之指令的哪一位址為不可預測的。
客體程式參數420:若CPU不在邏輯分割層級處執行或若其正在邏輯分割層級處執行且主體指示項為零,則資料項之位元組移位16至23包括當前程式參數暫存器。若CPU正在邏輯分割層級處執行且主體指示項為1,則零儲存於此欄位中。
主體程式參數422:若CPU正在邏輯分割層級處執行且主體指示項為1,則資料項之位元組移位24至31包括當前程式參數暫存器。否則,此欄位之內容為不可預測的。
參看圖4B描述診斷取樣資料項440之一實例。在一實例中,診斷取樣資料項440包括:一資料項格式碼442:資料項之位元0至15包括資料項之格式碼。
最大緩衝器大小444:位元19意欲指示最大緩衝器大小。零指示4K個位元組,且1指示1百萬位元組。
無效指示(I)446:資料項之位元31指示該項為有效的或是無效的。當該位元為零時,該項為有效的;當該位元為1時,該項為無效的。當一項中之樣本資料不一致時,該項設定成無效的。
此項之剩餘部分包括非架構化樣本資料。
當基本取樣函式及診斷取樣函式兩者為作用中的時,在每一取樣間隔期間所儲存之樣本資料為一組合資料項,其包括一基本取樣資料項,繼之以一診斷樣本資料項。
當將儲存一組合資料項時,若存在足夠空間,則其完全儲存於當前樣本資料區塊中。當在當前樣本資料區塊中不存在足夠空間時,若下一樣本資料區塊中存在足夠空間,則整個組合樣本資料儲存於下一樣本資料區塊中。在此實例中,組合資料項之基本取樣資料項及診斷取樣資料項不儲存於不同樣本資料區塊中。當由於無可用空間而丟棄該組合樣本資料時,將當前樣本資料區塊之樣本溢位計數遞增1。
參看圖4C描述與一尾部項相關聯之多個欄位的一實施例。每一尾部項為(例如)64個位元組,且駐留於一樣本資料區塊之最後64個位元組中。在一實例中,尾部項450包括(例如):區塊已滿指示項(F)452:尾部項之位元組移位0的位元零為區塊已滿指示項。當指示項為1時,樣本資料區塊已滿。
警示請求控制(A)454:尾部項之位元組移位0的位元1為警示請求指示項。當指示項為1且樣本資料區塊變成已滿時,在完成樣本資料區塊更新處理程序時許可一程式請求警示外部中斷事件。此處,當設定樣本資料區塊之區塊已滿指示項時認為該樣本資料區塊已滿,不管其是否完全已滿。若該區塊具有額外空間,但不足以儲存下一樣本,則設定該指示項,且認為該區塊已滿。
警示請求控制之設定為可選擇的。舉例而言,其可在每x個(例如,10個)資料區塊中設定。因此,即使緩衝器之一資料區塊已滿,直至藉由指示項設定而達到一資料區塊,諸如,在第十個已滿資料區塊之後,才需要中斷。選擇10僅為一實例;可使用任何其他所要數目。因此,在樣本間隔之後或即使一資料區塊已滿,可能不進行中斷。
樣本溢位計數456:尾部項之位元組移位8至15包括因為樣本資料區塊已滿而已損失之樣本資料項的數目。
時間戳記458:尾部項之位元組移位16至31包括在樣本資料區塊變成已滿時之每日時間(TOD)時鐘值。
當一程式請求警示出現時,預期,程式(例如,控制程式,諸如作業系統)自已滿之樣本資料區塊讀出樣本資料。為釋放此等區塊,程式應重設區塊已滿指示項(F)及樣本溢位計數,且亦應重新建立一警示請求控制(A)。在一實例中,應執行更新一樣本資料區塊中之此等欄位,作為使用比較雙重及交換指令之連鎖更新。執行所有此等讀取及更新,而取樣函式保持為作用中的。
當CPU在操作狀態中且至少一取樣函式為作用中的時,在每一取樣時間執行樣本資料區塊更新處理程序。該處理程序為新資料項定位空間,形成該項,且更新資料項位址暫存器之內容,使得暫存器內容指定下一資料項之位置。
在樣本資料區塊更新處理程序期間,若經由對另一位址加上一值而形成任何位址,則忽略執行位址之位元位置零(若存在)。類似地,當遞增樣本溢位計數欄位之內容時,忽略執行計數之位元位置零(若存在)。
對樣本資料區塊之存取不經受鍵控保護;該等存取亦不經受低位址保護。
當執行對一樣本資料區塊項或樣本資料區塊表項之儲存器存取時,若位址為無效的,則許可量測警示外部中斷事件(無效項位址),且彼CPU之作用中取樣函式置於非作用中狀態中。若(例如)一項位址在範圍0至8191中;若指定之樣本資料區塊項在尾部項內部;或若指定之儲存器位置在組態中不可用,則該位址為無效的。
當執行對一樣本資料區塊表項之儲存器存取時,若偵測到任何不正確的SDB表項,則許可量測警示外部中斷事件(不正確的樣本資料區塊表項),且彼CPU之作用中取樣函式置於非作用中狀態中。若樣本資料區塊表項為表連結項且該樣本資料區塊表項指定另一表連結項,或若最後表項並非表連結項,則該樣本資料區塊表項為不正確的。
資料項位址暫存器之內容用以定位當前樣本資料區塊中的下一資料項。若該下一資料項駐留於該樣本資料區塊之尾部項(例如,最後64個位元組)內部,則許可量測警示外部中斷事件(無效項位址警示),且取樣函式置於非作用中狀態中。
參看圖5A至圖5B描述根據本發明之一態樣的與更新取樣緩衝器相關聯之邏輯的一實施例。參看圖5A,最初,在一取樣函式期間已獲得樣本資料,且將其儲存於緩衝器中,步驟500。作出關於是否設定當前樣本資料區塊之尾部項中之區塊已滿指示項(例如,等於1)的判定,詢問502。若設定區塊已滿指示項,則在此時,其指示緩衝器中不存在用以儲存資料的足夠空間。將尾部項之樣本溢位計數欄位的內容遞增1,步驟504,且丟棄待儲存之樣本資料,步驟506。此完成更新處理程序,步驟508。
返回至詢問502,然而,若當前樣本資料區塊之尾部項中的區塊已滿指示項為零,則作出關於是否存在用以儲存樣本資料之足夠空間的判定,詢問510。若區塊已滿指示項為零且存在足夠空間,則將樣本資料儲存於下一資料項中,步驟512,且將資料項位址暫存器之內容遞增資料項大小,步驟514。更新處理程序完成,步驟508。
另一方面,返回至詢問510,若未設定區塊已滿指示項且不存在用以在下一資料項中儲存樣本資料的足夠空間,則將當前樣本資料區塊之尾部項中的區塊已滿指示項設定成1,步驟520(圖5B),且將每日時間時鐘值置於尾部項之時間戳記欄位中,步驟522。
此後,作出關於尾部項中之警示請求指示項是否為1的判定,詢問524。若尾部項中之警示請求指示項為1,則在更新處理程序之末尾許可量測警示外部中斷事件(程式請求警示),步驟526。此後,或若不設定警示請求指示項,則將表項位址暫存器之內容遞增SDB表項大小,使得SDB表中之下一項變成當前SDB表項,步驟528。提取當前SDB表項,且檢驗該項之位元63,步驟530。若SDB表項之位元63為零,則該項為區塊連結項且包括一樣本資料區塊(SDB)原點;若位元63為1,則該項為表連結項且包括一樣本資料區塊表(SDBT)原點。
若經提取項為SDB表中之最後項(亦即,該項為達到最大緩衝器大小之前的最後項),詢問532,且若該項並非表連結項(亦即,該項之位元63為零),詢問534,則許可量測警示外部中斷事件(不正確SDB表項警示),步驟536。作用中取樣函式置於非作用中狀態中,且更新處理程序完成,步驟538。
返回至詢問534,若其為最後項且位元63為1,則將該項中所指定之SDB表之原點的位址置於表項位址暫存器中,使得指定表變成當前SDB表,步驟540。提取當前SDB表項,且檢驗該項之位元63,步驟542。若位元63為1,詢問544,其指示由表連結項所指向之SBD表項自身為表連結項,則許可量測警示外部中斷事件(不正確SDB表項警示),步驟536。作用中取樣函式置於非作用中狀態中,且更新處理程序完成,步驟538。
然而,若位元63為零,詢問544,則該項中所指定之樣本資料區塊之原點的位址置於資料項位址暫存器中,使得該區塊變成當前樣本資料區塊,步驟546。處理接著在詢問502處繼續(圖5A),如上文所描述。
返回至詢問532(圖5B),若經提取項並非SDB表中之最後項(亦即,並非在達到邊界之前的最後項),且若經提取之表項之位元63為零,詢問550,則處理在步驟546處繼續,如本文中所描述。然而,若經提取項之位元63為1,其指示該表中不存在更多項,即使該表具有更多空間,則處理藉由步驟540繼續,如本文中所描述。
如參考步驟526所指示,回應於判定在經指示為已滿之樣本資料區塊的尾部項中設定警示請求,在更新處理程序之末尾許可量測警示外部中斷事件。參看圖5C描述此處理之一實施例。
參看圖5C,在更新處理程序之末尾許可中斷,步驟580。回應於此,控制程式讀取儲存於一或多個樣本資料區塊(例如,已滿之區塊,或具有資料或其子集之所有區塊)中之資料且將彼資料寫入至DASD或另一儲存媒體,步驟582。另外,在連鎖更新操作中,控制程式重設已滿之區塊中之任一者之尾部項中的區塊已滿指示項,步驟584,且重新建立警示請求控制,步驟586。在一實例中,該重新建立包括設定(或保持設定)起始中斷之同一警示指示項。然而,在其他實例中,可設定一或多個其他警示指示項。可視將傾卸資料之頻率而在一或多個尾部項中設定警示指示項。
舉例而言,在至少一資料區塊中設定警示指示項,該至少一資料區塊經選擇以提供足夠時間在緩衝器已滿之前傾卸資料,從而最小化樣本資料之損失。然而,若損失小量資料,則經收集資料仍繼續為有用的。另一方面,若損失大量資料,此係相依於實施的,則忽略經收集之樣本資料。
參看圖5A至圖5C所描述之緩衝器更新處理程序為發生以俘獲樣本資料之整個取樣處理程序的部分。該取樣處理程序藉由運算子請求而開始,回應於該運算子請求,起始一取樣函式。可存在由一或多個運算子同時起始之一或多個取樣函式。參看圖6描述取樣處理程序之綜述的一實施例。
參看圖6,最初,運算子調用一取樣函式,且指定各種參數,其包括(例如)取樣頻率F(例如,每分鐘待收集之樣本的數目)、取樣執行以分鐘為單位的持續時間D,及取樣之類型(例如,基本取樣、診斷取樣,或組合取樣),步驟600。
另外,控制程式發布詢問取樣資訊(QSI)指令,其描述於下文,該指令提供關於取樣設備之資訊,步驟604。在一實例中,此資訊包括以位元組為單位之基本取樣資料項大小(BSDES)、以位元組為單位之診斷取樣資料項大小(DSDES),及CPU速度=C個循環/微秒。在經獲得資訊之情況下,控制程式以量測=i個循環/秒來計算每一處理器之取樣間隔,步驟606。舉例而言,
F=樣本中之整個取樣頻率/分鐘;
p=量測中所涉及之處理器的數目;
f=(F/60)/p=每一處理器之以樣本/秒為單位的個別取樣頻率;
C=以循環/(10**-6)秒為單位之CPU速度;
i=(1/f)C=每一處理器之以循環/樣本為單位的個別取樣間隔。
此外,使用個別取樣頻率(上文所定義)f、樣本資料項大小L,及取樣執行之指定持續時間D來計算每一處理器之資料緩衝器需要為多大,步驟608。使用由QSI指令所傳回之每一項類型(BSDES及DSDES)的指定取樣類型及大小來計算樣本資料項大小L。舉例而言,
L=以位元組為單位之取樣資料項大小;
若僅使用基本取樣,則L=BSDES;
若僅使用診斷取樣,則L=DSDES;
若使用基本取樣及診斷取樣兩者,則L=BDES+DSDES;
f=每一處理器之以樣本/秒為單位的個別取樣頻率;
D=執行之以分鐘為單位的預期持續時間;
B=f*L*D*60=對於整個取樣執行之在一個別處理器上之所有樣本所需的以位元組為單位的緩衝器大小。
基於以上資訊,控制程式為緩衝器分配儲存器,步驟610。根據本發明之一態樣,無需分配總的緩衝器大小。實情為,僅分配緩衝器之一部分,且在特定時間,起始一中斷以自該緩衝器移除資料,且可再使用彼同一緩衝器。針對所要緩衝器大小分配儲存器,且儲存器闡述成參看圖3所描述之取樣資料緩衝器的形式。
由控制程式所分配之緩衝器大小應為足夠大的,使得該控制程式可在所分配緩衝器已滿之前服務中斷。分配大於此最小值的緩衝器將要求控制程式不太頻繁地被中斷。控制程式中斷之間所需的時間應保證在呈現下一中斷之前服務每一中斷。控制程式在判定所需緩衝器大小之待分配的部分時考慮此等因素,步驟610。
使用個別取樣頻率f、樣本大小L及控制程式服務間隔T來計算量測中所涉及之每一處理器之待分配的最小緩衝器大小b。舉例而言,
T=為緩衝器服務所需之控制程式中斷之間的以秒為單位的時間;
b=f*L*T=以位元組為單位之最小分配緩衝器大小。
一旦已計算出最小值及最大值,則控制程式判定實際緩衝器大小,其包括安全裕度。舉例而言,最小緩衝器大小b乘以值4以允許緩衝器之非同步寫入在不損失與寫入操作同時收集之樣本的情況下發生;應理解,寫入操作花費非顯然量之時間來完成。
此後,控制程式發布下文所描述之設定取樣控制指令以啟動取樣函式,步驟612。回應於發布此指令,執行取樣,且以上文參看圖5A至圖5C所描述之方式來處置經取樣資料。
與上述內容非同步,根據本發明之一態樣,每當控制程式之一調度器調度一任務時,該調度器發布一設定程式參數指令700(圖7A)。設定程式參數指令以識別特定任務之識別符對任務加標籤。此識別符連同樣本資料一起提供(例如,識別符係自暫存器擷取,且與資料一起被包括),使得已知該資料屬於哪一任務。由於調度器為效能臨界的,因此不存在判定是否啟動量測設備之測試。實情為,每當調度器調度一任務時,發布此指令。在一實例中,若組態未經組態以用於取樣,則執行作為否操作之指令。
參看圖7B描述設定程式參數指令之一實施例。作為一實例,設定程式參數指令750包括以下欄位:
Op碼752:此欄位包括指定設定程式參數指令之操作碼;
B2 754及D2 756;將由B2 欄位所指定之通用暫存器的內容添加至D2 欄位之內容以形成第二運算元位址。
在執行中,由第二運算元位址所指定之儲存器位置中的八位元組程式參數置於一程式參數暫存器中。在一實例中,此暫存器為64位元暫存器,且此暫存器之內容由初始CPU重設、清除重設或電源開啟重設清除至零。作為一特定實例,程式參數暫存器包括於真實儲存器中所維持之狀態描述內。
上文提及之詢問取樣資訊指令用以將關於CPU量測取樣設備之資訊置於由該指令之第二運算元位址所指定的資訊區塊中。在一實例中,詢問取樣資訊指令800(圖8A)包括(例如):
Op碼802:此欄位包括指定詢問取樣資訊指令之操作碼;
B2 804及D2 806;將由B2 欄位所指定之通用暫存器的內容添加至D2 欄位之內容以形成第二運算元位址。
在一實例中,資訊區塊820(圖8B)為64個位元組且包括以下內容:取樣狀態控制822:在一實例中,資訊區塊之位元組移位0至3包括基本取樣函式及診斷取樣函式之狀態控制,且具有以下格式:
基本取樣資料項大小(BSDES)824:資訊區塊之位元組移位4至5包括一不帶正負號的二進位整數,其指定基本取樣資料項之以位元組為單位的大小。在一實例中,此資訊在機器中經硬式編碼。
診斷取樣資料項大小(DSDES)826:位元組移位6至7包括一不帶正負號的二進位整數,其指定診斷取樣資料項之以位元組為單位的大小。在一實例中,此整數在機器中經硬式編碼。
最小取樣間隔828:資訊區塊之位元組移位8至15包括以CPU循環之數目為單位的最小取樣間隔。在一實例中,此資訊在機器中經硬式編碼。
最大取樣間隔830:位元組移位16至23包括以CPU循環之數目為單位的最大取樣間隔。在一實例中,此資訊在機器中經硬式編碼。
TEAR內容832:當啟用基本取樣函式或診斷取樣函式,或該兩者時,資訊區塊之位元組移位24至31包括表項位址暫存器之內容。當既不啟用基本取樣函式亦不啟用診斷取樣函式時,零儲存於資訊區塊之位元組移位24至31中。
DEAR內容834:當啟用基本取樣函式或診斷取樣函式,或該兩者時,資訊區塊之位元組移位32至39包括資料項位址暫存器之內容。當既不啟用基本取樣函式亦不啟用診斷取樣函式時,零儲存於資訊區塊之位元組移位32至39中。
CPU速度836:位元組移位44至47包括一不帶正負號的二進位整數,其指定以CPU循環每微秒之數目為單位的CPU速度。此資訊由機器提供。
設定取樣控制指令(其一實例係參看圖9A描述)用以更新取樣控制。在一實施例中,設定取樣控制指令900在一實例中包括以下格式:
Op碼902:此欄位包括指定設定取樣控制指令之操作碼;
B2 904及D2 906;將由B2 欄位所指定之通用暫存器的內容添加至D2 欄位之內容以形成第二運算元位址。
在指令執行期間,由第二運算元位址所指定之儲存器位置中之請求區塊中的取樣控制置於相應取樣控制暫存器中。請求區塊中之控制的值由運算子及/或控制程式提供,如下文所指示。
在一實例中,請求區塊為64個位元組且包括以下欄位,如參看圖9B所描述:
S 922:請求區塊之位元0(S)指定最大緩衝器大小指示項,如由運算子所指定。
H 924:當CPU正在邏輯分割層級處執行時,請求區塊之位元1(H)為主體指示項。當CPU不在邏輯分割層級處執行時,位元1被忽略且視為零。此由控制程式指定。
Es 926:請求區塊之位元54(Es )指定基本取樣啟用控制,其係基於來自運算子之輸入參數而得以設定;
Ed 928:請求區塊之位元55(Ed )指定診斷取樣啟用控制,其係基於來自運算子之輸入參數而得以設定。
Cs 930:請求區塊之位元62(Cs )指定基本取樣啟動控制,其係基於來自運算子之輸入參數而得以設定。
Cd 932:請求區塊之位元63(Cd )指定診斷取樣啟動控制,其係基於來自運算子之輸入參數而得以設定。請求區塊之位元2至53(925)及56至61(929)為零。
僅當該兩種取樣函式皆可進行有效狀態轉變時,設定取樣函式之所指定的啟用及啟動控制。若一取樣函式不可進行有效狀態轉變,則針對任何取樣函式不設定所指定的狀態控制。
當一取樣函式設定成來自停用狀態、非作用中狀態或作用中狀態之作用中狀態時,包括最大緩衝器大小指示項、主體指示項、取樣間隔934、表項位址暫存器內容936,及資料項位址暫存器內容938之額外控制置於取樣控制暫存器中。當操作未將取樣函式置於作用中狀態中時,額外控制經忽略且未置於取樣控制暫存器中。
當一取樣函式將設定成來自停用狀態、非作用中狀態或作用中狀態之作用中狀態時,且若經請求之取樣間隔在受支援範圍外,則不改變取樣控制暫存器中之取樣控制(包括任何狀態控制),且許可說明異常(specification exception)。受支援之取樣間隔範圍在藉由執行詢問取樣資訊指令包括性地提供的最大取樣間隔與最小取樣間隔之間。
在一實例中,當設定該兩種取樣函式之啟用控制及啟動控制時,設定條件碼0。當不設定啟用控制及啟動控制時,設定條件碼3。
上文詳細描述一CPU量測設備,其週期性地拍攝中央處理單元之快照(在該中央處理單元上,該CPU量測設備執行),且記錄CPU狀態資訊,該CPU狀態資訊包括所執行之指令(例如,Op碼、針對指令是否存在問題等)。在每一取樣時間,樣本資料置於緩衝器中。當該緩衝器具有經界定量之資料時,呈現中斷以便自該緩衝器移除資料。
根據本發明之一態樣,提供一樣本機制以在無來自作業系統之頻繁介入的情況下自機器收集樣本資料。作業系統在該機器之真實儲存器中分配樣本資料區塊以儲存樣本資料。當待收集之樣本資料的量極大時,本發明之一態樣允許作業系統僅為總樣本資料之一小部分分配儲存器。提供一警示機制以允許作業系統標註一請求該機器在此樣本將不適合此樣本資料區塊時產生一警示中斷的區塊。此允許作業系統讀出已由該機器裝滿之樣本資料區塊且釋放該等樣本資料區塊供機器使用。又,存在一與每一樣本資料區塊相關聯之已滿指示。此由該機器使用以告知作業系統該區塊已由該機器裝滿(或幾乎裝滿)。另外,存在一與每一樣本資料區塊相關聯之溢位計數。此用以記住(keep track of)因為樣本資料區塊已滿而損失之樣本資料項的數目。此向作業系統提供一暗示:當溢位出現時,仍可使用經量測資料或是必須重新執行取樣函式。此外,為促進作業系統算出取樣間隔及針對樣本資料區塊之儲存器的量,關於最大取樣間隔、最小取樣間隔及CPU速度之資訊由一詢問指令提供。
在本發明之又一態樣中,提供一種技術,其用於在一或多個處理單元上部署取樣邏輯之一或多個態樣。參看圖10A至圖10B描述部署邏輯之一實施例。
參看圖10A,最初,進行關於在執行取樣邏輯時是否存在將駐留於一或多個伺服器上之任何程式的判定,詢問1000。若存在,則識別包括可執行物(executable)之該一或多個伺服器,步驟1002,且經由(例如)檔案傳送協定(FTP)或某一其他協定或藉由經由使用共用檔案系統的複製將該一或多個伺服器之取樣邏輯直接傳送至該等伺服器之儲存器,步驟1004。接著將該邏輯安裝於該等伺服器上,步驟1006。
此後,或若不存在可執行物,則作出關於是否將藉由使使用者存取一(多個)伺服器上之該邏輯而部署該取樣邏輯的另一判定,詢問1008。若使用者將存取伺服器上之該取樣邏輯,則識別將儲存該邏輯之伺服器位址,步驟1010。在一實例中,作出關於是否將建置一代理伺服器以儲存該取樣邏輯的判定,詢問1012(圖10B)。代理伺服器為處於一諸如web瀏覽器的用戶端應用程式與一真實伺服器之間的伺服器。該伺服器截取至該真實伺服器之請求以查看該伺服器自身是否可實現該請求。若不可實現,則該伺服器將該請求轉發至該真實伺服器。代理伺服器之兩個主要益處為改良效能及對請求進行過濾。若將建置一代理伺服器,則安裝該代理伺服器,步驟1014。
此後,或若將不建置代理伺服器,則經由諸如檔案傳送協定(FTP)之協定將該取樣邏輯發送至伺服器,或經由檔案共用將該取樣邏輯自源檔案直接複製至伺服器檔案,步驟1016。作為另一實例,異動發送至包括該取樣邏輯之該一或多個伺服器,且該等伺服器處理該異動,接著接收該邏輯且將該邏輯複製至該等伺服器之檔案系統。
在將取樣邏輯儲存於該等伺服器處之後,使用者經由其用戶端電腦而存取該等伺服器上之邏輯,且可將該邏輯之至少一部分複製至其用戶端電腦之檔案系統,步驟1018。使用者接著執行將該邏輯安裝於用戶端電腦上之程式,步驟1020。在另一實例中,該等伺服器將取樣邏輯之一或多個態樣自動複製至每一用戶端,且接著在每一用戶端電腦處執行該邏輯之安裝程式。此結束部署處理之一實例,步驟1022。
返回至詢問1008(圖10A),若該邏輯將不會藉由使使用者存取一或多個伺服器上之邏輯而部署,則處理以關於該邏輯是否將藉由經由電子郵件將該邏輯發送至使用者而部署的判定來繼續,詢問1030。若該邏輯將藉由經由電子郵件將該邏輯發送至使用者而部署,則識別使用者在將部署該邏輯之處的設定連同使用者用戶端電腦之位址,步驟1032。經由電子郵件將取樣邏輯發送至使用者之用戶端電腦中的每一者,步驟1034(圖10B)。使用者接收該電子郵件,步驟1036,且自該電子郵件卸離該取樣邏輯至其用戶端電腦上之一目錄,步驟1038。使用者執行將該邏輯安裝於用戶端電腦上之程式,步驟1020,且退出該處理程序,步驟1022。
返回至詢問1030(圖10A),若取樣邏輯將不會經由電子郵件而部署,則作出關於該邏輯是否將直接發送至其用戶端電腦上之使用者目錄的另一判定,步驟1040。若該邏輯將直接發送至其用戶端電腦上之使用者目錄,則識別該等使用者目錄,步驟1042。將該取樣邏輯直接傳送至使用者之用戶端電腦目錄,步驟1044(圖10B)。此可以若干方式進行,該等方式諸如(但不限於)共用檔案系統目錄且接著自發送者之檔案系統複製至接收使用者之檔案系統,或替代地,使用傳送協定,諸如檔案傳送協定(FTP)。使用者存取其用戶端檔案系統上之目錄以準備安裝該取樣邏輯,步驟1046。使用者執行將該邏輯安裝於用戶端電腦上之程式,步驟1020,且退出部署處理程序,步驟1022。
返回至詢問1040(圖10A),若該邏輯將不會直接發送至使用者之目錄,則處理結束,步驟1050。
儘管提供部署邏輯之一實施例,但可在不脫離本發明之精神的情況下進行許多變化。
本發明之一或多個態樣可由供應顧客環境之管理的服務提供者提供、供應、部署、管理、服務等。舉例而言,服務提供者可為一或多個顧客產生、維持、支援等執行本發明之一或多個態樣的電腦程式碼及/或電腦基礎結構。作為回報,作為實例,服務提供者可在預訂及/或收費協議下自顧客收取費用。另外或其他,服務提供者可自廣告內容銷售至一或多個第三方而收取費用。
在本發明之一態樣中,可部署一應用程式以用於執行本發明之一或多個態樣,如上文所描述。作為一實例,應用程式之部署包含提供可操作以執行本發明之一或多個態樣的電腦基礎結構。
作為本發明之另一態樣,可部署一計算基礎結構,其包含將電腦可讀程式碼整合至計算系統中,其中與該計算系統組合之該程式碼能夠執行本發明的一或多個態樣。
作為本發明之又一態樣,可提供一用於整合計算基礎結構之處理程序,其包含將電腦可讀程式碼整合至電腦系統中。該電腦系統包含一電腦可用媒體,其中該電腦可用媒體包含本發明之一或多個態樣。與該電腦系統組合之該程式碼能夠執行本發明的一或多個態樣。
本發明之一或多個態樣可包括於一具有(例如)電腦可用媒體之製品(例如,一或多個電腦程式產品)中。媒體在其中具有(例如)電腦可讀程式碼構件或邏輯(例如,指令、程式碼、命令等)以提供並促進本發明之能力。製品可作為電腦系統之一部分而被包括或單獨銷售。
參看圖11描述併有本發明之一或多個態樣之製品或電腦程式產品的一實例。電腦程式產品1100包括(例如)一或多個電腦可用媒體1102以在其上儲存電腦可讀程式碼構件或邏輯1104,以提供並促進本發明之一或多個態樣。媒體可為電子媒體、磁性媒體、光學媒體、電磁媒體、紅外線媒體或半導體系統(或裝置或器件)媒體或傳播媒體。電腦可讀媒體之實例包括半導體或固態記憶體、磁帶、抽取式電腦磁片、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、剛性磁碟及光碟。光碟之實例包括緊密光碟-唯讀記憶體(CD-ROM)、緊密光碟-讀/寫(CD-R/W)及DVD。
由一或多個電腦可讀程式碼構件或邏輯所界定之一或多個相關模組之程式指令序列或邏輯組合指導本發明之一或多個態樣的執行。
有利地,本發明之一或多個態樣的量測設備並非每當執行取樣時需要中斷。實情為,僅當判定一經標註樣本資料區塊近似已滿(例如,不足以儲存下一資料項之空間)或在所要時間時執行中斷。藉由減少中斷之次數,增強系統效能。此外,藉由釋放緩衝器,重複使用該同一緩衝器,因此,減小所需緩衝器空間之量。
本發明之一或多個態樣允許進行折衷,該折衷係關於多少儲存器將用以產生緩衝器對中斷頻率。作為實例,該折衷可基於所使用之取樣間隔、緩衝器大小、樣本之數目,及參與之處理器的數目。
儘管上文描述各種實施例,但此等實施例僅為實例。舉例而言,儘管本文中描述各種指令,但本發明之一或多個態樣可使用不同於指令之物,諸如命令、函式等。此外,該等指令之格式可不同,包括不同欄位、不同大小欄位、不同定位等。更進一步,本文中所描述之實體(例如,請求區塊、項之欄位、資訊區塊)的資訊可具有不同資訊,欄位之大小以及定位可不同。可能已自該等實體消除保留欄位或具有零之彼等欄位。此外,對於本發明之一或多個態樣,可能不使用或需要該等實體中之資訊中的一些資訊。可進行許多其他變化。
儘管本文中提供處理環境之一實例,但此僅為一實例。處理環境之許多其他實例可併有及使用本發明之一或多個態樣。舉例而言,一處理環境可僅具有一個CPU,或可提供一經邏輯分割之環境,且該等邏輯分割中之一或多者執行一控制程式。在另一實例中,一處理環境可執行與本文中所描述之控制程式不同的控制程式。許多其他變化亦為可能的。
此外,其他類型之計算環境可受益於本發明之一或多個態樣。作為一實例,一環境可包括一仿真器(例如,軟體或其他仿真機制),其中對一特定架構(包括(例如)指令執行、諸如位址轉譯之架構化函式,及諸如架構化暫存器之架構化設備)或其一子集進行仿真(例如,在一具有一處理器及記憶體之本地電腦系統上)。在該環境中,仿真器之一或多個仿真函式可實施本發明之一或多個態樣,即使一執行該仿真器之電腦可具有一與正仿真之能力不同的架構亦如此。作為一實例,在仿真模式中,對特定指令或正仿真之操作進行解碼,且一適當仿真函式經建置以實施個別指令或操作。
在一仿真環境中,一主機電腦包括(例如):一記憶體,其用以儲存指令及資料;一指令提取單元,其用以自記憶體提取指令,且視情況用以提供經提取指令之本端緩衝;一指令解碼單元,其用以收納該指令提取單元且用以判定已提取之指令的類型;及一指令執行單元,其用以執行指令。執行可包括:將資料載入至記憶體之暫存器中;將資料自暫存器儲存回至記憶體;或執行如由解碼單元所判定之某一類型的算術或邏輯運算。在一實例中,以軟體來實施每一單元。舉例而言,由該等單元執行之操作經實施為仿真器軟體內之一或多個次常式。
此外,適用於儲存及/或執行程式碼之資料處理系統為可使用的,其包括直接或經由系統匯流排間接耦接至記憶體元件的至少一處理器。記憶體元件包括(例如)在程式碼之實際執行期間所使用之局部記憶體、大容量儲存器,及快取記憶體,該快取記憶體對至少某一程式碼提供臨時儲存以便減少在執行期間必須自大容量儲存器擷取程式碼的次數。
輸入/輸出或I/O器件(包括(但不限於)鍵盤、顯示器、指標器件、DASD、磁帶、CD、DVD、隨身碟(thumb drive)及其他記憶體媒體等)可直接或經由介入I/O控制器耦接至該系統。網路配接器亦可耦接至系統以使該資料處理系統能夠經由介入之私用或公用網路而耦接至其他資料處理系統或遠端印表機或儲存器件。數據機、電纜數據機及乙太網路卡僅為可用類型之網路配接器中的少數幾種。
本發明之一或多個態樣的能力可以軟體、韌體、硬體或其某一組合來實施。可提供可由機器讀取之至少一程式儲存器件,其具體化可由該機器執行以執行本發明之能力之指令的至少一程式。
本文中所描繪之流程圖僅為實例。在不脫離本發明之精神的情況下,可存在對本文中所描述之此等圖或步驟(或操作)之許多變化。舉例而言,可按不同次序執行該等步驟,或者可添加、刪除或修改步驟。將所有此等變化視為所主張之本發明的一部分。
如本文中所使用,術語「獲得」包括(但不限於)接收、被提供、擷取、判定、存取等。
儘管已在本文中詳細地描繪並描述了實施例,但熟習相關技術者將顯而易見,可在不脫離本發明之精神的情況下進行各種修改、添加、替代及其類似者,且因此,將此等修改、添加、替代及其類似者視為在如以下申請專利範圍中所界定之本發明的範疇內。
100...處理環境
102...處理器
104...記憶體
106...輸入/輸出(I/O)器件
108...匯流排
110...CPU量測取樣函式
200...取樣控制暫存器
202...表項位址暫存器(TEAR)
204...資料項位址暫存器(DEAR)
206...最大緩衝器大小指示項
208...取樣函式狀態控制暫存器
210...取樣間隔暫存器
212...主體指示項
220...當前樣本資料區塊表項之位址
230...下一樣本資料區塊資料項之位址
300...取樣緩衝器
302...樣本資料區塊表(SDBT)
304...樣本資料區塊(SDB)
306...表項位址暫存器(TEAR)
308...區塊連結項
310...表連結項
320...最大緩衝器大小指示項
330...資料項位址暫存器
332...資料項
336...尾部項
400...基本取樣資料項
402...資料項格式碼
404...獨特指令之數目(U)
406...DAT模式(T)
408...等待狀態(W)
410...問題狀態(P)
412...位址空間控制(AS)
414...無效指示(I)
416...主要ASN
418...指令位址
420...客體程式參數
422...主體程式參數
440...診斷取樣資料項
442...資料項格式碼
444...最大緩衝器大小
446...無效指示(I)
450...尾部項
452...區塊已滿指示項(F)
454...警示請求控制(A)
456...樣本溢位計數
458...時間戳記
750...設定程式參數指令
752...Op碼
754...B2
756...D2
800...詢問取樣資訊指令
802...Op碼
804...B2
806...D2
820...資訊區塊
822...取樣狀態控制
824...基本取樣資料項大小(BSDES)
826...診斷取樣資料項大小(DSDES)
828...最小取樣間隔
830...最大取樣間隔
832...TEAR內容
834...DEAR內容
836...CPU速度
900...設定取樣控制指令
902...Op碼
904...B2
906...D2
922...S
924...H
925...位元2至53
926...Es
928...Ed
929...位元56至61
930...Cs
932...Cd
934...取樣間隔
936...表項位址暫存器內容
938...資料項位址暫存器內容
1100...電腦程式產品
1102...電腦可用媒體
1104...電腦可讀程式碼構件或邏輯
圖1描繪用以併有及使用本發明之一或多個態樣之處理環境的一實施例;
圖2A描繪根據本發明之一態樣所使用之各種取樣控制暫存器的一實例;
圖2B描繪根據本發明之一態樣的圖2A之表項位址暫存器之內容的一實例;
圖2C描繪根據本發明之一態樣的圖2A之資料項位址暫存器之內容的一實例;
圖3描繪根據本發明之一態樣所使用的取樣緩衝器之結構的一實施例;
圖4A描繪根據本發明之一態樣的基本取樣資料項之欄位的一實施例;
圖4B描繪根據本發明之一態樣的診斷取樣資料項之欄位的一實施例;
圖4C描繪根據本發明之一態樣的尾部項之欄位的一實施例;
圖5A至圖5B描繪根據本發明之一態樣的與更新取樣緩衝器相關聯之邏輯的一實施例;
圖5C描繪根據本發明之一態樣的與提供一中斷以自緩衝器讀取經收集資料相關聯之邏輯的一實施例;
圖6描繪根據本發明之一態樣的與執行取樣函式相關聯之邏輯之綜述的一實施例;
圖7A描繪根據本發明之一態樣的與非同步於執行取樣設備而執行以藉由經收集資料來啟用儲存識別符之處理相關聯之邏輯的一實施例;
圖7B描繪根據本發明之一態樣所使用之設定程式參數指令之格式的一實例;
圖8A描繪根據本發明之一態樣所使用之詢問取樣資訊指令之格式的一實施例;
圖8B描繪根據本發明之一態樣的與資訊區塊(其與詢問取樣資訊指令相關聯)相關聯之欄位的一實施例;
圖9A描繪根據本發明之一態樣所使用之設定取樣控制指令之格式的一實施例;
圖9B描繪根據本發明之一態樣的與設定取樣控制指令相關聯之請求區塊的一實施例;
圖10A至圖10B描繪根據本發明之一態樣的用以在一或多個處理單元上部署取樣邏輯之邏輯的一實施例;及
圖11描繪併有本發明之一或多個態樣之電腦程式產品的一實施例。
(無元件符號說明)

Claims (20)

  1. 一種用以促進管理一處理環境內資料之一收集的電腦程式產品,該電腦程式產品包含:一儲存媒體,其可由一處理電路讀取且儲存用於由該處理電路執行之指令以用於執行一包含以下動作之方法:在一緩衝器之一資料區塊中儲存與該處理環境之一或多個任務之執行相關的資料,其中在複數個指定間隔處執行該儲存,在該等指定間隔中,執行至該資料區塊之複數次儲存;針對另一指定間隔而嘗試至該資料區塊的另一次資料的儲存,其中判定該資料區塊不具有用於該另一次儲存的足夠空間;回應於該判定該資料區塊不具有足夠空間而判定是否針對該資料區塊設定一警示指示項;回應於該判定指示設定該警示指示項而指示將在一指定時間執行一中斷;及將該另一指定間隔之該資料儲存於該緩衝器之另一資料區塊中。
  2. 如請求項1之電腦程式產品,其中該警示指示項儲存於該資料區塊中。
  3. 如請求項2之電腦程式產品,其中該資料區塊包含複數個資料項及一尾部項,且其中至該資料區塊之每一次儲存係針對該複數個資料項之一不同資料項,且其中該尾部項包括該警示指示項。
  4. 如請求項3之電腦程式產品,其中使用一資料項位址暫存器之內容以選擇待儲存之資料項,該資料項位址暫存器之該等內容回應於儲存該資料而更新。
  5. 如請求項3之電腦程式產品,其進一步包含回應於判定該資料區塊不具有足夠空間而設定該資料區塊之該尾部項中的一區塊已滿指示項。
  6. 如請求項1之電腦程式產品,其中由一樣本資料區塊表中之一項指向該資料區塊,該項係基於一表項位址暫存器之內容而選擇。
  7. 如請求項1之電腦程式產品,其進一步包含回應於完成與儲存該另一指定間隔之該資料相關聯的處理來執行該中斷。
  8. 如請求項7之電腦程式產品,其回應於執行該中斷而進一步包含:自該緩衝器讀出資料且將該資料儲存於至少一儲存媒體上;重設回應於判定該資料區塊中不存在足夠空間所設定之一區塊已滿指示項;及重新建立該緩衝器之一或多個警示指示項。
  9. 如請求項1之電腦程式產品,其進一步包含獲得對待執行之資料取樣的一請求,該資料取樣用以提供待儲存之該資料,其中該請求指示一類型之資料取樣,該類型包含基本取樣、診斷取樣,或基本取樣與診斷取樣之一組合。
  10. 如請求項9之電腦程式產品,其中該資料取樣受控於複數個控制項,由一設定取樣控制指令在一或多個控制暫存器中設定該複數個控制項,該設定取樣控制指令由該處理環境之一控制程式執行。
  11. 如請求項9之電腦程式產品,其中與該資料取樣相關聯之資訊係藉由由該處理環境之一控制程式執行一詢問取樣資訊指令而獲得。
  12. 如請求項1之電腦程式產品,其中對與執行該複數個任務中之一任務相關之資料的該儲存包含:儲存該任務之一識別符與該資料。
  13. 如請求項1之電腦程式產品,其進一步包含:判定待產生之該緩衝器的一大小,其中該判定係基於待使用之記憶體之一量、所要中斷頻率取樣間隔及參與之處理器的數目中的至少一者;及產生具有該經判定大小之該緩衝器。
  14. 一種管理一處理環境內之資料之一收集的電腦實施方法,該電腦實施方法包含:在一緩衝器之一資料區塊中儲存與該處理環境之一或多個任務之執行相關的資料,其中在複數個指定間隔處執行該儲存,在該等指定間隔中,執行至該資料區塊之複數次儲存;針對另一指定間隔而嘗試至該資料區塊的另一次資料的儲存,其中判定該資料區塊不具有用於該另一次儲存的足夠空間;回應於該判定該資料區塊不具有足夠空間而判定是否針對該資料區塊設定一警示指示項;回應於該判定指示設定該警示指示項而指示將在一指定時間執行一中斷;及將該另一指定間隔之該資料儲存於該緩衝器之另一資料區塊中。
  15. 如請求項14之電腦實施方法,其進一步包含回應於完成與儲存該另一指定間隔之該資料相關聯的處理來執行該中斷。
  16. 一種用於管理一處理環境內之資料之一收集的電腦系統,該電腦系統包含:一記憶體,其能夠具有一緩衝器,該緩衝器包含複數個資料區塊表,該複數個資料區塊表中之每一資料區塊表包含複數個區塊連結項及一表連結項,每一區塊連結項指示該緩衝器之一資料區塊的一資料項,且該表連結項指示該複數個資料區塊表中之另一表,該資料區塊包含複數個資料項及一尾部項,該尾部項包括一警示指示項,該警示指示項指定是否已針對該資料區塊設定一警示;及一處理器,其與該記憶體通信,其中該電腦系統能夠執行一包含以下動作之方法:在該資料區塊中儲存與該處理環境之一或多個任務之執行相關的資料,其中在複數個指定間隔處執行該儲存,在該等指定間隔中,執行至該資料區塊之複數次儲存;針對另一指定間隔而嘗試至該資料區塊的另一次資料的儲存,其中判定該資料區塊不具有用於該另一次儲存的足夠空間;回應於判定該資料區塊不具有足夠空間而判定是否針對該資料區塊設定該警示指示項;回應於設定該警示指示項而指示將在一指定時間執行一中斷;及將該另一指定間隔之該資料儲存於該緩衝器之另一資料區塊中。
  17. 如請求項16之電腦系統,其進一步包含複數個控制暫存器,該複數個控制暫存器在控制收集待儲存之該資料及將該資料儲存於該緩衝器中的至少一者時使用。
  18. 如請求項16之電腦系統,其進一步包含回應於完成與儲存該另一指定間隔之該資料相關聯的處理來執行該中斷。
  19. 如請求項18之電腦系統,其回應於執行該中斷而進一步包含:自該緩衝器讀出資料且將該資料儲存於至少一儲存媒體上;重設回應於判定該資料區塊中不存在足夠空間所設定之一區塊已滿指示項;及重新建立該緩衝器之一或多個警示指示項。
  20. 如請求項16之電腦系統,其進一步包含獲得對待執行之資料取樣的一請求,該資料取樣用以提供待儲存之該資料,其中該請求指示一類型之資料取樣,該類型包含基本取樣、診斷取樣,或基本取樣與診斷取樣之一組合。
TW098130110A 2008-10-02 2009-09-07 中央處理單元量測設備 TWI435271B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/244,300 US7827321B2 (en) 2008-10-02 2008-10-02 Central processing unit measurement facility

Publications (2)

Publication Number Publication Date
TW201015441A TW201015441A (en) 2010-04-16
TWI435271B true TWI435271B (zh) 2014-04-21

Family

ID=42076689

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098130110A TWI435271B (zh) 2008-10-02 2009-09-07 中央處理單元量測設備

Country Status (2)

Country Link
US (10) US7827321B2 (zh)
TW (1) TWI435271B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9449314B2 (en) * 2008-10-02 2016-09-20 International Business Machines Corporation Virtualization of a central processing unit measurement facility
US7827321B2 (en) 2008-10-02 2010-11-02 International Business Machines Corporation Central processing unit measurement facility
US8701120B2 (en) 2009-02-27 2014-04-15 International Business Machines Corporation Virtualization of storage buffers used by asynchronous processes
US10628163B2 (en) 2014-04-17 2020-04-21 Texas Instruments Incorporated Processor with variable pre-fetch threshold
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US10423330B2 (en) * 2015-07-29 2019-09-24 International Business Machines Corporation Data collection in a multi-threaded processor
US10467204B2 (en) 2016-02-18 2019-11-05 International Business Machines Corporation Data sampling in a storage system
CN108021473B (zh) * 2017-11-29 2022-09-27 山东航天电子技术研究所 一种多备份启动的宇航计算机系统以及安全启动方法
US11003811B2 (en) 2018-02-09 2021-05-11 International Business Machines Corporation Generating samples of outcomes from a quantum simulator

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843541A (en) 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
JPH041834A (ja) 1990-04-19 1992-01-07 Nec Corp 入出力装置のエラー情報収集方法およびその装置
US6286025B1 (en) 1994-12-09 2001-09-04 International Business Machines Corporation Method and system of process identification by user defined process variables
US5621912A (en) 1994-12-29 1997-04-15 International Business Machines Corporation Method and apparatus for enabling monitoring of guests and native operating systems
US6023759A (en) * 1997-09-30 2000-02-08 Intel Corporation System for observing internal processor events utilizing a pipeline data path to pipeline internally generated signals representative of the event
US5809450A (en) * 1997-11-26 1998-09-15 Digital Equipment Corporation Method for estimating statistics of properties of instructions processed by a processor pipeline
US6119075A (en) * 1997-11-26 2000-09-12 Digital Equipment Corporation Method for estimating statistics of properties of interactions processed by a processor pipeline
JP2000020349A (ja) 1998-07-06 2000-01-21 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
US6195730B1 (en) * 1998-07-24 2001-02-27 Storage Technology Corporation Computer system with storage device mapping input/output processor
US6954923B1 (en) * 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US6976083B1 (en) * 1999-02-19 2005-12-13 International Business Machines Corporation Apparatus for providing direct data processing access using a queued direct input-output device
US6345324B1 (en) * 1999-02-19 2002-02-05 International Business Machines Corporation Apparatus for transferring data using an interface element and a queued direct input-output device
US6347341B1 (en) * 1999-02-22 2002-02-12 International Business Machines Corporation Computer program product used for exchange and transfer of data having a siga vector and utilizing a queued direct input-output device
US6574727B1 (en) * 1999-11-04 2003-06-03 International Business Machines Corporation Method and apparatus for instruction sampling for performance monitoring and debug
US6539502B1 (en) * 1999-11-08 2003-03-25 International Business Machines Corporation Method and apparatus for identifying instructions for performance monitoring in a microprocessor
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US7412492B1 (en) 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
US6983303B2 (en) * 2002-01-31 2006-01-03 Hewlett-Packard Development Company, Lp. Storage aggregator for enhancing virtualization in data storage networks
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US8219777B2 (en) * 2002-10-03 2012-07-10 Hewlett-Packard Development Company, L.P. Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system
US7502917B2 (en) * 2002-12-05 2009-03-10 International Business Machines Corporation High speed memory cloning facility via a lockless multiprocessor mechanism
JP4001834B2 (ja) 2003-04-01 2007-10-31 Hoya株式会社 グレートーンマスクの欠陥検査方法及びグレートーンマスクの製造方法
EP1660993B1 (en) * 2003-08-28 2008-11-19 MIPS Technologies, Inc. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
US20050066076A1 (en) * 2003-09-18 2005-03-24 International Business Machines Corporation Method for fast recovery of I/O failure on a file system
US7296193B2 (en) * 2004-01-07 2007-11-13 International Business Machines Corporation Technique for processing an error using write-to-operator-with-reply in a ported application
US20050223180A1 (en) * 2004-03-31 2005-10-06 Philip Derbeko Accelerating the execution of I/O operations in a storage system
US20060010301A1 (en) * 2004-07-06 2006-01-12 Hitachi, Ltd. Method and apparatus for file guard and file shredding
JP2006113767A (ja) 2004-10-14 2006-04-27 Sony Corp 情報処理システム、および、情報処理方法、並びに、プログラム
US7716638B2 (en) 2005-03-04 2010-05-11 Microsoft Corporation Methods for describing processor features
US7685635B2 (en) 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US7478219B2 (en) 2005-04-14 2009-01-13 International Business Machines Corporation Retrieving event data for logical partitions
US7353369B1 (en) * 2005-07-13 2008-04-01 Nvidia Corporation System and method for managing divergent threads in a SIMD architecture
US7380049B2 (en) 2005-09-06 2008-05-27 Intel Corporation Memory protection within a virtual partition
US7620938B2 (en) * 2005-10-31 2009-11-17 Microsoft Corporation Compressed program recording
JP4814617B2 (ja) * 2005-11-01 2011-11-16 株式会社日立製作所 ストレージシステム
US7478180B1 (en) * 2005-12-14 2009-01-13 Vmware, Inc. Virtualizing a communications channel in which blocks of data are divided into multiple sub-blocks for conveyance
JP4839841B2 (ja) * 2006-01-04 2011-12-21 株式会社日立製作所 スナップショット再起動方法
US7461299B2 (en) 2006-03-08 2008-12-02 Intel Corporation Monitoring writes to cache as part of system error handling
US7945908B1 (en) 2006-03-31 2011-05-17 Vmware, Inc. Method and system for improving the accuracy of timing and process accounting within virtual machines
US7925862B2 (en) * 2006-06-27 2011-04-12 Freescale Semiconductor, Inc. Coprocessor forwarding load and store instructions with displacement to main processor for cache coherent execution when program counter value falls within predetermined ranges
US8607009B2 (en) * 2006-07-13 2013-12-10 Microsoft Corporation Concurrent virtual machine snapshots and restore
JP2008027306A (ja) 2006-07-24 2008-02-07 Aplix Corp ユーザ空間仮想化システム
US7624240B1 (en) * 2006-10-17 2009-11-24 Vmware, Inc. Separate swap files corresponding to different virtual machines in a host computer system
US7657663B2 (en) 2006-12-19 2010-02-02 International Business Machines Corporation Migrating stateless virtual functions from one virtual plane to another
JP2008152594A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd マルチコアプロセッサ計算機の高信頼化方法
JP4249779B2 (ja) 2006-12-25 2009-04-08 株式会社東芝 デバイス制御装置
JP2008210057A (ja) * 2007-02-23 2008-09-11 Hitachi Ltd 記憶システム及びその管理方法
JP4871174B2 (ja) 2007-03-09 2012-02-08 株式会社日立製作所 仮想計算機システム
JP2008234191A (ja) 2007-03-19 2008-10-02 Toshiba Corp ハードウエアモニタ管理装置及びハードウエアモニタ機能の実行方法
JP4980792B2 (ja) 2007-05-22 2012-07-18 株式会社日立製作所 仮想計算機の性能監視方法及びその方法を用いた装置
US7890555B2 (en) * 2007-07-10 2011-02-15 International Business Machines Corporation File system mounting in a clustered file system
US7716177B2 (en) * 2007-07-24 2010-05-11 Oracle International Corporation Proactive space allocation in a database system
US8141053B2 (en) * 2008-01-04 2012-03-20 International Business Machines Corporation Call stack sampling using a virtual machine
US8386822B2 (en) * 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8225120B2 (en) * 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
US8473946B2 (en) 2008-07-03 2013-06-25 Vmware, Inc. Efficient recording and replaying of non-deterministic instructions in a virtual machine and CPU therefor
US8578483B2 (en) 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
US8015343B2 (en) * 2008-08-08 2011-09-06 Amazon Technologies, Inc. Providing executing programs with reliable access to non-local block data storage
US7827321B2 (en) * 2008-10-02 2010-11-02 International Business Machines Corporation Central processing unit measurement facility
US9449314B2 (en) 2008-10-02 2016-09-20 International Business Machines Corporation Virtualization of a central processing unit measurement facility

Also Published As

Publication number Publication date
US20100088444A1 (en) 2010-04-08
US20110078419A1 (en) 2011-03-31
US20190324682A1 (en) 2019-10-24
US10620877B2 (en) 2020-04-14
US20170228195A1 (en) 2017-08-10
US8516227B2 (en) 2013-08-20
TW201015441A (en) 2010-04-16
US9158543B2 (en) 2015-10-13
US8806178B2 (en) 2014-08-12
US7827321B2 (en) 2010-11-02
US20110029758A1 (en) 2011-02-03
US20140325189A1 (en) 2014-10-30
US20160034391A1 (en) 2016-02-04
US20130332709A1 (en) 2013-12-12
US20180101326A1 (en) 2018-04-12
US9652383B2 (en) 2017-05-16
US8417837B2 (en) 2013-04-09
US9880785B2 (en) 2018-01-30
US10394488B2 (en) 2019-08-27
US8478966B2 (en) 2013-07-02
US20120089816A1 (en) 2012-04-12

Similar Documents

Publication Publication Date Title
TWI435271B (zh) 中央處理單元量測設備
US20210263829A1 (en) Virtualization of a central processing unit measurement facility
AU2020202180B2 (en) Memory allocation techniques at partially-offloaded virtualization managers
JP6728409B2 (ja) 仮想化マネージャのセキュアなブート処理
JP6845264B2 (ja) オポチュニスティックハイパーバイザを用いたパフォーマンスの変動の低減
US7478219B2 (en) Retrieving event data for logical partitions
US10613895B2 (en) Virtualization of storage buffers used by asynchronous processes
US20210049030A1 (en) Graphics processing unit profiling tool virtualization