JP5621904B2 - ロック制御装置、ロック制御プログラムおよびロック制御方法 - Google Patents
ロック制御装置、ロック制御プログラムおよびロック制御方法 Download PDFInfo
- Publication number
- JP5621904B2 JP5621904B2 JP2013500805A JP2013500805A JP5621904B2 JP 5621904 B2 JP5621904 B2 JP 5621904B2 JP 2013500805 A JP2013500805 A JP 2013500805A JP 2013500805 A JP2013500805 A JP 2013500805A JP 5621904 B2 JP5621904 B2 JP 5621904B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- task
- acquisition
- acquired
- mode
- 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
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
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
次に、図6〜8を用いて、ロック制御装置20が有するロック要求処理部21、競合判定部22、ロック解放処理部23が実行する処理の流れを説明する。まず、図6を用いて、ロック要求処理部21が実行する処理の流れを説明する。図6は、実施例1に関わるロック要求処理部が実行する処理の流れを説明するための図である。ロック要求処理部21は、タスク2〜4がロックの取得を要求したことをトリガとして、処理を開始する。
上述したように、実施例1に関わるロック制御装置20は、非対称マトリックス11に従って、各タスク2〜4による共用リソースのロックの取得を制御する。また、ロック制御装置20は、各タスク2〜4によるロックの取得要求が競合しているか否かを判定する。そして、ロック制御装置20は、各タスク2〜4によるロックの取得要求が競合していると判定した場合には、一時マトリックス13に従って、各タスク2〜4による共用リソースのロックの取得を制御する。
上述したように、実施例2に係るロック制御装置20aは、「排他モード」でロックを取得したタスクによるロックの解放を、「共用モード」でロックを取得したタスクが、所定の時間が経過するまでの間、待機した場合には、競合が発生したと判定する。つまり、ロック制御装置20aの競合判定部22aは、「排他モード」でロックを取得したタスクと「共用モード」でロックを取得したタスクとが、所定の時間が経過するまでの間、待機した場合には、競合が発生したと判定する。
上述した競合判定部22は、あるタスクが「共用モード」でロックを取得している際に、他のタスクが「排他モード」でロックを取得し、さらに、「共用モード」でロックを取得していたタスクが「共用モード」で重複するロックの取得を要求した場合には、競合が発生したと判定した。また、上述した競合判定部22aは、あるタスクが「排他モード」でロックを取得し、他のタスクが「共用モード」でロックを取得してから、所定の時間が経過するまでの間、両タスクが待機した場合には、競合が発生したと判定した。
図2に示す非対称マトリックス11は、ロック取得の可否を示す情報として「Y」、「Y(待ち)」、「N」が格納されていた。また、図3に示す一時マトリックス13は、ロック取得の可否を示す情報として「Y(排他モードのまま)」、「N」が格納されていた。しかし、これらロック取得の可否を示す情報は、あくまで例示であり、上述した機能を果たすための情報であれば、任意の情報を格納することができる。
ところで、上記した実施例1〜3では、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図15を用いて、実施例1に示したロック制御装置20と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図15は、ロック制御プログラムを実行するコンピュータの一例を説明するための図である。
2〜4、30、31 タスク
10 非対称マトリックス記憶部
11 非対称マトリックス
12 一時マトリックス記憶部
13 一時マトリックス
14 ロック管理情報記憶部
15 ロック管理情報
20 ロック制御装置
21 ロック要求処理部
22 競合判定部
23 ロック解放処理部
Claims (8)
- 複数のタスクが共用する共用資源を利用するために前記タスクにより取得されているロックの種別と取得が要求されたロックの種別との組み合わせごとに、当該取得が要求されたロックの取得を許可するか否かを示す第1のロック情報に従って、前記タスクによるロックの取得を制御する制御部と、
前記タスクによるロックの取得要求により前記第1のロック情報に従って前記ロックの取得を制御した場合に新たなロックの取得が行えないデッドロックが生じるか否かを判別する判別部と
を有し、
前記制御部は、前記判別部により前記デッドロックが生じると判別された場合には、前記デッドロックを回避するように、現在取得されているロックの種別と取得が要求されたロックの種別との組み合わせごとに当該取得が要求されたロックの取得の可否が設定された第2のロック情報に従って、前記タスクによるロックの取得を制御することを特徴とするロック制御装置。 - 前記制御部は、現在取得されているロックの状態が、当該ロックを取得したタスク以外にも共用資源の参照を認める共用状態である際に、ロックを取得したタスクのみが共用資源を利用することができる排他状態でのロックの取得を他のタスクが要求した場合には、当該他のタスクに前記排他状態でのロックの取得を許可するとともに、前記共用状態でロックを取得したタスクがロックを解放するまでの間、前記他のタスクによる共用資源の利用を待機させることを示す前記第1のロック情報に従う
ことを特徴とする請求項1に記載のロック制御装置。 - 前記制御部は、現在取得されているロックの状態が前記排他状態である際に、他のタスクが前記共用状態でのロックの取得を要求した場合には、前記取得されているロックの状態を前記排他状態に保ったまま、前記他のタスクによる前記共用資源の参照を許可することを示す前記第2のロック情報に従うことを特徴とする請求項2に記載のロック制御装置。
- 前記判別部は、前記共用状態でロックを取得したタスクが、所定の時間が経過するまでの間、前記排他状態でロックを取得したタスクによるロックの解放を待機した場合には、前記デッドロックか生じたと判別することを特徴とする請求項2または3に記載のロック制御装置。
- 前記判別部は、前記ロックの状態が前記共用状態である際に前記排他状態でロックを取得したタスクが存在し、かつ、前記共用状態のロックを取得したタスクが再度前記共用状態でロックの取得を要求した場合には、前記デッドロックか生じたと判別することを特徴とする請求項2または3に記載のロック制御装置。
- 前記判別部は、前記ロックの状態が前記共用状態である際に前記排他状態でロックを取得したタスクが存在する際に、新たなタスクが前記共用状態によるロックの取得を要求した場合には、当該新たなタスクが他にも前記共用状態でロックを取得しているか否かを判別し、前記新たなタスクが他にも前記共用状態でロックを取得していると判別した場合には、前記デッドロックか生じたと判別することを特徴とする請求項2または3に記載のロック制御装置。
- タスクを実行する情報処理装置によって実行されるロック制御プログラムであって、
複数のタスクが共用する共用資源を利用するために前記タスクにより取得されているロックの種別と取得が要求されたロックの種別との組み合わせごとに、当該取得が要求されたロックの取得を許可するか否かを示す第1のロック情報に従って、前記タスクによるロックの取得を制御し、
前記タスクによるロックの取得要求により前記第1のロック情報に従って前記ロックの取得を制御した場合に新たなロックの取得が行えないデッドロックが生じるか否かを判別し、
前記デッドロックが生じると判別された場合には、前記デッドロックを回避するように、現在取得されているロックの種別と取得が要求されたロックの種別との組み合わせごとに当該取得が要求されたロックの取得の可否が設定された第2のロック情報に従って、前記タスクによるロックの取得を制御する
処理を前記情報処理装置が有するコンピュータに実行させることを特徴とするロック制御プログラム。 - 複数のタスクが共用する共用資源を管理する情報処理装置によって実行されるロック制御方法であって、
前記共用資源を利用するために前記タスクにより取得されているロックの種別と、取得が要求されたロックの種別との組み合わせごとに、当該取得が要求されたロックの取得を許可するか否かを示す第1のロック情報に従って、前記タスクによるロックの取得を制御し、
前記タスクによるロックの取得要求により前記第1のロック情報に従って前記ロックの取得を制御した場合に新たなロックの取得が行えないデッドロックが生じるか否かを判別し、
前記デッドロックが生じると判別された場合には、前記デッドロックを回避するように、現在取得されているロックの種別と取得が要求されたロックの種別との組み合わせごとに当該取得が要求されたロックの取得の可否が設定された第2のロック情報に従って、前記タスクによるロックの取得を制御する
処理を前記情報処理装置が実行することを特徴とするロック制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/054353 WO2012114516A1 (ja) | 2011-02-25 | 2011-02-25 | ロック制御装置、ロック制御プログラムおよびロック制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012114516A1 JPWO2012114516A1 (ja) | 2014-07-07 |
JP5621904B2 true JP5621904B2 (ja) | 2014-11-12 |
Family
ID=46720332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013500805A Active JP5621904B2 (ja) | 2011-02-25 | 2011-02-25 | ロック制御装置、ロック制御プログラムおよびロック制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9411660B2 (ja) |
JP (1) | JP5621904B2 (ja) |
WO (1) | WO2012114516A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461707B (zh) * | 2014-11-28 | 2018-09-28 | 华为技术有限公司 | 一种锁请求处理方法及装置 |
US10459909B2 (en) * | 2016-01-13 | 2019-10-29 | Walmart Apollo, Llc | System for providing a time-limited mutual exclusivity lock and method therefor |
US11157332B2 (en) * | 2016-07-06 | 2021-10-26 | International Business Machines Corporation | Determining when to release a lock from a first task holding the lock to grant to a second task waiting for the lock |
US11113261B2 (en) * | 2018-01-19 | 2021-09-07 | Sap Se | Data locking |
US10802874B1 (en) * | 2018-09-26 | 2020-10-13 | Vmware, Inc. | Cloud agnostic task scheduler |
US11075823B1 (en) | 2018-10-31 | 2021-07-27 | Vmware, Inc. | Techniques for network packet event related script execution |
CN109901933B (zh) * | 2019-01-18 | 2022-02-25 | 口碑(上海)信息技术有限公司 | 业务系统的操作方法及装置、存储介质、电子装置 |
US11960942B2 (en) * | 2021-04-12 | 2024-04-16 | EMC IP Holding Company, LLC | System and method for identifying lock sequence conflicts |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63124139A (ja) * | 1986-11-14 | 1988-05-27 | Nec Corp | 共有資源排他制御方式 |
JPH02291028A (ja) * | 1989-04-28 | 1990-11-30 | Fujitsu Ltd | 計算機資源の排他制御方式 |
JPH0423047A (ja) * | 1990-05-17 | 1992-01-27 | Nec Corp | 共有資源排他制御方式 |
JPH0659917A (ja) * | 1992-08-05 | 1994-03-04 | Hitachi Ltd | 共用資源の排他制御方式 |
JPH06282448A (ja) * | 1993-03-29 | 1994-10-07 | Nec Corp | 共有資源排他制御方式 |
JPH1011302A (ja) * | 1996-06-20 | 1998-01-16 | Hitachi Ltd | 共有ロックを許す排他制御のデッドロック検出方法及び検出装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4096561A (en) * | 1976-10-04 | 1978-06-20 | Honeywell Information Systems Inc. | Apparatus for the multiple detection of interferences |
US4249241A (en) * | 1978-10-23 | 1981-02-03 | International Business Machines Corporation | Object access serialization apparatus for a data processing system |
JPH0383142A (ja) | 1989-08-28 | 1991-04-09 | Nec Corp | 共有資源排他制御方式 |
US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
JP2699600B2 (ja) * | 1990-01-30 | 1998-01-19 | 日本電気株式会社 | 資源の排他制御方式 |
US5247672A (en) * | 1990-02-15 | 1993-09-21 | International Business Machines Corporation | Transaction processing system and method with reduced locking |
US5263155A (en) * | 1991-02-21 | 1993-11-16 | Texas Instruments Incorporated | System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks |
JP2781092B2 (ja) * | 1991-11-06 | 1998-07-30 | 富士通株式会社 | システム間排他制御方式 |
US5392433A (en) * | 1992-09-25 | 1995-02-21 | International Business Machines Corporation | Method and apparatus for intraprocess locking of a shared resource in a computer system |
US5469575A (en) * | 1992-10-16 | 1995-11-21 | International Business Machines Corporation | Determining a winner of a race in a data processing system |
US5734909A (en) * | 1995-09-01 | 1998-03-31 | International Business Machines Corporation | Method for controlling the locking and unlocking of system resources in a shared resource distributed computing environment |
US5737611A (en) * | 1996-04-05 | 1998-04-07 | Microsoft Corporation | Methods for dynamically escalating locks on a shared resource |
US6052781A (en) * | 1997-02-21 | 2000-04-18 | Savvy Frontiers Property Trust | Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation |
US6141720A (en) * | 1997-06-12 | 2000-10-31 | Cabletron Systems, Inc. | Method and apparatus for coordination of a shared object in a distributed system |
US6480918B1 (en) * | 1998-12-22 | 2002-11-12 | International Business Machines Corporation | Lingering locks with fairness control for multi-node computer systems |
US6542891B1 (en) * | 1999-01-29 | 2003-04-01 | International Business Machines Corporation | Safe strength reduction for Java synchronized procedures |
US6412034B1 (en) * | 1999-04-16 | 2002-06-25 | Oracle Corporation | Transaction-based locking approach |
US7500037B2 (en) * | 2007-01-30 | 2009-03-03 | International Business Machines Corporation | System, method and program for managing locks |
US8352658B2 (en) * | 2010-05-27 | 2013-01-08 | Microsoft Corporation | Fabric based lock manager service |
-
2011
- 2011-02-25 WO PCT/JP2011/054353 patent/WO2012114516A1/ja active Application Filing
- 2011-02-25 JP JP2013500805A patent/JP5621904B2/ja active Active
-
2013
- 2013-08-21 US US13/972,572 patent/US9411660B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63124139A (ja) * | 1986-11-14 | 1988-05-27 | Nec Corp | 共有資源排他制御方式 |
JPH02291028A (ja) * | 1989-04-28 | 1990-11-30 | Fujitsu Ltd | 計算機資源の排他制御方式 |
JPH0423047A (ja) * | 1990-05-17 | 1992-01-27 | Nec Corp | 共有資源排他制御方式 |
JPH0659917A (ja) * | 1992-08-05 | 1994-03-04 | Hitachi Ltd | 共用資源の排他制御方式 |
JPH06282448A (ja) * | 1993-03-29 | 1994-10-07 | Nec Corp | 共有資源排他制御方式 |
JPH1011302A (ja) * | 1996-06-20 | 1998-01-16 | Hitachi Ltd | 共有ロックを許す排他制御のデッドロック検出方法及び検出装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2012114516A1 (ja) | 2012-08-30 |
US9411660B2 (en) | 2016-08-09 |
JPWO2012114516A1 (ja) | 2014-07-07 |
US20130339560A1 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5621904B2 (ja) | ロック制御装置、ロック制御プログラムおよびロック制御方法 | |
US8875151B2 (en) | Load balancing method and apparatus in symmetric multi-processor system | |
US9778962B2 (en) | Method for minimizing lock contention among threads when tasks are distributed in multithreaded system and apparatus using the same | |
CN101253483B (zh) | 管理资源锁的方法和系统 | |
EP2437168A2 (en) | Method and device for balancing load of multiprocessor system | |
US20090172686A1 (en) | Method for managing thread group of process | |
US9875141B2 (en) | Managing pools of dynamic resources | |
JP2017534994A (ja) | 複数の同時実行中スレッド間における共有可能リソースの排他的制御を管理するための方法、システム、およびコンピュータ・プログラム | |
JP2008191949A (ja) | マルチコアシステムおよびマルチコアシステムの負荷分散方法 | |
US20150301871A1 (en) | Busy lock and a passive lock for embedded load management | |
JP5818824B2 (ja) | デュアル・モード・リーダ・ライタ・ロック | |
JP2011175378A (ja) | マルチプロセッサシステム、及びマルチプロセッサシステムの動作方法 | |
JP5300005B2 (ja) | スレッド実行制御方法、およびシステム | |
US8677373B2 (en) | Computation resource control apparatus, computation resource control method, and non-transitory computer-readable recording medium | |
CN110032441B (zh) | 提升服务器性能的方法及装置和电子设备 | |
CN106557477B (zh) | 在存储器中锁定文件的方法和设备 | |
JP2009541852A5 (ja) | ||
JP5676664B2 (ja) | リソース管理装置、リソースの管理方法、及びプログラム | |
KR20180082560A (ko) | 태스크의 시간-기반 스케줄링을 위한 방법 및 장치 | |
CN102662742A (zh) | 一种基于锁的线程管理方法及装置 | |
JP2017201486A (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
JP6462521B2 (ja) | 通常部の故障が安全部へ伝播することを防止するapi及びその処理部 | |
WO2019044226A1 (ja) | アクセス制御装置 | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
JP2011118688A (ja) | 排他制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140610 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140801 |
|
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: 20140826 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5621904 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |