Method, system, and program for remote resource management
First Claim
1. A method comprising:
- adding a remote operation request of a first resource type sent to a remote processor from a local processor, as an entry in a first queue of remote operation requests of the first resource type awaiting execution in connection with a first resource in the remote processor;
adding a remote operation request of a second resource type sent to the remote processor from the local processor, as an entry in a second queue of remote operations of the second resource type awaiting execution by a second resource in the remote processor;
initiating execution of a remote operation request of the first resource type from the first queue using the resource of the first resource type of the remote processor;
initiating execution of a remote operation request of the second resource type from the second queue using the resource of the second resource type of the remote processor;
removing a remote operation request entry from the first queue;
removing a remote operation request entry from the second queue;
sending the local processor an acknowledgment that an additional remote operation request of the first resource type may be sent to the remote processor for execution;
sending the local processor an acknowledgment that an additional remote operation request of the second resource type may be sent to the remote processor for execution;
sending a remote operation request of a first resource type to the remote processor to be executed in connection with a first resource type of the remote processor;
decrementing a first count of credits for each remote operation of the first resource type sent to the remote processor wherein each credit of said first count indicates a permissible remote operation which is permitted to be sent to be executed in connection with an associated resource of the first resource type of the remote processor;
receiving an acknowledgment from the remote processor that another remote operation of the first resource type may be sent to the remote processor;
incrementing the first count of credits for each acknowledgment from the remote processor that another remote operation of the first resource type may be sent to the remote processor;
sending a remote operation request of a second resource type to the remote processor to be executed in connection with a second resource type of the remote processor;
decrementing a second count of credits for each remote operation of the second resource type sent to the remote processor wherein each credit of said second count indicates a permissible remote operation which is permitted to be sent to be executed in connection with an associated resource of the second resource type of the remote processor;
receiving an acknowledgment from the remote processor that another remote operation of the second resource type may be sent to the remote processor; and
incrementing the second count of credits for each acknowledgment from the remote processor that another remote operation of the second resource type may be sent to the remote processor.
3 Assignments
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for managing resources in which a local processor sends remote operation requests to be executed by a remote processor having multiple resources. In the illustrated embodiment, the local processor and the remote processor each have a resource manager, each of which maintains a control set for each resource of the remote processor. Each control set of the remote processor resource manager includes a queue for queuing remote operation requests awaiting execution in connection with the resource associated with the control set. Each control set of the local processor resource manager includes a credit counter which keeps track of permissible outstanding remote operation requests. Each local processor control set credit counter is decremented for each remote operation request for the associated resource sent to the remote processor and is incremented for each acknowledgment received from the remote processor. For each remote processor control set, the remote processor resource manager sends an acknowledgment for each remote operation request initiated in connection with the associated resource. For each local processor control set, the local processor resource manager queues remote operation requests if the control set credit counter falls below a threshold after being initialized in accordance with the capacity of the associated remote processor control set queue.
58 Citations
8 Claims
-
1. A method comprising:
-
adding a remote operation request of a first resource type sent to a remote processor from a local processor, as an entry in a first queue of remote operation requests of the first resource type awaiting execution in connection with a first resource in the remote processor; adding a remote operation request of a second resource type sent to the remote processor from the local processor, as an entry in a second queue of remote operations of the second resource type awaiting execution by a second resource in the remote processor; initiating execution of a remote operation request of the first resource type from the first queue using the resource of the first resource type of the remote processor; initiating execution of a remote operation request of the second resource type from the second queue using the resource of the second resource type of the remote processor; removing a remote operation request entry from the first queue; removing a remote operation request entry from the second queue; sending the local processor an acknowledgment that an additional remote operation request of the first resource type may be sent to the remote processor for execution; sending the local processor an acknowledgment that an additional remote operation request of the second resource type may be sent to the remote processor for execution; sending a remote operation request of a first resource type to the remote processor to be executed in connection with a first resource type of the remote processor; decrementing a first count of credits for each remote operation of the first resource type sent to the remote processor wherein each credit of said first count indicates a permissible remote operation which is permitted to be sent to be executed in connection with an associated resource of the first resource type of the remote processor; receiving an acknowledgment from the remote processor that another remote operation of the first resource type may be sent to the remote processor; incrementing the first count of credits for each acknowledgment from the remote processor that another remote operation of the first resource type may be sent to the remote processor; sending a remote operation request of a second resource type to the remote processor to be executed in connection with a second resource type of the remote processor; decrementing a second count of credits for each remote operation of the second resource type sent to the remote processor wherein each credit of said second count indicates a permissible remote operation which is permitted to be sent to be executed in connection with an associated resource of the second resource type of the remote processor; receiving an acknowledgment from the remote processor that another remote operation of the second resource type may be sent to the remote processor; and incrementing the second count of credits for each acknowledgment from the remote processor that another remote operation of the second resource type may be sent to the remote processor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
sending a remote operation request of a first resource type to a remote processor to be executed in connection with a first resource type of the remote processor; decrementing a first count of credits for each remote operation of the first resource type sent to the remote processor wherein each credit of said first count indicates a permissible remote operation which is permitted to be sent to be executed in connection with an associated resource of the first resource type of the remote processor; receiving an acknowledgment from the remote processor that another remote operation of the first resource type may be sent to the remote processor; incrementing the first count of credits for each acknowledgment from the remote processor that another remote operation of the first resource type may be sent to the remote processor; sending a remote operation request of a second resource type to the remote processor to be executed in connection with a second resource type of the remote processor; decrementing a second count of credits for each remote operation of the second resource type sent to the remote processor wherein each credit of said second count indicates a permissible remote operation which is permitted to be sent to be executed in connection with an associated resource of the second resource type of the remote processor; receiving an acknowledgment from the remote processor that another remote operation of the second resource type may be sent to the remote processor; incrementing the second count of credits for each acknowledgment from the remote processor that another remote operation of the second resource type may be sent to the remote processor; if the first count of credits is below a predetermined threshold, queuing a remote operation request of the first resource type in a first queue of remote operation requests of the first resource type awaiting being sent to the remote processor to be executed in connection with the first resource type of the remote processor; if the second count of credits is below a predetermined threshold, queuing a remote operation request of the second resource type in a second queue of remote operation requests of the second resource type awaiting being sent to the remote processor to be executed in connection with the second resource type of the remote processor; if the first count of credits is above a predetermined threshold, sending a remote operation request of the first resource type from the first queue to the remote processor to be executed in connection with the first resource type of the remote processor; and if the second count of credits is above a predetermined threshold, sending a remote operation request of the second resource type from the second queue to the remote processor to be executed in connection with the second resource type of the remote processor.
-
Specification