Patent Publication Number: US-11050751-B2

Title: Onboarding and accounting of devices into an HPC fabric

Description:
PRIORITY APPLICATION 
     This application is a continuation of U.S. application Ser. No. 15/392,379, filed Dec. 28, 2016, which is incorporated herein by reference in its entirety. 
    
    
     BACKGROUND 
     A typical fabric switch includes a central switch having many ports surrounded by a variety of fabric devices and resources for high performance computing (HPC) such as CPU, GPU, memory, storage, peripherals (which may include user workstations). HPC fabrics often integrate a fabric controller into a central processing unit (CPU) package making it both high performing and easily integrated into an ad-hoc mesh of devices and peripherals. A threat facing ad-hoc mesh systems built around HPC fabrics is the potential for rogue devices being able to inject malicious packets or act as clandestine man-in-the-middle devices observing traffic that passes over the fabric. In addition, fabric computing business models are taking fabric computing out of the ‘glass houses’ of single owner environments and placing them in shared computing environments where cooperative organizations may add capacity overtime (e.g. memory, CPU, GPU, peripherals, storage etc. . . . ). This presents a challenge in terms of accounting to keep track of resource utilization by each fabric endpoint. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an illustrative drawing representing an example first high performance computing (HPC) system in accordance with some embodiments. 
         FIG. 2  is an illustrative drawing representing an example second HPC system in accordance with some embodiments. 
         FIG. 3  is an illustrative drawing representing a node in accordance with some embodiments. 
         FIG. 4  is an illustrative drawing representing an alternative node in accordance with some embodiments. 
         FIG. 5  is an illustrative drawing representing an example fabric switch partition of an HPC system in accordance with some embodiments. 
         FIG. 6  is an illustrative flow diagram representing an onboarding process performed by the OAB circuit of an onboarding node. 
         FIG. 7  is an illustrative flow diagram representing an onboarding process performed by the OAB of a fabric switch principal. 
         FIG. 8  is an example signal sequence diagram signal flow between an onboarding node, a fabric switch principal and a rendezvous server. 
         FIG. 9  is an illustrative example signal sequence diagram representing message signal flow between two nodes via their fabric switch principal. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     The following description is presented to enable any person skilled in the art to onboard a node onto a high performance computing system that includes a fabric switch network. Various modifications to the embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. In the following description, numerous details are set forth for the purpose of explanation. However, one of ordinary skill in the art will realize that the invention might be practiced without the use of these specific details. In other instances, well-known processes are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail. Identical reference numerals may be used to represent different views of the same or similar item in different drawings. 
       FIG. 1  is an illustrative drawing representing an example first high performance computing (HPC) system  100  in accordance with some embodiments. The system  100  includes a plurality of nodes  102 , a fabric switch network  104 , and a fabric manager  106 . The fabric switch network  104  includes a director switch system  108  that permits creation of selectable different topologies to connect a scalable number of endpoint nodes  102 . The director switch system  108  is coupled to provide a communication fabric to selectably communicate messages among different groups of multiple nodes. The fabric manager  106  provides centralized provisioning and monitoring of fabric resources. In particular, for example, the fabric manager  106  is operative to configure the director switch system  108  to partition communications among nodes  102  over the fabric. The first system  100  is sometimes referred to as a three-hop system because three hops are required to send a messages between two nodes: from a sending node  102  to the director switch system  108 , and finally, to a receiving node  102 . 
       FIG. 2  is an illustrative drawing representing an example second HPC system  200  in accordance with some embodiments. The second system  200  includes the plurality of nodes  102 , a fabric switch network  104 - 2  and the fabric manager  108 . The fabric switch network  104 - 2  includes a plurality of edge switches  210  and a director switch network  106 - 2  that permits creation of selectable different topologies to connect a scalable number of endpoint nodes. Each edge switch  210  is coupled to selectably communicate messages among different groups of multiple nodes  102  and communicate messages with the director switch network  106 - 2 . The director switch network  106 - 2  is coupled to selectably communicate messages among the edge switches  210 . The edge switches  210  and the director switch network  106 - 2  provide a communication fabric to selectably communicate messages among different groups of multiple nodes  102 . The fabric manager  108  is operative, for example, to configure the plurality of edge switches  210  and the director switch network  106 - 2  to partition communications among nodes  102 . The second system  200  is sometimes referred to as five-hop system because five hops are required to send a message between two nodes: from a sending node  102  to an edge switch  210 , to the director switch network  106 - 2 , back to an edge switch  210 , and finally, to a receiving node  102 . 
       FIG. 3  is an illustrative drawing representing a node  102  in accordance with some embodiments. The node  102  includes a central processing unit (CPU)  302 , a memory storage device  304 , a fabric controller  306 , a bus circuit  308  and a subordinate onboarding and accounting (OAB) logic block  310 . The CPU  302  is programmable to perform general computing tasks, service tasks and/or management tasks. The memory storage device  304  provides local working memory for use by the CPU  302 . The fabric controller  306  provides fabric connectivity for the nodes to communicate messages over the fabric switch network  104 ,  104 - 2 . The bus circuit  308  is configured to provide an external communication path between the CPU  302  and the fabric controller  306 . The bus circuit  308  is configured to provide an input/output (I/O) communication path  312  over which the CPU  302  and the fabric controller  306  may communicate over an external network (not shown), such as the Internet or a local area network with external devices (not shown) outside the fabric switch network  104 ,  104 - 2 . In some embodiments, the bus circuit  308  comprises a PCI bus. The subordinate OAB logic circuit  310  is discussed more fully below. 
       FIG. 4  is an illustrative drawing representing an alternative node  102 - 2  in accordance with some embodiments. The node  102  and the alternative node  102 - 2  are generally similar except that in the alternative node  201 - 2 , the CPU  302 - 2  and the fabric controller  306 - 2  are integrated within a single integrated circuit to provide closer operative coupling between them. The bus circuit  308  of the alternative node  102 - 2  is configured to provide an external I/O communication network  312  on which the CPU  302 - 2  and the integrated fabric controller  306 - 2  may communicate over an external network (not shown), such as the Internet or a local area network with external devices (not shown) outside the fabric switch network  104 ,  104 - 2 . 
     Each node  102 ,  102 - 2  may be configured to act as a computing node, a service node or a management node through programming of its CPU  302 ,  302 - 2 . Nodes programmed to act as compute nodes may be used for collaborate concurrent processing of tasks. Nodes programed to act as service nodes may implement storage, specialized processing such as cryptography, graphics rendering, machine learning, computer vision, for example. Nodes programed to act as management nodes may implement BMC functionality, hot-plug, failover-recovery, for example. 
       FIG. 5  is an illustrative drawing representing an example fabric switch partition  500  of an HPC system  100 ,  200  in accordance with some embodiments. The example fabric switch partition  500  includes a fabric switch principal  510  configured to switch messages among a group of subordinate nodes N 1 , N 2  . . . Nn. The fabric switch principal  510  includes a fabric controller  302  to communicate with the subordinate nodes N 1 , N 2  . . . Nn and I/O bus circuitry  308  to communicate with the external communication network  312  as described above. In the example three-hop system  100 , the fabric switch partition  500  includes a fabric switch principal  510  partitioned from within the director switch system  104 . In the example five-hop system  200 , the fabric switch partition  500  includes a fabric switch prinicpal  510  partitioned from among the edge switches  210  and the director switch network  104 - 2 . 
     In operation, subordinate nodes N 1 , N 2  . . . Nn within the fabric switch partition  500  communicate with each other via the fabric switch principal  510 . A subordinate node, e.g., N 1 , within the partition  500  sends, over its fabric controller  302  to the fabric switch principal  510 , a message addressed to another subordinate node, e.g., N 2 , within the partition  500 . The fabric switch principal  510  receives the message and sends it to the fabric controller  302  of the subordinate node, e.g., N 2 , to which the message is addressed. It will be appreciated that although only a single partition  500  and a single fabric switch principal  510  are shown, an HPC  100 ,  200  may include a multiplicity of different partitions. 
     In addition to circuitry to provide connectivity required to communicate messages over the fabric switch network  104 ,  104 - 2 , the fabric controllers  302 ,  302 - 2  of the subordinate node endpoints N 1 , N 2  . . . Nn and the fabric switch principal  510  also include subordinate OAB logic circuit blocks  310  and principal logic blocks  504 , respectively. The subordinate OAB logic blocks  310  and the principal OAB logic block  504  ensure that these subordinate nodes may be safely onboarded and their accounting identity safely created. The subordinate and principal OAB logic blocks  310 ,  504  are hardened against software attacks and most hardware attacks. 
     The fabric controllers  302 ,  302 - 2  in some embodiments are implemented as application specific integrated circuits (ASICs). The subordinate and principal OAB logic blocks  310 ,  504  may be implemented directly in a fabric controller ASIC or may be implemented as a field programmable gate array (FPGA) that integrates with fabric controller ASIC. More particularly, for example, the subordinate and principal OAB logic blocks  310 ,  504  may be implemented in an FPGA that integrates closely with the fabric controller ASIC so as to allow flexibility in how accounting information is collected and stored. In some embodiments, for example, there may be custom accounting algorithms that charge a customer based on a particular pattern of usage or based on a pattern of usage by a particular set of nodes. For example, if a first set of nodes require a certain subledger accounting (SLA) while a second set of nodes requires a different SLA, then the accounting logic in the OABs of the first and second sets of nodes will be configured differently. Moreover, for example, each node may be associated with a unique accounting identifier that may be used to track node utilization statistics across the various fabric connected nodes. Usage statistics subsequently may be tapped for billing or charge-back purposes. A nodes&#39; unique accounting identity and its usage statistics may be incorporated into a fabric packet structure so as to be transparent to workload routing optimization strategies. In other words, accounting information such a node&#39;s accounting identifiers and a node&#39;s usage statistics is collected and transmitted in the course of routine package messages. Usage statistics may be digitally signed giving them non-repudiation properties—also useful for billing and charge-back accounting. 
     Table A lists certain information used during onboarding of a subordinate node, e.g., N 1 , N 2 , . . . Nn, to a fabric switch network  104 ,  104 - 2 . Table A also lists some information that is used when communicating messages among nodes during normal operation for accounting purposes. 
     
       
         
           
               
             
               
                 TABLE A 
               
               
                   
               
               
                 Onboarding and Accounting Information 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
            
               
                   
                 Enhanced Privacy Identifier (EPID) 
               
               
                   
                 Onboarding universally unique identifier (UUID) 
               
               
                   
                 Accounting UUID 
               
               
                   
                 Accounting statistics 
               
               
                   
                 Reporting key(s) 
               
               
                   
                   
               
            
           
         
       
     
     A principal&#39;s OAB logic  504  and a subordinate node&#39;s OAB  310  contain complementary logic used to implement a node onboarding protocol. A node&#39;s OAB  310  includes a manufacture certificate that is used to attest the node to the principal&#39;s OAB. Attestation keys may include an EPID (Enhanced Privacy ID) or traditional asymmetric key or PIN-based “pairing” techniques. The onboarding UUID is used to associate the node instance with its manifest and to provide an indication of its possession history, e.g., a chain of physical and/or legal title. An accounting UUID is assigned by a fabric network principal to each of its subordinate nodes. Nodes cooperate to track usage statistics which are accumulated by each node&#39;s OAB  310 . The node OABs  310  may report statistics securely using a reporting key. 
     Table B lists certain information provided within a manifest document structure that provides a history of possession associated with a subordinate node and is used during onboarding of the subordinate node to a fabric switch network. 
     
       
         
           
               
             
               
                 TABLE B 
               
               
                   
               
             
            
               
                 Onboarding UUID 
               
               
                 Legal Ownership transfer history and RFID and electronic tracking history 
               
               
                   
               
            
           
         
       
     
     In some embodiments, the manifest structure maintains a history of signatures of legal owners who may be involved during the supply and retail handling of the device as it moves from vendor to customer. Moreover, the manifest structure provides a record of RFID tag tracking information collected as the node moves through a supply chain. In some embodiments, the node OAB implements an owner transfer interface that creates a new onboarding UUID for the next transfer. Thus, a new unique onboarding UUID is for a node created for each onboarding of the node to a fabric switch network  104 ,  104 - 2 . 
     During onboarding of a subordinate node to a fabric switch network  104 ,  104 - 2 , an onboarding node, e.g., N 1 , and a fabric switch principal, e.g.,  510  that is identified as the node&#39;s new principal exchange information pursuant to protocols implemented in their respective subordinate and principal OAB circuits  310 ,  504  to authenticate the onboarding node N 1  to its new fabric switch principal  510  and to assign an accounting identifier to the node N 1 . The protocols involve external communications (i.e. sending and receiving messages outside the fabric switch network) with a rendezvous server  802 , discussed below, over a network, e.g., network  312 , external to the fabric switch network  104 ,  104 - 2 . In some embodiments, the rendezvous server  802  typically includes A rendezvous server allows a vendor of a node and the purchaser of the node to recognize that node and count it against a purchase order of nodes distributed by the vendor to the purchaser. 
       FIG. 6  is an illustrative flow diagram representing an onboarding process  600  performed by the OAB circuit  310  of an onboarding subordinate node, e.g., N 1 . The flow diagram represents configuration of logic of the onboarding subordinate node&#39;s OAB circuit  310 . In block  602 , the subordinate node&#39;s OAB logic circuit  310  sends an external message over its I/O circuit  308  to a rendezvous server  802  to request onboarding to a fabric switch network  104 ,  104 - 2 . In block  604 , the onboarding subordinate node&#39;s OAB  310  receives from the rendezvous server  802  via the nodes&#39;s I/O circuit  308  an address within the fabric switch network  104 ,  104 - 2  of the onboarding node&#39;s new fabric switch principal  510 . The address may include an internet protocol (IP) address and a fabric network address. In block  606 , the onboarding subordinate node&#39;s OAB  310  creates and sends over the fabric switch network  104 ,  104 - 2  an encrypted onboarding request message addressed to the fabric switch principal  510  that includes the node&#39;s onboarding UUID, certain OAB measurement information and the node&#39;s reporting key(s) K N1 . OAB measurement information may include an indication of the firmware running in the OAB (to determine trust); what objects are protected by the OAB, specifically cryptographic keys, trust anchors and policies; what hardware is used to construct the OAB. This information may be processed (formatted in machine readable form such as XML, JSON, YANG, for example, and integrity hash computed and signature of hash applied) for disclosure to a verifier. The subordinate node&#39;s OAB logic  310  encrypts the onboarding request message with an encryption key, K MFG , that is indicative of its EPID to protect the message from discovery by bad guys. In block  608 , the onboarding subordinate node N 1 &#39;s OAB  310  receives an onboarding permission message from the fabric switch principal  510  that includes. The onboarding node&#39;s reporting key(s) K N1 , and an accounting identifier, N 1   AcctID  assigned to it by the principal  510 . The onboarding subordinate node N 1  stores the accounting identifier for use in the future after the onboarding subordinate node N 1  has successfully boarded the fabric switch network  104 ,  104 - 2 , to identify the subordinate node N 1  within messages sent by it during normal operation. Upon receipt of the onboarding permission message, the onboarding subordinate node N 1  may begin normal operation of exchanging messages with other nodes within the fabric switch network. 
       FIG. 7  is an illustrative flow diagram representing an onboarding process  700  performed by the principal OAB  504  of a fabric switch principal  510 . The flow diagram represents configuration of logic of the fabric switch principal&#39;s OAB circuit  504 . In block  702 , fabric switch principal&#39;s OAB circuit  504  sends an external message over its I/O circuit  308  to the rendezvous server  802  to indicate its readiness to onboard a subordinate node. In block  704 , the fabric switch principal&#39;s OAB circuit  504  receives an electronic manifest document  804  from the rendezvous server  802  that corresponds to an onboarding subordinate node from which the rendezvous server  802  has received an onboarding request. The manifest document  804  obtains the rendezvous server. For example, a vendor and a rendezvous provider may create a business agreement wherein the vendor agrees to include electronic connection details and keys enabling the rendezvous server to be accessed by consumers of the manifest. In block  706 , the fabric switch principal&#39;s OAB logic circuit  504  receives over the fabric switch network  104 ,  104 - 2  an encrypted onboarding request message that is encrypted with an encryption key, K MFG , associated with the onboarding node and that includes the node&#39;s onboarding UUID, OAB_measurement information and the onboarding subordinate node N 1 &#39;s reporting key(s) K N1 . In block  708 , the fabric switch principal&#39;s OAB logic circuit  504  verifies the attestation of the node&#39;s manufacturing source through decryption of the message and also verifies the node&#39;s history of possession through the onboarding UUID and the legal ownership transfer history and RFID and electronic tracking history. Upon successful verification, in block  710 , the fabric switch principal&#39;s OAB logic circuit  504  creates an accounting identifier for the onboarding node and creates and sends an onboarding permission message over the fabric switch network  104 ,  104 - 2  to the onboarding subordinate node N 1  that includes the onboarding node&#39;s reporting key(s), K N1 , and the newly created accounting identifier, N 1   AcctID . 
       FIG. 8  is an illustrative example message signal sequence diagram message signal flow between an onboarding node, a fabric switch principal and a rendezvous server. Node N 1  is the onboarding node. Subordinate node N 2  is a previously onboarded node. Both N 1  and N 2  have the same fabric switch principal,  510 . Onboarding subordinate node N 1 &#39;s OAB  310  sends an onboarding request over an external communication network  312  such as the Internet, for example, to the rendezvous server  802 . In the meantime, the rendezvous server  802  receives from an “Mfg”,  806  e.g., an original manufacturer, OEM or vendor, a manifest document  804  that corresponds to the onboarding node N 1 . Also, the fabric switch principal&#39;s OAB logic circuit  504  sends to the rendezvous server  802  over the external communication network  312  a message indicating that it is prepared to onboard a subordinate node. The rendezvous server  802  sends the onboarding subordinate node N 1 &#39;s manifest over the external communication network  312  to the fabric switch principal&#39;s OAB  504 . The rendezvous server  802  sends to the onboarding subordinate node N 1 &#39;s OAB  310  the fabric switch principal&#39;s address, e.g. IP and fabric switch network. The, onboarding subordinate node N 1 &#39;s OAB  310  sends over the fabric switch network  104 ,  104 - 2  to the fabric switch principal  510  an encrypted onboarding request message, which contains its onboarding UUID, OAB_measurement information and reporting keys, K N1 , and which is encrypted with a key, K MFG , that indicates the onboarding subordinate node N 1 &#39;s manufacturer. The fabric switch principal verifies the attestation and chain of title of the onboarding subordinate node N 1  based upon the encrypting key, K MFG , and the received onboarding UUID. Upon successful verification, the fabric switch principal  510  sends over the fabric switch network  104 ,  104 - 2  to the onboarding subordinate node N 1  an encrypted message, which includes the onboarding subordinate node N 1 &#39;s reporting key(s), K N1 , and an accounting identifier N 1   AcctID , and which is encrypted using the fabric switch principal&#39;s key K principal . 
       FIG. 9  is an illustrative example signal sequence diagram representing message signal flow between two subordinate nodes, N 1 , N 2  via their fabric switch principal  510 . Subordinate node N 1  sends over the fabric switch network  104 ,  104 - 2  an encrypted Link Transfer Packet (LTP) Frame message addressed to subordinate node N 2 , which is signed with subordinate node N 1 &#39;s reporting key K N1 . The LTP Frame may be encrypted with N 2 &#39;s RSA encryption key or N 1  and N 2  may negotiate a session encryption key using Sigma Protocol or some other variant of Diffie-Hellman key exchange or N 1  and N 2  may encrypt with a session shared between N 1  and N 2 , having been provisioned by the principal (fabric switch) or they may encrypt to the principal who decrypts and re-encrypts to the destination node N 2 . In accordance with the principal-subordinate communication protocol used within the fabric switch network  104 ,  104 - 2 , the message is first transmitted over the fabric switch network  104 ,  104 - 2  to the fabric switch principal  510 . Subordinate node N 1 &#39;s OAB  310  incorporates the accounting identifier N 1   AcctID  previously assigned to subordinate node N 1  within the LTP Frame message. The fabric switch principal  510  decrypts the LTP message, confirms the accuracy of the accounting identifier included in the message, re-encrypts the message with its principal key K principal  and forwards the encrypted message over the fabric switch network  104 ,  104 - 2  to subordinate node N 2 . Subordinate node N 2  decrypts the message and stores accounting information involving the received accounting identifier N 1   AcctID . For example, the stored accounting information may involve an indication that the LTP frames was received from a subordinate node N 1 , which is associated with accounting identifier N 1   AcctID . 
     In some embodiments, individual subordinate nodes&#39; OAB logic circuits  310  may be configured to implement a blockchain by allowing one or more of the subordinate nodes to also implement blockchain mining functionality. In some embodiments the blockchain mining capability may be implemented in an FPGA or ASIC that is with the node&#39;s OAB. ‘Miners’ are nodes that cooperate to establish that the contents of a message are intended/expected. When a majority of nodes agree similarly the agreement is considered ‘consensus truth’ that remaining miners accept as correct. Attention is then focused on the next message (aka transaction). Implementation of the agreement protocol between ‘miners’ is more efficient, secure and reliable in hardware (FPGA, ASIC) than in software. The switch  510  may also perform blockchain mining functions with peer fabric switches possibly performing the same workloads for redundancy and failover continuity. Nodes within a single fabric may perform ‘mining’ functionality where each node contributes its vote toward consensus truth of a transaction expected result. Nodes seeking to trust other nodes may perform attestation of the node to create a passlist/blocklist that establishes whether it is appropriate to interact as miners seeking to share in a consensus truth protocol. 
     The foregoing description and drawings of embodiments are illustrative and it will be understood that various modifications may be made to the embodiments by those skilled in the art without departing from the spirit and scope of this disclosure. 
     Additional Notes &amp; Examples 
     Example 1 is an article of manufacture that includes a storage device that includes information to cause an onboarding subordinate node to perform a method comprising: receiving a message that includes an address of a fabric switch principal over an external network, providing an identification message that provides an indication of a manufacturing source of an onboarding subordinate node, over the fabric switch network, to a fabric switch principal; and receiving, the permission message, over the fabric switch network, from the fabric switch principal. 
     In Example 2, the subject matter of Example 1 optionally receiving an accounting identifier over the fabric switch network, from the fabric switch principal. 
     In Example 3, the subject matter of Example 2 optionally includes sending the accounting identifier over the fabric switch network within a message to another node after onboarding is completed. 
     In Example 4, the subject matter of Example 3 optionally includes storing in a blockchain, accounting information that is associated with the accounting identifier, by the onboarding subordinate node, after onboarding is completed. 
     Example 5 is an article of manufacture that includes a storage device that includes information to cause a principal node to perform a method comprising: receiving the identification message that provides an indication of a manufacturing source of an onboarding subordinate node, over the fabric switch network, from the onboarding subordinate node; and providing a permission message over the fabric switch network, to the identified onboarding subordinate node. 
     In Example 6, the subject matter of Example 5 optionally includes verifying, at the fabric switch principal, an identity of the onboarding subordinate node based upon the received identification message. 
     In Example 7, the subject matter of Example 6 optionally includes wherein providing the permission message further includes providing the permission message in response to a positive verification of an identity of the onboarding subordinate node. 
     In Example 8, the subject matter of any one or more of Examples 5-7 optionally include receiving an indication of the history of the onboarding subordinate node over the external network; and verifying an identity of the onboarding subordinate node based upon the indicated manufacturing source and the indicated history of possession. 
     In Example 9, the subject matter of any one or more of Examples 5-8 optionally include sending an accounting identifier over the fabric switch network, to the onboarding subordinate node. 
     In Example 10, the subject matter of Example 9 optionally includes verifying after onboarding is completed, that the message sent from the onboarding subordinate node contains the assigned accounting identifier before routing message to the another subordinate node of the group. 
     Example 11 is a method for onboarding and accounting of devices into an HPC fabric, the method comprising: receiving a message that includes an address of a fabric switch principal over an external network, providing an identification message that provides an indication of a manufacturing source of an onboarding subordinate node, over the fabric switch network, to a fabric switch principal; and receiving, the permission message, over the fabric switch network, from the fabric switch principal. 
     In Example 12, the subject matter of Example 11 optionally includes receiving an accounting identifier over the fabric switch network, from the fabric switch principal. 
     In Example 13, the subject matter of Example 12 optionally includes sending the accounting identifier over the fabric switch network within a message to another node after onboarding is completed. 
     In Example 14, the subject matter of Example 13 optionally includes storing in a blockchain, accounting information that is associated with the accounting identifier, by the onboarding subordinate node, after onboarding is completed. 
     Example 15 is a method for onboarding and accounting of devices into an HPC fabric, the method comprising: receiving the identification message that provides an indication of a manufacturing source of an onboarding subordinate node, over the fabric switch network, from the onboarding subordinate node; and providing a permission message over the fabric switch network, to the identified onboarding subordinate node. 
     In Example 16, the subject matter of Example 15 optionally includes verifying, at the fabric switch principal, an identity of the onboarding subordinate node based upon the received identification message. 
     In Example 17, the subject matter of Example 16 optionally includes wherein providing the permission message further includes providing the permission message in response to a positive verification of an identity of the onboarding subordinate node. 
     In Example 18, the subject matter of any one or more of Examples 15-17 optionally include receiving an indication of the history of the onboarding subordinate node over the external network; and verifying an identity of the onboarding subordinate node based upon the indicated manufacturing source and the indicated history of possession. 
     In Example 19, the subject matter of any one or more of Examples 15-18 optionally include sending an accounting identifier over the fabric switch network, to the onboarding subordinate node. 
     In Example 20, the subject matter of Example 19 optionally includes verifying after onboarding is completed, that the message sent from the onboarding subordinate node contains the assigned accounting identifier before routing message to the another subordinate node of the group. 
     Example 21 is a system for onboarding and accounting of devices into an HPC fabric, the system comprising: means for receiving a message that includes an address of a fabric switch principal over an external network, means for providing an identification message that provides an indication of a manufacturing source of an onboarding subordinate node, over the fabric switch network, to a fabric switch principal; and means for receiving, the permission message, over the fabric switch network, from the fabric switch principal. 
     In Example 22, the subject matter of Example 21 optionally includes means for receiving an accounting identifier over the fabric switch network, from the fabric switch principal. 
     In Example 23, the subject matter of Example 22 optionally includes means for sending the accounting identifier over the fabric switch network within a message to another node after onboarding is completed. 
     In Example 24, the subject matter of Example 23 optionally includes means for storing in a blockchain, accounting information that is associated with the accounting identifier, by the onboarding subordinate node, after onboarding is completed. 
     Example 25 is a system for onboarding and accounting of devices into an HPC fabric, the system comprising: means for receiving the identification message that provides an indication of a manufacturing source of an onboarding subordinate node, over the fabric switch network, from the onboarding subordinate node; and means for providing a permission message over the fabric switch network, to the identified onboarding subordinate node. 
     In Example 26, the subject matter of Example 25 optionally includes means for verifying, at the fabric switch principal, an identity of the onboarding subordinate node based upon the received identification message. 
     In Example 27, the subject matter of Example 26 optionally includes wherein the means for providing the permission message further includes means for providing the permission message in response to a positive verification of an identity of the onboarding subordinate node. 
     In Example 28, the subject matter of any one or more of Examples 25-27 optionally include means for receiving an indication of the history of the onboarding subordinate node over the external network; and means for verifying an identity of the onboarding subordinate node based upon the indicated manufacturing source and the indicated history of possession. 
     In Example 29, the subject matter of any one or more of Examples 25-28 optionally include means for sending an accounting identifier over the fabric switch network, to the onboarding subordinate node. 
     In Example 30, the subject matter of Example 29 optionally includes means for verifying after onboarding is completed, that the message sent from the onboarding subordinate node contains the assigned accounting identifier before routing message to the another subordinate node of the group. 
     Example 31 is a high performance computing system comprising: a fabric switch network that includes a principal fabric switch; and a group of subordinate nodes each including a central processing unit (CPU), a fabric controller to route messages over the fabric switch network to other members of the group to the principal fabric switch, an input/output (I/O) circuit coupled to communicate messages over an external network, and a subordinate onboarding and accounting (OAB) logic block; wherein the fabric switch principal is to route messages between subordinate nodes of the group over the fabric switch network, and includes an I/O circuit coupled to communicate messages over an external network, and includes a principal OAB logic block; wherein a subordinate OAB logic circuit of at least one subordinate node is operative during onboarding of its subordinate node to: receive a fabric switch principal address message over the at least one subordinate node&#39;s I/O circuit, and provide an identification message, over the at least one subordinate node&#39;s fabric controller to the fabric switch principal, and receive, over the at least one subordinate node&#39;s fabric controller, a permission message from the fabric switch principal; and wherein the principal OAB logic circuit is operative during onboarding of the at least one subordinate node to: receive the identification message, over its switch principal&#39;s fabric controller, from the at least one subordinate node, and provide the permission message, over the fabric switch principal&#39;s fabric controller, to the identified at least one subordinate node. 
     In Example 32, the subject matter of Example 31 optionally includes wherein the at least one subordinate node identification message provides an indication of a manufacturing source of the at least one subordinate node. 
     In Example 33, the subject matter of any one or more of Examples 31-32 optionally include wherein a subordinate OAB logic circuit of at least one subordinate node is further operative during onboarding of its subordinate node to encrypt the onboarding subordinate node identification message with an encryption key that provides an indication of a manufacturing source of an onboarding subordinate node. 
     In Example 34, the subject matter of any one or more of Examples 31-33 optionally include wherein the principal OAB logic circuit is further operative during onboarding of the at least one subordinate node to verify an identity of the at least one subordinate node based upon the received identification message. 
     In Example 35, the subject matter of any one or more of Examples 31-34 optionally include wherein the principal OAB logic circuit is further operative during onboarding of the at least one subordinate node to: verify an identity of the at least one subordinate node based upon the received identification message, and provide the onboarding subordinate node permission message, over the fabric switch principal&#39;s fabric controller to the at least one subordinate node, in response to a positive verification of an identity of the at least one subordinate node. 
     In Example 36, the subject matter of any one or more of Examples 31-35 optionally include wherein a subordinate OAB logic circuit of at least one subordinate node is further operative during onboarding of its subordinate node to provide in a message, over the at least one subordinate node&#39;s fabric controller, an indication of a history of possession of the at least one subordinate node; and wherein the principal OAB logic circuit is further operative during onboarding of the at least one subordinate node to receive, over the fabric switch principal&#39;s I/O circuit, an indication within a message of the history of possession of the at least one subordinate node. 
     In Example 37, the subject matter of any one or more of Examples 31-36 optionally include wherein the at least one identification message provides an indication of a manufacturing source of the at least one subordinate node; wherein a subordinate OAB logic circuit of at least one subordinate node is further operative during onboarding of its subordinate node to provide in the identification message an indication of a history of possession of the at least one subordinate node; and wherein the principal OAB logic circuit is further operative during onboarding of the at least one subordinate node to: verify an identity of the at least one subordinate node based upon the indicated manufacturing source and the indicated history of possession of the at least one subordinate node, and provide the onboarding subordinate node permission message, over the fabric switch principal&#39;s fabric controller to the at least one subordinate node, in response to positive verifications of identity and history of possession of the at least one subordinate node. 
     In Example 38, the subject matter of any one or more of Examples 31-37 optionally include wherein a subordinate OAB logic circuit of at least one subordinate node is further operative during onboarding of its subordinate node to receive from the fabric switch principal, over the at least one subordinate node&#39;s fabric controller, an accounting identifier; and wherein the principal OAB logic circuit is further operative during onboarding of the at least one subordinate node to assign and send the accounting identifier, over the fabric switch principal&#39;s fabric controller, to the at least one subordinate node. 
     In Example 39, the subject matter of Example 38 optionally includes wherein a subordinate OAB logic circuit of at least one subordinate node is further operative during onboarding of its subordinate node to receive the accounting identifier within an encrypted message; and wherein the principal OAB logic circuit is further operative during onboarding of the at least one subordinate node to encrypt a message that includes the accounting identifier. 
     In Example 40, the subject matter of any one or more of Examples 38-39 optionally include wherein the subordinate OAB logic circuit of at least one subordinate node is operative during normal of its subordinate node to include the accounting identifier with messages sent to other nodes within the group of subordinate nodes, over the at least one subordinate node&#39;s fabric controller. 
     In Example 41, the subject matter of Example 40 optionally includes wherein the principal OAB logic circuit is operative during normal operation to verify that a message received from the at least one subordinate node contains the assigned accounting identifier before routing message to another subordinate node of the group. 
     In Example 42, the subject matter of any one or more of Examples 40-41 optionally include wherein the subordinate OAB logic circuit of at least one subordinate node is operative during normal of its subordinate node to store accounting information associated with an accounting identifier in a blockchain. 
     Example 43 is a method to onboard a subordinate node to a high performance computing system comprising: receiving a message that includes an address of a fabric switch principal, at an onboarding subordinate node, over an external network, providing an identification message, by the onboarding subordinate node, over the fabric switch network, to the fabric switch principal; receiving the identification message, at the fabric switch principal, over the fabric switch network, from the onboarding subordinate node; providing a permission message, by the fabric switch principal, over the fabric switch network, to the identified onboarding subordinate node; and receiving, the permission message, at the onboarding subordinate node, over the fabric switch network, from the fabric switch principal. 
     In Example 44, the subject matter of Example 43 optionally includes wherein the identification message provides an indication of a manufacturing source of the onboarding subordinate node. 
     In Example 45, the subject matter of any one or more of Examples 43-44 optionally include encrypting the identification message with an encryption key that provides an indication of a manufacturing source of an onboarding subordinate node. 
     In Example 46, the subject matter of Examples 43-45 optionally includes verifying, at the fabric switch principal, an identity of the onboarding subordinate node based upon the received identification message. 
     In Example 47, the subject matter of Examples 43-46 optionally includes wherein providing the permission message further includes providing the permission message in response to a positive verification of an identity of the onboarding subordinate node. 
     In Example 48, the subject matter of Examples 43-47 optionally includes wherein providing the identification message, at the onboarding subordinate further includes providing an indication of a manufacturing source of the onboarding subordinate node and providing, with the identification message, an indication of a history of possession of the onboarding subordinate node; and further including: receiving an indication of the history of the onboarding subordinate node, at the fabric switch principal, over the external network; and verifying, at the fabric switch principal, an identity of the onboarding subordinate node based upon the indicated manufacturing source and the indicated history of possession. 
     In Example 49, the subject matter of Examples 43-48 optionally includes receiving an accounting identifier, at the onboarding subordinate node, over the fabric switch network, from the fabric switch principal; and sending an accounting identifier, by the fabric switch principal, over the fabric switch network, to the onboarding subordinate node. 
     In Example 50, the subject matter of Examples 43-49 optionally includes including the accounting identifier within a message sent, by the onboarding subordinate node, after onboarding is completed, over the fabric switch network, to another node within the group of subordinate nodes. 
     In Example 51, the subject matter of Examples 43-50 optionally includes verifying, by the fabric switch principal, after onboarding is completed, that the message sent from the onboarding subordinate node contains the assigned accounting identifier before routing message to the another subordinate node of the group. 
     In Example 52, the subject matter of Examples 43-51 optionally includes storing in a blockchain, accounting information that is associated with the accounting identifier, by the onboarding subordinate node, after onboarding is completed. 
     Example 53 is at least one machine-readable medium including instructions, which when executed by a machine, cause the machine to perform operations of any of the methods of Examples 11-20. 
     Example 54 is at least one machine-readable medium including instructions, which when executed by a machine, cause the machine to perform operations of any of the methods of Examples 43-52. 
     Example 55 is an apparatus comprising means for performing any of the methods of Examples 11-20. 
     Example 56 is an apparatus comprising means for performing any of the methods of Examples 43-52. 
     The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that may be practiced. These embodiments are also referred to herein as “examples.” Such examples may include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein. 
     All publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) should be considered supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls. 
     In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects. 
     The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is to allow the reader to quickly ascertain the nature of the technical disclosure and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. The scope of the embodiments should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.