CA2447973A1 - Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system - Google Patents

Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system Download PDF

Info

Publication number
CA2447973A1
CA2447973A1 CA002447973A CA2447973A CA2447973A1 CA 2447973 A1 CA2447973 A1 CA 2447973A1 CA 002447973 A CA002447973 A CA 002447973A CA 2447973 A CA2447973 A CA 2447973A CA 2447973 A1 CA2447973 A1 CA 2447973A1
Authority
CA
Canada
Prior art keywords
lock
message
resource
holder
lock 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.)
Granted
Application number
CA002447973A
Other languages
French (fr)
Other versions
CA2447973C (en
Inventor
Sashikanth Chandrasekaran
David Brower
Roger Bamford
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2447973A1 publication Critical patent/CA2447973A1/en
Application granted granted Critical
Publication of CA2447973C publication Critical patent/CA2447973C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

Abstract

A method and apparatus are provided for improving the performance associated with transferring a data item and obtaining a lock in a multi-node system by interpreting the block transfer message as a lock grant message. Typically when a Holder of a data item transfers a data item (e.g. block) to a Requestor of that data item, the Holder will down-convert its lock for that data item and send a message to the Master of this data item indicating that a down-convert has been performed. Subsequently, the Master sends a lock grant message to the Requestor of the data item to inform the Requestor that it has been granted a lock for the data item. By interpreting the block transfer message as a lock grant message, the down-convert message and the lock grant message can be eliminated, which results in improved performance.

Claims (18)

1. A method for managing access to a resource, the method comprising the computer-implemented steps of:

sending from a requestor to a master of the resource a lock mode request for a lock mode on the resource;

receiving the resource at the requestor from a holder of the resource; and accessing the resource as if the requestor had been granted the lock mode request without waiting to receive an express lock mode grant from the master.
2. The method of Claim 1 further comprising the computer-implemented steps of:

detecting whether the step of receiving the resource at the requestor will occur;
and if the requestor does receive the resource sending a lock assume message from the requestor to the master to inform the master that the requestor has assumed the lock mode relative to the resource.
3. A method for managing access to a resource, the method comprising the computer-implemented steps of:

receiving at a holder an inform lock holder message that a requestor needs the resource, where the holder currently holds the resource and a first lock mode on the resource;

transferring the resource to the requestor in response to receiving the inform lock holder message without sending a status message to a master of the resource wherein the status message is a down-convert message or a release lock message; and updating a lock mode record, maintained by the holder, to indicate that the holder has down-converted from the first lock mode to a second lock mode for the resource.
4. The method of Claim 3 further comprising the computer-implemented steps of:

sending an update lock message to the master wherein the update lock message indicates the second lock mode for the resource.
5. The method of Claim 3 further comprising the computer-implemented steps of:
receiving at the holder a message from a sender;

wherein the message includes a third lock mode on the resource;

detecting that the first lock mode and the third lock mode do not match;
and sending a lock status message to the sender;

wherein the lock status message includes the first lock mode.
6. The method of Claim 3 further comprising the computer-implemented steps of:

receiving at the holder a single batched inform lock holder message that contains all information necessary to transfer the resource to a plurality of requestors; and transferring the resource to the plurality of requestors.
7. The method of Claim 3 further comprising the computer-implemented steps of:

sending a lock access message from the holder to a master.
8. A method for managing access to a resource, the method comprising the computer-implemented steps of:

receiving at a master a request message which indicates that a requestor needs a particular resource of a plurality of resources, where the master maintains plurality of lock mode records corresponding to the plurality of resources;

sending from the master to a holder an inform lock holder message to indicate to the holder that the requestor needs the particular resource;

receiving a lock access message from the requestor where the lock access message indicates that the requestor has assumed a lock mode relative to the particular resource; and performing an update to a particular lock mode record of the plurality of lock mode records in response to receiving the lock access message;

wherein the update indicates that the requestor has assumed the lock mode on the particular resource.
9. The method of Claim 8 wherein the computer-implemented step of performing an update to a particular lock mode record of the plurality of lock mode records in response to receiving the plurality of lock mode records in response to receiving the lock access message:

is performed prior to receiving any status message from the holder relating to the particular resource;

wherein the status message is a down-convert message or a release lock message.
10. The method of Claim 8 wherein the computer-implemented step of performing an update to a particular lock mode record of the plurality of lock mode records in response to receiving the plurality of lock mode records in response to receiving the lock access message:

is performed without receiving the status message from the holder relating to the particular resource;

wherein the status message is a down-convert message or a release lock message.
11. The method of Claim 8 further comprising the computer-implemented step of:

receiving at the master a plurality of request messages which indicate that a plurality of requestors need the particular resource; and sending from the master to the holder the inform lock holder message wherein the inform lock holder message contains all information from the plurality of request messages that is necessary for the holder to transfer the particular resource to the plurality of requestors.
12. The method of Claim 8 further comprising the computer-implemented step of:

receiving at the master a message from a sender;

wherein the message includes a second lock mode on the particular resource;

detecting that the lock mode and the second lock mode do not match; and sending a lock status message to the sender;
wherein the lock status message includes the lock mode.
13. The method of Claim 8 further comprising the computer-implemented step of:

receiving at the master a second request message;

wherein the request message and the second request message both contain requests for the resource in exclusive lock mode;
and queueing the second request message until the master receives the lock access message from the requestor.
14. The method of Claim 8 further comprising the computer-implemented step of:

designating one holder out of a plurality of holders wherein the plurality of holders all have respective lock modes for the particular resource;

sending a plurality of broadcast inform lock holder messages to the plurality of holders except for the one holder indicating that the requestor needs the particular resource;

receiving a plurality of update lock messages from the plurality of holders except for the one holder;

wherein the a plurality of update lock messages indicates the respective lock modes of the plurality of holders;

wherein in the step of sending the inform lock holder message from the master to receiving a plurality of update lock messages from the plurality of holders except for the one holder;

wherein the a plurality of update lock messages indicates the respective lock modes of the plurality of holders;

wherein, in the step of sending the inform lock holder message from the master to the holder, the inform lock holder message is sent from the master to the one holder to indicate to the one holder that the requestor needs the particular resource; and wherein, in the step of performing an update to a particular lock mode record of the plurality of lock mode records, the update is performed in response to receiving the lock access message without receiving a status message;

wherein the status message is a down-convert message or a release lock message.
15. A computer system comprising:

a processor;

a memory having stored instructions of the computer system causing the processor to perform the computer-implemented steps of the method recited in Claim 1 or Claim 2.
16. A computer system comprising:

a processor;

a memory, coupled to the processor, containing:

a resource and a first lock mode on the resource; and a lock mode record associated with the resource;
having stored instructions of the computer system causing the processor to perform the computer-implemented steps of the method recited in any one of Claims 3-7.
17. A computer system comprising:
a processor;
a memory, coupled to the processor, containing:
a particular lock mode record of a plurality of lock mode records corresponding to a lock mode of a particular resource of a plurality of resources, where a master maintains the plurality of lock mode records corresponding to the plurality of resources;
having stored instructions of the computer system causing the processor to perform the computer-implemented steps of the method recited in any one of Claims 8-14.
18. A computer-readable medium carrying one or more sequences of instructions for managing access to a resource, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the method as recited in any one of Claims 1-14.
CA2447973A 2001-05-31 2002-05-08 Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system Expired - Lifetime CA2447973C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/871,853 2001-05-31
US09/871,853 US7107319B2 (en) 2001-05-31 2001-05-31 Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system
PCT/US2002/014710 WO2002099658A2 (en) 2001-05-31 2002-05-08 Reducing latency and message traffic during data and lock transfer in a multi-node system

Publications (2)

Publication Number Publication Date
CA2447973A1 true CA2447973A1 (en) 2002-12-12
CA2447973C CA2447973C (en) 2010-04-13

Family

ID=25358293

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2447973A Expired - Lifetime CA2447973C (en) 2001-05-31 2002-05-08 Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system

Country Status (10)

Country Link
US (1) US7107319B2 (en)
EP (1) EP1390847B1 (en)
JP (1) JP4098233B2 (en)
CN (1) CN1258142C (en)
AT (1) ATE399341T1 (en)
AU (1) AU2002308664B2 (en)
CA (1) CA2447973C (en)
DE (1) DE60227251D1 (en)
HK (1) HK1058712A1 (en)
WO (1) WO2002099658A2 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076510B2 (en) * 2001-07-12 2006-07-11 Brown William P Software raid methods and apparatuses including server usage based write delegation
WO2003027853A1 (en) * 2001-09-21 2003-04-03 Polyserve, Inc. A system and method for synchronisation for enforcing mutual exclusion among multiple negotiators
US8495131B2 (en) * 2002-10-08 2013-07-23 International Business Machines Corporation Method, system, and program for managing locks enabling access to a shared resource
US7289992B2 (en) * 2003-05-01 2007-10-30 International Business Machines Corporation Method, system, and program for lock and transaction management
US7496574B2 (en) * 2003-05-01 2009-02-24 International Business Machines Corporation Managing locks and transactions
US7660829B2 (en) * 2003-05-30 2010-02-09 Microsoft Corporation System and method for delegating file system operations
US7647595B2 (en) * 2003-10-29 2010-01-12 Oracle International Corporation Efficient event notification in clustered computing environments
US20050155011A1 (en) * 2004-01-12 2005-07-14 Stephan Heik Method and system for restricting access in a distributed job environment
US7627573B2 (en) * 2004-03-27 2009-12-01 Cisco Technology, Inc. Bypassing native storage operations by communicating protected data within locking messages using a lock manager independent of the storage mechanism
US7403945B2 (en) * 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
US7548918B2 (en) * 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7716260B2 (en) * 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US20060136508A1 (en) * 2004-12-16 2006-06-22 Sam Idicula Techniques for providing locks for file operations in a database management system
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7551617B2 (en) 2005-02-08 2009-06-23 Cisco Technology, Inc. Multi-threaded packet processing architecture with global packet memory, packet recirculation, and coprocessor
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
JP4784928B2 (en) * 2005-08-24 2011-10-05 株式会社リコー Information processing apparatus, information processing system, information processing method, information processing program, and recording medium therefor
GB0518516D0 (en) * 2005-09-10 2005-10-19 Ibm Managing a resource lock
US7739426B1 (en) 2005-10-31 2010-06-15 Cisco Technology, Inc. Descriptor transfer logic
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
US20090158298A1 (en) * 2007-12-12 2009-06-18 Abhishek Saxena Database system and eventing infrastructure
JP2009199344A (en) * 2008-02-21 2009-09-03 Toshiba Corp Data processing unit
US8543773B2 (en) * 2008-08-25 2013-09-24 International Business Machines Corporation Distributed shared memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6346290A (en) 1989-08-14 1991-04-03 Microsoft Corporation Method and system for opportunistic locking in a networked computer system
US5285528A (en) * 1991-02-22 1994-02-08 International Business Machines Corporation Data structures and algorithms for managing lock states of addressable element ranges
JP2533266B2 (en) * 1991-06-14 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション Locking method of data resource in shared data system and data lock management method between systems
EP0569605A1 (en) 1992-05-06 1993-11-18 International Business Machines Corporation Method for controlling the access of multiple processors to shared data
US5596754A (en) 1992-10-29 1997-01-21 Digital Equipment Corporation Method for performing private lock management
US5454108A (en) * 1994-01-26 1995-09-26 International Business Machines Corporation Distributed lock manager using a passive, state-full control-server
US6353836B1 (en) * 1998-02-13 2002-03-05 Oracle Corporation Method and apparatus for transferring data from the cache of one node to the cache of another node
US6405274B1 (en) * 1998-12-30 2002-06-11 Oracle Corporation Anticipatory lock mode conversions in a lock management system
US6453404B1 (en) * 1999-05-27 2002-09-17 Microsoft Corporation Distributed data cache with memory allocation model
US7389293B2 (en) * 2000-12-20 2008-06-17 Oracle International Corporation Remastering for asymmetric clusters in high-load scenarios
US6587921B2 (en) * 2001-05-07 2003-07-01 International Business Machines Corporation Method and apparatus for cache synchronization in a clustered environment
US7376744B2 (en) * 2003-05-09 2008-05-20 Oracle International Corporation Using local locks for global synchronization in multi-node systems

Also Published As

Publication number Publication date
CA2447973C (en) 2010-04-13
WO2002099658A2 (en) 2002-12-12
ATE399341T1 (en) 2008-07-15
WO2002099658A3 (en) 2003-04-24
JP2004529443A (en) 2004-09-24
AU2002308664B2 (en) 2007-06-28
DE60227251D1 (en) 2008-08-07
HK1058712A1 (en) 2004-05-28
JP4098233B2 (en) 2008-06-11
US20020184216A1 (en) 2002-12-05
US7107319B2 (en) 2006-09-12
CN1513139A (en) 2004-07-14
EP1390847B1 (en) 2008-06-25
EP1390847A2 (en) 2004-02-25
CN1258142C (en) 2006-05-31

Similar Documents

Publication Publication Date Title
CA2447973A1 (en) Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system
JP2004529443A5 (en)
TWI326828B (en) A dma controller with multiple intra-channel software request support
EP1741023B1 (en) Communicating protected data within locking messages
JP3074636B2 (en) Parallel computer system
CN112422615A (en) Communication method and device
JP2008506195A (en) System and method for providing distributed cache coherence
JPH11120156A (en) Data communication system in multiprocessor system
JP2004005657A (en) Information processing method and device
CA2305510A1 (en) I/o forwarding in a cache coherent shared disk computer system
US20090070560A1 (en) Method and Apparatus for Accelerating the Access of a Multi-Core System to Critical Resources
US20070214143A1 (en) NFS server, NFS server control program and NFS server control method
AU2002308664A1 (en) Reducing latency and message traffic during data and lock transfer in a multi-node system
JP6129976B2 (en) Method and apparatus using high efficiency atomic operations
JP2009508215A (en) Delayed arbitration of memory access requests
US8108573B2 (en) Apparatus, system, and method for enqueue prioritization
CN111782419B (en) Cache updating method, device, equipment and storage medium
JP2008544371A (en) How to handle lock-related inconsistencies
US9703739B2 (en) Return available PPI credits command
US6832300B2 (en) Methods and apparatus for control of asynchronous cache
US7013463B2 (en) Latch mechanism for concurrent computing environments
US6681260B1 (en) Data transfer method in function expansion system
JP2555941B2 (en) Bus arbitration method
JP2001067238A (en) Distributed exclusion and sharing control method and device therefor, and machine-readable recording medium where program is precorded
JPH07210320A (en) Multiplexed interface for filing device and control method therefor

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20220509