JP6446475B2 - トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法 - Google Patents
トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法 Download PDFInfo
- Publication number
- JP6446475B2 JP6446475B2 JP2016565190A JP2016565190A JP6446475B2 JP 6446475 B2 JP6446475 B2 JP 6446475B2 JP 2016565190 A JP2016565190 A JP 2016565190A JP 2016565190 A JP2016565190 A JP 2016565190A JP 6446475 B2 JP6446475 B2 JP 6446475B2
- Authority
- JP
- Japan
- Prior art keywords
- spin
- tuning period
- count
- failure rate
- spin count
- 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 63
- 230000003044 adaptive effect Effects 0.000 title claims description 34
- 230000007246 mechanism Effects 0.000 title claims description 29
- 230000008569 process Effects 0.000 claims description 53
- 238000012360 testing method Methods 0.000 claims description 5
- 241000677635 Tuxedo Species 0.000 description 18
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization 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/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/073—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 memory management context, e.g. virtual memory or cache management
-
- 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/0784—Routing of error reports, e.g. with a specific transmission path or data flow
-
- 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/0793—Remedial or corrective actions
-
- 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
-
- 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
- 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/54—Interprogram communication
Description
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権の所有者は、特許商標庁の包袋または記録に掲載されるように特許文献または特許開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
本願は以下の特許出願に関連しており、以下の特許出願の各々はその全内容が参照により本明細書に援用される。
本発明は、概して、コンピュータシステムおよびミドルウェアなどのソフトウェアに関し、特に、トランザクションミドルウェアマシン環境をサポートすることに関する。
トランザクションミドルウェアシステムまたはトランザクション指向型ミドルウェアは、組織内のさまざまなトランザクションを処理することができるエンタープライズアプリケーションサーバを含む。高性能ネットワークおよびマルチプロセッサコンピュータなどの新技術の開発によって、トランザクションミドルウェアの性能をさらに改善する必要がある。これらは、発明の実施形態が対処しようとする一般的領域である。
トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートすることができるシステムおよび方法が本明細書中に記載される。当該システムは、複数のプロセスの各プロセスが、共有メモリ内のデータに対するロックを取得するために1つ以上のテスト・アンド・セット(test-and-set:TAS)オペレーションを行なうことを可能にする。当該システムは次に、現在のチューニング期間のスピン失敗レートを取得することができ、許容される最大回数のTASオペレーションを行った後でプロセスがロックの取得に失敗した場合、スピン失敗が発生する。さらに、当該システムは、取得したスピン失敗レートに基づいて次のチューニング期間のスピンカウントを適応的に構成することができ、スピンカウントは、次のチューニング期間について許容されるTASオペレーションの最大回数を特定する。
トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法が本明細書中に記載される。
ロックメカニズム
図1は、発明の一実施形態に従う、ロックメカニズムをサポートするトランザクションミドルウェアマシン環境の例を示す。図1に示されるように、トランザクションミドルウェア環境100は、同時トランザクションが(すなわちプロセス111〜115について)ある場合、Tuxedo環境においてたとえば掲示板(bulletin board:BB)などの共有メモリ101内のさまざまなトランザクションデータ102を保護するためのロックメカニズム103を採用することができる。
適応セルフチューニングロックメカニズム
図2は、発明の一実施形態に従う、トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートする例を示す。図2に示されるように、トランザクションミドルウェア環境200は、同時トランザクションが(すなわちプロセス211〜215について)ある場合、共有メモリ201内のさまざまなトランザクションデータ202を保護するためのロックメカニズム203を採用することができる。
目標スピンカウント値を動的に算出するための適応アルゴリズム
発明の一実施形態に従うと、システムは適応アルゴリズムを用いて、リアルタイムで目標スピンカウント値を動的に求めることができる。また、システムは、ハードウェア構成およびアプリケーションシナリオのコンテキストにおいて目標スピンカウント値を算出することができる。
static int _calc_spintuning(_TCADEF)
Tuxedoにおいて、アプリケーションは、たとえば各走査ユニット(RESOURCEセクションにおけるパラメータSCANUNITを用いて構成され得る)において、各チューニング期間中に上記のファンクションを呼出すことができる。
static int getCPUrate(int type, float* rate, int size)
上記のファンクションについての実装はプラットフォームに依存し得る。たとえば、上記のファンクションは、Exalogic Elastic Cloud(Linux 64bit)プラットフォームにおけるfile/proc/statツールのようなシステムツールを介してCPU率を取得することができる。代替的に、上記のファンクションは、SPARC SuperCluster(Sparc 64bit)プラットフォームにおけるkstatライブラリのようなシステムライブラリを介してCPU率を取得することができる。
Tuned SPINCOUNT +=
(SPINCOUNT * base_factor) * min(max_times,(idle CPU ratio/ user CPU ratio))
上記のアルゴリズムは、2つのファクターを用いて、現在のSPINCOUNT値およびidle CPU ratio/user CPU ratioの値に依存するSPINCOUNTの増加を微調整する。現在のSPINCOUNTの貢献を減少させるために用いられ得る第1のファクターであるbase_factorは1よりも小さい。第2のファクターであるmax_timesは、idle CPU ratio/user CPU ratioの上限として用いられ得る。
Tuned SPINCOUNT -= Tuned SPINCOUNT>>3
上記のアルゴリズムを用いて、Tuxedoは、アプリケーションがアイドル状態である場合、高いSPINCOUNT値を自動的に元のSPINCOUNT値に戻すことができる。
Tuned SPINCOUNT = Tuned SPINCOUNT>>2
その上、ステップ504において、現在のSPINCOUNTが十分長い期間にわたって安定して保たれている場合、アルゴリズムはスピンカウントを減少させることができる。たとえば、Tuxedoは以下の数式を用いてSPINCOUNT値を減少させることができる。
Tuned SPINCOUNT -= Tuned SPINCOUNT>>3
上記のアルゴリズムを用いて、Tuxedoは、長い安定期間の後にSPINCOUNT値を減少させることができる。したがって、Tuxedoは、負荷が軽くなると、高いSPINCOUNTを自動的に適切な値に戻すことができる。
負荷サージ保護を用いたスピンカウントの構成
図7は、発明の一実施形態に従う、適応セルフチューニングロックメカニズムをサポートするトランザクションミドルウェアマシン環境において負荷サージ保護を用いてスピンカウントを構成する例を示す。図7に示されるように、トランザクションミドルウェア環境700は、同時トランザクションが(すなわちプロセス711〜715ついて)ある場合、共有メモリ701内のさまざまなトランザクションデータ702を保護するためのロック703を採用することができる。
Used SPINCOUNT = tuned SPINCOUNT+ extraspin * depth of the semaphore waiting queue
上記に示されるように、使用されるSPINCOUNTを算出する際、Tuxedoはセマフォ待機キューの現在の深さを考慮に入れることができる。セマフォ待機キューが深いほど、used SPINCOUNTは大きく設定され得る。
Claims (11)
- トランザクションミドルウェアマシン環境において適応ロックメカニズムをサポートするための方法であって、
複数のプロセスの各プロセスによって、第1のチューニング期間において第1のスピンカウントを用いて、共有メモリ内のデータに対するロックを取得するために複数のテスト・アンド・セット(TAS)オペレーションを行なうことを備え、
前記第1のスピンカウントは、前記第1のチューニング期間について許容されるTASオペレーションの第1の最大回数を特定し、
前記方法は、さらに、
前記共有メモリに記憶される最後の良好なスピンカウントとして前記第1のスピンカウントを記憶することと、
前記第1のチューニング期間の第1のスピン失敗レートを取得することとをさらに備え、
前記第1のチューニング期間について許容される前記第1の最大回数のTASオペレーションを行った後で前記複数のプロセスのうちの1のプロセスがロックの取得に失敗した場合、第1のスピン失敗が発生し、前記方法はさらに、
取得した前記第1のスピン失敗レートに基づいて、前記第1のチューニング期間後の第2のチューニング期間の第2のスピンカウントを適応的に構成することを備え、
前記第2のスピンカウントは、前記第2のチューニング期間について許容されるTASオペレーションの第2の最大回数を特定し、
前記方法は、さらに、
前記複数のプロセスの各プロセスによって、前記第2のチューニング期間において前記第2のスピンカウントを用いて、前記共有メモリ内のデータに対するロックを取得するために前記複数のTASオペレーションを行なうことと、
前記第2のチューニング期間の第2のスピン失敗レートを取得することとをさらに備え、
前記第2のチューニング期間について許容される前記第2の最大回数のTASオペレーションを行った後で前記複数のプロセスのうちの1のプロセスがロックの取得に失敗した場合、第2のスピン失敗が発生し、
前記方法は、さらに、
前記第2のスピン失敗レートが前記第1のスピン失敗レート未満である場合に、前記第2のスピンカウントになるように、前記第2のチューニング期間後の次のチューニング期間の次のスピンカウントを構成し、前記最後の良好なスピンカウントとして前記第2のスピンカウントを記憶することと、
前記第2のスピン失敗レートが前記第1のスピン失敗レートよりも大きい場合に、前記最後の良好なスピンカウントになるように、前記第2のチューニング期間後の次のチューニング期間の次のスピンカウントを構成することとを含む、方法。 - トランザクションミドルウェアマシン環境において適応ロックメカニズムを提供するためのシステムであって、
1つ以上のプロセッサと、
複数のプロセスとを備え、
前記複数のプロセスの各プロセスは、
第1のチューニング期間において、共有メモリ内のデータに対する複数のロックを取得するために、前記第1のチューニング期間について許容されるTASオペレーションの第1の最大回数を特定する第1のスピンカウントを用いて複数のテスト・アンド・セット(TAS)オペレーションを行なうように動作し、
前記第1のチューニング期間後の第2のチューニング期間において、前記共有メモリ内のデータに対するロックを取得するために、前記第2のチューニング期間について許容されるTASオペレーションの第2の最大回数を特定する第2のスピンカウントを用いて前記複数のTASオペレーションを行なうように動作し、
前記システムはさらに、
前記1つ以上のプロセッサ上で実行されるトランザクションサーバを備え、
前記トランザクションサーバは、
前記共有メモリに記憶された最後の良好なスピンカウントとして前記第1のスピンカウントを格納し、
前記第1のチューニング期間の第1のスピン失敗レートを取得するように動作し、
前記第1のチューニング期間について許容される前記第1の最大回数のTASオペレーションを行った後で前記複数のプロセスのうちの1のプロセスがロックの取得に失敗した場合、第1のスピン失敗が発生し、
前記トランザクションサーバはさらに、
取得した前記第1のスピン失敗レートに基づいて、前記第1のチューニング期間後の前記第2のチューニング期間の前記第2のスピンカウントを適応的に構成し、
前記第2のチューニング期間の第2のスピン失敗レートを取得するように動作し、
前記第2のチューニング期間について許容される前記第2の最大回数のTASオペレーションを行った後で前記複数のプロセスのうちの1つのプロセスがロックの取得に失敗した場合、第2のスピン失敗が発生し、
前記トランザクションサーバはさらに、
前記第2のスピン失敗レートが前記第1のスピン失敗レート未満である場合に、前記第2のスピンカウントになるように、前記第2のチューニング期間後の次のチューニング期間の次のスピンカウントを構成し、前記最後の良好なスピンカウントとして前記第2のスピンカウントを記憶し、
前記第2のスピン失敗レートが前記第1のスピン失敗レートよりも大きい場合に、前記最後の良好なスピンカウントになるように、前記第2のチューニング期間後の次のチューニング期間の次のスピンカウントを構成するように動作する、システム。 - アセンブリコンポーネントを用いて前記複数のTASオペレーションを行なう、請求項2に記載のシステム。
- 前記第1のスピンカウントはメタデータを用いて予め構成される、請求項2または3に記載の
システム。 - 管理コンポーネントは、前記第1のチューニング期間のアイドルCPUレートがユーザが構成した最小アイドルCPUレートよりも大きいか否か、および前記第1のチューニング期間の前記第1のスピン失敗レートがユーザが構成した目標を達成しているか否かを判断するように動作する、請求項2〜4のいずれか1項に記載のシステム。
- 前記第1のチューニング期間の前記アイドルCPUレートが前記ユーザが構成した最小アイドルCPUレートよりも大きく、前記第1のチューニング期間の前記第1のスピン失敗レートが前記ユーザが構成した目標を達成していない場合、前記管理コンポーネントは、
前記第1のチューニング期間の前記第1のスピン失敗レートが、前記共有メモリに記憶された最後の良好なスピン失敗レート未満であるときに、または
前記第1のチューニング期間の前記第1のスピン失敗レートがチューニングしなくては悪化するときに、
前記第1のスピンカウントを増加させるように動作する、請求項5に記載のシステム。 - 可能性のある第2のスピンカウント値の範囲がいくつかの間隔に分割され、前記管理コンポーネントは、異なる数式を用いて、異なる間隔の各々におけるチューニングされたスピンカウント値を算出するように動作する、請求項6に記載のシステム。
- 管理コンポーネントは、
アプリケーションがアイドル状態である、
アイドルCPUレートがユーザが構成した最小アイドルCPUレートよりも大きく、ユーザCPUレートが十分である、および
前記第1のスピンカウントが予め定められた期間にわたって安定して保たれている、
の少なくとも1つである場合、前記第1のスピンカウントを減少させるように動作する、請求項2〜7のいずれか1項に記載のシステム。 - 管理コンポーネントは、
前記第2のチューニング期間の前記第2のスピン失敗レートが予め定められた要件を満たしている、
前記第2のチューニング期間の前記第2のスピンカウントが予め定められた上限または下限スピンカウントに到達している、および
前記第2のチューニング期間の前記第2のスピン失敗レートが安定して保たれている、
の少なくとも1つである場合、前記第1のスピンカウントを維持するように動作する、請求項2〜8のいずれか1項に記載のシステム。 - 管理コンポーネントは、
スピン失敗を有するプロセスを、前記共有メモリ内の前記データに対するロックの解除を待機するようにセマフォ待機キューに入れ、
ロック所有者が前記共有メモリ内の前記データに対する前記ロックを解除すると、前記データにアクセスし、
前記セマフォ待機キューが空でない場合、前記TASオペレーションを行なう前記プロセスに追加のスピンカウントを加える
ように動作する、請求項2〜9のいずれか1項に記載のシステム。 - 命令を含む機械読取可能なプログラムであって、前記命令は、実行されると、システムに、
複数のプロセスの各プロセスによって、第1のチューニング期間において、第1のスピンカウントを用いて、共有メモリ内のデータに対するロックを取得するために複数のテスト・アンド・セット(TAS)オペレーションを行なうことを実行させ、
前記第1のスピンカウントは、前記第1のチューニング期間について許容されるTASオペレーションの第1の最大回数を特定し、
前記命令は、前記システムに、
前記共有メモリに記憶された最後の良好なスピンカウントとして前記第1のスピンカウントを記憶することと、
前記第1のチューニング期間の第1のスピン失敗レートを取得することとを実行させ、
前記第1のチューニング期間について許容される前記第1の最大回数のTASオペレーションを行った後で前記複数のプロセスのうちの1のプロセスがロックの取得に失敗した場合、第1のスピン失敗が発生し、
前記命令は、前記システムに、
取得した前記第1のスピン失敗レートに基づいて、前記第1のチューニング期間後の第2のチューニング期間の第2のスピンカウントを適応的に構成することを実行させ、
前記第2のスピンカウントは、前記第2のチューニング期間について許容されるTASオペレーションの第2の最大回数を特定し、
前記命令は、前記システムに、
前記複数のプロセスの各プロセスによって、前記第2のチューニング期間において前記第2のスピンカウントを用いて、前記共有メモリ内のデータに対するロックを取得するために前記複数のTASオペレーションを行なうことと、
前記第2のチューニング期間の第2のスピン失敗レートを取得することとをさらに実行させ、
前記第2のチューニング期間について許容される前記第2の最大回数のTASオペレーションを行った後で前記複数のプロセスのうちの1のプロセスがロックの取得に失敗した場合、第2のスピン失敗が発生し、
前記命令は、前記システムに、
前記第2のスピン失敗レートが前記第1のスピン失敗レート未満である場合に、前記第2のスピンカウントになるように、前記第2のチューニング期間後の次のチューニング期間の次のスピンカウントを構成し、前記最後の良好なスピンカウントとして前記第2のスピンカウントを記憶することと、
前記第2のスピン失敗レートが前記第1のスピン失敗レートよりも大きい場合に、前記最後の良好なスピンカウントになるように、前記第2のチューニング期間後の次のチューニング期間の次のスピンカウントを構成することとをさらに実行させる、プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/076594 WO2015165073A1 (en) | 2014-04-30 | 2014-04-30 | System and method for supporting adaptive self-tuning locking mechanism in transactional middleware machine environment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017515234A JP2017515234A (ja) | 2017-06-08 |
JP6446475B2 true JP6446475B2 (ja) | 2018-12-26 |
Family
ID=54355309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016565190A Active JP6446475B2 (ja) | 2014-04-30 | 2014-04-30 | トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9846603B2 (ja) |
JP (1) | JP6446475B2 (ja) |
KR (1) | KR102239280B1 (ja) |
CN (1) | CN106471486B (ja) |
WO (1) | WO2015165073A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017131624A1 (en) * | 2016-01-26 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | A unified lock |
US10740158B2 (en) * | 2018-05-02 | 2020-08-11 | EMC IP Holding Company LLC | Synchronization object aborting systems and methods |
CN110309024B (zh) * | 2019-04-23 | 2023-07-18 | 网宿科技股份有限公司 | 数据处理系统及其执行数据处理任务的方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5295262A (en) * | 1991-05-16 | 1994-03-15 | International Business Machines Corporation | Read-only access without blocking via access vectors |
JP2853608B2 (ja) | 1995-05-30 | 1999-02-03 | 日本電気株式会社 | 並列処理システムのファイルアクセス制御方式 |
US6119115A (en) * | 1998-03-12 | 2000-09-12 | Microsoft Corporation | Method and computer program product for reducing lock contention in a multiple instruction execution stream processing environment |
US6148300A (en) * | 1998-06-19 | 2000-11-14 | Sun Microsystems, Inc. | Hybrid queue and backoff computer resource lock featuring different spin speeds corresponding to multiple-states |
JP2001084235A (ja) * | 1999-09-10 | 2001-03-30 | Nec Corp | ロック粒度統計情報を利用した排他制御方法及びプログラムを記録した機械読み取り可能な記録媒体 |
US6549961B1 (en) | 1999-10-27 | 2003-04-15 | Infineon Technologies North America Corporation | Semaphore access in a multiprocessor system |
US6687904B1 (en) * | 1999-11-22 | 2004-02-03 | Sun Microsystems, Inc. | Method and apparatus for selecting a locking policy based on a per-object locking history |
NZ532773A (en) | 2001-11-01 | 2005-11-25 | Verisign Inc | Transactional memory manager |
CA2374290A1 (en) * | 2002-03-01 | 2003-09-01 | Ibm Canada Limited-Ibm Canada Limitee | Updating spin counters for spin latches |
US7051026B2 (en) * | 2002-07-31 | 2006-05-23 | International Business Machines Corporation | System and method for monitoring software locks |
US7610585B2 (en) * | 2004-06-03 | 2009-10-27 | Intel Corporation | Thread synchronization methods and apparatus for managed run-time environments |
US7594234B1 (en) * | 2004-06-04 | 2009-09-22 | Sun Microsystems, Inc. | Adaptive spin-then-block mutual exclusion in multi-threaded processing |
GB0518516D0 (en) * | 2005-09-10 | 2005-10-19 | Ibm | Managing a resource lock |
CN101546275B (zh) | 2008-03-26 | 2012-08-22 | 中国科学院微电子研究所 | 一种获取多处理器硬件信号量的方法 |
CN101256509B (zh) * | 2008-04-07 | 2010-09-01 | 中兴通讯股份有限公司 | 一种锁机制的加锁方法、解锁方法和实现方法 |
US8191046B2 (en) * | 2008-10-06 | 2012-05-29 | Microsoft Corporation | Checking transactional memory implementations |
US8392925B2 (en) * | 2009-03-26 | 2013-03-05 | Apple Inc. | Synchronization mechanisms based on counters |
US8495311B2 (en) * | 2009-06-25 | 2013-07-23 | International Business Machines Corporation | Updating shared variables atomically |
US9575985B2 (en) * | 2009-12-07 | 2017-02-21 | Novell, Inc. | Distributed lock administration |
US8782352B2 (en) * | 2011-09-29 | 2014-07-15 | Oracle International Corporation | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment |
US9354945B2 (en) * | 2012-10-12 | 2016-05-31 | International Business Machines Corporation | Managing a lock to a resource shared among a plurality of processors |
US9772888B2 (en) * | 2013-04-10 | 2017-09-26 | Wind River Systems, Inc. | Semaphore with timeout and lock-free fast path for message passing architectures |
-
2014
- 2014-04-30 WO PCT/CN2014/076594 patent/WO2015165073A1/en active Application Filing
- 2014-04-30 KR KR1020167033477A patent/KR102239280B1/ko active IP Right Grant
- 2014-04-30 JP JP2016565190A patent/JP6446475B2/ja active Active
- 2014-04-30 CN CN201480078564.5A patent/CN106471486B/zh active Active
- 2014-06-19 US US14/309,328 patent/US9846603B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR102239280B1 (ko) | 2021-04-13 |
CN106471486A (zh) | 2017-03-01 |
WO2015165073A1 (en) | 2015-11-05 |
CN106471486B (zh) | 2019-05-17 |
JP2017515234A (ja) | 2017-06-08 |
US9846603B2 (en) | 2017-12-19 |
US20150317191A1 (en) | 2015-11-05 |
KR20160147984A (ko) | 2016-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9559977B2 (en) | System and method for supporting a dynamic resource broker in a transactionial middleware machine environment | |
US9389907B2 (en) | System and method for providing a distributed transaction lock in a transactional middleware machine environment | |
US8756379B2 (en) | Managing concurrent accesses to a cache | |
JP6832291B2 (ja) | アプリケーションサーバを並列起動するためのシステムおよび方法 | |
US8914588B2 (en) | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment | |
JP6446475B2 (ja) | トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法 | |
JP2020184365A (ja) | アプリケーションサーバを並列起動するためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170407 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170407 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180502 |
|
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: 20181106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6446475 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 |