Managing concurrent accesses by a set of tasks to a shared resource of a computer system
AssigneeInternational Business Machines Corporation
InventorsReinhold Geiselhart, Knut Stolze, Felix Beier, Luis Eduardo Oliveira Lizardo
Life of this patent
Estimating the term…
Abstract
Managing concurrent accesses by a set of tasks to a shared resource of a computer system. Synchronizing the set of tasks for assigning and releasing a resource according to a predefined access period with flexibility of providing an extended access period where an external task is not detected during the predefined access period. Where an extended access period is provided, resynchronizing is performed, and the external task is identified and access is prevented when the external task is determined to be a particular type of task.
Claims20
A method for managing concurrent accesses by a set of tasks to a shared resource of a computer system, the method comprising:
- synchronizing a set of tasks including:
- assigning a shared resource to each task of the set of tasks at a time during an access time period, the access time period having a start time tstart and an end time tend0, the assigning including:
- responsive to receiving from the task an access request, determining to grant access to the task at tstart;
- executing a resource assigning step at a point of time tenable0;
- and
- executing a resource releasing step at the point of time tend0,
- wherein a duration of the access time period exceeds a predefined duration for detecting an external task trying to access the shared resource, the external task not being within the set of tasks;
- responsive to the duration of the access time period exceeding the predefined duration, delaying the resource assigning step by a first delay period Δt1j such that tenablej=tenable0+Δt1j, and/or delaying the resource releasing step by a second delay period Δt2j such that tendj=tend0+Δt2j, thereby extending the access time period by a delay period Δtj to create an extended access time interval;
- resynchronizing the set of tasks during the extended access time interval;
- identifying an external task that is trying to access the shared resource during the extended access time interval;
- and
- configuring the computer system for preventing accesses to the shared resource by external tasks having a type of the identified external task.
A computer program product comprising a computer-readable storage medium having a set of instructions stored therein which, when executed by a processor, causes the processor to manage concurrent accesses by a set of tasks to a shared resource of a computer system by:
- synchronizing a set of tasks including:
- assigning a shared resource to each task of the set of tasks at a time during an access time period, the access time period having a start time tstart and an end time tend0, the assigning including:
- responsive to receiving from the task an access request, determining to grant access to the task at tstart;
- executing a resource assigning step at a point of time tenable0;
- and
- executing a resource releasing step at the point of time tend0,
- wherein a duration of the access time period exceeds a predefined duration for detecting an external task trying to access the shared resource, the external task not being within the set of tasks;
- responsive to the duration of the access time period exceeding the predefined duration, delaying the resource assigning step by a first delay period Δt1j such that tenablej=tenable0+Δt1j, and/or delaying the resource releasing step by a second delay period Δt2j such that tendj=tend0+Δt2j, thereby extending the access time period by a delay period Δtj to create an extended access time interval;
- resynchronizing the set of tasks during the extended access time interval;
- identifying an external task that is trying to access the shared resource during the extended access time interval;
- and
- configuring the computer system for preventing accesses to the shared resource by external tasks having a type of the identified external task.
A computer system comprising:
- a processor set;
- and
- a computer readable storage medium;
- wherein:
- the processor set is structured, located, connected, and/or programmed to run program instructions stored on the computer readable storage medium;
- and
- the program instructions which, when executed by the processor set, cause the processor set to manage concurrent accesses by a set of tasks to a shared resource of a computer system by:
- synchronizing a set of tasks including:
- assigning a shared resource to each task of the set of tasks at a time during an access time period, the access time period having a start time tstart and an end time tend0, the assigning including:
- responsive to receiving from the task an access request, determining to grant access to the task at tstart;
- executing a resource assigning step at a point of time tenable0;
- and
- executing a resource releasing step at the point of time tend0,
- wherein a duration of the access time period exceeds a predefined duration for detecting an external task trying to access the shared resource, the external task not being within the set of tasks;
- responsive to the duration of the access time period exceeding the predefined duration, delaying the resource assigning step by a first delay period Δt1j such that tenablej=tenable0+Δt1j, and/or delaying the resource releasing step by a second delay period Δt2j such that tendj=tend0+Δt2j, thereby extending the access time period by a delay period Δt2j to create an extended access time interval;
- resynchronizing the set of tasks during the extended access time interval;
- identifying an external task that is trying to access the shared resource during the extended access time interval;
- and
- configuring the computer system for preventing accesses to the shared resource by external tasks having a type of the identified external task.
Dependencies are inferred from the claim text.