×

LOCK CONTROL IN MULTIPLE PROCESSOR SYSTEMS

  • US 20130305253A1
  • Filed: 03/07/2013
  • Published: 11/14/2013
  • Est. Priority Date: 05/19/2011
  • Status: Active Grant
First Claim
Patent Images

1. A method of operating a system comprising a plurality of processors and one or more storage devices, the system arranged to execute a plurality of tasks, each task comprising one or more threads and each task being assigned a priority from 1 to a whole number greater than 1, each thread of a task being assigned a same priority as a corresponding task and each thread being executed by a processor of the system, the system providing lock and unlock functions arranged to lock and unlock data stored by a storage device in response to a request from a requesting thread, the method comprising:

  • maintaining a queue of threads that require access to locked data;

    maintaining an array comprising, for each priority, at least one of a duration and a throughput information for threads of the priority;

    setting a wait flag for the priority in the array according to a predefined algorithm calculated from the at least one of the duration and the throughput information in the array;

    responsive to a thread releasing a lock on data, determining that the next thread that requires a lock on the released data is to be executed on a processor for the thread that released the lock;

    responsive to determining that the next thread that requires the lock on the released data is to be executed on the processor for the thread that released the lock, determining that the wait flag is set in the array for a priority of a next thread; and

    responsive to a determination that the wait flag is set in the array for a priority of a next thread, delaying execution of the next thread for a predetermined time delay.

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