Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
First Claim
1. A method of communicating data in a multi-node computer system comprising a plurality of compute nodes, a plurality of input/output (I/O) nodes communicatively coupled to the compute nodes via at least one interconnecting fabric, each I/O node communicatively coupled to a plurality of storage devices, comprising the steps of:
- generating a globally unique identification (ID) for a data extent physically stored in the plurality of storage devices in the I/O node;
binding the globally unique ID to the data extent; and
exporting the globally unique ID to the compute nodes via the interconnect fabric.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for communicating data in a highly distributed parallel processing computer architecture is described. The method comprises the steps of generating a globally unique ID in the I/O node for a data extent physically stored in the plurality of storage devices, binding the globally unique ID to the data extent, and exporting the globally unique ID to the compute nodes via the interconnect fabric. In one embodiment, the globally unique ID is generated from a globally unique I/O node identifier and a locally unique data extent identifier. A local entry point is generated in the compute node for the data associated with the globally unique ID, thereby presenting the globally unique ID as a device point in the compute node. In one embodiment, the step of exporting the globally unique ID to the compute nodes comprises the step of receiving a message from the compute node comprising a signature securely identifying it to the I/O node, authenticating the source of the message using the signature, and transmitting the globally unique ID comprising data specifying local access rights to the data represented by the globally unique ID from the I/O node to the compute node.
-
Citations
33 Claims
-
1. A method of communicating data in a multi-node computer system comprising a plurality of compute nodes, a plurality of input/output (I/O) nodes communicatively coupled to the compute nodes via at least one interconnecting fabric, each I/O node communicatively coupled to a plurality of storage devices, comprising the steps of:
-
generating a globally unique identification (ID) for a data extent physically stored in the plurality of storage devices in the I/O node;
binding the globally unique ID to the data extent; and
exporting the globally unique ID to the compute nodes via the interconnect fabric. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 27, 28, 29)
reading a globally unique I/O node identifier;
generating a data extent identifier locally unique to the I/O node; and
combining the globally unique I/O node identifier and the locally unique data extent identifier.
-
-
3. The method of claim 2, wherein the step of reading the globally unique I/O node identifier comprises the step of electronically reading a serial number from a component of the I/O node.
-
4. The method of claim 1, further comprising the step of creating a semantically transparent local entry point in a compute node for the data associated with the globally unique ID, to present the globally unique ID as a device point to the compute node.
-
5. The method of claim 4, further comprising the step of dynamically updating local entry points in the compute node using updated globally unique IDs.
-
6. The method of claim 5, wherein the step of exporting the globally unique ID to the compute nodes comprises the steps of:
-
receiving a message from the compute node comprising a signature in an I/O node, the signature securely identifying the compute node;
authenticating that the message is from the compute node using the signature; and
transmitting the globally unique ID comprising data specifying local access rights for the data represented by the globally unique ID from the I/O node to the compute node.
-
-
7. The method of claim 6, wherein the globally unique ID comprises data for each operating system executing on the compute nodes.
-
8. The method of claim 7, wherein the globally unique ID comprises a plurality of descriptive headers, each specifying local access rights on each compute node for the data represented by the globally unique ID.
-
27. The method of claim 1, wherein the step of exporting the globally unique ID to the compute nodes comprises the steps of:
-
receiving a message from the compute node comprising a signature in an I/O node, the signature securely identifying the compute node;
authenticating that the message is from the compute node using the signature; and
transmitting the globally unique ID comprising data specifying local access rights for the data represented by the globally unique ID from the I/O node to the compute node.
-
-
28. The method of claim 1, wherein the globally unique ID comprises data for each operating system executing on the compute nodes.
-
29. The method of claim 1, wherein the globally unique ID comprises a plurality of descriptive headers, each specifying local access rights on each compute node for the represented by the globally unique ID.
-
9. An apparatus for communicating data a multi-node computer system comprising a plurality of compute nodes, a plurality of input/output (I/O) nodes communicatively coupled to the compute nodes via at least one interconnecting fabric, each I/O node communicatively coupled to a plurality of storage devices, comprising:
-
means for generating a globally unique identification (ID) for a data extent physically stored in the plurality of storage devices in the I/O node;
means for binding the globally unique ID to the data extent; and
means for exporting the globally unique ID to the compute nodes via the interconnect fabric. - View Dependent Claims (10, 11, 12, 13, 14, 15, 30, 31, 32, 33)
means for reading a globally unique I/O node identifier;
means for generating a data extent identifier locally unique to the I/O node; and
means for combining the globally unique I/O node identifier and the locally unique data extent identifier.
-
-
11. The apparatus of claim 10, wherein the means for reading a globally unique I/O node comprises means for electronically reading a serial number from a component of the I/O node.
-
12. The apparatus of claim 9, further comprising means for creating a semantically transparent local entry point in a compute node for the data associated with the globally unique ID.
-
13. The apparatus of claim 12, further comprising means for dynamically updating local entry points in the compute node using updated globally unique IDs.
-
14. The apparatus of claim 13, wherein the means for exporting the globally unique ID to the compute node comprises:
-
means for receiving a message from the compute node comprising a signature in an I/O node, the signature securely identifying the compute node;
means for authenticating that the message is from the compute node using the signature; and
means for transmitting the globally unique ID comprising data specifying local access rights for the data represented by the globally unique ID from the I/O node to the compute node.
-
-
15. The apparatus of claim 14, wherein the globally unique ID comprises data for each operating system executing on the compute nodes.
-
30. The apparatus of claim 15, wherein the globally unique ID comprises a data represented by the globally unique ID.
-
31. The apparatus of claim 9, wherein the step of explorting the globally unique ID ID to the compute nodes comprises the steps of:
-
receiving a message from the compute node comprising a signature in an I/O node, the signature securely identifying the compute node;
authenticating that the message is from the compute node using the signature; and
transmitting the globally unique ID comprising data specifying local access rights for the data represented by the globally unique ID from the I/O node to the compute node.
-
-
32. The apparatus of claim 9, wherein the globally unique ID comprises data for each operating system executing on the compute nodes.
-
33. The apparatus of claim 9, wherein the globally unique ID comprises a plurality of descriptive headers, each specifying local access rights on each compute node for the data represented by the globally unique ID.
-
16. A program storage device, readable by a computer, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of communicating data in a multi-node computer system comprising a plurality of input/output nodes communicatively coupled to the compute nodes via at least one interconnecting fabric, each I/O node communicatively coupled to a plurality of storage devices, the method comprising the steps of:
-
generating a globally unique identification (ID) for a data extent physically stored in the plurality of storage devices in the I/O node;
binding the globally unique ID to the data extent; and
exporting the globally unique ID to the compute nodes via the interconnect fabric. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
reading a globally unique I/O node identifier;
generating a data extent identifier locally unique to the I/O node; and
combining the globally unique I/O node identifier and the locally unique data extent identifier.
-
-
18. The program storage device of claim 17, wherein the step of reading the globally unique I/O node identifier comprises the step of electronically reading a serial number from a component of the I/O node.
-
19. The program storage device of claim 18, wherein the method steps further comprise the step of creating a semantically transparent local entry point in a compute node for the data associated with the globally unique ID to present the globally unique ID as a device point to the compute node.
-
20. The program storage device of claim 19, wherein the method steps further comprise the step of dynamically updating local entry points in the compute node using updated globally unique IDs.
-
21. The program storage device of claim 20, wherein the step of exporting the globally unique ID to the compute nodes comprises the steps of:
-
receiving a message from the compute node comprising a signature in an I/O node, the signature securely identifying the compute node;
authenticating that the message is from the compute node using the signature; and
transmitting the globally unique ID comprising data specifying local access rights for the data represented by the globally unique ID from the I/O node to the compute node.
-
-
22. The program storage device of claim 21, wherein the globally unique ID comprises data for each operating system executing on the compute nodes.
-
23. The program storage device of claim 22, wherein the globally unique ID comprises a plurality of descriptive headers, each specifying local access rights on each compute node for the data represented by the globally unique ID.
-
24. The program storage device of claim 16, wherein the step of exporting the globally unique ID to the compute nodes comprises the steps of:
-
receiving a message from the compute node comprising a signature in an I/O node, the signature securely identifying the compute node;
authenticating that the message is from the compute node using the signature in an I/O node, the transmitting the globally unique ID comprising data specifying local access rights for the data represented by the globally unique ID from the I/O node to the compute node.
-
-
25. The program storage device of claim 16, wherein the globally unique ID comprises data for each operating system executing on the compute nodes.
-
26. The program storage device of claim 16, wherein the globally unique ID comprises a plurality of descriptive headers, each specifying local access rights oneach compute node for the data represented by the globally unique ID.
Specification