×

System and method for supporting an adaptive self-tuning locking mechanism in a transactional middleware machine environment

  • US 9,846,603 B2
  • Filed: 06/19/2014
  • Issued: 12/19/2017
  • Est. Priority Date: 03/07/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method for supporting an adaptive locking mechanism in a transactional middleware machine environment, the method comprising:

  • monitoring performing, via each process of a plurality of processes during a first tuning period and using a first spin count, test-and-set (TAS) operations in order to obtain locks for data in a shared memory, wherein the first spin count specifies a first maximum number of rounds of the TAS operations that are allowed by each process of the plurality of processes during the first tuning period;

    storing the first spin count as a last good spin count;

    obtaining a first spin failure rate for the first tuning period, wherein a first spin failure comprises a process of the plurality of processes failing to obtain a lock after performing the first maximum number of rounds of the TAS operations that are allowed to the process during the first tuning period;

    adaptively configuring a second spin count for a second tuning period after the first tuning period based on the obtained first spin failure rate, wherein the second spin count is different than the last good spin count and specifies a second maximum number of rounds of the TAS operations that are allowed by each process of the plurality of processes during the second tuning period;

    monitoring performing, via each process of the plurality of processes during the second tuning period and using the second spin count, the TAS operations in order to obtain locks for the data in the shared memory;

    obtaining a second spin failure rate for the second tuning period, wherein a second spin failure comprises a process of the plurality of processes failing to obtain a lock after performing the second maximum number of rounds of the TAS operations that are allowed to the process during the second tuning period;

    selectively configuring a next spin count for a next tuning period after the second tuning period to be the second spin count and storing the second spin count as the last good spin count responsive to the second spin failure rate being less than the first spin failure rate; and

    selectively configuring the next spin count for the next tuning period after the second tuning period to be the last good spin count responsive to the second spin failure rate being greater than the first spin failure rate.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×