JP5889332B2 - 並行ソフトウェア環境のためのアクティビティ記録システム - Google Patents
並行ソフトウェア環境のためのアクティビティ記録システム Download PDFInfo
- Publication number
- JP5889332B2 JP5889332B2 JP2013547952A JP2013547952A JP5889332B2 JP 5889332 B2 JP5889332 B2 JP 5889332B2 JP 2013547952 A JP2013547952 A JP 2013547952A JP 2013547952 A JP2013547952 A JP 2013547952A JP 5889332 B2 JP5889332 B2 JP 5889332B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- processor
- thread
- idle
- indication
- 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.)
- Active
Links
- 230000000694 effects Effects 0.000 title claims description 35
- 238000000034 method Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 20
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
- 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
- G06F11/3423—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 where the assessed time is active or idle time
-
- 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/3476—Data logging
-
- 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/825—Indexing scheme relating to error detection, to error correction, and to monitoring the problem or solution involving locking
-
- 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/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Description
Claims (16)
- コンピュータ・システムにおいてソフトウェア・スレッドを実行する並行ソフトウェア環境のためのアクティビティ記録システムであって、
前記コンピュータ・システムのプロセッサにおける実行を停止したソフトウェア・スレッドの同期状態を示す同期状態指示を記録するためのスレッド状態インジケータであって、前記同期状態指示が前記ソフトウェア・スレッドの識別に関連付けられている、スレッド状態インジケータと、
アイドルである前記コンピュータ・システムのプロセッサを識別し、前記プロセッサがアイドルであることの指示を記録するためのタイム・プロファイラと、
前記プロセッサに対する前記ソフトウェア・スレッドのディスパッチを識別し、前記プロセッサがアイドルであるという前記指示および前記ソフトウェア・スレッドの前記同期状態指示に応答して、前記プロセッサのアイドル状態の原因を前記ソフトウェア・スレッドおよび前記ソフトウェア・スレッドの前記同期状態であると見なすレコードを発生するためのディスパッチ・モニターと、
を含む、アクティビティ記録システム。 - 前記タイム・プロファイラが更に、前記プロセッサのアイドル期間を、前記プロセッサが連続的にアイドルである期間として識別するように動作可能であり、前記アイドル状態の原因を示す前記レコードが、前記プロセッサの前記アイドル期間の原因を前記ソフトウェア・スレッドおよび前記指示された同期状態であると見なす、請求項1に記載のアクティビティ記録システム。
- 前記プロセッサが実行するためにディスパッチされたソフトウェア・スレッドを有しないと判定することによって前記プロセッサがアイドルであると判定される、請求項2に記載のアクティビティ記録システム。
- 前記タイム・プロファイラが測定した前記スレッドが特定の同期状態にあった一定間隔の割合を計算するための計算コンポーネントを更に含む、請求項3に記載のアクティビティ記録システム。
- 前記スレッド状態インジケータが、前記同期状態指示であって、
前記ソフトウェア・スレッドが前記並行ソフトウェア環境において同期を達成するための排他的構造を獲得することを阻止される前記ソフトウェア・スレッドの「ブロック」状態の指示と、
前記ソフトウェア・スレッドが異なるソフトウェア・スレッドによって処理が引き受けられるのを待つ前記ソフトウェア・スレッドの「待機」状態の指示と、
前記ソフトウェア・スレッドが前記コンピュータ・システムのプロセッサにおける実行の準備ができている前記ソフトウェア・スレッドの「動作可能」状態の指示と、
ソフトウェア・スレッドの同期を取っていない状態の指示と、
を含む前記同期状態指示を記録するように動作可能である、請求項3に記載のアクティビティ記録システム。 - ソフトウェア・スレッドの同期状態の前記指示が、前記ソフトウェア・スレッドがアクセスすることを求めた共有リソースの識別子を更に含む、請求項5に記載のアクティビティ記録システム。
- 共有リソースの前記識別子に関連付けられたシンボリック名を決定するためのリゾルバを更に含む、請求項6に記載のアクティビティ記録システム。
- 前記タイム・プロファイラが更に、ソフトウェア・ルーチンがソフトウェア環境のルーチンのサービス・ライブラリに含まれていることを判定するように構成され、前記判定に応答して、前記ソフトウェア・ルーチンのための呼び出し側ルーチンを識別するように構成されている、請求項7に記載のアクティビティ記録システム。
- 前記タイム・プロファイラが、前記リゾルバおよびソフトウェア・コール・スタックの1つ以上を用いて前記呼び出し側ルーチンを識別する、請求項8に記載のアクティビティ記録システム。
- 前記ソフトウェア・スレッドの前記同期状態が、前記ソフトウェア・スレッド自体および前記並行ソフトウェア環境の1つ以上によって決定される、請求項3に記載のアクティビティ記録システム。
- 前記排他的構造がロックおよびモニターのうちの1つである、請求項5に記載のアクティビティ記録システム。
- 前記共有リソースがソフトウェア・オブジェクトである、請求項6に記載のアクティビティ記録システム。
- 前記タイム・プロファイラが更に、一定間隔で前記コンピュータ・システムの前記プロセッサのプログラム・カウンタの値をポーリングするように動作可能であり、前記タイム・プロファイラが、前記プロセッサがアイドルである一定間隔の数をカウントすることによって前記アイドル期間を識別する、請求項3に記載のアクティビティ記録システム。
- 前記プロセッサがアイドルであるという前記指示が、前記プロセッサがアイドルである一定間隔の数のカウント数を含む、請求項13に記載のアクティビティ記録システム。
- コンピュータ・システムにおいてソフトウェア・スレッドを実行する並行ソフトウェア環境のためのアクティビティを記録するための方法であって、
スレッド状態インジケータが、前記コンピュータ・システムのプロセッサにおける実行を停止したソフトウェア・スレッドの同期状態を示す同期状態指示を記録し、前記同期状態指示が前記ソフトウェア・スレッドの識別に関連付けられている、ステップと、
タイム・プロファイラが、アイドルである前記コンピュータ・システムのプロセッサを識別し、前記プロセッサがアイドルであることの指示を記録し、ディスパッチ・モニターが、前記プロセッサに対する前記ソフトウェア・スレッドのディスパッチを識別するステップと、
前記プロセッサがアイドルであるという前記指示および前記ソフトウェア・スレッドの前記同期状態指示に応答して、前記ディスパッチ・モニターが、前記プロセッサのアイドル状態の原因を前記ソフトウェア・スレッドおよび前記ソフトウェア・スレッドの前記同期状態であると見なすレコードを発生するステップと、
を含む、方法。 - コンピュータ・プログラムであって、請求項15に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11150483.3 | 2011-01-10 | ||
EP11150483 | 2011-01-10 | ||
PCT/IB2012/050051 WO2012095762A1 (en) | 2011-01-10 | 2012-01-05 | Activity recording system for a concurrent software environment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014505294A JP2014505294A (ja) | 2014-02-27 |
JP5889332B2 true JP5889332B2 (ja) | 2016-03-22 |
Family
ID=46506805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013547952A Active JP5889332B2 (ja) | 2011-01-10 | 2012-01-05 | 並行ソフトウェア環境のためのアクティビティ記録システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9600348B2 (ja) |
JP (1) | JP5889332B2 (ja) |
CN (1) | CN103339606B (ja) |
DE (1) | DE112012000245T5 (ja) |
GB (1) | GB2501434B (ja) |
WO (1) | WO2012095762A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9471458B2 (en) | 2012-01-05 | 2016-10-18 | International Business Machines Corporation | Synchronization activity recording system for a concurrent software environment |
US9081629B2 (en) * | 2013-05-19 | 2015-07-14 | Frank Eliot Levine | Excluding counts on software threads in a state |
US20150052400A1 (en) | 2013-08-19 | 2015-02-19 | Concurix Corporation | Breakpoint Setting Through a Debugger User Interface |
US9465721B2 (en) * | 2013-08-19 | 2016-10-11 | Microsoft Technology Licensing, Llc | Snapshotting executing code with a modifiable snapshot definition |
CA2831134A1 (en) * | 2013-10-24 | 2015-04-24 | Ibm Canada Limited - Ibm Canada Limitee | Identification of code synchronization points |
JP6152786B2 (ja) | 2013-11-29 | 2017-06-28 | 富士通株式会社 | 通信制御装置、情報処理装置、並列計算機システム、制御プログラム、及び並列計算機システムの制御方法 |
WO2018051166A1 (en) * | 2016-09-15 | 2018-03-22 | Pratik Sharma | Application level statistics |
US10379928B2 (en) | 2017-06-28 | 2019-08-13 | International Business Machines Corporation | Preventing software component timer processing issues |
CN110515813A (zh) * | 2019-08-15 | 2019-11-29 | 浙江万朋教育科技股份有限公司 | 基于shell脚本的oracle监控系统及方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768594A (en) | 1995-07-14 | 1998-06-16 | Lucent Technologies Inc. | Methods and means for scheduling parallel processors |
JPH09179754A (ja) * | 1995-12-21 | 1997-07-11 | Mitsubishi Electric Corp | タスク監視装置及びタスク監視方法 |
US6002872A (en) | 1998-03-31 | 1999-12-14 | International Machines Corporation | Method and apparatus for structured profiling of data processing systems and applications |
US6954922B2 (en) * | 1998-04-29 | 2005-10-11 | Sun Microsystems, Inc. | Method apparatus and article of manufacture for time profiling multi-threaded programs |
JP2001109538A (ja) * | 1999-10-08 | 2001-04-20 | Nec Eng Ltd | パワーマネジメントシステム |
US6728955B1 (en) | 1999-11-05 | 2004-04-27 | International Business Machines Corporation | Processing events during profiling of an instrumented program |
US6546443B1 (en) | 1999-12-15 | 2003-04-08 | Microsoft Corporation | Concurrency-safe reader-writer lock with time out support |
US6996745B1 (en) | 2001-09-27 | 2006-02-07 | Sun Microsystems, Inc. | Process for shutting down a CPU in a SMP configuration |
US7421681B2 (en) | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
US8381037B2 (en) | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7225309B2 (en) | 2003-10-09 | 2007-05-29 | International Business Machines Corporation | Method and system for autonomic performance improvements in an application via memory relocation |
US20050081206A1 (en) * | 2003-10-14 | 2005-04-14 | Armstrong Douglas R. | Methods and apparatus for profiling threaded programs |
US7617499B2 (en) | 2003-12-18 | 2009-11-10 | International Business Machines Corporation | Context switch instruction prefetching in multithreaded computer |
JP2005284749A (ja) | 2004-03-30 | 2005-10-13 | Kyushu Univ | 並列処理コンピュータ |
US7567963B2 (en) * | 2004-06-28 | 2009-07-28 | Intel Corporation | Thread synchronization with lock inflation methods and apparatus for managed run-time environments |
US8230423B2 (en) * | 2005-04-07 | 2012-07-24 | International Business Machines Corporation | Multithreaded processor architecture with operational latency hiding |
US8095921B2 (en) | 2005-10-12 | 2012-01-10 | International Business Machines Corporation | Identifying code that wastes time switching tasks |
US7474991B2 (en) | 2006-01-19 | 2009-01-06 | International Business Machines Corporation | Method and apparatus for analyzing idle states in a data processing system |
US8219993B2 (en) | 2008-02-27 | 2012-07-10 | Oracle America, Inc. | Frequency scaling of processing unit based on aggregate thread CPI metric |
JP5330384B2 (ja) | 2008-06-25 | 2013-10-30 | パナソニック株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN101334742B (zh) * | 2008-08-05 | 2011-06-01 | 中国科学院软件研究所 | 一种Java EE应用服务器并发处理方法 |
CN101403982B (zh) | 2008-11-03 | 2011-07-20 | 华为技术有限公司 | 一种多核处理器的任务分配方法和系统 |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US20120180057A1 (en) | 2011-01-10 | 2012-07-12 | International Business Machines Corporation | Activity Recording System for a Concurrent Software Environment |
US9471458B2 (en) | 2012-01-05 | 2016-10-18 | International Business Machines Corporation | Synchronization activity recording system for a concurrent software environment |
-
2012
- 2012-01-05 WO PCT/IB2012/050051 patent/WO2012095762A1/en active Application Filing
- 2012-01-05 JP JP2013547952A patent/JP5889332B2/ja active Active
- 2012-01-05 GB GB1313798.9A patent/GB2501434B/en active Active
- 2012-01-05 DE DE112012000245T patent/DE112012000245T5/de active Pending
- 2012-01-05 US US13/884,643 patent/US9600348B2/en active Active
- 2012-01-05 CN CN201280004980.1A patent/CN103339606B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014505294A (ja) | 2014-02-27 |
US9600348B2 (en) | 2017-03-21 |
GB2501434A (en) | 2013-10-23 |
CN103339606A (zh) | 2013-10-02 |
GB201313798D0 (en) | 2013-09-18 |
CN103339606B (zh) | 2017-04-26 |
GB2501434B (en) | 2013-12-25 |
US20130227586A1 (en) | 2013-08-29 |
DE112012000245T5 (de) | 2013-08-14 |
WO2012095762A1 (en) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5889332B2 (ja) | 並行ソフトウェア環境のためのアクティビティ記録システム | |
US9081629B2 (en) | Excluding counts on software threads in a state | |
US20120180057A1 (en) | Activity Recording System for a Concurrent Software Environment | |
US8136124B2 (en) | Method and apparatus for synthesizing hardware counters from performance sampling | |
US9858169B2 (en) | Monitoring a data processing apparatus and summarising the monitoring data | |
US9471458B2 (en) | Synchronization activity recording system for a concurrent software environment | |
Dean et al. | Perfcompass: Online performance anomaly fault localization and inference in infrastructure-as-a-service clouds | |
US20070067777A1 (en) | Logging lock data | |
US5872913A (en) | System and method for low overhead, high precision performance measurements using state transistions | |
US20110138389A1 (en) | Obtaining application performance data for different performance events via a unified channel | |
Seelam et al. | Extreme scale computing: Modeling the impact of system noise in multicore clustered systems | |
Izadpanah et al. | Production application performance data streaming for system monitoring | |
EP2735970B1 (en) | Dynamic library profiling method | |
WO2005006205A1 (en) | A method of efficient performance monitoring for symmetric multi-threading systems | |
Walcott-Justice et al. | THeME: A system for testing by hardware monitoring events | |
Zheng et al. | Vapro: Performance variance detection and diagnosis for production-run parallel applications | |
US6725363B1 (en) | Method for filtering instructions to get more precise event counts | |
Meng et al. | Convul: an effective tool for detecting concurrency vulnerabilities | |
US8160845B2 (en) | Method for emulating operating system jitter | |
Dimpsey et al. | Performance prediction and tuning on a multiprocessor | |
de Kergommeaux et al. | Monitoring parallel programs for performance tuning in cluster environments | |
Larysch | Fine-grained estimation of memory bandwidth utilization | |
Song et al. | On the existence of probe effect in multi-threaded embedded programs | |
Sasongko et al. | Precise event sampling on amd versus intel: Quantitative and qualitative comparison | |
Fiorini et al. | Visualization of profiling and tracing in CPU‐GPU programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140812 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151225 |
|
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: 20160126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160216 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5889332 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |