Claims
- 1. An OS-bypass message transport mechanism to communicate between processor nodes that execute a process on a clustered multiprocessor system, said transport mechanism comprising:
a connection that includes a send side coupled to a source processor node and a receive side coupled to a destination processor node; and a per-connection memory buffer, and coupled to both the send side and the receive side of the connection, wherein the send side includes an output data buffer coupled between the source processor node and the per-connection memory buffer and the receive side includes an input data buffer coupled between the per-connection memory buffer and the destination processor node, and wherein the per-connection memory buffer is dedicated to the process.
- 2. The OS-bypass message transport mechanism of claim 1, wherein the per-connection memory buffer comprises a portion of a common memory of the clustered multiprocessor system.
- 3. The OS-bypass message transport mechanism of claim 1, wherein said send side includes outgoing direct memory access (ODMA) engine that controls the transfer of data from the output data register to the per-connection memory buffer.
- 4. The OS-bypass message transport mechanism of claim 1, comprising an IPI generator coupled to the send side and the receive side, wherein the IPI generator generates control data shared between the send side and receive side.
- 5. The OS-bypass message transport mechanism of claim 4, comprising an IPI handler coupled to the send side and the receive side for processing the control data generated by the IPI generator.
- 6. The OS-bypass message transport mechanism of claim 1, wherein said output data buffer and input data buffer comprise first-in-first-out (FIFO) buffers.
- 7. The OS-bypass message transport mechanism of claim 1, wherein said connection comprises a switch/network adaptor port (SNAP).
- 8. The OS-bypass message transport mechanism of claim 1, wherein the send side includes an outgoing local connection table (OLCT) and the receive side includes an incoming local connection table (ILCT), and
wherein a connection is established between the send side and the receive side by entries in the OLCT and ILCT.
- 9. The OS-bypass message transport mechanism of claim 8, wherein the connection is a persistent, unidirectional connection.
- 10. The OS-bypass message transport mechanism of claim 1, wherein said processor nodes are coupled to a multi-adaptive processor (MAP) element.
- 11. The OS-bypass message transport mechanism of claim 11, wherein the processor nodes coupled to the MAP element are configured for a dual in-line memory module (DIMM) socket.
- 13. The OS-bypass message transport mechanism of claim 1, wherein the per-connection memory buffer is statically allocated.
- 14. A clustered multiprocessor system comprising:
an OS-bypass message transport mechanism to communicate between processor nodes that execute a process on the system, wherein said mechanism includes a connection that includes a send side coupled to a source processor node and a receive side coupled to a destination processor node; and a per-connection memory buffer coupled to both the send side and the receive side of the connection, wherein the send side includes an output data buffer coupled between the source processor node and the per-connection memory buffer and the receive side includes an input data buffer coupled between the per-connection memory buffer and the destination processor node, and wherein the per-connection memory buffer is dedicated to the process.
- 15. A method of transferring process data from a source processor node to a destination processor node that bypasses an operating system in a clustered multiprocessor system, said method comprising the steps of:
allocating a per-connection memory buffer accessible by both the source processor node and the destination processor node; transferring the process data from the source processor node to an output data buffer on the send side; transferring the process data from the output data buffer to the per-connection memory buffer; transferring the process data from the per-connection memory buffer to an input data buffer on the receive side; and processing the process data from the input data buffer using the destination processor node.
- 16. The method of claim 15, wherein the per-connection memory buffer is statically allocated.
- 17. The method of claim 15, further comprising the step of restricting the per-connection memory buffer to the process data while transferring the process data from the source processor node to the destination processor node.
- 18. The method of claim 15, wherein the source processor node and the destination processor node are coupled in a duel in-line memory module (DIMM) format.
- 19. The method of claim 15, wherein the connection includes a switch/network adaptor port.
CROSS REFERENCE TO RELATED PATENT APPLICATIONS
[0001] The present invention is related to the subject matter disclosed in U.S. patent application Ser. No. 09/932,330 filed Aug. 17, 2001 for: “Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format” assigned to SRC Computers, Inc., Colorado Springs, Colo., assignee of the present invention, the disclosure of which is herein specifically incorporated in its entirety by this reference.
COPYRIGHT NOTICE/PERMISSION
[0002] A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document of the patent disclosure as it appears in the United States Patent and Trademark Office patent file or records, but otherwise, reserves all copyright rights whatsoever. The following notice applies to the software and data and described below, inclusive of the drawing figures where applicable: Copyright© 2002, SRC Computers, Inc.