TWI291131B - Accounting method for determining per-thread processor resource utilization time in a simultaneous multi-threaded (SMT) processor and a SMT processor using the method - Google Patents
Accounting method for determining per-thread processor resource utilization time in a simultaneous multi-threaded (SMT) processor and a SMT processor using the method Download PDFInfo
- Publication number
- TWI291131B TWI291131B TW093109113A TW93109113A TWI291131B TW I291131 B TWI291131 B TW I291131B TW 093109113 A TW093109113 A TW 093109113A TW 93109113 A TW93109113 A TW 93109113A TW I291131 B TWI291131 B TW I291131B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- thread
- threads
- resource usage
- cycle
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 20
- 230000000737 periodic effect Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000007667 floating Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Variable-Direction Aerials And Aerial Arrays (AREA)
Description
1291131 玟、發明說明: 【發明所屬之技術領域】 本發明大體上係關於處理器及計算㈣,更詳言之,係 關於-種同步多線程(SMT)處理器,本發明亦係關於處理器 使用記帳系統。 【先前技術】 當今之高速處理器皆包含同步執行多個指令、臆測執行 亚載入多個指令、及同步運作-處理器内各種資源之能 力具體而5,業已發現,較佳在一個處理器内管理一個 或多個線程之執行,其結果爲多個執行線程可使用該處理 器,且資源可得到較通常爲單一線程所使用時更爲 使用。 先前之處理if設計-直藉由自—線程之執行向另一線程 之執行的硬體狀態轉換來處理管理多個線程之問題。心 處理态習知爲硬體多線程(HMT)處理器,且由此可提供一 線程與另一線程之執行之間的硬體轉換。ΗΜτ處理器藉由 允迕硬體將執行轉換至另一線程之方式而克服了等待二停
頓線程之侷限性。該等兩個線程之執行不可同步進行,Z
非將執行片段分配給每一線程,而此時另一線程經歷一諸 如快取丟失等停頓狀態。 A 因多線程可同步使用處理H資源,故同步多線程(睛) 處理器可達成對處理器資源之更有效使用。 .., 、處理 為〒可同時執行多個線程,以便多個處理器執行單元,例 如淨點單元、定點指令單元、載入/存儲單元及其他單元, 92243.doc 5 ^9113! "同步針對多線程之一(或多個線程,此視執行單元之能力 而定)執行任務。存儲器與暫存器資源亦可基於每一線程來 分配’以避免ΗΜΤ的整個内部狀態轉換。 當,舉例而言,某些處理器運行係用於研究與開發活動, 而出於稅收之目的,此等活動允許硬體以不同於其他用途 之方式來核算資本時,對使用處理器的時間進行記帳係管 里包恥服務銷售、以及内部成本會計管理所必需的。可,,應 請求’’或依據假定來分割一伺服器並告知多個使用者苴卢 时T間。此外,硬體所有者或出租人可使用處理器時間, j亦可將其分包予支付服務費的實體。故此,對處理器執 行時間的精確記帳係電腦架構及軟體模型中之必備功能。 亚且’處理器時間使㈣’特別是基於每一線程的時間使 用率,有益於設置程式以期達成最佳化。 在單線$處理系統中,記帳通常簡單易做。此種系統可 對整個作業運行提供處理器週期使用之計數或甚至簡單的 、-過日^間之量測’因爲即便執行多個程式内的多個線程, 該等多個線程亦非同步執行,而係依序爲之。對週期時間 之計數-直維持到-項作業完成,且顯示總數以用於記帳 目的所測*之時間直接關乎於處理器資源之使用。 a觀了機$中,其任務類似於處理器硬體中之任務, -次僅執行一個線程,且使用多個計數器來跟蹤每一線程 使用的處理器時間,作僅者 惶田相關的線程現用時方才運行相 關的計數器。然而,於一 s ^ SMT處理器中,兩或多個線程可 於一單一處理器核心内同牛 J v執仃’且母一線程對資源之使 92243.doc 5 1291131 用=藉:簡單的執行計數或時間量測即可容易地確定。 理l/、㈣望提供—財法與裝置,其可對-SMT處 理為中處理器使用時間進 太ςΜτ , 丁°己帳,業内尚期望提供一種可 在一 SMT處理器内對在此一 里内執仃的多個線程之資 源使用刀別§己帳之方法。
[發明内容J 該於一同步多線程(SM丁)虚 )地里态内圮帳處理器時間使用 率之目的’可在一具有處理哭口 使用汁數裔之處理器中及採 用一種處理器時間使用率記帳方法來達成。 處理器中包含多減理器使料料數器 皆與處理器内執行的每一線程相關於 母個才歎為 以相關聯’以提供-對應於每 一線程所用處理器資源的計數。 、双不目關貝源使用係基於每一 Π貞測:且用於更新該等週期計數器。可藉由賴 4 κΓ曰7"一線程現用指令處理之特定週期狀態來進 貝源使用之侦測。該週期狀態之偵测係藉由週期性採 其可按每—_週期來進行’該等計數器 根據所偵測之週期狀態而遞增(或 匕A — 曰1次遞/咸)。選擇所偵測之狀態 曰在指不母一線程所使用的相關處理器資源。 所偵測之週期狀態可爲一線程 R7自周度。對於無任何 線程處於該特定週期狀態之週期,其向每一線程平均收 費’或可根據所有線程之最後調度狀態來收取周期費用。 或者’無指示週期可根據—經定序之線程優先級來收費, 邊優先級可給出關於相關線程資源使用之指示。對於其中 一個線程處於該特定週期狀態而另—線程卻非如此的週 92243.doc 5 1291131 期’則完全向處於該特定週期狀態之線程收 越過空閒線程向現用線程收費之目的。並JL,可^達成 每一線程於-給定週期中所用資源數量之分數值來2不 期費用。 值來收取週 該處理器能夠採用SMT與單線程(ST)兩種作業模 因應-選定模式進行選擇性記帳,並對在灯模式下^可 一單線程收取所有週期費用。 /亍的 閱讀下文對本發明較佳實施例之詳細說明可清楚地 圖 本發明之上述及其他目標、特徵及優點,該較佳實施例 示於附圖中。 、 【實施方式】
現言月夢照圖式,特別是參照圖卜該料赞明一 實施例之系統之一方塊圖。該系統包含一處理器組5,其〒 經由一橋接器37連接至其他處理器組,形成一超級標量肩 理盎。處理态組5連接至一 13快取單元36、系統區域記憶潑 38及各週邊没備34,且連接至兩個服務處理器“A和。 服務處理态對處理器組5提供故障監督、啓動辅助及測試能 力,亚可具有其各自通往其他處理器組且同時連接所有處 理斋30A-D的互連路徑。 處理器組5内包括複數個處理器30A-D,其通常製作於一 早個早70内且包含複數個耦接至一 L2快取32與一記憶體控 制器4的處理器核心10A及10B。核心10A及1〇Β在通用處理 功能方面提供指令執行及資料值運算。橋接器37及系統内 的其他橋接器可於寬匯流排上達成與其他處理器組之通 92243.doc 5 -10- 1291131 信,而匯流排35提供處理器3〇a_d、橋接器37、週邊設備… L3陕取36及系統區域記憶體洲之連接。其他總體系統記 憶體可從外部耦接至橋接器37,以供所有處理器組對稱存 取。 處理為核心10八及10B係同步多線程(SMT)處理器,能夠 同時執行多個線程。處理器核心1GAaigb亦可支援一單線 私作業核式’以便在程式執行條件要求單線程作業時(例 如,當高優先級之程式執行必須於一已知時間之前完成, 或者一多線程處理器内的一線程已知處於空閒狀態時)高 效率執行_單線程作#料。㈣複數個料減個該等 複數個比較全部時間執行一單線程,多線程技術會引入某 些低效率因素,然總體而言,因若干線程經常處於等待其 他任務完成之空閒狀態,故其存在系統效率優勢。因此, 單線程與多線程模式之間的轉換可於適應上述一個或多個 條件方面提供一優點,且本發明之實施例可因應此等轉 換,以適合一可提供處理器時間記帳的處理器之方式來達 成處理器時間之記帳。 現請參看圖2,該圖所示係處理器核心1〇之細節,其具有 與處理器核心10A及10B等同之特徵。一匯流排介面單元23 將處理器核心10連接至其他SMT處理器及週邊設備,並將 供存儲資料值之用的LI D快取22、供存儲程式指令之用的 LI I快取20及快取單元21連接至外部記憶體、處理器及其 他裝置。LI I快取20配合指令提取單元IFU16完成指令流之 載入’而扣令k取單元IFU 16預提取指令且可包含臆測載 92243.doc 5 -11 - 1291131 入及分支預測能力。一指令定序器單元(ISU) 12控制著指令 定序,此等指令可發送至各内部單元,諸如用於執行一般 運算的定點單元(FXU) 14及用於執行浮點運算之浮點單元 (FPU)15之。總體完成表(GCT)13藉助標簽跟蹤由ISU12發出 之指令,直至由該指令定爲目標的該特定執行單元指示該 等指令已完成執行。 定點單元14及浮點單元15耦接至各資源,例如,通用暫 存器(GPR)18A、浮點暫存器(FPR)18B、條件暫存器(CR) 18C、重命名緩衝器18D、計數暫存器/鏈接暫存器(CTR/LR) 18E及異常暫存器(XER)18F。GPR 18A及FPR 18B存儲由載 入存儲單元(LSU)19自LI D快取22載入並存儲的資料值。 CR 18C存儲條件分支資訊,重命名緩衝器18D(其可包含若 干個與各内部執行單元相關聯的重命名單元)爲執行單元 提供運算元及結果存儲。XER 18F存儲分支及定點異常資 訊,而CTR/LR 18E存儲用於程式分支執行的分支鏈接資訊 及計數資訊。GPR 18A、FPR 18B、CR 18C、重命名缓衝器 1 8D、CTR/LR 1 8E及XER 1 8F均係資源,其中包含某些定點 (結構式)暫存器,該等暫存器可於一程式執行期間存儲資 訊,且必須作爲一固定集合提供給每一執行線程,上述資 源内的其他非架構式暫存器可自由用於重命名用途。控制 邏輯11耦接至處理器核心10内的各執行單元及資源,且用 於提供對執行單元及資源的普遍控制。一SCOM/XSCOM介 面單元25提供至外部服務處理器34A-B之連接。 現請參看圖3。圖3所示係處理器核心10内之功能塊詳 92243.doc 5 -12- 1291131
圖。ISU 12向控制邏輯11指示何時對藉處理器核心1〇執行 的特疋線程實施指令調度。依據調度摘測電路心之偵測, 端視在一給定之週期中,ISU Γ2是否曾對一與一給定計數 裔相關的線程(線程〇代表半週期計數器42a,線程1代表半 週期計數器42B)實施指令調度而定,控制邏輯丨丨選擇性地 更新半週期計數器42A及42B。半週期計數器42A&42B之輸 出由耦接至時基週期計數器47之鎖存器43 A及43B鎖存。在 時基週期計數器47之每一第8個處理器週期時,提供鎖存器 43A及43B之輸出皆提供'至遞增線程使用計數器々丨入及/或 41B,以便時基週期計數器47處於現用狀態的每以固處理器 週期對線程使用計數器41入及/或41B更新一次(此將預防因 時基非現用之特殊作業而向現用線程收取費用)。在計數遞 增後,時基週期計數器47重置鎖存器43A及43β。上述動作 可於線耘使用计數器41入及/或41β之輸出端提供計數,該等 計數爲用於處理器的時基計數器之分數,可直接用於計算 以一使用時間”值表示的相關線程資源使用。 根據本發明之其他實施例,控制邏輯11及ISU 12(或處理 抑核。1G内的其他執行單元)可使用其他特定週期狀態於 每一週期中觸發半週期計數器42A及/或42B之更新,然而, 在本發明之示例性說明中,則選擇指令調度,&乃因指令 調度可提供—種機制,用於量測每-使用處理器核心10的 處理活動之開始而非此等活動之進度或完成,^此等活動 之,度及完成相依於代碼效率。舉例而言,一低效率編碼 的知式可⑯會生成許多不正確的分支預測以及後續的預提 92243.doc 5 -13- 1291131 2與清除,從而佔用了重要的處理器資源卻幾乎不産生完 。故此’對於執行低效率代瑪的線程而言,採用指令完 成而非指令調度會産生-較低的處理器時間使用率測值。 因此’抹用指令調度作爲用於更新半週期計數器4ia及4ib 的特定觸發事件,可提供對處理器資源使用的一估算,且 其不會’’獎勵,,低效率代碼。 ^於在-給定處理H中缺乏線程之同步執行,先前之記 帳模型已能夠將基本上所有處理器核心10時間分配給一特 定線程,然而在-SMT處理器中,對每—線程的處理器時 間使用率之”記帳(billing)”必須在可於處理器核心⑺内同 步執行的兩或多個線程之間分配。當ISU12未對使用處理 器核心10的任何線程調度指令時,仍必須對所有線程使用 處理為核心10的情況實施記帳。該等線程不能以經調度指 令之形式開始新的工作,而仍”佔用,,處理器核心,或者 可旎於除指令調度外的執行階段中現用。舉例而言,一線 程可能會導致長預提取順序,而另一線程則可能會實施一 冗長的浮點運算。根據上述實例,該兩個線程正有效使用 處理器資源及執行單元,而僅有少數指令完成會與處理間 隔相關。另一較指令完成更優之特定指令狀態爲指令提 取,其可提供一類似於指令調度之指示,然其提供的使用 計數更偏向於IFU 16及L1I快取20之使用,而非包括17又11 14、FPU 15在内的執行單元及其相關資源之使用。 因此,本文所述之示例性實施例可提供一種基於對執行 單元及資源使用之估算對所有處理器核心10週期實施記帳 92243.doc 5 -14- 1291131 之機制即便在一給定週期(或在其他實施例中,由控制邏 輯1 1侦’則到的其他特定週期狀態或資源使用)中未發生調 度亦%如此。在其中未對任何線程調度指令的週期中, A週期之以週期值平均分割的形式記帳給每一於處理器核 ^ 10内執行的線程(包括尚未從處理器核心1〇卸載而依然 佔用處理器資源之空閒線程)。但是,在另-實施例或控制 避輯11之可選擇式行爲中,控制邏輯11可記憶最後調度狀 心並可利用該最後調度狀態來更新半週期計數器42A及/ 或42B另貝轭例係控制邏輯11使用設定於處理器核心j 〇 内的相關線程優先級來分割用於更新半週期計數器“A及/ 或42B的時鐘週期’以便正確分配其中未發生任何線程調度 之週期。 類似地,當纟—給定週期中對一個以上線程調度指令 時,該週期以週期值平均分㈣形式記帳給每-受到指令 調度的線程。再者,控制邏輯u可使用設定於處理器核心 ίο内的相關線程優先級來分割用於更新半週期計數琴42a 及/或42B的時鐘週期,以便正確分配其中未發生任何線程 調度的週期。 因此’在平均分割方法中(而非上文中作爲替代實施例列 出的優純或前-週期方案),在—支援執行―或兩個線程 的處理H核心'中’對於其中未發生調度的週期或1 — 線程皆發生指令調度的週期,每一線程各記帳二分之一 值。在其中僅一個線程發生指令調度的週期中,整個週期 皆記在發生指令調度的線程的帳上。控制邏輯u可侦測到 92243.doc 5 •15- 1291131 如下四種可能的狀態之一··無線程調度,線程〇調度,線程 1調度,或兩線程皆調度,且控制邏輯u根據上述週期記帳 分配來更新線程〇半週期計數器42A及線程1半週期計數哭 42B。 為 由於上文所述之最低分配值係用於半週期增量之分配 故半週期計數器42A及42B係以如下方式更新:增量(或減 里)1用於半週期;增量(或減量用於全週期分配。L政 ^ 他灵務 ^,出於晶片面積、功率及計時之原因(或者因出於相同之 原因而將時基週期計數器47之速率選擇爲處理器週期時間 的八分之一),線程使用計數器41A及41B皆各以可能的 肩度速率的人分之—進行更新,如此—來,未構成部分,,架 構式”線程使用計數器之四位元半週期計數器42a及42β每 次溢流皆提供一有效的8週期#用 玄+卷入m 泣 .
數器42A及42B建構爲加法器,斟於.、 器41A及41B。半週期計
92243.doc 5 -16- 1291131 tr度:令數之比例。該等複數個該等複數個舉例而令, #處理器核心1 〇正為勒/一 ° 執仃兩個線程且在一給定週期令, 弟一線程調度三個指令,對第二線程調度一個指令日士,^ 3/4的值刀配給用於該第_線程之線程使用計數器, 的值刀配給用於该第二線程之線程使用計數器。若在一仏 定週期中未進行調度,則該週期仍在該等線程之間平= 配。 j τ巧为 —現睛翏見圖4,該圖以流程圖方式闡釋—根據本發明之— 貝广例之方法。圖示之方法用於在一具有謝及 式的SMT處理哭中每☆七π 呆模 时中貝鈿圮帳且能夠在SMT模式下同步 多個線程。若處理器處於灯模式(判定50),則每一週期以工 週,月值之方式更新用於執行中線程之線程週期計數步 驟51)\偶若處理器處於游模式(判定50),且若僅一個線 転處於調度狀態(判定52),則以i個週期值更新相關線程週 期計數器(步驟53)。若所有線程皆處於調度狀態(判定5句, 則根據由線程數目戶斤瑞中沾 — 日所確疋的一週期之部分,或根據發送給 每線粒的肩度(或使用的貧源)數量,以均等方式更新用於 所有線程之線程週期計數器(步驟55)。若無線程處於調度狀 態,則線程週期計數器可以均等方式更新,或以與最後調 度抽樣成比例之方式更新’或以與該等線程之優先級成比 例之方式更新(步驟57)。最後,若無線程處於調度狀態,類 似地,線程週期計數器可以均等方式更新,或以與最後調 度抽«㈣之方式更新,或以與該等線程之優先級成比 例之方式更新(步驟58)。 92243.doc 5 -17- 1291131 儘管本文已參照本發明之較佳實施例詳細展示及說明瞭 本發明,然而,熟習此項技術者應瞭解,在不脫離本發明 之精神及範疇的前提下,可對本發明做前述及其他形式和 細節的改變。 【圖式簡單說明】 鹹信爲本發明特徵的新穎特點載明於後附之申請專利範 圍中。然而,結合附圖閱讀下文對一示例性實施例之詳細 說明,將獲得對本發明之本身及其較佳應用方式、其他目
標及優點之最佳瞭解。該等圖式中,相同的參考編號指示 相同的部件。 圖1係根據本發明之一實施例的一系統之方塊圖。 圖2係根據本發明之一實施例的一處理器核心之方塊圖。 圖3係圖2所示處理器核心10内之功能單元細節之方塊 圖0
圖4係闡釋根據本發明之一方法之流程圖。 【圖式代表符號說明】 4 記憶體控制器 5 處理器組 10 處理器核心 核心 10B 核心 11 控制邏輯 12 指令定序器單元(ISU) 13 總體完成表(GCT) 92243.doc 5 -18- 1291131 14 定點單元(FXU) 15 浮點單元(FPU) 16 指令提取單元(IFU) 18A 通用暫存器(GPR) 18B 浮點暫存器(FPR) 18C 條件暫存器(CR) 18D 重命名緩衝器 18E 計數暫存器/鏈接暫存器(CTR/LR) 18F 異常暫存器(XER) 19 載入存儲單元(LSU) 20 LI I快取 21 快取介面單元 22 LI D快取 23 匯流排介面單元 25 SCOM/XSCOM介面單元 30A 處理器 30B 處理器 30C 處理器 30D 處理器 32 L2快取 34 週邊設備 34A 服務處理器A 34B 服務處理器B 35 匯流排 92243.doc 5 -19- 1291131 36 L3快取 37 橋接器 38 系統區域記憶體 40 處理器週期時間使用率單元 41A 線程〇使用計數器 41B 線程1使用計數器 42A 半週期計數器 42B 半週期計數器 43 A 鎖存器 43B 鎖存器 44 調度偵測電路 45 線程優先級暫存器 47 時基週期計數器 92243.doc 5 -20-
Claims (1)
1291 ^^1()9113號專利中請案:」 中文申請專利範圍替換本㈨轉l!w务..曰 拾、申請專利範圍:2霞溫明雾 1.=㈣於在-同步多線程處理器中衫每—線程處理器 >源使用時間之記帳方法,其包括: 以一週期性間隔,確定在該處理器内執行的所有線程 的相關資源使用;及 王 因應該確定步驟並依照該相關資源使用來更新複數個 處理器資源使用計數’每—該等計數皆與複數個線程中 一特定線程相關聯。 2·如申請專利範圍第1項之方法,苴φ兮、田 乃泰具中该週期性間隔係每一 處理器時鐘週期,且苴中嗜譃 /、甲4確疋步驟可確定是否每一線 程皆處於一特定週期狀態。 3. 如申:專利範圍第2項之方法,其中該確定步驟亦可進一 步確定母-線程處於—特定週期狀 4. 如申請專利範圍第3項之方法,f$ ,“„ 方法其中該更新依照該相關線 程所使用的該經確定之資者 乏貝源數篁,以分段方式更新該等 複數個處理器資源使用計數中的每一計數。 5·如申請專利範圍第2項之方法,i# 一此 <方法,其中該特定週期狀態係一 才曰不一線程之一指令調度之狀態。 6·如申請專利範圍第2項之 ,^ , 去/、中因應由該確定步驟所 確疋的該等複數個線程中一 i0 ,, ^ ώ 個或夕個線程處於該特定週 期狀悲,该更新以均箅古 ,& d 寻方式更新該等複數個與該一或多 個線程相關的處理芎眘 地益貝源使用計數中的每一計數。 7.如申請專利範圍第2項 ^ ^ ^ ^ ^ ^ , 、 法,,、中因應該確定步驟所確 疋的讜專複數個線程中盔一 …、線私處於該特定週期狀態, 92243-951129.doc 6 1291131
更新以均等方式更新該等複數個處理器資源使用 的每一計數 8. 9. 10. 如申請專利範圍第2項之方法,μ,因應由該確定步驟 所確疋的4等複數個線程中無_線程處於該特^週期狀 態’並根據自該等週期性間隔的—先前間隔所確定㈣ 相關線程所使用的資源數量,該更新以分段方式更新該 等複數個處理器資源使用計數中的每一計數。 艮τ,因應該確定步驟所 如申請專利範圍第2項之方法 ,疋的β等複數個線程中無—線程處^該特定週期狀 態’並根據該相關線程之—優先#級,該更新以分段方 式更新該等處s器資源使用計數中的每一計數。 如申請專利範圍第旧之方法,丨中,該處理器具有―單 線程作業模式及—多線程作業模式,且該方法進-步包 含: 確疋°亥處理器是否處於該單線程模式,及 因應確^該處理器係處於該單線程模式,實施該更 新,以使每一處理器週期皆歸屬於該處理器内執行的一 早線程。 夕種可以决定每一線程處理器資源使用時間之記帳同步 多線程處理器,該處理器包括: 複數個供該等複數個線程使用的資源; Α耦接至該等複數個資源的指令控制單元,其中該指 令控制單元控制若干供該處理器以週期性間隔使用的資 92243-951129.doc 6
1291131 複數個處理器資源使用週期計數器,每—計數器皆與 忒等複數個線程中一特定線程相關聯;及 耦接至口亥才曰令控制單元及t亥等處理器資源使用週期 計數器的邏輯電路,1^ V. ^ 电路其中,该邏輯電路根據該相關線程 的相關資源使用之確定情況爽f 隹疋丨月况术更新5亥4處理器資源使用 週期計數器中的每一計數器。 12 13 14 15. 16. 17. 斤申月專利fe圍第1 i項之處理器,其中該週期性間隔係 每-處理器時鐘週期’且其中該邏輯電路確定是否每一 線程皆處於一特定週期狀態。 該相關線程所用的該經確定之資源數量,以分段形式更 新該等複數個處理器資源使用計數中的每_計數。 如申請專利範圍第12項之處理器,其中該特定週期狀態 係一指示一線程之一指令調度之狀態。 如申請專利範圍第12項之處理器,其中該邏輯電路進一 步確定每—線程處於-特定週期狀態所用資源數量。 如申π專利範圍第13項之處理器,其中該邏輯電路根據 如申請專利範圍第12項之處理器,其中因應確定一個或 多個該等複數個線程係處於該特㈣期狀態,該邏輯電 路以均等方式更新與該—或多個線程㈣的該等複數個 處理器資源使用計數中的每_計數。 如申請專利範圍第12項之處理器,其中因應確定該等複 數個線程無—線程係處㈣特定週期狀態,該邏輯電路 以均等方式更新該等複數個處理器f源使用計數中的每 一計數。 92243-95II29.doc6 1291131 a. 曰修^译鬌換# 利範圍第12項之處理器,其中因應確定該等複 相關1Γ:無一線程係處於該特定週期狀態,並根據該 2線t在該等週期性間隔之-先前間隔中所用的-經 個:之貝源數量,該邏輯電路以分段形式更新該等複數 個處理器資源使用計數中的每—計數。 19.=料利範圍第12項之處理器,其中因應該確定該等 3 ΓΓ中無—線程係處於該特㈣期狀態,並根據 w亥相關線程之一優先等級,哕愿 炎无寺、及”亥邏輯電路以分段形式更新 該4稷數個處理器資源使用計數中的每一叶數。 請專利範圍第Η項之處理器,其中該處理器具有一 早線㈣業模式及-多線程作_式,且其中該邏輯電 路確定該處判是否處於該單線程模式並因應4定該處 理益係處於該單線程模式,每—週期皆更新與該處理器 2執行的一單線程相關的該處理器資源使用週期計數 21. 一種可決定每一線程處理器資源使用時間 線程處理器,該處理器包括: 之記帳同步多 複數個供該等複數個線程使用的資源; 一麵接至該等複數個資源的指令控制單 令控制單元每一時鐘週期皆於處理器内控 度; 元,其中該指 制指令之一調 複數個處理器資源使用週期計數器,每 數個線程中一特定線程相關聯;及 皆與該等複 一搞接至該指令控制單元及該 專處理器資源使用週期 92243-951129.doc 6 1291131 I f 1⑽日替換貢 1 计數器的邏輯電路,其中,若該指令控制單元未對該等 線程中任何線程調度指令或對該等線程中所有線程調度 指令’則該邏輯電路以均等方式更新該等處理器資源使 用週期計數器中的每一計數器,若該指令控制單元僅對 -第-線程調度指令’則該邏輯電路更新該第一線程相 關的該處理器資源使用週期計數器。 22·::叫專利辄圍弟21項之處理器,其中該處理 路確定該處理器是否處於該單線=’、且其中該邏輯電 處理器係處於該單線程模气’並因應確定該 =執仃的-早線程相關的該處理器資源使用週期計數 92243-951129.doc 6
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/422,025 US7657893B2 (en) | 2003-04-23 | 2003-04-23 | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200504596A TW200504596A (en) | 2005-02-01 |
TWI291131B true TWI291131B (en) | 2007-12-11 |
Family
ID=33298778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW093109113A TWI291131B (en) | 2003-04-23 | 2004-04-01 | Accounting method for determining per-thread processor resource utilization time in a simultaneous multi-threaded (SMT) processor and a SMT processor using the method |
Country Status (14)
Country | Link |
---|---|
US (3) | US7657893B2 (zh) |
EP (1) | EP1616259B1 (zh) |
JP (1) | JP4536717B2 (zh) |
KR (1) | KR100754153B1 (zh) |
CN (1) | CN100458727C (zh) |
AT (1) | ATE364204T1 (zh) |
BR (1) | BRPI0409710B1 (zh) |
CA (1) | CA2518468C (zh) |
DE (1) | DE602004006858T2 (zh) |
ES (1) | ES2286630T3 (zh) |
IL (1) | IL171706A (zh) |
MX (1) | MXPA05011307A (zh) |
TW (1) | TWI291131B (zh) |
WO (1) | WO2004095282A1 (zh) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR9908911A (pt) | 1998-03-19 | 2001-10-02 | Bristol Myers Squibb Co | Sistema bifásico e processo de distribuição por liberação controlada de substâncias farmacêuticas de alta solubilidade |
US7657893B2 (en) * | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
US7197652B2 (en) * | 2003-12-22 | 2007-03-27 | International Business Machines Corporation | Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring |
US9323571B2 (en) * | 2004-02-06 | 2016-04-26 | Intel Corporation | Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor |
US7555753B2 (en) * | 2004-02-26 | 2009-06-30 | International Business Machines Corporation | Measuring processor use in a hardware multithreading processor environment |
US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US7603673B2 (en) * | 2004-10-28 | 2009-10-13 | Intel Corporation | Method and system for reducing context switch times |
CA2538503C (en) * | 2005-03-14 | 2014-05-13 | Attilla Danko | Process scheduler employing adaptive partitioning of process threads |
US8387052B2 (en) | 2005-03-14 | 2013-02-26 | Qnx Software Systems Limited | Adaptive partitioning for operating system |
US9361156B2 (en) | 2005-03-14 | 2016-06-07 | 2236008 Ontario Inc. | Adaptive partitioning for operating system |
US8245230B2 (en) * | 2005-03-14 | 2012-08-14 | Qnx Software Systems Limited | Adaptive partitioning scheduler for multiprocessing system |
US20060212853A1 (en) * | 2005-03-18 | 2006-09-21 | Marvell World Trade Ltd. | Real-time control apparatus having a multi-thread processor |
US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
JP4276201B2 (ja) * | 2005-03-31 | 2009-06-10 | 富士通株式会社 | Smtプロセッサ用課金処理装置,課金処理方法,および課金処理プログラム |
US8713286B2 (en) | 2005-04-26 | 2014-04-29 | Qualcomm Incorporated | Register files for a digital signal processor operating in an interleaved multi-threaded environment |
US7313673B2 (en) * | 2005-06-16 | 2007-12-25 | International Business Machines Corporation | Fine grained multi-thread dispatch block mechanism |
US7945625B2 (en) * | 2005-07-12 | 2011-05-17 | Microsoft Corporation | Automated moderation of discussion lists |
US7937706B2 (en) * | 2005-08-22 | 2011-05-03 | Runtime Design Automation, Inc. | Method and system for performing fair-share preemption |
DE102005054848A1 (de) * | 2005-11-15 | 2007-05-24 | Alexander Mekyska | Verfahren zur Verrechnung von Systemkosten |
US7610293B2 (en) * | 2006-10-11 | 2009-10-27 | Oracle International Corporation | Correlation of resource usage in a database tier to software instructions executing in other tiers of a multi tier application |
US7634561B2 (en) * | 2006-10-26 | 2009-12-15 | International Business Machines Corporation | Application usage metering management system |
US7340378B1 (en) * | 2006-11-30 | 2008-03-04 | International Business Machines Corporation | Weighted event counting system and method for processor performance measurements |
US8140885B2 (en) * | 2007-02-14 | 2012-03-20 | International Business Machines Corporation | Accounting for microprocessor resource consumption |
US8621468B2 (en) * | 2007-04-26 | 2013-12-31 | Microsoft Corporation | Multi core optimizations on a binary using static and run time analysis |
US7908493B2 (en) * | 2007-06-06 | 2011-03-15 | International Business Machines Corporation | Unified management of power, performance, and thermals in computer systems |
CN101681303B (zh) * | 2007-06-19 | 2011-12-14 | 富士通株式会社 | 高速缓存控制装置以及控制方法 |
EP2159685B1 (en) * | 2007-06-20 | 2013-08-21 | Fujitsu Limited | Processor |
CN101681260B (zh) * | 2007-06-20 | 2013-04-17 | 富士通株式会社 | 运算装置 |
JP5043560B2 (ja) * | 2007-08-24 | 2012-10-10 | パナソニック株式会社 | プログラム実行制御装置 |
US8122449B2 (en) * | 2007-09-07 | 2012-02-21 | International Business Machines Corporation | Determining whether to retain or terminate a thread based on a minimum number of threads in a thread pool and a maximum number of threads allowed waiting on the channel |
US7559061B1 (en) * | 2008-03-16 | 2009-07-07 | International Business Machines Corporation | Simultaneous multi-threading control monitor |
US9106592B1 (en) * | 2008-05-18 | 2015-08-11 | Western Digital Technologies, Inc. | Controller and method for controlling a buffered data transfer device |
JP5326374B2 (ja) * | 2008-06-19 | 2013-10-30 | 富士通セミコンダクター株式会社 | プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法 |
US8161493B2 (en) | 2008-07-15 | 2012-04-17 | International Business Machines Corporation | Weighted-region cycle accounting for multi-threaded processor cores |
US8285973B2 (en) | 2008-08-04 | 2012-10-09 | International Business Machines Corporation | Thread completion rate controlled scheduling |
US8055477B2 (en) * | 2008-11-20 | 2011-11-08 | International Business Machines Corporation | Identifying deterministic performance boost capability of a computer system |
KR101543326B1 (ko) * | 2009-01-05 | 2015-08-10 | 삼성전자주식회사 | 시스템 온 칩 및 그 구동 방법 |
US8230440B2 (en) * | 2009-03-06 | 2012-07-24 | International Business Machines Corporation | System and method to distribute accumulated processor utilization charges among multiple threads |
JP5463076B2 (ja) * | 2009-05-28 | 2014-04-09 | パナソニック株式会社 | マルチスレッドプロセッサ |
US8527796B2 (en) * | 2009-08-24 | 2013-09-03 | Intel Corporation | Providing adaptive frequency control for a processor using utilization information |
US9672132B2 (en) * | 2009-11-19 | 2017-06-06 | Qualcomm Incorporated | Methods and apparatus for measuring performance of a multi-thread processor |
US8453146B2 (en) * | 2009-12-23 | 2013-05-28 | Intel Corporation | Apportioning a counted value to a task executed on a multi-core processor |
FR2957433B1 (fr) * | 2010-03-11 | 2016-01-15 | Bull Sas | Procede de configuration d'un systeme informatique, programme d'ordinateur et systeme informatique correspondants |
US10169187B2 (en) | 2010-08-18 | 2019-01-01 | International Business Machines Corporation | Processor core having a saturating event counter for making performance measurements |
US20120079500A1 (en) * | 2010-09-29 | 2012-03-29 | International Business Machines Corporation | Processor usage accounting using work-rate measurements |
US8719561B2 (en) | 2010-11-29 | 2014-05-06 | International Business Machines Corporation | Automatic configuration sampling for managing configuration parameters of a computer system |
JP5542700B2 (ja) | 2011-01-05 | 2014-07-09 | 株式会社日立製作所 | Smtプロセッサにおけるプロセッサ使用率の算出方法 |
US8868886B2 (en) | 2011-04-04 | 2014-10-21 | International Business Machines Corporation | Task switch immunized performance monitoring |
US9342432B2 (en) | 2011-04-04 | 2016-05-17 | International Business Machines Corporation | Hardware performance-monitoring facility usage after context swaps |
GB2489708B (en) * | 2011-04-05 | 2020-04-15 | Advanced Risc Mach Ltd | Thread selection for multithreaded processing |
CN102955716B (zh) * | 2011-08-19 | 2016-05-18 | 苏州简约纳电子有限公司 | 一种多线程处理器和处理方法 |
US20130055033A1 (en) | 2011-08-22 | 2013-02-28 | International Business Machines Corporation | Hardware-assisted program trace collection with selectable call-signature capture |
US9027141B2 (en) * | 2012-04-12 | 2015-05-05 | Netflix, Inc. | Method and system for improving security and reliability in a networked application environment |
US9021493B2 (en) | 2012-09-14 | 2015-04-28 | International Business Machines Corporation | Management of resources within a computing environment |
US9207944B1 (en) | 2013-03-15 | 2015-12-08 | Google Inc. | Doubling thread resources in a processor |
JP6142709B2 (ja) * | 2013-07-23 | 2017-06-07 | 富士通株式会社 | 計測方法、計測プログラム、携帯情報端末、及びその制御方法 |
US9535746B2 (en) | 2013-12-19 | 2017-01-03 | International Business Machines Corporation | Honoring hardware entitlement of a hardware thread |
US9760465B2 (en) | 2014-01-02 | 2017-09-12 | International Business Machines Corporation | Assessment of processor performance metrics by monitoring probes constructed using instruction sequences |
US9594660B2 (en) * | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
US9804846B2 (en) * | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
US10102004B2 (en) * | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
CN106250237A (zh) * | 2016-07-27 | 2016-12-21 | 李媛媛 | 电子芯片中的功率分配方法及系统 |
CN106250238A (zh) * | 2016-07-27 | 2016-12-21 | 李媛媛 | 负载均衡在多核芯片中的应用方法及系统 |
CN108628639B (zh) | 2017-03-21 | 2021-02-12 | 华为技术有限公司 | 处理器和指令调度方法 |
CN109308220B (zh) * | 2017-07-26 | 2021-12-14 | 华为技术有限公司 | 共享资源分配方法及装置 |
US10558497B2 (en) | 2017-08-28 | 2020-02-11 | International Business Machines Corporation | Prevention and resolution of a critical shortage of a shared resource in a multi-image operating system environment |
US10558499B2 (en) * | 2017-10-26 | 2020-02-11 | Advanced Micro Devices, Inc. | Wave creation control with dynamic resource allocation |
CN108196882A (zh) * | 2017-12-29 | 2018-06-22 | 普强信息技术(北京)有限公司 | 一种针对神经网络计算的加速方法及装置 |
CN108986253B (zh) * | 2018-06-29 | 2022-08-30 | 百度在线网络技术(北京)有限公司 | 用于多线程并行处理的存储数据方法和装置 |
US10977075B2 (en) * | 2019-04-10 | 2021-04-13 | Mentor Graphics Corporation | Performance profiling for a multithreaded processor |
US11436043B2 (en) | 2019-11-13 | 2022-09-06 | International Business Machines Corporation | Operating system code patching during live migration |
CN112316419B (zh) * | 2020-11-03 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 应用程序的运行方法、装置、设备及可读存储介质 |
CN112579299B (zh) * | 2020-12-28 | 2022-11-18 | 北京紫光展锐通信技术有限公司 | 资源调度方法、电子设备及存储介质 |
FR3131644A1 (fr) * | 2021-12-30 | 2023-07-07 | Thales | Système et procédé de surveillance du fonctionnement d'un calculateur |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56153457A (en) * | 1980-04-28 | 1981-11-27 | Mitsubishi Electric Corp | Measuring device for computer load |
JP3169597B2 (ja) * | 1990-05-16 | 2001-05-28 | エヌイーシーソフト株式会社 | マルチタスク実行時間アカウント方法とその機構 |
US5210872A (en) * | 1991-06-28 | 1993-05-11 | Texas Instruments Inc. | Critical task scheduling for real-time systems |
US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
JP2682770B2 (ja) * | 1992-05-15 | 1997-11-26 | 富士通株式会社 | 仮想計算機システムのcpu制御方式 |
US5809268A (en) * | 1995-06-29 | 1998-09-15 | International Business Machines Corporation | Method and system for tracking resource allocation within a processor |
US5838976A (en) * | 1995-11-28 | 1998-11-17 | Hewlett-Packard Co. | System and method for profiling code on symmetric multiprocessor architectures |
US5812844A (en) * | 1995-12-07 | 1998-09-22 | Microsoft Corporation | Method and system for scheduling the execution of threads using optional time-specific scheduling constraints |
US5822602A (en) * | 1996-07-23 | 1998-10-13 | S3 Incorporated | Pipelined processor for executing repeated string instructions by halting dispatch after comparision to pipeline capacity |
US5761091A (en) * | 1996-12-10 | 1998-06-02 | Bgs Systems, Inc. | Method and system for reducing the errors in the measurements of resource usage in computer system processes and analyzing process data with subsystem data |
US5835705A (en) * | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
US5784616A (en) * | 1997-05-02 | 1998-07-21 | Microsoft Corporation | Apparatus and methods for optimally using available computer resources for task execution during idle-time for future task instances exhibiting incremental value with computation |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6487578B2 (en) * | 1997-09-29 | 2002-11-26 | Intel Corporation | Dynamic feedback costing to enable adaptive control of resource utilization |
US6175814B1 (en) * | 1997-11-26 | 2001-01-16 | Compaq Computer Corporation | Apparatus for determining the instantaneous average number of instructions processed |
US6549930B1 (en) * | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6205519B1 (en) * | 1998-05-27 | 2001-03-20 | Hewlett Packard Company | Cache management for a multi-threaded processor |
US7216348B1 (en) * | 1999-01-05 | 2007-05-08 | Net2Phone, Inc. | Method and apparatus for dynamically balancing call flow workloads in a telecommunications system |
NZ513487A (en) * | 1999-01-29 | 2003-02-28 | Univ Illinois | The use of a P53 inhibitor for the treatment of cancer, hyperthermia, hypoxia, a burn, trauma to the central nervous system, a seizure, acute inflammation, tissue ageing, preservation of organs for transplant and preparation of a host for bone marrow transplant |
US6535905B1 (en) * | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US7028298B1 (en) * | 1999-09-10 | 2006-04-11 | Sun Microsystems, Inc. | Apparatus and methods for managing resource usage |
US7051329B1 (en) * | 1999-12-28 | 2006-05-23 | Intel Corporation | Method and apparatus for managing resources in a multithreaded processor |
GB2374701B (en) * | 2000-01-27 | 2004-12-15 | Morphics Tech Inc | Improved apparatus and method for multi-threaded signal procesing |
US20020194251A1 (en) * | 2000-03-03 | 2002-12-19 | Richter Roger K. | Systems and methods for resource usage accounting in information management environments |
US6957432B2 (en) * | 2000-03-21 | 2005-10-18 | Microsoft Corporation | Real-time scheduler |
US7086053B2 (en) * | 2000-06-12 | 2006-08-01 | Sun Microsystems, Inc. | Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension |
JP3884237B2 (ja) * | 2001-02-16 | 2007-02-21 | 株式会社リコー | マルチスレッドのプロファイル方法、プロファイル装置及びコンピュータ・プログラム |
US7114163B2 (en) * | 2001-03-07 | 2006-09-26 | Hardin David S | Software component model for time sensitive embedded applications |
US7036123B2 (en) * | 2001-04-25 | 2006-04-25 | Sun Microsystems, Inc. | System using fair-share scheduling technique to schedule processes within each processor set based on the number of shares assigned to each process group |
US7454600B2 (en) * | 2001-06-22 | 2008-11-18 | Intel Corporation | Method and apparatus for assigning thread priority in a processor or the like |
US6965982B2 (en) * | 2001-06-29 | 2005-11-15 | International Business Machines Corporation | Multithreaded processor efficiency by pre-fetching instructions for a scheduled thread |
US6954846B2 (en) * | 2001-08-07 | 2005-10-11 | Sun Microsystems, Inc. | Microprocessor and method for giving each thread exclusive access to one register file in a multi-threading mode and for giving an active thread access to multiple register files in a single thread mode |
CA2474477C (en) * | 2002-01-30 | 2011-04-12 | Real Enterprise Solutions Development B.V. | Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor |
US7024543B2 (en) * | 2002-09-13 | 2006-04-04 | Arm Limited | Synchronising pipelines in a data processing apparatus |
US7657893B2 (en) * | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
-
2003
- 2003-04-23 US US10/422,025 patent/US7657893B2/en not_active Expired - Fee Related
-
2004
- 2004-04-01 TW TW093109113A patent/TWI291131B/zh not_active IP Right Cessation
- 2004-04-14 AT AT04727310T patent/ATE364204T1/de not_active IP Right Cessation
- 2004-04-14 MX MXPA05011307A patent/MXPA05011307A/es active IP Right Grant
- 2004-04-14 BR BRPI0409710A patent/BRPI0409710B1/pt active IP Right Grant
- 2004-04-14 DE DE602004006858T patent/DE602004006858T2/de not_active Expired - Lifetime
- 2004-04-14 JP JP2006506116A patent/JP4536717B2/ja not_active Expired - Fee Related
- 2004-04-14 CN CNB2004800016428A patent/CN100458727C/zh not_active Expired - Lifetime
- 2004-04-14 ES ES04727310T patent/ES2286630T3/es not_active Expired - Lifetime
- 2004-04-14 EP EP04727310A patent/EP1616259B1/en not_active Expired - Lifetime
- 2004-04-14 CA CA002518468A patent/CA2518468C/en not_active Expired - Fee Related
- 2004-04-14 WO PCT/GB2004/001586 patent/WO2004095282A1/en active IP Right Grant
- 2004-04-14 KR KR1020057017727A patent/KR100754153B1/ko not_active IP Right Cessation
-
2005
- 2005-11-01 IL IL171706A patent/IL171706A/en not_active IP Right Cessation
-
2009
- 2009-10-15 US US12/579,540 patent/US8209698B2/en not_active Expired - Fee Related
-
2012
- 2012-04-30 US US13/459,398 patent/US9003417B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8209698B2 (en) | 2012-06-26 |
WO2004095282A1 (en) | 2004-11-04 |
CN1985242A (zh) | 2007-06-20 |
BRPI0409710A (pt) | 2006-05-02 |
EP1616259B1 (en) | 2007-06-06 |
JP2006524380A (ja) | 2006-10-26 |
KR100754153B1 (ko) | 2007-09-03 |
US7657893B2 (en) | 2010-02-02 |
TW200504596A (en) | 2005-02-01 |
US20120216210A1 (en) | 2012-08-23 |
IL171706A (en) | 2011-03-31 |
CA2518468C (en) | 2008-09-30 |
US20100037233A1 (en) | 2010-02-11 |
US9003417B2 (en) | 2015-04-07 |
EP1616259A1 (en) | 2006-01-18 |
US20040216113A1 (en) | 2004-10-28 |
ATE364204T1 (de) | 2007-06-15 |
CN100458727C (zh) | 2009-02-04 |
MXPA05011307A (es) | 2006-01-30 |
BRPI0409710B1 (pt) | 2020-01-14 |
CA2518468A1 (en) | 2004-11-04 |
DE602004006858D1 (de) | 2007-07-19 |
KR20060002842A (ko) | 2006-01-09 |
DE602004006858T2 (de) | 2008-02-14 |
JP4536717B2 (ja) | 2010-09-01 |
ES2286630T3 (es) | 2007-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI291131B (en) | Accounting method for determining per-thread processor resource utilization time in a simultaneous multi-threaded (SMT) processor and a SMT processor using the method | |
EP1869536B1 (en) | Multi-threaded processor comprising customisable bifurcated thread scheduler for automatic low power mode invocation | |
KR101561496B1 (ko) | 이종 멀티프로세서 컴퓨팅 플랫폼 내에서의 애플리케이션 스케줄링 | |
Saez et al. | A comprehensive scheduler for asymmetric multicore systems | |
Eyerman et al. | Probabilistic job symbiosis modeling for SMT processor scheduling | |
CN101238425B (zh) | 使用低功率虚拟线程的软件指定的电源性能管理装置和方法 | |
JP5411587B2 (ja) | マルチスレッド実行装置、マルチスレッド実行方法 | |
JP4276201B2 (ja) | Smtプロセッサ用課金処理装置,課金処理方法,および課金処理プログラム | |
US6530042B1 (en) | Method and apparatus for monitoring the performance of internal queues in a microprocessor | |
Kim et al. | A method to construct task scheduling algorithms for heterogeneous multi-core systems | |
Feliu et al. | Symbiotic job scheduling on the IBM POWER8 | |
Yu et al. | Collaborative heterogeneity-aware os scheduler for asymmetric multicore processors | |
JP2003271401A (ja) | 負荷監視機能を有するマイクロプロセッサ | |
US7603673B2 (en) | Method and system for reducing context switch times | |
Mische et al. | Using SMT to hide context switch times of large real-time tasksets | |
TWI435213B (zh) | 於虛擬資料處理環境中多個邏輯分割間平衡存取各實體系統資源及動態調諧一判定調度排程之排程器的方法、系統及電腦可讀媒體 | |
Li et al. | A dynamic and proactive GPU preemption mechanism using checkpointing | |
Boran et al. | Classification based scheduling in heterogeneous ISA architectures | |
JPH09265459A (ja) | データ処理装置の制御方法 | |
TW200422942A (en) | Performance level setting of a data processing system | |
Sun et al. | CRQ-based fair scheduling on composable multicore architectures | |
Gil et al. | The Enhancement of a User-level Thread Package Scheduling on Multiprocessors | |
Snavely | Symbiotic jobscheduling on hardware multithreaded architectures | |
JP4414407B2 (ja) | Smtプロセッサ用課金処理装置,課金処理方法,および課金処理プログラム | |
JPH04295934A (ja) | プロセスのi/o履歴データによるcpuディスパッチ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |