JP6293888B2 - 競合状態を検出する技法 - Google Patents
競合状態を検出する技法 Download PDFInfo
- Publication number
- JP6293888B2 JP6293888B2 JP2016530004A JP2016530004A JP6293888B2 JP 6293888 B2 JP6293888 B2 JP 6293888B2 JP 2016530004 A JP2016530004 A JP 2016530004A JP 2016530004 A JP2016530004 A JP 2016530004A JP 6293888 B2 JP6293888 B2 JP 6293888B2
- Authority
- JP
- Japan
- Prior art keywords
- processor component
- data
- cache
- component
- processor
- 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
- 238000000034 method Methods 0.000 title claims description 46
- 238000012544 monitoring process Methods 0.000 claims description 148
- 238000003860 storage Methods 0.000 claims description 85
- 230000001960 triggered effect Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims 1
- 238000001514 detection method Methods 0.000 description 36
- 238000012545 processing Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 18
- 230000015654 memory Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 230000008878 coupling Effects 0.000 description 12
- 238000010168 coupling process Methods 0.000 description 12
- 238000005859 coupling reaction Methods 0.000 description 12
- 238000001914 filtration Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 239000004065 semiconductor Substances 0.000 description 9
- 230000011664 signaling Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000005294 ferromagnetic effect Effects 0.000 description 6
- 206010003591 Ataxia Diseases 0.000 description 5
- 206010010947 Coordination abnormal Diseases 0.000 description 5
- 238000003491 array Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 208000028756 lack of coordination Diseases 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 235000021152 breakfast Nutrition 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3632—Software debugging of specific synchronisation aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- 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
- G06F9/526—Mutual exclusion algorithms
-
- 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
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Description
。無線信号伝送の使用に関わる場合には、これらのインターフェースは、限定なしに、IEEE802.11a、802.11b、802.11g、802.16、802.20(一般に「モバイル・ブロードバンド・ワイヤレス・アクセス」と称される);ブルートゥース(登録商標);ジグビー;またはセルラー無線電話サービス、たとえば一般パケット電波サービス付きGSM(登録商標)(GSM/GPRS: GSM with General Packet Radio Service)、CDMA/1xRTT、グローバル・エボリューションのためのエンハンスト・データ・レート(EDGE: Enhanced Data Rates for Global Evolution)、エボリューション・データ・オンリー/オプティマイズド(EV-DO: Evolution Data Only/Optimized)、エボリューション・フォー・データ・アンド・ボイス(EV-DV: Evolution For Data and Voice)、高速下りリンク・パケット・アクセス(HSDPA: High Speed Downlink Packet Access)、高速上りリンク・パケット・アクセス(HSUPA: High Speed Uplink Packet Access)、4G LTEなどを含む多様な業界標準の任意のものに準拠する信号伝達および/またはプロトコルを用いてもよい。
Claims (24)
- 競合状態を検出する装置であって:
モニタリング・ユニットを有するプロセッサ・コンポーネントと;
データ片へのアクセスの間の競合状態に関連するキャッシュ・イベントを検出し、前記キャッシュ・イベントの生起に応答してモニタリング・データを生成するよう前記プロセッサ・コンポーネントの状態の指示を捕捉するよう前記モニタリング・ユニットを構成設定する、前記プロセッサ・コンポーネントによる実行のためのトリガー・コンポーネントと;
前記キャッシュ・イベントの生起毎よりも少ない頻度での前記プロセッサ・コンポーネントの状態の指示の捕捉を可能にするよう前記モニタリング・ユニットのカウンタを構成設定する、前記プロセッサ・コンポーネントによる実行のためのカウンタ・コンポーネントと;
前記キャッシュ・イベントが前記プロセッサ・コンポーネントによって実行されるアプリケーション・ルーチンの第一の部分による前記データ片への第一のアクセスと前記アプリケーション・ルーチンの第二の部分による前記データ片への第二のアクセスとの間の競合状態から生じるのでないことに基づいて前記モニタリング・データから前記指示を除去して、前記モニタリング・データの前記プロセッサ・コンポーネントの状態の複数の指示の部分集合を含む低減されたデータを生成する、前記プロセッサ・コンポーネントによる実行のためのフィルタ・コンポーネントとを有しており、
前記第一のアクセスは書き込み動作を含み、前記第二のアクセスは読み出し動作および書き込み動作の一方を含む、
装置。 - 前記トリガー・コンポーネントは、前記プロセッサ・コンポーネントによる並行した実行のための複数の部分を有するアプリケーション・ルーチンが前記プロセッサ・コンポーネントによって現在実行されているかどうかに基づいて前記指示の捕捉を動的に有効にする、請求項1記載の装置。
- 前記フィルタ・コンポーネントは、前記第一の部分、前記第二の部分、前記第一の部分および前記第二の部分の一方を実行する前記プロセッサ・コンポーネントのコアまたは前記第一の部分および前記第二の部分の一方の実行のスレッドのうちの少なくとも一つの識別子に基づいて、前記キャッシュ・イベントが前記第一のアクセスと前記第二のアクセスとの間の競合状態から生じるかどうかを判定する、請求項1記載の装置。
- 前記競合状態は、前記データ片を読むための、第一の実行のスレッドにおいて前記プロセッサ・コンポーネントによって実行される第一のアプリケーション・ルーチンの読み出し動作と、前記データ片に書き込むための、第二の実行のスレッドにおいて前記プロセッサ・コンポーネントによって実行される第二のアプリケーション・ルーチンの書き込み動作との間の競合状態を含む、請求項1記載の装置。
- 別のプロセッサ・コンポーネントを有しており、前記トリガー・コンポーネントは、前記キャッシュ・イベントを検出し、前記キャッシュ・イベントの生起に応答して別のモニタリング・データとして前記別のプロセッサ・コンポーネントの状態の指示を捕捉するよう前記別のプロセッサ・コンポーネントのモニタリング・ユニットを構成設定する、請求項1記載の装置。
- 前記フィルタ・コンポーネントは、前記キャッシュ・イベントがあるアプリケーション・ルーチンの第一の部分の読み出し動作とそのアプリケーション・ルーチンの第二の部分の書き込み動作との間の競合状態から生じるのでないことに基づいて前記別のモニタリング・データから前記別のプロセッサ・コンポーネントの状態の指示を除去して、前記モニタリング・データの前記プロセッサ・コンポーネントの状態の複数の指示の部分集合および前記別のモニタリング・データの前記別のプロセッサ・コンポーネントの状態の複数の指示の部分集合を含む低減されたデータを生成する、請求項5記載の装置。
- 競合状態を検出する装置であって:
第一のプロセッサ・コンポーネントと;
第二のプロセッサ・コンポーネントと;
データ片へのアクセスの間の競合状態に関連するキャッシュ・イベントを検出し、前記キャッシュ・イベントの生起に応答して第一のモニタリング・データとして前記第一のプロセッサ・コンポーネントの状態の第一の指示を捕捉するよう前記第一のプロセッサ・コンポーネントのモニタリング・ユニットを構成設定し、前記キャッシュ・イベントを検出し、前記キャッシュ・イベントの生起に応答して第二のモニタリング・データとして前記第二のプロセッサ・コンポーネントの状態の第二の指示を捕捉するよう前記第二のプロセッサ・コンポーネントのモニタリング・ユニットを構成設定するトリガー・コンポーネントと;
前記第一の指示および前記第二の指示を比較して、前記第一の指示に対する前記第二の指示の冗長性に基づいて前記第一の指示を含み前記第二の指示を含まない低減されたデータを生成するフィルタ・コンポーネントとを有する、
装置。 - 前記トリガー・コンポーネントは、前記第一のプロセッサ・コンポーネントおよび前記第二のプロセッサ・コンポーネントの少なくとも一方による並行した実行のための複数の部分を含むアプリケーション・ルーチンが前記第一のプロセッサ・コンポーネントおよび前記第二のプロセッサ・コンポーネントの少なくとも一方によって現在実行されているかどうかに基づいて前記第一の指示および前記第二の指示の捕捉を動的に有効にする、請求項7記載の装置。
- 前記キャッシュ・イベントの生起毎よりも少ない頻度での前記第一の指示および前記第二の指示の捕捉を可能にするよう前記第一および第二のプロセッサ・コンポーネントのそれぞれのモニタリング・ユニットのカウンタを構成設定するカウンタ・コンポーネントを有する、請求項7記載の装置。
- 前記カウンタ・コンポーネントは、前記第一の指示の捕捉と前記第二の指示の捕捉を同期させるよう、前記第一のプロセッサ・コンポーネントのモニタリング・ユニットのカウンタおよび前記第二のプロセッサ・コンポーネントのモニタリング・ユニットのカウンタを構成設定する、請求項9記載の装置。
- 前記フィルタ・コンポーネントは、前記キャッシュ・イベントが前記第一および第二のプロセッサ・コンポーネントの一つによって実行されるアプリケーション・ルーチンの第一の部分による前記データ片へのアクセスと前記第一および第二のプロセッサ・コンポーネントの一つによって実行される前記アプリケーション・ルーチンの第二の部分による前記データ片へのアクセスとの間の競合状態から生じるのでないことに基づいて、前記第一の指示および前記第二の指示の少なくとも一方を前記低減されたデータに含めることを調整する、請求項7記載の装置。
- 前記フィルタ・コンポーネントは、前記第一の部分、前記第二の部分、前記第一の部分および前記第二の部分の一方を実行する前記第一のプロセッサ・コンポーネントのコア、前記第一の部分および前記第二の部分の一方を実行する前記第二のプロセッサ・コンポーネントのコアまたは前記第一の部分および前記第二の部分の一方の実行のスレッドのうちの少なくとも一つの識別子に基づいて、前記キャッシュ・イベントが前記アプリケーション・ルーチンの前記第一の部分と前記第二の部分の間の競合状態から生じるかどうかを判定する、請求項11記載の装置。
- 前記競合状態は、前記データ片を読むための、第一の実行のスレッドにおいて前記第一および第二のプロセッサ・コンポーネントの一方によって実行されるアプリケーション・ルーチンの第一の部分の読み出し動作と、前記データ片に書き込むための、第二の実行のスレッドにおいて前記第一および第二のプロセッサ・コンポーネントの一方によって実行される前記アプリケーション・ルーチンの第二の部分の書き込み動作との間の競合状態を含む、請求項7記載の装置。
- 競合状態を検出するためのコンピュータ実装される方法であって:
プロセッサ・コンポーネントによって実行される少なくとも一つのアプリケーション・ルーチンによるデータ片へのアクセスの間の競合状態に関連するキャッシュ・イベントを検出する段階と;
前記キャッシュ・イベントの複数の生起の選択された間隔で前記キャッシュ・イベントの生起に応答してモニタリング・データとして前記プロセッサ・コンポーネントの状態の指示を繰り返し捕捉する段階と;
前記キャッシュ・イベントが前記アプリケーション・ルーチンの第一の部分の読み出し動作と前記アプリケーション・ルーチンの第二の部分の書き込み動作との間の競合状態から生じるのでないことに基づいて前記モニタリング・データから前記指示を除去して、前記モニタリング・データの前記プロセッサ・コンポーネントの状態の複数の指示の部分集合を含む低減されたデータを生成する段階とを含む、
コンピュータ実装される方法。 - 前記アプリケーション・ルーチンが現在、少なくとも部分的には前記プロセッサ・コンポーネントによって実行されているかどうかに基づいて、前記指示の捕捉を動的に有効にすることを含む、請求項14記載のコンピュータ実装される方法。
- 前記第一の部分、前記第二の部分、前記第一の部分および前記第二の部分の一方を実行する前記プロセッサ・コンポーネントのコアまたは前記第一の部分および前記第二の部分の一方の実行のスレッドのうちの少なくとも一つの識別子に基づいて、前記キャッシュ・イベントが前記読み出し動作と前記書き込み動作との間の競合状態から生じるかどうかを判定することを含む、請求項14記載のコンピュータ実装される方法。
- 前記低減されたデータをネットワークを介してデバッグ装置に送信する段階を含む、請求項14記載のコンピュータ実装される方法。
- 前記競合状態は、前記データ片に書き込むための、第一の実行のスレッドにおいて前記プロセッサ・コンポーネントによって実行される前記アプリケーション・ルーチンの第一の書き込み動作と、前記データ片に書き込むための、第二の実行のスレッドにおいて前記プロセッサ・コンポーネントによって実行される別のアプリケーション・ルーチンの第二の書き込み動作との間の競合状態を含む、請求項14記載のコンピュータ実装される方法。
- 前記指示は、前記プロセッサ・コンポーネントのレジスタの内容、前記プロセッサ・コンポーネントの命令ポインタのアドレス、どんなアクセス動作が前記キャッシュ・イベントをトリガーしたかの指示、前記キャッシュ・イベントの型、前記キャッシュ・イベントをトリガーしたアクセス動作を実行した前記プロセッサのコアの識別子または前記キャッシュ・イベントをトリガーしたアクセス動作が実行された実行のスレッドの識別子のうちの少なくとも一つを含む、請求項14記載のコンピュータ実装される方法。
- 前記キャッシュ・イベントは、前記プロセッサ・コンポーネントのキャッシュに関わり、所有権を求める読み出し(RFO)キャッシュ・イベントまたは修正版にヒット(HITM)キャッシュ・イベントの少なくとも一方を含む、請求項14記載のコンピュータ実装される方法。
- 前記キャッシュ・イベントの複数の生起の前記選択された間隔で前記キャッシュ・イベントの生起に応答して、別のモニタリング・データとして、別のプロセッサ・コンポーネントの状態の指示を捕捉することを含む、請求項14記載のコンピュータ実装される方法。
- 競合状態を検出するためのコンピュータ実装される方法であって:
プロセッサ・コンポーネントによって実行される少なくとも一つのアプリケーション・ルーチンによるデータ片へのアクセスの間の競合状態に関連するキャッシュ・イベントを検出する段階と;
前記キャッシュ・イベントの複数の生起の選択された間隔で前記キャッシュ・イベントの生起に応答してモニタリング・データとして前記プロセッサ・コンポーネントの状態の指示を繰り返し捕捉する段階と;
前記キャッシュ・イベントの複数の生起の前記選択された間隔で前記キャッシュ・イベントの生起に応答して、別のモニタリング・データとして、別のプロセッサ・コンポーネントの状態の指示を捕捉する段階とを含み、
前記キャッシュ・イベントが前記アプリケーション・ルーチンの第一の部分による前記データ片への第一のアクセスと前記アプリケーション・ルーチンの第二の部分による前記データ片への第二のアクセスとの間の競合状態から生じるのでないことに基づいて前記別のモニタリング・データからの前記別のプロセッサ・コンポーネントの状態の指示を除去して、前記モニタリング・データの前記プロセッサ・コンポーネントの状態の複数の指示の部分集合および前記別のモニタリング・データの前記別のプロセッサ・コンポーネントの状態の複数の指示の部分集合を含む低減されたデータを生成することを含む、
コンピュータ実装される方法。 - プロセッサ・コンポーネントによって実行されたときに、前記プロセッサ・コンポーネントに、請求項14ないし22のうちいずれか一項記載の方法を実行させるコンピュータ・プログラム。
- 請求項23記載のコンピュータ・プログラムを記憶している少なくとも一つの機械可読記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/074661 WO2015088534A1 (en) | 2013-12-12 | 2013-12-12 | Techniques for detecting race conditions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017503233A JP2017503233A (ja) | 2017-01-26 |
JP6293888B2 true JP6293888B2 (ja) | 2018-03-14 |
Family
ID=53371627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016530004A Active JP6293888B2 (ja) | 2013-12-12 | 2013-12-12 | 競合状態を検出する技法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10120781B2 (ja) |
EP (1) | EP3080702B1 (ja) |
JP (1) | JP6293888B2 (ja) |
KR (1) | KR101730781B1 (ja) |
CN (1) | CN105706063A (ja) |
WO (1) | WO2015088534A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9684607B2 (en) * | 2015-02-25 | 2017-06-20 | Microsoft Technology Licensing, Llc | Automatic recovery of application cache warmth |
JP5936152B2 (ja) | 2014-05-17 | 2016-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリアクセストレース方法 |
US9684596B2 (en) | 2015-02-25 | 2017-06-20 | Microsoft Technology Licensing, Llc | Application cache replication to secondary application(s) |
GB2557366B (en) * | 2016-12-02 | 2020-10-28 | Advanced Risc Mach Ltd | An apparatus and method for transferring data between address ranges in memory |
US10303575B2 (en) * | 2017-01-10 | 2019-05-28 | International Business Machines Corporation | Time-slice-instrumentation facility |
CN109151923B (zh) * | 2017-06-16 | 2023-12-12 | 华为技术有限公司 | 通信方法和装置 |
US10713746B2 (en) | 2018-01-29 | 2020-07-14 | Microsoft Technology Licensing, Llc | FIFO queue, memory resource, and task management for graphics processing |
US10719268B2 (en) * | 2018-06-29 | 2020-07-21 | Microsoft Technology Licensing, Llc | Techniques for safely and efficiently enqueueing and dequeueing data on a graphics processor |
US10824188B2 (en) * | 2019-01-14 | 2020-11-03 | Groq, Inc. | Multichip timing synchronization circuits and methods |
US10956304B2 (en) * | 2019-01-25 | 2021-03-23 | Microsoft Technology Licensing, Llc | Dynamic diagnostic code instrumentation over a historic program execution |
US10877873B2 (en) | 2019-02-07 | 2020-12-29 | Microsoft Technology Licensing, Llc | Using historic execution data to visualize tracepoints |
US11194701B2 (en) | 2020-05-11 | 2021-12-07 | International Business Machines Corporation | Identifying software interaction defects using differential speed processors |
WO2022091651A1 (ja) * | 2020-10-28 | 2022-05-05 | 日立Astemo株式会社 | 演算装置及び検査方法 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435759A (en) * | 1981-06-15 | 1984-03-06 | International Business Machines Corporation | Hardware monitor for obtaining processor software/hardware interrelationships |
US4503497A (en) | 1982-05-27 | 1985-03-05 | International Business Machines Corporation | System for independent cache-to-cache transfer |
US7240303B1 (en) * | 1999-11-30 | 2007-07-03 | Synplicity, Inc. | Hardware/software co-debugging in a hardware description language |
US6766511B1 (en) * | 2000-07-10 | 2004-07-20 | International Business Machines Corporation | Apparatus and method for performing symbolic resolution of modules using static representations of a trace |
US6536019B1 (en) | 2000-09-28 | 2003-03-18 | Verisity Design, Inc. | Race condition detection and expression |
US7448025B2 (en) * | 2000-12-29 | 2008-11-04 | Intel Corporation | Qualification of event detection by thread ID and thread privilege level |
US7028119B2 (en) * | 2001-04-04 | 2006-04-11 | Wind River Systems, Inc. | Automated tool for detection of potential race condition |
US7398516B2 (en) * | 2003-04-18 | 2008-07-08 | Ounce Labs, Inc. | Method and system for detecting race condition vulnerabilities in source code |
US7587709B2 (en) * | 2003-10-24 | 2009-09-08 | Microsoft Corporation | Adaptive instrumentation runtime monitoring and analysis |
US7577943B2 (en) * | 2003-10-24 | 2009-08-18 | Microsoft Corporation | Statistical memory leak detection |
US7620852B2 (en) * | 2005-03-02 | 2009-11-17 | Microsoft Corporation | Systems and methods of reporting multiple threads involved in a potential data race |
US7747844B2 (en) * | 2005-03-31 | 2010-06-29 | Hewlett-Packard Development Company, L.P. | Acquiring instruction addresses associated with performance monitoring events |
US7895415B2 (en) * | 2007-02-14 | 2011-02-22 | Intel Corporation | Cache sharing based thread control |
JP4888272B2 (ja) * | 2007-07-30 | 2012-02-29 | 富士通セミコンダクター株式会社 | ソフトウェアのシミュレーション方法、ソフトウェアのシミュレーションのためのプログラム、及びソフトウェアのシミュレーション装置 |
US8200474B2 (en) * | 2008-05-08 | 2012-06-12 | Nec Laboratories America, Inc. | Dynamic model checking with property driven pruning to detect race conditions |
US7543187B1 (en) | 2008-06-04 | 2009-06-02 | International Business Machines Corporation | Method to dynamically filter active system state (live dump) data |
JP5326374B2 (ja) * | 2008-06-19 | 2013-10-30 | 富士通セミコンダクター株式会社 | プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法 |
GB2461716A (en) * | 2008-07-09 | 2010-01-13 | Advanced Risc Mach Ltd | Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events. |
US8751536B2 (en) * | 2008-11-26 | 2014-06-10 | International Business Machines Corporation | Method and system for managing faceted data |
EP2441005A2 (en) * | 2009-06-09 | 2012-04-18 | Martin Vorbach | System and method for a cache in a multi-core processor |
US8371015B2 (en) | 2009-09-24 | 2013-02-12 | Bright Technologies, Llc | Method of terminating a stranded synthetic filament cable |
US8392929B2 (en) * | 2009-12-15 | 2013-03-05 | Microsoft Corporation | Leveraging memory isolation hardware technology to efficiently detect race conditions |
US9395987B2 (en) | 2010-09-23 | 2016-07-19 | Freescale Semiconductor, Inc. | Method and device for detecting a race condition |
JP5606261B2 (ja) * | 2010-10-19 | 2014-10-15 | 三菱電機株式会社 | デバッグシステムおよびデバッグシステムのトレースデータ取得方法 |
US20130254491A1 (en) * | 2011-12-22 | 2013-09-26 | James A. Coleman | Controlling a processor cache using a real-time attribute |
US9128781B2 (en) * | 2012-12-28 | 2015-09-08 | Intel Corporation | Processor with memory race recorder to record thread interleavings in multi-threaded software |
US9501382B2 (en) * | 2013-06-25 | 2016-11-22 | Purdue Research Foundation | Systems and methods of detecting power bugs |
US9361202B2 (en) * | 2013-07-18 | 2016-06-07 | International Business Machines Corporation | Filtering system noises in parallel computer systems during thread synchronization |
US9251014B2 (en) * | 2013-08-08 | 2016-02-02 | International Business Machines Corporation | Redundant transactions for detection of timing sensitive errors |
US9740617B2 (en) * | 2014-12-23 | 2017-08-22 | Intel Corporation | Hardware apparatuses and methods to control cache line coherence |
JP7202293B2 (ja) * | 2016-10-11 | 2023-01-11 | グリーン ヒルズ ソフトウェア,エルエルシー | 垂直統合インストルメント化およびトレース再構成のためのシステム、方法およびデバイス |
-
2013
- 2013-12-12 KR KR1020167010982A patent/KR101730781B1/ko active IP Right Grant
- 2013-12-12 EP EP13899151.8A patent/EP3080702B1/en active Active
- 2013-12-12 JP JP2016530004A patent/JP6293888B2/ja active Active
- 2013-12-12 CN CN201380080889.2A patent/CN105706063A/zh active Pending
- 2013-12-12 US US15/026,515 patent/US10120781B2/en active Active
- 2013-12-12 WO PCT/US2013/074661 patent/WO2015088534A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR101730781B1 (ko) | 2017-04-26 |
US20160232077A1 (en) | 2016-08-11 |
US10120781B2 (en) | 2018-11-06 |
EP3080702A1 (en) | 2016-10-19 |
EP3080702B1 (en) | 2019-08-14 |
EP3080702A4 (en) | 2017-07-26 |
JP2017503233A (ja) | 2017-01-26 |
CN105706063A (zh) | 2016-06-22 |
KR20160063373A (ko) | 2016-06-03 |
WO2015088534A1 (en) | 2015-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6293888B2 (ja) | 競合状態を検出する技法 | |
US9965014B2 (en) | Techniques for tracing wakelock usage | |
US9170949B2 (en) | Simplified controller with partial coherency | |
US10120731B2 (en) | Techniques for controlling use of locks | |
US10229178B2 (en) | Techniques for visualizing storage cluster system configurations and events | |
CN108536473B (zh) | 读取数据的方法和装置 | |
US20220113901A1 (en) | Read optional and write optional commands | |
CN106547636A (zh) | 除错系统与方法 | |
US10318733B2 (en) | Techniques for detecting malware with minimal performance degradation | |
US10169237B2 (en) | Identification of a computing device accessing a shared memory | |
CN116601613A (zh) | 利用分组元数据的数据放置 | |
US10915447B1 (en) | Systems, devices, and methods for reduced critical path latency and increased work parallelization in memory writes | |
JP2016532233A5 (ja) | ||
CN113220608B (zh) | 一种NVMe命令处理器及其处理方法 | |
US8938588B2 (en) | Ensuring forward progress of token-required cache operations in a shared cache | |
JP2009289117A (ja) | メモリクリア機構 | |
EP3660675B1 (en) | Sharing data by a virtual machine | |
EP2979192B1 (en) | Implementing coherency with reflective memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170828 |
|
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: 20180116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6293888 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |