Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
First Claim
1. A computer system, comprising:
- a plurality of processing elements, each of said processing elements performing one or more functions through the execution of one or more programs, each of said programs operating asynchronously with respect to executing programs on other processing elements in the system;
interconnection media for interconnecting said plurality of processing elements;
inter-processing communication logic located on each of said processing elements for permitting communication between executing programs on any one of said processing elements; and
inter-delivery support hardware located between said interconnection media and said inter-processing communication logic, said inter-delivery support hardware operating asynchronously with respect to said executing programs on said processing elements for (i) enqueuing a control message obtained by a first program on a first processing element from physical memory on said first processing element which is addressable only by programs operating on said first processing element;
(ii) temporarily storing said enqueued control message in a first memory device associated with said first processing element;
(iii) mapping said temporarily stored control message to first delivery addressable space associated with said first processing element which is addressable by programs operating on a second processing element;
(iv) copying over said interconnection media via a copy transaction said mapped control message from said first delivery addressable space to second delivery addressable space associated with said second processing element;
(v) moving said copied control message from said second delivery addressable space to a second memory device associated with said second processing element which is addressable only by programs operating on said second processing element; and
(vi) dequeuing said moved control message to physical memory on said second processing element.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system is provided in which asynchronously operating processing elements in the system are connected by means of an interconnection media so as to permit communication between an executing program on one of the processing elements with the memory on another processing element. Inter-processing communication logic located on each of the processing elements permits communication between executing programs on any one processing element. Inter-delivery support hardware is provided for interfacing between the interconnection media and the inter-processing communication logic. The inter-delivery support hardware operates asynchronously with respect to the executing programs on the processing elements for (i) enqueuing control elements obtained by a function on a first processing element from physical memory on the first processing element; (ii) temporarily storing the enqueued control elements in a first memory device associated with the first processing element; (iii) copying over the interconnection media via a copy transaction the temporarily stored control elements from the first memory device to a second memory device associated with a second processing element; and (iv) dequeuing the copied control elements from the second memory device to physical memory on the second processing element.
-
Citations
18 Claims
-
1. A computer system, comprising:
-
a plurality of processing elements, each of said processing elements performing one or more functions through the execution of one or more programs, each of said programs operating asynchronously with respect to executing programs on other processing elements in the system; interconnection media for interconnecting said plurality of processing elements; inter-processing communication logic located on each of said processing elements for permitting communication between executing programs on any one of said processing elements; and inter-delivery support hardware located between said interconnection media and said inter-processing communication logic, said inter-delivery support hardware operating asynchronously with respect to said executing programs on said processing elements for (i) enqueuing a control message obtained by a first program on a first processing element from physical memory on said first processing element which is addressable only by programs operating on said first processing element;
(ii) temporarily storing said enqueued control message in a first memory device associated with said first processing element;
(iii) mapping said temporarily stored control message to first delivery addressable space associated with said first processing element which is addressable by programs operating on a second processing element;
(iv) copying over said interconnection media via a copy transaction said mapped control message from said first delivery addressable space to second delivery addressable space associated with said second processing element;
(v) moving said copied control message from said second delivery addressable space to a second memory device associated with said second processing element which is addressable only by programs operating on said second processing element; and
(vi) dequeuing said moved control message to physical memory on said second processing element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of exchanging control messages between asynchronously operating programs on distinct processing elements connected by an interconnection medium to form a computer system, said method comprising the steps of:
-
enqueuing a control message obtained from physical memory located on a first processing element, using a first program operating on said first processing element, said physical memory being addressable only by programs operating on said first processing element; temporarily storing said enqueued control message in a first memory device associated with said first processing element while freeing said first program to continue operating; mapping said temporarily stored control message to first delivery addressable space associated with said first processing element which is addressable by programs operating on a second processing element; copying said mapped control message over the interconnect media via a copy transaction to second delivery addressable space associated with said second processing element; moving said copied control message from said second delivery addressable space associated with said second processing element to a second memory device associated with said second processing element which is addressable only by programs operating on said second processing element; and dequeuing said moved control message from said second memory device to physical memory located on said second processing element. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification