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 a remote processor; and 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 a remote processor.
- 2. The method of claim 1 further comprising:
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; and 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; and 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.
- 3. The method of claim 2 further comprising:
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; 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; 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.
- 4. The method of claim 3 further comprising:
if the first count of credits is below a predetermined threshold, queuing a remote operation request of the first resource type in a third queue of remote operation requests of the first resource type awaiting to be sent 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 below a predetermined threshold, queuing a remote operation request of the second resource type in a fourth queue of remote operation requests of the second resource type awaiting to be sent to the remote processor to be executed in connection with the second resource type of the remote processor.
- 5. The method of claim 4 further comprising:
if the first count of credits is above a predetermined threshold, sending a remote operation request of the first resource type from the third 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 fourth queue to the remote processor to be executed in connection with the second resource type of the remote processor.
- 6. The method of claim 3 further comprising:
incrementing a third count of credits for each initiation of execution of a remote operation of the first resource type; decrementing the third count of credits for each acknowledgment sent that an additional remote operation request of the first resource type may be sent to the remote processor for execution; incrementing a fourth count of credits for each initiation of execution of a remote operation of the second resource type; and decrementing said fourth count of credits for each acknowledgment sent that an additional remote operation request of the second resource type may be sent to the remote processor for execution.
- 7. The method of claim 6 further comprising:
if the third count of credits is below a predetermined threshold, delaying 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 until the third count of credits is above a predetermined threshold; and if the fourth count of credits is below a predetermined threshold, delaying 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 until the fourth count of credits is above a predetermined threshold.
- 8. The method of claim 3 further comprising:
attaching an operation code identifying the resource type of a remote operation request prior to sending a remote operation request to the remote processor; and decoding the operation code of a remote operation request upon receipt of the remote operation request by the remote processor to identify the resource type.
- 9. The method of claim 3 wherein the first queue has a first maximum number of entries and said first count of credits has a first maximum which matches the first maximum number of entries of said first queue and the second queue has a second maximum number of entries and said second count of credits has a second maximum which matches the second maximum number of entries of said second queue.
- 10. 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; 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; 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.
- 11. The method of claim 10 further comprising:
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; and 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.
- 12. 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; 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; 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.
- 13. A article of manufacture for managing remote operation requests sent from a local processor to a remote processor, wherein the article of manufacture causes operations to be performed, the operations 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 by a first resource in a remote processor; and 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 a remote processor.
- 14. The article of manufacture of claim 13 further comprising the operations of:
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; and 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.
- 15. The article of manufacture of claim 14 further comprising the operations of:
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; 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; 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.
- 16. The article of manufacture of claim 15 further comprising the operations of:
if the first count of credits is below a predetermined threshold, queuing a remote operation request of the first resource type in a third queue of remote operation requests of the first resource type awaiting to be sent 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 below a predetermined threshold, queuing a remote operation request of the second resource type in a fourth queue of remote operation requests of the second resource type awaiting to be sent to the remote processor to be executed in connection with the second resource type of the remote processor.
- 17. The article of manufacture of claim 16 further comprising the operations of:
if the first count of credits is above a predetermined threshold, sending a remote operation request of the first resource type from the third 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 fourth queue to the remote processor to be executed in connection with the second resource type of the remote processor.
- 18. The article of manufacture of claim 15 further comprising the operations of:
incrementing a third count of credits for each initiation of execution of a remote operation of the first resource type; decrementing said third count of credits for each acknowledgment sent that an additional remote operation request of the first resource type may be sent to the remote processor for execution; incrementing a fourth count of credits for each initiation of execution of a remote operation of the second resource type; and decrementing said fourth count of credits for each acknowledgment sent that an additional remote operation request of the second resource type may be sent to the remote processor for execution.
- 19. The article of manufacture of claim 18 further comprising the operations of:
if the third count of credits is below a predetermined threshold, delaying 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 until the third count of credits is above a predetermined threshold; and if the fourth count of credits is below a predetermined threshold, delaying 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 until the fourth count of credits is above a predetermined threshold.
- 20. The article of manufacture of claim 15 further comprising the operations of:
attaching an operation code identifying the resource type of a remote operation request prior to sending a remote operation request to the remote processor; and decoding the operation code of a remote operation request upon receipt of the remote operation request by the remote processor to identify the resource type.
- 21. The article of manufacture of claim 15 wherein the first queue has a first maximum number of entries and said first count of credits has a first maximum which matches the first maximum number of entries of said first queue and the second queue has a second maximum number of entries and said second count of credits has a second maximum which matches the second maximum number of entries of said second queue.
- 22. A article of manufacture for managing remote operation requests sent from a local processor to a remote processor, wherein the article of manufacture causes operations to be performed, the operations 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; 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; 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.
- 23. The article of manufacture of claim 22 further comprising the operations of:
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; and 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.
- 24. A article of manufacture for managing remote operation requests sent from a local processor to a remote processor, wherein the article of manufacture causes operations to be performed, the operations 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; 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; 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.
- 25. A system, comprising:
a local processor having a first resource management means for sending remote operation requests of a first resource type and of a second resource type; and a remote processor having a first resource means for executing remote operations of the first resource type and a second resource means for executing remote operation requests of the second resource type, and a second resource management means for receiving remote operation requests of the first resource type and the second resource type, said second resource management means having a first queue means including a plurality of entries for storing a remote operation request of the first resource type sent to the remote processor from the local processor to await execution by said first resource means in the remote processor, and having a second queue means including a plurality of entries for storing a remote operation request of the second resource type sent to the remote processor from the local processor to await execution by said second resource means in the remote processor.
- 26. The system of claim 25 wherein said second resource management means further comprises means for:
initiating execution of a remote operation request of the first resource type from the first queue means using the first resource means of the remote processor; initiating execution of a remote operation request of the second resource type from the second queue means using the resource of the second resource type of the remote processor; removing a remote operation request entry from the first queue means; removing a remote operation request entry from the second queue means; 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; and 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.
- 27. The system of claim 26 wherein the first resource management means further comprises means for:
decrementing a first count of credits for each remote operation of the first resource type sent to 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; decrementing a second count of credits for each remote operation of the second resource type sent to 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.
- 28. The system of claim 27 wherein the first resource management means further comprises:
a third queue means including a plurality of entries for storing remote operation requests of the first resource type awaiting to be sent to the remote processor to be executed in connection with the first resource type of the remote processor; means for queuing a remote operation request of the first resource type in the third queue means if the first count of credits is below a predetermined threshold; a fourth queue means including a plurality of entries for storing remote operation requests of the second resource type awaiting to be sent to the remote processor to be executed in connection with the second resource type of the remote processor and means for queuing a remote operation request of the second resource type in the fourth queue means if the second count of credits is below a predetermined threshold.
- 29. The system of claim 28 wherein the first resource management means sends a remote operation request of the first resource type from the third queue means to the remote processor to be executed in connection with the first resource means of the remote processor if the first count of credits is above a predetermined threshold; and
wherein the first resource management means sends a remote operation request of the second resource type from the fourth queue means to the remote processor to be executed in connection with the second resource means of the remote processor if the second count of credits is above a predetermined threshold.
- 30. The system of claim 29 wherein the second resource management means further comprises means for:
incrementing a third count of credits for each initiation of execution of a remote operation of the first resource type; decrementing said third count of credits for each acknowledgment sent that an additional remote operation request of the first resource type may be sent to the remote processor for execution; incrementing a fourth count of credits for each initiation of execution of a remote operation of the second resource type; and decrementing said fourth count of credits for each acknowledgment sent that an additional remote operation request of the second resource type may be sent to the remote processor for execution.
RELATED APPLICATIONS
[0001] This application is related to copending application entitled METHOD, SYSTEM, AND PROGRAM FOR COMMUNICATION CODE CHANGES, assigned to the assignee of the present application, filed on Jun. 19, 2003 and attorney docket number TUC9200300036US1.