G06F15/17312

MULTIPLE DIES HARDWARE PROCESSORS AND METHODS

Methods and apparatuses relating to hardware processors with multiple interconnected dies are described. In one embodiment, a hardware processor includes a plurality of physically separate dies, and an interconnect to electrically couple the plurality of physically separate dies together. In another embodiment, a method to create a hardware processor includes providing a plurality of physically separate dies, and electrically coupling the plurality of physically separate dies together with an interconnect.

SWITCH FABRIC HAVING A SERIAL COMMUNICATIONS INTERFACE AND A PARALLEL COMMUNICATIONS INTERFACE
20220035759 · 2022-02-03 ·

A switch fabric is disclosed that includes a serial communications interface and a. parallel communications interface. The serial communications interface is configured for connecting a plurality of slave devices to a master device in parallel to transmit information between the plurality of slave devices and the master device, and the parallel communications interface is configured for separately connecting the plurality of slave devices to the master device to transmit information between the plurality of slave devices and the master device, and to transmit information between individual ones of the plurality of slave devices. The parallel communications interface may comprise a dedicated parallel communications channel for each one of the plurality of slave devices. The serial communications interface may comprise a multidrop bus, and the parallel communications interface may comprise a cross switch.

MULTIFUNCTIONAL DATA REORGANIZATION NETWORK

A multifunctional data reorganization network includes a binary switching unit and a recursive shuffle network (RSN), wherein both the binary switching unit and the recursive shuffle network can enable bidirectional transmission of data, and the data reorganization network completes data reorganization by controlling the transmission direction of a signal in the network. The network may serve as a data transfer path between a storage unit and a computation unit to perform multiple data reorganization functions while transferring data, thereby enabling flexible data structure adjustment of non-regular data, and thus improving data transfer efficiency and computational efficiency of non-regular computation.

Synchronization in multi-chip systems

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for determining, for each pair of adjacent chips in a plurality of chips connected in a series-ring arrangement of a semiconductor device, a corresponding loop latency for round trip data transmissions between the pair of chips. Identifying, from among the loop latencies, a maximum loop latency. Determining a ring latency for a data transmission originating from a chip of the plurality chips to be transmitted around the series-ring arrangement and back to the chip. Comparing half of the maximum loop latency to one N-th of the ring latency, where N is the number of chips in the plurality of chips, and storing the greater value as an inter-chip latency of the semiconductor device, the inter-chip latency representing an operational characteristic of the semiconductor device.

METHOD AND APPARATUS FOR INTERACTING WITH A NETWORK INFORMATION BASE IN A DISTRIBUTED NETWORK CONTROL SYSTEM WITH MULTIPLE CONTROLLER INSTANCES
20220173968 · 2022-06-02 ·

A control system including several controllers for managing several switching elements. A first controller registers a second controller for receiving a notification when a data tuple changes in a network information base (NIB) storage of the first controller that stores data for managing a set of switching elements. The first controller changes the data tuple in the NIB. The first controller sends the notification to the second controller of the change to the data tuple in the NIB. The first and second controllers operate on two different computing devices. Each controller receives logical control plane data for specifying logical datapath sets and converts the logical control plane data to physical control plane data for enabling the switching elements to implement the logical datapath sets.

LABEL PROPAGATION IN A DISTRIBUTED SYSTEM

Data are maintained in a distributed computing system that describe a graph. The graph represents relationships among items. The graph has a plurality of vertices that represent the items and a plurality of edges connecting the plurality of vertices. At least one vertex of the plurality of vertices includes a set of label values indicating the at least one vertex's strength of association with a label from a set of labels. The set of labels describe possible characteristics of an item represented by the at least one vertex. At least one edge of the plurality of edges includes a set of label weights for influencing label values that traverse the at least one edge. A label propagation algorithm is executed for a plurality of the vertices in the graph in parallel for a series of synchronized iterations to propagate labels through the graph.

Managed switch architectures: software managed switches, hardware managed switches, and heterogeneous managed switches
11743123 · 2023-08-29 · ·

Some embodiments of the invention provide a a method of processing packets associated with a logical switching element implemented by multiple physical switching elements executing on multiple host computers on which multiple machines execute. At a first physical switching element of a first host computer, the method receives a packet from a first machine associated with the logical switching element. For the packet, the method identifies a logical ingress port of the logical switch that is associated with the packet. For the packet, the method also uses the logical ingress port to identify a logical egress port of the logical switch that is associated with the packet. For the packet, the method also uses the logical egress port to identify a physical egress port of the first host computer to use to send the packet along to a second machine associated with the logical egress port. From the identified physical egress port, the method forwards the packet with an encapsulating header that stores the logical egress port.

Method for deployment of a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer
11334392 · 2022-05-17 · ·

A method of deploying a task includes allocating nodes to the task; determining, in the network, a subnetwork, for interconnecting the allocated nodes, satisfying one or more predefined determination criteria including a first criterion according to which the determined subnetwork is the one, from among at least two subnetworks meeting the criteria other than the first criterion, using the most switches already allocated, each to at least one already deployed task; allocating the subnetwork, and in particular the links belonging to that subnetwork, to the task; and implementing inter-node communication routes in the allocated subnetwork.

Method for deploying a task in a supercomputer by searching switches for interconnecting nodes
11327796 · 2022-05-10 · ·

A method for deploying a task includes deploying the task in the supercomputer; executing the task; at the end of the execution of the task, detecting at least one link which is not allocated to any task, and setting each detected link in an inactive state, wherein the link requires a power consumption less than the power consumption required by a link associated with at least one task.

Instruction set

The invention relates to a computer program comprising a sequence of instructions for execution on a processing unit having instruction storage for holding the computer program, an execution unit for executing the computer program and data storage for holding data, the computer program comprising one or more computer executable instruction which, when executed, implements: a send function which causes a data packet destined for a recipient processing unit to be transmitted on a set of connection wires connected to the processing unit, the data packet having no destination identifier but being transmitted at a predetermined transmit time; and a switch control function which causes the processing unit to control switching circuitry to connect a set of connection wires of the processing unit to a switching fabric to receive a data packet at a predetermined receive time.