JP6088527B2 - トランザクショナルミドルウェアマシン環境においてセルフチューニングロックメカニズムをサポートするためのシステムおよび方法 - Google Patents
トランザクショナルミドルウェアマシン環境においてセルフチューニングロックメカニズムをサポートするためのシステムおよび方法 Download PDFInfo
- Publication number
- JP6088527B2 JP6088527B2 JP2014533604A JP2014533604A JP6088527B2 JP 6088527 B2 JP6088527 B2 JP 6088527B2 JP 2014533604 A JP2014533604 A JP 2014533604A JP 2014533604 A JP2014533604 A JP 2014533604A JP 6088527 B2 JP6088527 B2 JP 6088527B2
- Authority
- JP
- Japan
- Prior art keywords
- tas
- lock
- shared memory
- data
- 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 61
- 230000007246 mechanism Effects 0.000 title claims description 31
- 230000008569 process Effects 0.000 claims description 50
- 238000012360 testing method Methods 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 2
- 241000677635 Tuxedo Species 0.000 description 13
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 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
- 239000004744 fabric Substances 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この特許文書の開示の一部は、著作権の保護下にある内容を含む。特許商標庁の特許ファイルまたは記録に現れる限りにおいては、著作権所有者は、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
本発明は概して、コンピュータシステムおよびミドルウェアのようなソフトウェアに関し、特定的にはトランザクショナルミドルウェアマシン環境をサポートすることに関する。
トランザクショナルミドルウェアシステム、すなわちトランザクション指向のミドルウェアは、組織内の様々なトランザクションを処理することができる企業アプリケーションサーバを含む。高性能ネットワークおよびマルチプロセッサコンピュータのような新たな技術の発展により、トランザクショナルミドルウェアの性能をさらに向上させる必要がある。これらは、一般に発明の実施例が対処することが意図される分野である。
本願明細書に記載されるのは、同時トランザクションがある場合に、共有メモリ中のトランザクションデータを保護するためにトランザクショナルミドルウェアシステムにおいてサポートされることができるロックメカニズムである。トランザクショナルミドルウェアマシン環境は、各々が共有メモリ中のデータにアクセスするように動作する複数のプロセッサ上で作動するオペレーティングシステムを含む。トランザクショナルミドルウェアマシン環境は、オペレーティングシステムによって提供されるセマフォ、および1つ以上のプロセスに関連付けられるテストアンドセット(TAS)アセンブリコンポーネントも含む。各プロセスは、共有メモリ中のデータについてのロックを取得するために、TASアセンブリコンポーネントを用いて1回以上のTASオペレーションを行なうことができる。さらに、TASコンポーネントが特定数のTASオペレーションを行なった後でロックの取得に失敗した後、プロセスはセマフォをブロックし、共有メモリ中のデータに対するロックの解除を待機することができる。
本願明細書に記載されるのは、複数のプロセッサを有する高速マシンを利用することができるTuxedo(登録商標)のようなトランザクショナルミドルウェアシステムおよび高性能ネットワーク接続をサポートするためのシステムおよび方法である。同時トランザクションがある場合、共有メモリ中のトランザクションデータを保護するために、トランザクショナルミドルウェアシステムにおいてロックメカニズムをサポートすることができる。トランザクショナルミドルウェアマシン環境は、複数のプロセッサ上で作動するオペレーティングシステムによって提供されるセマフォを含む。複数のプロセッサは、共有メモリ中のデータにアクセスすることができる。トランザクショナルミドルウェアマシン環境は、1つ以上のプロセスに関連付けられるテストアンドセット(TAS)アセンブリコンポーネントも含む。各上記プロセスは、共有メモリ中のデータについてのロックを取得するために、TASアセンブリコンポーネントを用いて1回以上のTASオペレーションを行なうように動作する。その上、TASコンポーネントが多くのTASオペレーションを行ない、ロックの取得に失敗した後、プロセスは、セマフォ上でブロックされ、共有メモリ中のデータに対するロックの解除を待機する。
発明の実施例に従うと、同時トランザクションがある場合、セルフチューニングロックメカニズムは、共有メモリ中のトランザクションデータを保護するためにトランザクショナルミドルウェアシステムにおいてサポートされることができる。セルフチューニングロックメカニズムを用いると、トランザクショナルミドルウェアマシン環境は、大規模な同時トランザクションを有するアプリケーションのようなトランザクショナルアプリケーションシナリオにおける著しいスループットの向上を実現することができる。
発明の実施例に従うと、Tuxedo(登録商標)コンフィギュレーションファイルにおけるSPINCOUNTパラメータのようなメタデータを用いて、目標スピンカウントを特定することができる。SPINCOUNTは、静的な構成値または動的な構成値のいずれかであり得る。
Claims (11)
- トランザクショナルミドルウェアマシン環境においてロックメカニズムをサポートするためのシステムであって、
複数のプロセッサと、
共有メモリと、
前記複数のプロセッサ上で作動するオペレーティングシステムによって提供されるセマフォとを備え、
前記複数のプロセッサは前記共有メモリ中のデータにアクセスするように動作し、
1つ以上のプロセスに関連付けられるテストアンドセット(TAS)アセンブリコンポーネントをさらに備え、
各前記プロセスは、前記共有メモリ中のデータについてのロックを取得するために、前記TASアセンブリコンポーネントを用いて1回以上のTASオペレーションを行なうように動作し、
前記TASアセンブリコンポーネントが特定数のTASオペレーションを行ない、ロックの取得に失敗した後、プロセスは、前記セマフォ上でブロックされ、前記共有メモリ中のデータに対するロックの解除を待機するように動作し、
ロックメカニズムは、TASオペレーションの許容される特定最大回数であるスピンカウントを使用し、
前記スピンカウントは、予め定められたプロセスを用いて周期的に決定される、システム。 - トランザクショナルミドルウェアマシン環境においてロックメカニズムをサポートする方法であって、
複数のプロセッサ上で作動するオペレーティングシステムに関連付けられたセマフォを提供することを備え、前記複数のプロセッサは、共有メモリ中のデータにアクセスするように動作し、さらに、
前記共有メモリ中のデータについてのロックを取得するために、1つ以上のプロセスによって、テストアンドセット(TAS)アセンブリコンポーネントを用いて1回以上のTASオペレーションを行なうことと、
前記TASアセンブリコンポーネントが特定数のTASオペレーションを行ない、ロックの取得に失敗した後に、プロセスを前記セマフォ上でブロックし、前記共有メモリ中のデータに対するロックの解除を待機することと、
TASオペレーションの許容される特定最大回数であるスピンカウントを使用することをロックメカニズムに許可することと、
予め定められたプロセスを用いて前記スピンカウントを周期的に決定することとをさらに備える、方法。 - トランザクショナルミドルウェアマシン環境においてロックメカニズムをサポートする方法であって、
複数のプロセッサ上で作動するオペレーティングシステムに関連付けられたセマフォを提供することを備え、前記複数のプロセッサは、共有メモリ中のデータにアクセスするように動作し、さらに、
前記共有メモリ中のデータについてのロックを取得するために、1つ以上のプロセスによって、テストアンドセット(TAS)アセンブリコンポーネントを用いて1回以上のTASオペレーションを行なうことと、
前記TASアセンブリコンポーネントが特定数のTASオペレーションを行ない、ロックの取得に失敗した後に、プロセスを前記セマフォ上でブロックし、前記共有メモリ中のデータに対するロックの解除を待機することと、
TASオペレーションの許容される特定最大回数であるスピンカウントを使用することをロックメカニズムに許可することと、
ハードウェアコンフィギュレーションおよびアプリケーションシナリオの両方に基づいて前記スピンカウントを動的に決定することとをさらに備える、方法。 - 複数の同時トランザクションがある場合に、前記共有メモリ中のトランザクションデータを保護することをさらに備える、請求項2または3に記載の方法。
- メタデータにおいて前記スピンカウントをあらかじめ構成することをさらに備える、請求項2〜4のいずれか1項に記載の方法。
- 前記スピンカウントはアルゴリズムを用いて動的に決定され、前記アルゴリズムは、
先の期間のスピン失敗の回数がスピン失敗限度を越え、前記先の期間のCPUアイドル比率がCPUアイドル比率限度未満である場合、前記スピンカウントは前記先の期間のスピンカウントから増大され、
前記CPUアイドル比率がCPUアイドル比率限度を越えた場合、前記スピンカウントは前記先の期間のスピンカウントから減少されることを特定する、請求項2に記載の方法。 - 前記TASオペレーションを特定回数試みた後でプロセスがデータに対するロックの取得に失敗した場合、スピン失敗が発生する、請求項6に記載の方法。
- ロック所有者が覚醒してロックを解除する際に、前記セマフォを用いてロックを取得することをさらに備える、請求項2〜7のいずれか1項に記載の方法。
- 最適値を見つけるために、前記スピンカウントを手動で微調整することをさらに備える、請求項2から8のいずれか1項に記載の方法。
- 請求項2〜9のうちいずれか1項に記載の方法をコンピュータに行なわせる、プログラム。
- トランザクショナルミドルウェアマシン環境においてロックメカニズムをサポートするためのシステムであって、
複数のプロセッサと、
共有メモリと、
前記複数のプロセッサ上で作動するオペレーティングシステムによって提供されるセマフォとを備え、
前記複数のプロセッサは前記共有メモリ中のデータにアクセスするように動作し、
1つ以上のプロセスに関連付けられるテストアンドセット(TAS)アセンブリコンポーネントをさらに備え、
各前記プロセスは、前記共有メモリ中のデータについてのロックを取得するために、前記TASアセンブリコンポーネントを用いて1回以上のTASオペレーションを行なうように動作し、
前記TASアセンブリコンポーネントが特定数のTASオペレーションを行ない、ロックの取得に失敗した後、プロセスは、前記セマフォ上でブロックされ、前記共有メモリ中のデータに対するロックの解除を待機するように動作し、
ロックメカニズムは、TASオペレーションの許容される特定最大回数であるスピンカウントを使用し、
前記スピンカウントは、ハードウェアコンフィギュレーションおよびアプリケーションシナリオの両方に基づいて動的に決定される、システム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161541051P | 2011-09-29 | 2011-09-29 | |
US61/541,051 | 2011-09-29 | ||
US13/414,593 US8782352B2 (en) | 2011-09-29 | 2012-03-07 | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment |
US13/414,593 | 2012-03-07 | ||
PCT/US2012/055942 WO2013048826A1 (en) | 2011-09-29 | 2012-09-18 | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014528609A JP2014528609A (ja) | 2014-10-27 |
JP2014528609A5 JP2014528609A5 (ja) | 2015-10-01 |
JP6088527B2 true JP6088527B2 (ja) | 2017-03-01 |
Family
ID=47993775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014533604A Active JP6088527B2 (ja) | 2011-09-29 | 2012-09-18 | トランザクショナルミドルウェアマシン環境においてセルフチューニングロックメカニズムをサポートするためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8782352B2 (ja) |
JP (1) | JP6088527B2 (ja) |
KR (1) | KR101964392B1 (ja) |
CN (1) | CN103842986B (ja) |
IN (1) | IN2014CN01325A (ja) |
WO (1) | WO2013048826A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2523804B (en) * | 2014-03-06 | 2021-03-31 | Advanced Risc Mach Ltd | Transactional memory support |
CN106471486B (zh) * | 2014-04-30 | 2019-05-17 | 甲骨文国际公司 | 用于在事务中间件机器环境中支持自适应自调整锁定机制的系统和方法 |
EP3304297A1 (en) * | 2015-06-04 | 2018-04-11 | Siemens Aktiengesellschaft | Method and system for clustering engineering data in a multidisciplinary engineering system |
US10459909B2 (en) * | 2016-01-13 | 2019-10-29 | Walmart Apollo, Llc | System for providing a time-limited mutual exclusivity lock and method therefor |
WO2017131624A1 (en) * | 2016-01-26 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | A unified lock |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050072A (en) | 1988-06-17 | 1991-09-17 | Modular Computer Systems, Inc. | Semaphore memory to reduce common bus contention to global memory with localized semaphores in a multiprocessor system |
JP2853608B2 (ja) * | 1995-05-30 | 1999-02-03 | 日本電気株式会社 | 並列処理システムのファイルアクセス制御方式 |
JPH10269027A (ja) * | 1997-03-26 | 1998-10-09 | Toshiba Corp | ディスク装置及び同装置におけるバッファ管理制御方法 |
CA2302784A1 (en) * | 1997-09-17 | 1999-03-25 | Frank C. Luyster | Improved block cipher method |
US6549961B1 (en) | 1999-10-27 | 2003-04-15 | Infineon Technologies North America Corporation | Semaphore access in a multiprocessor system |
KR20010045288A (ko) * | 1999-11-04 | 2001-06-05 | 이계철 | 다중 데이터 관리 미들웨어 시스템에서의 공유메모리를이용한 스키마 관리 방법 |
JP2001229678A (ja) * | 1999-12-07 | 2001-08-24 | Toshiba Corp | 半導体記憶装置 |
US20010033654A1 (en) * | 2000-01-13 | 2001-10-25 | Gabor Wieser | W-EC1 encryption and decryption method and system |
US7430627B2 (en) | 2000-12-19 | 2008-09-30 | International Business Machines Corporation | Adaptive reader-writer lock |
AU2002356886A1 (en) * | 2001-11-01 | 2003-05-12 | Verisign, Inc. | Method and system for processing query messages over a network |
CA2374290A1 (en) * | 2002-03-01 | 2003-09-01 | Ibm Canada Limited-Ibm Canada Limitee | Updating spin counters for spin latches |
US7697690B2 (en) * | 2003-07-21 | 2010-04-13 | Hewlett-Packard Development Company, L.P. | Windowed backward key rotation |
US7594234B1 (en) | 2004-06-04 | 2009-09-22 | Sun Microsystems, Inc. | Adaptive spin-then-block mutual exclusion in multi-threaded processing |
KR100596394B1 (ko) * | 2004-12-13 | 2006-07-04 | 한국전자통신연구원 | 유닉스 시스템에서 이중화된 공유메모리 접근 제어 방법및 장치 |
US20060143511A1 (en) | 2004-12-29 | 2006-06-29 | Huemiller Louis D Jr | Memory mapped spin lock controller |
US7984248B2 (en) | 2004-12-29 | 2011-07-19 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
US8028133B2 (en) | 2006-02-22 | 2011-09-27 | Oracle America, Inc. | Globally incremented variable or clock based methods and apparatus to implement parallel transactions |
CN101546275B (zh) * | 2008-03-26 | 2012-08-22 | 中国科学院微电子研究所 | 一种获取多处理器硬件信号量的方法 |
-
2012
- 2012-03-07 US US13/414,593 patent/US8782352B2/en active Active
- 2012-09-18 CN CN201280047496.7A patent/CN103842986B/zh active Active
- 2012-09-18 WO PCT/US2012/055942 patent/WO2013048826A1/en active Application Filing
- 2012-09-18 KR KR1020147005377A patent/KR101964392B1/ko active IP Right Grant
- 2012-09-18 JP JP2014533604A patent/JP6088527B2/ja active Active
- 2012-09-18 IN IN1325CHN2014 patent/IN2014CN01325A/en unknown
-
2014
- 2014-05-20 US US14/282,947 patent/US8914588B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014528609A (ja) | 2014-10-27 |
US20130086333A1 (en) | 2013-04-04 |
CN103842986B (zh) | 2017-07-04 |
US8782352B2 (en) | 2014-07-15 |
IN2014CN01325A (ja) | 2015-04-24 |
US8914588B2 (en) | 2014-12-16 |
CN103842986A (zh) | 2014-06-04 |
KR101964392B1 (ko) | 2019-04-01 |
US20140344529A1 (en) | 2014-11-20 |
WO2013048826A1 (en) | 2013-04-04 |
KR20140068909A (ko) | 2014-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6397053B2 (ja) | トランザクションミドルウェアマシン環境に分散トランザクションのロックを提供するためのシステムおよび方法 | |
US9559977B2 (en) | System and method for supporting a dynamic resource broker in a transactionial middleware machine environment | |
US9558048B2 (en) | System and method for managing message queues for multinode applications in a transactional middleware machine environment | |
US7328438B2 (en) | Deallocation of computer data in a multithreaded computer | |
JP6088527B2 (ja) | トランザクショナルミドルウェアマシン環境においてセルフチューニングロックメカニズムをサポートするためのシステムおよび方法 | |
US10579413B2 (en) | Efficient task scheduling using a locking mechanism | |
US10198271B2 (en) | System and method for booting application servers in parallel | |
US20100251250A1 (en) | Lock-free scheduler with priority support | |
JP6446475B2 (ja) | トランザクションミドルウェアマシン環境において適応セルフチューニングロックメカニズムをサポートするためのシステムおよび方法 | |
US7209920B2 (en) | Low-overhead consistency check for shared resource using flux indicator | |
Vikranth et al. | Affinity-Aware Synchronization in Work Stealing Run-Times for NUMA Multi-core Processors | |
Dhoked et al. | Memory Reclamation for Recoverable Mutual Exclusion | |
US20050240650A1 (en) | Service enablement via on demand resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150811 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150811 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160809 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161012 |
|
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: 20170110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6088527 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 |
|
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 |