JP2017515234A - トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法 - Google Patents
トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2017515234A JP2017515234A JP2016565190A JP2016565190A JP2017515234A JP 2017515234 A JP2017515234 A JP 2017515234A JP 2016565190 A JP2016565190 A JP 2016565190A JP 2016565190 A JP2016565190 A JP 2016565190A JP 2017515234 A JP2017515234 A JP 2017515234A
- Authority
- JP
- Japan
- Prior art keywords
- spin
- tuning period
- lock
- failure rate
- rate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 35
- 230000007246 mechanism Effects 0.000 title claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 54
- 238000012360 testing method Methods 0.000 claims abstract description 7
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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 (20)
- トランザクションミドルウェアマシン環境において適応ロックメカニズムをサポートするための方法であって、
複数のプロセスの各プロセスによって、共有メモリ内のデータに対するロックを取得するために1つ以上のテスト・アンド・セット(TAS)オペレーションを行なうことと、
現在のチューニング期間のスピン失敗レートを取得することとを備え、許容される最大回数のTASオペレーションを行った後でプロセスが前記ロックの取得に失敗した場合、スピン失敗が発生し、前記方法はさらに、
取得した前記スピン失敗レートに基づいて次のチューニング期間のスピンカウントを適応的に構成することを備え、前記スピンカウントは、前記次のチューニング期間について許容されるTASオペレーションの最大回数を特定する、方法。 - アセンブリコンポーネントを用いて前記1つ以上のTASオペレーションを行なうことをさらに備える、請求項1に記載の方法。
- メタデータを用いて前記スピンカウントを予め構成することをさらに備える、請求項1に記載の方法。
- 前記現在のチューニング期間のアイドルCPUレートがユーザが構成した最小アイドルCPUレートよりも大きいか否か、および前記現在のチューニング期間のスピン失敗率がユーザが構成した目標を達成しているか否かを判断することをさらに備える、請求項1に記載の方法。
- 前記現在のチューニング期間のアイドルCPUレートがユーザが構成した最小アイドルCPUレートよりも大きく、前記現在のチューニング期間のスピン失敗率がユーザが構成した目標を達成していない場合、
前記現在のチューニング期間の前記スピン失敗率が最後の良好なスピン失敗率よりも良好であるときに、または
前記現在のチューニング期間の前記スピン失敗率がチューニングしなくては悪化するときに、
前記スピンカウントを増加させることをさらに備える、請求項4に記載の方法。 - 可能性のあるスピンカウント値の範囲をいくつかの間隔に分割することと、
異なる数式を用いて、異なる間隔の各々におけるチューニングされたスピンカウント値を算出することとをさらに備える、請求項5に記載の方法。 - アプリケーションがアイドル状態である、
前記アイドルCPU率がユーザが構成した最小アイドルCPUレートよりも大きく、前記ユーザCPU率が十分である、および
前記スピンカウントがある期間にわたって安定して保たれている、
の少なくとも1つである場合、前記スピンカウントを減少させることをさらに備える、請求項1に記載の方法。 - 前記現在のチューニング期間の前記スピン失敗率が要件を満たしている、
前記現在のチューニング期間の前記スピンカウントが上限または下限に到達している、および
前記現在のチューニング期間の前記スピン失敗率が安定して保たれている、
の少なくとも1つである場合、前記スピンカウントを維持することをさらに備える、請求項1に記載の方法。 - スピン失敗を有するプロセスによって、前記共有メモリ内の前記データに対するロックの解除をセマフォ待機キュー内で待機することと、
ロック所有者が前記共有メモリ内の前記データに対する前記ロックを解除すると、前記データにアクセスすることとをさらに備える、請求項1に記載の方法。 - 前記セマフォ待機キューが空でない場合、前記TASオペレーションを行なう各プロセスに追加のスピンカウントを加えることをさらに備える、請求項9に記載の方法。
- トランザクションミドルウェアマシン環境において適応ロックメカニズムを提供するためのシステムであって、
1つ以上のプロセッサと、
複数のプロセスとを備え、前記複数のプロセスの各プロセスは、共有メモリ内のデータに対するロックを取得するために1つ以上のテスト・アンド・セット(TAS)オペレーションを行なうように動作し、前記システムはさらに、
前記1つ以上のプロセッサ上で実行されるトランザクションサーバを備え、前記トランザクションサーバは、
現在のチューニング期間のスピン失敗レートを取得するように動作し、許容される最大回数のTASオペレーションを行った後でプロセスが前記ロックの取得に失敗した場合、スピン失敗が発生し、前記トランザクションサーバはさらに、
取得した前記スピン失敗レートに基づいて次のチューニング期間のスピンカウントを適応的に構成するように動作し、前記スピンカウントは、前記次のチューニング期間について許容されるTASオペレーションの最大回数を特定する、システム。 - アセンブリコンポーネントを用いて前記1つ以上のTASオペレーションを行なう、請求項11に記載のシステム。
- 前記スピンカウントはメタデータを用いて予め構成される、請求項11に記載のシステム。
- 管理コンポーネントは、前記現在のチューニング期間のアイドルCPUレートがユーザが構成した最小アイドルCPUレートよりも大きいか否か、および前記現在のチューニング期間のスピン失敗率がユーザが構成した目標を達成しているか否かを判断するように動作する、請求項11に記載のシステム。
- 前記現在のチューニング期間のアイドルCPUレートがユーザが構成した最小アイドルCPUレートよりも大きく、前記現在のチューニング期間のスピン失敗率がユーザが構成した目標を達成していない場合、前記管理コンポーネントは、
前記現在のチューニング期間の前記スピン失敗率が最後の良好なスピン失敗率よりも良好であるときに、または
前記現在のチューニング期間の前記スピン失敗率がチューニングしなくては悪化するときに、
前記スピンカウントを増加させるように動作する、請求項14に記載のシステム。 - 可能性のあるスピンカウント値の範囲がいくつかの間隔に分割され、前記管理コンポーネントは、異なる数式を用いて、異なる間隔の各々におけるチューニングされたスピンカウント値を算出するように動作する、請求項15に記載のシステム。
- 管理コンポーネントは、
アプリケーションがアイドル状態である、
前記アイドルCPU率がユーザが構成した最小アイドルCPUレートよりも大きく、前記ユーザCPU率が十分である、および
前記スピンカウントがある期間にわたって安定して保たれている、
の少なくとも1つである場合、前記スピンカウントを減少させるように動作する、請求項11に記載のシステム。 - 管理コンポーネントは、
前記現在のチューニング期間の前記スピン失敗率が要件を満たしている、
前記現在のチューニング期間の前記スピンカウントが上限または下限に到達している、および
前記現在のチューニング期間の前記スピン失敗率が安定して保たれている、
の少なくとも1つである場合、前記スピンカウントを維持するように動作する、請求項11に記載のシステム。 - 管理コンポーネントは、
スピン失敗を有するプロセスを、前記共有メモリ内の前記データに対するロックの解除を待機するようにセマフォ待機キューに入れ、
ロック所有者が前記共有メモリ内の前記データに対する前記ロックを解除すると、前記データにアクセスし、
前記セマフォ待機キューが空でない場合、前記TASオペレーションを行なう前記プロセスに追加のスピンカウントを加える
ように動作する、請求項11に記載のシステム。 - 命令を格納している非一時的な機械読取可能記憶媒体であって、前記命令は、実行されると、システムに、
複数のプロセスの各プロセスによって、共有メモリ内のデータに対するロックを取得するために1つ以上のテスト・アンド・セット(TAS)オペレーションを行なうことと、
現在のチューニング期間のスピン失敗レートを取得することとを備えるステップを実行させ、許容される最大回数のTASオペレーションを行った後でプロセスが前記ロックの取得に失敗した場合、スピン失敗が発生し、前記ステップはさらに、
取得した前記スピン失敗レートに基づいて次のチューニング期間のスピンカウントを適応的に構成することを備え、前記スピンカウントは、前記次のチューニング期間について許容されるTASオペレーションの最大回数を特定する、機械読取可能記憶媒体。
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 true JP2017515234A (ja) | 2017-06-08 |
JP6446475B2 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 | 网宿科技股份有限公司 | 数据处理***及其执行数据处理任务的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001084235A (ja) * | 1999-09-10 | 2001-03-30 | Nec Corp | ロック粒度統計情報を利用した排他制御方法及びプログラムを記録した機械読み取り可能な記録媒体 |
JP2001297008A (ja) * | 1999-11-22 | 2001-10-26 | Sun Microsyst Inc | オブジェクトごとのロック履歴に基づくロック方針選択方法および装置 |
WO2013048826A1 (en) * | 2011-09-29 | 2013-04-04 | Oracle International Corporation | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment |
Family Cites Families (19)
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 |
US6549961B1 (en) | 1999-10-27 | 2003-04-15 | Infineon Technologies North America Corporation | Semaphore access in a multiprocessor system |
WO2003038596A1 (en) | 2001-11-01 | 2003-05-08 | Verisign, Inc. | High speed non-concurrency controlled database |
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 |
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 CN CN201480078564.5A patent/CN106471486B/zh active Active
- 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 WO PCT/CN2014/076594 patent/WO2015165073A1/en active Application Filing
- 2014-06-19 US US14/309,328 patent/US9846603B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001084235A (ja) * | 1999-09-10 | 2001-03-30 | Nec Corp | ロック粒度統計情報を利用した排他制御方法及びプログラムを記録した機械読み取り可能な記録媒体 |
JP2001297008A (ja) * | 1999-11-22 | 2001-10-26 | Sun Microsyst Inc | オブジェクトごとのロック履歴に基づくロック方針選択方法および装置 |
WO2013048826A1 (en) * | 2011-09-29 | 2013-04-04 | Oracle International Corporation | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment |
Also Published As
Publication number | Publication date |
---|---|
JP6446475B2 (ja) | 2018-12-26 |
CN106471486A (zh) | 2017-03-01 |
WO2015165073A1 (en) | 2015-11-05 |
US20150317191A1 (en) | 2015-11-05 |
KR102239280B1 (ko) | 2021-04-13 |
US9846603B2 (en) | 2017-12-19 |
KR20160147984A (ko) | 2016-12-23 |
CN106471486B (zh) | 2019-05-17 |
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 | |
US20140143367A1 (en) | Robustness in a scalable block storage system | |
US10198271B2 (en) | System and method for booting application servers in parallel | |
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 |