JP2013526754A - マルチスレッドアプリケーションのパフォーマンスを解析する方法及びシステム - Google Patents
マルチスレッドアプリケーションのパフォーマンスを解析する方法及びシステム Download PDFInfo
- Publication number
- JP2013526754A JP2013526754A JP2013512102A JP2013512102A JP2013526754A JP 2013526754 A JP2013526754 A JP 2013526754A JP 2013512102 A JP2013512102 A JP 2013512102A JP 2013512102 A JP2013512102 A JP 2013512102A JP 2013526754 A JP2013526754 A JP 2013526754A
- Authority
- JP
- Japan
- Prior art keywords
- parallel
- state
- thread
- global
- task
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- 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/3404—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 parallel or distributed programming
-
- 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/86—Event-based monitoring
-
- 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
Description
Claims (23)
- マルチスレッド処理フレームワーク上で実行されるマルチスレッドアプリケーションのパフォーマンスを解析する方法であって、
前記マルチスレッドアプリケーションのパラレル領域のパラレルオーバヘッドが閾値を超えているか判断するステップと、
前記マルチスレッドアプリケーションのパラレル領域のパラレルオーバヘッドが閾値を超えているという判断に応答して、前記パラレル領域のパラレルオーバヘッドの1以上の原因を決定するステップと、
を有する方法。 - 前記パラレルオーバヘッドは、アクティブパラレルオーバヘッドと非アクティブパラレルオーバヘッドとを有し、
前記マルチスレッドアプリケーションのパラレル領域のパラレルオーバヘッドが閾値を超えているか判断するステップは、前記マルチスレッドアプリケーションのパラレル領域の前記アクティブパラレルオーバヘッド及び/又は前記非アクティブパラレルオーバヘッドが前記閾値を超えているか判断することを含む、請求項1記載の方法。 - 前記パラレル領域のパラレルオーバヘッドの1以上の原因を決定するステップは、設定されたモニタリング期間に基づき前記パラレル領域を実行することを含む、請求項2記載の方法。
- 前記パラレル領域の実行は、1以上のワーカスレッドを利用し、
前記パラレル領域のパラレルオーバヘッドの1以上の原因を決定するステップはさらに、
各スレッドが前記パラレル領域の1以上のタスクの1つを実行することに応答して、前記1以上のワーカスレッドのそれぞれをユーザコード実行状態に割り当てるステップと、
各スレッドがローカルキューにおいてタスクを検索することに応答して、前記1以上のワーカスレッドのそれぞれをローカルキュールックアップ状態に割り当てるステップであって、前記タスクは前記パラレル領域の1以上のタスクの一部である、前記ローカルキュールックアップ状態に割り当てるステップと、
各スレッドが他のキュー又はグローバルキューにおいて他のタスクを検索することに応答して、前記1以上のワーカスレッドのそれぞれをグローバルタスク検索状態に割り当てるステップであって、前記他のタスクは前記パラレル領域の1以上のタスクの一部である、前記グローバルタスク検索状態に割り当てるステップと、
各スレッドがアイドル状態にあることに応答して、前記1以上のワーカスレッドのそれぞれを待機状態に割り当てるステップと、
を有する、請求項3記載の方法。 - 前記パラレル領域のパラレルオーバヘッドの1以上の原因を決定するステップはさらに、
前記1以上のワーカスレッドのそれぞれについて、前記ローカルキュー、前記他のキュー及び前記グローバルキューにおける前記タスクの実行の頻度が他の閾値を超えているか判断するステップと、
前記タスクの実行の頻度が前記他の閾値を超えたという判断に応答して、前記パラレル領域のパラレルオーバヘッドの1以上の原因の1つとして、各ワーカスレッドが前記ローカルキューから前記タスクを取得するのにそれのライフタイムの多すぎる時間を費やしていることを報告するステップと、
を有する、請求項4記載の方法。 - 前記パラレル領域のパラレルオーバヘッドの1以上の原因を決定するステップはさらに、
前記ローカルキューにおける前記タスクの実行と前記他のキュー及び前記グローバルキューにおける前記タスクの実行とのレシオが他の閾値を超えているか判断するステップと、
前記ローカルキューにおける前記タスクの実行と前記他のキュー及び前記グローバルキューにおける前記タスクの実行とのレシオが他の閾値を超えているという判断に応答して、前記パラレル領域のパラレルオーバヘッドの1以上の原因の1つとして、各ワーカスレッドが前記他のローカルキューにおける前記他のタスクを検索するか、又は前記グローバルキューにおける前記他のタスクを検索するのに多すぎる時間を費やしていることを報告するステップと、
を有する、請求項4記載の方法。 - 前記パラレル領域のパラレルオーバヘッドの1以上の原因を決定するステップはさらに、
前記1以上のワーカスレッドのそれぞれについて、前記グローバルタスク検索状態から前記グローバルタスク検索状態及び前記待機状態への状態遷移の頻度が他の閾値を超えているか判断するステップと、
前記1以上のワーカスレッドのそれぞれについて、前記グローバルタスク検索状態から前記グローバルタスク検索状態及び前記待機状態への状態遷移の頻度が他の閾値を超えているという判断と、前記マルチスレッドアプリケーションのパラレル領域の前記非アクティブパラレルオーバヘッドが前記閾値を超えているという判断とに応答して、前記パラレル領域のパラレルオーバヘッドの1以上の原因の1つとして、前記1以上のワーカスレッドの少なくとも1つが自らのタスクを終了したが、前記1以上のワーカスレッドの残りを支援することができないことを報告するステップと、
を有する、請求項4記載の方法。 - 前記マルチスレッド処理フレームワークは、Open Multi−Processing(OpenMP)、Intel(登録商標) Threading Building Blocks(TBB)、Intel(登録商標) Cilk++、Intel(登録商標) C++ for Throughput Computing(Ct)、及びMicrosoft(登録商標) Parallel Patterns Library(PPL)の1つに少なくとも部分的に準拠する、請求項1記載の方法。
- パラレルスレッド処理ライブラリと、
前記パラレルスレッド処理ライブラリを用いてマルチスレッドアプリケーションを実行するオペレーティングシステムと、
前記マルチスレッドアプリケーションはサブ最適パラレルアルゴリズムを有すると判断し、スレッドライフサイクル状態マシーンを用いて前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題を決定するロジックと、
を有する装置。 - 前記マルチスレッドアプリケーションが前記サブ最適パラレルアルゴリズムを有することを判断するロジックは、前記サブ最適アルゴリズムのパラレルオーバヘッドが前記マルチスレッドアプリケーションのパフォーマンスゲインと同等又はそれ以上であると判断する、請求項9記載の装置。
- 前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題は、サブ最適な粒度、不十分なパラレルスラックネス及び過剰なタスクのスチールの1以上を有する、請求項9記載の装置。
- 前記スレッドライフサイクル状態マシーンは、
第1の複数のスレッドを有する実行状態であって、前記第1の複数のスレッドのそれぞれは、前記サブ最適パラレルアルゴリズムの複数のジョブの1つを実行する状態にある、前記実行状態と、
第2の複数のスレッドを有するローカルキュールックアップ状態であって、前記第2の複数のスレッドのそれぞれは、ローカルキューにおいて前記サブ最適パラレルアルゴリズムの複数のジョブの一部であるジョブを検索する状態にある、前記ローカルキュールックアップ状態と、
第3の複数のスレッドを有するグローバルジョブ検索状態であって、前記第3の複数のスレッドのそれぞれは、他のキュー又はグローバルキューにおいて前記サブ最適パラレルアルゴリズムの複数のジョブの一部である他のジョブを検索する状態にある、前記グローバルジョブ検索状態と、
第4の複数のスレッドを有する待機状態であって、前記第4の複数のスレッドのそれぞれは、アイドル状態にある、前記待機状態と、
を有する、請求項9記載の装置。 - 前記スレッドライフサイクル状態マシーンを用いて前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題を決定するロジックは、
決定された期間に前記サブ最適パラレルアルゴリズムを実行し、
前記ローカルキュールックアップ状態への前記実行状態の遷移の回数と、前記グローバルジョブ検索状態に前記ローカルキュールックアップ状態が遷移し、前記グローバルジョブ検索状態を繰り返した回数との和を決定し、
前記和と前記決定された期間の長さとのレシオが第1閾値を超えていると判断し、
前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題の第1パフォーマンス問題として、前記サブ最適パラレルアルゴリズムの粒度が詳細すぎると特定する、請求項9記載の装置。 - 前記スレッドライフサイクル状態マシーンを用いて前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題を決定するロジックはさらに、
前記グローバルジョブ検索状態に前記ローカルキュールックアップ状態が遷移し、前記グローバルジョブ検索状態を繰り返す回数と、前記ローカルキュールックアップ状態への前記実行状態の遷移の回数とのレシオが第2閾値を超えていると判断し、
前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題の第2パフォーマンス問題として、前記サブ最適パラレルアルゴリズムのリニアスポーニングを特定する、請求項13記載の装置。 - 前記スレッドライフサイクル状態マシーンを用いて前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題を決定するロジックはさらに、
前記グローバルジョブ検索状態及び前記待機状態への前記グローバルジョブ検索状態の遷移の回数が第3閾値を超えているか判断し、
前記グローバルジョブ検索状態及び前記待機状態への前記グローバルジョブ検索状態の遷移の回数が第3閾値を超えているという判断に応答して、前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題の第3パフォーマンス問題として、前記サブ最適パラレルアルゴリズムの過剰な待機を特定し、
前記グローバルジョブ検索状態及び前記待機状態への前記グローバルジョブ検索状態の遷移の回数が第3閾値を超えているという判断と、前記サブ最適パラレルアルゴリズムの非アクティブパラレルオーバヘッドが第4閾値を超えているという判断とに応答して、前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題の第4パフォーマンス問題として、前記サブ最適パラレルアルゴリズムの不十分なジョブ生成を特定する、請求項14記載の装置。 - 前記パラレルスレッド処理ライブラリは、Open Multi−Processing(OpenMP)、Intel(登録商標) Threading Building Blocks(TBB)、Intel(登録商標) Cilk++、Intel(登録商標) C++ for Throughput Computing(Ct)、及びMicrosoft(登録商標) Parallel Patterns Library(PPL)の1つに少なくとも部分的に準拠する、請求項9記載の方法。
- 前記ロジックは、前記パラレルスレッド処理ライブラリの一部である、請求項9記載の装置。
- 実行されるとプロセッサに、
各スレッドの現在状態に基づき、複数のスレッドのそれぞれを複数の状態の1つに割り当てるステップと、
各スレッドの前記複数の状態間の遷移の回数に少なくとも部分的に基づき、マルチスレッドアプリケーションのパラレル領域による1以上の問題を決定するステップと、
の方法を実行させる命令を格納したマシーン可読記憶媒体。 - 前記複数の状態は、
各スレッドが前記マルチスレッドアプリケーションのパラレル領域の一部を実行する前記現在状態にあることに応答して、各スレッドが割り当てられる実行状態と、
各スレッドがローカルキューにおいて前記マルチスレッドアプリケーションのパラレル領域の複数のジョブの一部であるジョブを検索する前記現在状態にあることに応答して、各スレッドが割り当てられるローカルキュールックアップ状態と、
各スレッドが他のキュー又はグローバルキューにおいて前記マルチスレッドアプリケーションの前記複数のジョブの一部である他のジョブを検索する前記現在状態にあることに応答して、各スレッドが割り当てられるグローバルジョブ検索状態と、
各スレッドが非アクティブの前記現在状態にあることに応答して、各スレッドが割り当てられる待機状態と、
を有する、請求項18記載のマシーン可読記憶媒体。 - 前記各スレッドの前記複数の状態間の遷移の回数に少なくとも部分的に基づき、マルチスレッドアプリケーションのパラレル領域による1以上の問題を決定するステップは、
決定された期間に前記マルチスレッドアプリケーションのパラレル領域を実行するステップと、
前記ローカルキュールックアップ状態への前記実行状態の遷移の回数と、前記グローバルジョブ検索状態へ前記ローカルキュールックアップ状態が遷移し、前記グローバルジョブ検索状態を繰り返す回数との和を決定するステップと、
前記和と前記決定された期間の長さとのレシオが第1閾値を超えていると判断するステップと、
前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題の第1パフォーマンス問題として、前記サブ最適パラレルアルゴリズムの粒度が詳細すぎると特定するステップと、
を有する、請求項18記載のマシーン可読記憶媒体。 - 前記各スレッドの前記複数の状態間の遷移の回数に少なくとも部分的に基づき、マルチスレッドアプリケーションのパラレル領域による1以上の問題を決定するステップは、
前記グローバルジョブ検索状態に前記ローカルキュールックアップ状態が遷移し、前記グローバルジョブ検索状態を繰り返す回数と、前記ローカルキュールックアップ状態への前記実行状態の遷移の回数とのレシオが第2閾値を超えていると判断するステップと、
前記サブ最適パラレルアルゴリズムの1以上のパフォーマンス問題の第2パフォーマンス問題として、前記サブ最適パラレルアルゴリズムのリニアスポーニングを特定するステップと、
を有する、請求項20記載のマシーン可読記憶媒体。 - 前記各スレッドの前記複数の状態間の遷移の回数に少なくとも部分的に基づき、マルチスレッドアプリケーションのパラレル領域による1以上の問題を決定するステップは、
前記グローバルジョブ検索状態及び前記待機状態への前記グローバルジョブ検索状態の遷移の回数が第3閾値を超えているか判断するステップと、
前記グローバルジョブ検索状態及び前記待機状態への前記グローバルジョブ検索状態の遷移の回数が第3閾値を超えているという判断に応答して、前記マルチスレッドアプリケーションのパラレル領域の1以上のパフォーマンス問題の第3パフォーマンス問題として、前記マルチスレッドアプリケーションのパラレル領域の過剰な待機を特定するステップと、
を有する、請求項21記載のマシーン可読記憶媒体。 - 前記各スレッドの前記複数の状態間の遷移の回数に少なくとも部分的に基づき、マルチスレッドアプリケーションのパラレル領域による1以上の問題を決定するステップは、
前記1以上のワーカスレッドのそれぞれについて前記グローバルタスク検索状態及び前記待機状態への前記グローバルタスク検索状態の遷移の回数が他の閾値を超えているか判断するステップと、
前記グローバルタスク検索状態及び前記待機状態への前記グローバルタスク検索状態の遷移の回数が前記第3閾値を超えているという判断に応答して、前記マルチスレッドアプリケーションのパラレル領域の1以上のパフォーマンス問題の第3パフォーマンス問題として、前記マルチスレッドアプリケーションのパラレル領域の過剰な待機を特定するステップと、
前記グローバルタスク検索状態及び前記待機状態への前記グローバルタスク検索状態の遷移の回数が前記第3閾値を超えていないという判断と、前記マルチスレッドアプリケーションのパラレル領域の非アクティブパラレルオーバヘッドが第5閾値を超えているという判断とに応答して、前記マルチスレッドアプリケーションのパラレル領域の1以上のパフォーマンス問題の第4パフォーマンス問題として、前記マルチスレッドアプリケーションのパラレル領域の不十分なジョブ生成を特定するステップと、
を有する、請求項22記載のマシーン可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/787,240 | 2010-05-25 | ||
US12/787,240 US9183109B2 (en) | 2010-05-25 | 2010-05-25 | Method and system for analyzing the performance of multi-threaded applications |
PCT/US2011/037403 WO2011149784A2 (en) | 2010-05-25 | 2011-05-20 | Method and system for analyzing the performance of multi-threaded applications |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013526754A true JP2013526754A (ja) | 2013-06-24 |
JP2013526754A5 JP2013526754A5 (ja) | 2013-08-08 |
JP5745038B2 JP5745038B2 (ja) | 2015-07-08 |
Family
ID=45004683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013512102A Expired - Fee Related JP5745038B2 (ja) | 2010-05-25 | 2011-05-20 | マルチスレッドアプリケーションのパフォーマンスを解析する方法及びシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US9183109B2 (ja) |
EP (1) | EP2577457A4 (ja) |
JP (1) | JP5745038B2 (ja) |
KR (1) | KR101475746B1 (ja) |
CN (1) | CN102918501B (ja) |
AU (1) | AU2011258570B2 (ja) |
WO (1) | WO2011149784A2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183109B2 (en) | 2010-05-25 | 2015-11-10 | Intel Corporation | Method and system for analyzing the performance of multi-threaded applications |
US9135586B2 (en) * | 2010-10-28 | 2015-09-15 | Sap Se | System for dynamic parallel looping of repetitive tasks during execution of process-flows in process runtime |
KR101867960B1 (ko) * | 2012-01-05 | 2018-06-18 | 삼성전자주식회사 | 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법 |
WO2014014944A2 (en) * | 2012-07-16 | 2014-01-23 | Sony Corporation | Managing multi-threaded operations in a multimedia authoring environment |
US9317415B2 (en) | 2013-06-03 | 2016-04-19 | Google Inc. | Application analytics reporting |
CN103457997A (zh) * | 2013-07-01 | 2013-12-18 | 曙光信息产业(北京)有限公司 | 数据传输方法以及数据传输系统 |
US9652027B2 (en) * | 2015-04-01 | 2017-05-16 | Microsoft Technology Licensing, Llc | Thread scheduling based on performance state and idle state of processing units |
CN106649067B (zh) * | 2016-12-28 | 2019-07-02 | 深圳先进技术研究院 | 一种性能和能耗预测方法及装置 |
US20180232304A1 (en) * | 2017-02-16 | 2018-08-16 | Futurewei Technologies, Inc. | System and method to reduce overhead of reference counting |
US10719350B2 (en) * | 2017-10-10 | 2020-07-21 | Sap Se | Worker thread manager |
JP7091203B2 (ja) * | 2018-09-19 | 2022-06-27 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN111176806B (zh) * | 2019-12-05 | 2024-02-23 | 中国银联股份有限公司 | 一种业务处理方法、装置及计算机可读存储介质 |
US11698816B2 (en) * | 2020-08-31 | 2023-07-11 | Hewlett Packard Enterprise Development Lp | Lock-free work-stealing thread scheduler |
CN113286174B (zh) * | 2021-05-21 | 2022-11-08 | 浙江商汤科技开发有限公司 | 视频抽帧方法、装置、电子设备、计算机可读存储介质 |
CN113360266B (zh) * | 2021-06-23 | 2022-09-13 | 北京百度网讯科技有限公司 | 任务处理方法和装置 |
CN115904644A (zh) * | 2021-09-30 | 2023-04-04 | 伊姆西Ip控股有限责任公司 | 任务调度方法、电子设备和计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0540742A (ja) * | 1991-08-07 | 1993-02-19 | Hitachi Ltd | 並列処理方法 |
JPH0588948A (ja) * | 1991-04-15 | 1993-04-09 | Internatl Business Mach Corp <Ibm> | サンプリング性能分析方法及び装置 |
JP2009080583A (ja) * | 2007-09-25 | 2009-04-16 | Toshiba Corp | 情報処理装置、並列処理最適化方法およびプログラム |
JP2010009395A (ja) * | 2008-06-27 | 2010-01-14 | Toshiba Corp | 情報処理装置、粒度調整方法およびプログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5177688A (en) * | 1989-12-01 | 1993-01-05 | Texas Instruments Incorporated | Assembly line balancer |
US5692174A (en) * | 1995-10-05 | 1997-11-25 | International Business Machines Corporation | Query parallelism in a shared data DBMS system |
US5777882A (en) * | 1996-09-26 | 1998-07-07 | Xerox Corporation | Control system for mailboxing arrangement |
US20020059544A1 (en) | 1999-02-04 | 2002-05-16 | Boucher Michael L. | Methods and systems for determining and displaying activities of concurrent processes |
US6658449B1 (en) * | 2000-02-17 | 2003-12-02 | International Business Machines Corporation | Apparatus and method for periodic load balancing in a multiple run queue system |
JP2004054680A (ja) * | 2002-07-22 | 2004-02-19 | Fujitsu Ltd | 並列効率計算方法 |
US7370326B2 (en) * | 2004-04-02 | 2008-05-06 | Emulex Design & Manufacturing Corporation | Prerequisite-based scheduler |
US7818723B2 (en) | 2004-09-07 | 2010-10-19 | Sap Ag | Antipattern detection processing for a multithreaded application |
US7703094B2 (en) | 2004-12-30 | 2010-04-20 | Intel Corporation | Adaptive and dynamic filtering of threaded programs |
US7945911B1 (en) * | 2005-06-03 | 2011-05-17 | Oracle America, Inc. | Barrier synchronization method and apparatus for work-stealing threads |
US7558271B2 (en) * | 2005-10-21 | 2009-07-07 | International Business Machines Corporation | Method and apparatus for adaptive bandwidth control with defined priorities for different networks |
US7739662B2 (en) | 2005-12-30 | 2010-06-15 | Intel Corporation | Methods and apparatus to analyze processor systems |
US8161234B2 (en) * | 2008-12-30 | 2012-04-17 | Intel Corporation | Dynamically switching command types to a mass storage drive |
US8875143B2 (en) * | 2009-12-31 | 2014-10-28 | Bmc Software, Inc. | Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment |
US9183109B2 (en) | 2010-05-25 | 2015-11-10 | Intel Corporation | Method and system for analyzing the performance of multi-threaded applications |
-
2010
- 2010-05-25 US US12/787,240 patent/US9183109B2/en not_active Expired - Fee Related
-
2011
- 2011-05-20 AU AU2011258570A patent/AU2011258570B2/en not_active Ceased
- 2011-05-20 JP JP2013512102A patent/JP5745038B2/ja not_active Expired - Fee Related
- 2011-05-20 CN CN201180028522.7A patent/CN102918501B/zh not_active Expired - Fee Related
- 2011-05-20 KR KR1020127030784A patent/KR101475746B1/ko not_active IP Right Cessation
- 2011-05-20 EP EP11787165.7A patent/EP2577457A4/en not_active Withdrawn
- 2011-05-20 WO PCT/US2011/037403 patent/WO2011149784A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0588948A (ja) * | 1991-04-15 | 1993-04-09 | Internatl Business Mach Corp <Ibm> | サンプリング性能分析方法及び装置 |
JPH0540742A (ja) * | 1991-08-07 | 1993-02-19 | Hitachi Ltd | 並列処理方法 |
JP2009080583A (ja) * | 2007-09-25 | 2009-04-16 | Toshiba Corp | 情報処理装置、並列処理最適化方法およびプログラム |
JP2010009395A (ja) * | 2008-06-27 | 2010-01-14 | Toshiba Corp | 情報処理装置、粒度調整方法およびプログラム |
Non-Patent Citations (6)
Title |
---|
CSNB200000266001; クライマン スティーブ Steve Kleiman/岩本 信一: 実践マルチスレッドプログラミング 第1版, 19980331, pp.305-309, 株式会社アスキー * |
CSND200000266001; 田浦 健次朗: '細粒度マルチスレッディングのための言語処理系技術(1)' コンピュータソフトウェア 第16巻,第2号, 19990315, pp.1-18, 日本ソフトウェア科学会 * |
CSND201000241026; エクセルソフト(株): 'マルチコアプロセッサー向けのソフトウェア開発' SoftwareDesign 2010年5月号,発刊235号, 20100420, pp.200-206, (株)技術評論社 * |
JPN6013064897; エクセルソフト(株): 'マルチコアプロセッサー向けのソフトウェア開発' SoftwareDesign 2010年5月号,発刊235号, 20100420, pp.200-206, (株)技術評論社 * |
JPN6013064898; クライマン スティーブ Steve Kleiman/岩本 信一: 実践マルチスレッドプログラミング 第1版, 19980331, pp.305-309, 株式会社アスキー * |
JPN6013064899; 田浦 健次朗: '細粒度マルチスレッディングのための言語処理系技術(1)' コンピュータソフトウェア 第16巻,第2号, 19990315, pp.1-18, 日本ソフトウェア科学会 * |
Also Published As
Publication number | Publication date |
---|---|
KR101475746B1 (ko) | 2014-12-30 |
KR20130018901A (ko) | 2013-02-25 |
US9183109B2 (en) | 2015-11-10 |
CN102918501A (zh) | 2013-02-06 |
AU2011258570A1 (en) | 2012-12-06 |
US20110296420A1 (en) | 2011-12-01 |
JP5745038B2 (ja) | 2015-07-08 |
EP2577457A2 (en) | 2013-04-10 |
CN102918501B (zh) | 2016-05-11 |
WO2011149784A3 (en) | 2012-04-19 |
EP2577457A4 (en) | 2016-01-06 |
AU2011258570B2 (en) | 2014-06-12 |
WO2011149784A2 (en) | 2011-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5745038B2 (ja) | マルチスレッドアプリケーションのパフォーマンスを解析する方法及びシステム | |
US10642944B2 (en) | System and method for energy usage accounting in software applications | |
US10551896B2 (en) | Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase | |
TWI550518B (zh) | 用於包括執行緒合併之能源效率及能源節約的方法、裝置及系統 | |
TWI575370B (zh) | 在多核心處理器中執行電源管理 | |
US8190863B2 (en) | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction | |
US8489904B2 (en) | Allocating computing system power levels responsive to service level agreements | |
US20180101461A1 (en) | Tracking core-level instruction set capabilities in a chip multiprocessor | |
Gholkar et al. | Uncore power scavenger: A runtime for uncore power conservation on hpc systems | |
US9760411B2 (en) | Switching a locking mode of an object in a multi-thread program | |
US20220405186A1 (en) | Mitigating slow instances in large-scale streaming pipelines | |
KR20120066189A (ko) | 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법 | |
Iordan et al. | Tuning the victim selection policy of Intel TBB | |
Colmant et al. | Improving the energy efficiency of software systems for multi-core architectures | |
US20220326999A1 (en) | Dynamic resource allocation based on quality-of-service prediction | |
Iordan et al. | Victim selection policies for Intel TBB: overheads and energy footprint | |
Iordan et al. | Paper C. 2 Victim Selection Policies for Intel TBB: Overheads and Energy Footprint | |
Alishzadeh et al. | Energy management of fault-tolerant real-time embedded systems through switching-activity-based techniques | |
Zhu et al. | A Graph based approach for Co-scheduling jobs on Multi-core computers | |
Iordan et al. | Paper C. 3 Tuning the Victim Selection Policy of Intel TBB | |
Werling | Saving Power Without Sacrificing Performance on Asymmetric Multicore Processors | |
Dai et al. | A light lock management mechanism for optimizing real-time and non-real-Time performance in embedded linux | |
Dey | ReSense: A Unified Framework for Improving Performance and Reliability in Multicore Architectures | |
TRENDS | Is Process Scheduling a Dead Subject? | |
van der Put | Time-predictability of a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130624 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140114 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140414 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150212 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150430 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5745038 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |