Abstract:
A method for data deduplication during execution of an application on a plurality of computing nodes, including: generating, by a first processor in a first computing node executing the application, a first message to process application data owned by a second computing node executing the application; receiving, by a first network interface (NI) of the first computing node, the first message; extracting, by the first NI, a first key from the first message; determining, by the first NI, the first key is not a duplicate; and placing, by the first NI and in response to the first key not being a duplicate, the first message on a network connecting the first computing node to the second computing node.
Abstract:
In a multi-chip module (MCM), integrated circuits are coupled by optical waveguides that convey optical signals. The optical waveguides provide dedicated point-to-point optical links between all pairs of the integrated circuits. Moreover, for a given point-to-point optical link between a given pair of integrated circuits, other integrated circuits in the integrated circuits steal access on the given point-to-point optical link when communicating information to one of the given pair of integrated circuits so that the given point-to-point optical link is shared by more than the given pair of integrated circuits. Furthermore, the integrated circuits recover errors in messages in the optical signals corrupted by collisions on the given point-to-point optical link using erasure coding. In this way, the MCM may provide an optical network with increased bandwidth relative to a point-to-point optical network.
Abstract:
The disclosed embodiments provide a system that performs distributed page-table lookups in a shared-memory multiprocessor system with two or more nodes, where each of these nodes includes a directory controller that manages a distinct portion of the system's address space. During operation, a first node receives a request for a page-table entry that is located at a physical address that is managed by the first node. The first node accesses its directory controller to retrieve the page-table entry, and then uses the page-table entry to calculate the physical address for a subsequent page-table entry. The first node determines the home node (e.g., the managing node) for this calculated physical address, and sends a request for the subsequent page-table entry to that home node.
Abstract:
In a multi-chip module (MCM), integrated circuits are coupled by optical waveguides that convey optical signals. The optical waveguides provide dedicated point-to-point optical links between all pairs of the integrated circuits. Moreover, for a given point-to-point optical link between a given pair of integrated circuits, other integrated circuits in the integrated circuits steal access on the given point-to-point optical link when communicating information to one of the given pair of integrated circuits so that the given point-to-point optical link is shared by more than the given pair of integrated circuits. Furthermore, the integrated circuits recover errors in messages in the optical signals corrupted by collisions on the given point-to-point optical link using erasure coding. In this way, the MCM may provide an optical network with increased bandwidth relative to a point-to-point optical network.
Abstract:
Each computing node of a distributed computing system may implement a hardware mechanism at the network interface for message driven prefetching of application data. For example, a parallel data-intensive application that employs function shipping may distribute respective portions of a large data set to main memory on multiple computing nodes. The application may send messages to one of the computing nodes referencing data that is stored locally on the node. For each received message, the network interface on the recipient node may extract the reference, initiate the prefetching of referenced data into a local cache (e.g., an LLC), and then store the message for subsequent interpretation and processing by a local processor core. When the processor core retrieves a stored message for processing, the referenced data may already be in the LLC, avoiding a CPU stall while retrieving it from memory. The hardware mechanism may be configured via software.
Abstract:
A network is described in which a base optical point-to-point (P2P) network can be reconfigured to a target network topology. This reconfigurable architecture customizes the network topology for different classes of applications to maximize throughput. In particular, the network can function efficiently at high-radix and low-radix traffic patterns. This capability is obtained using configurable electrical circuit switches at each node in the network. These configurable electrical circuit switches can be set so that incoming packets are directly routed to a specified output (either a local destination or an outgoing optical link) without: delay, contention, or buffers. In this way, predefined network topologies can be configured with improved node-to-node bandwidths when compared to the original P2P network by leveraging unused optical links. Furthermore, because the electrical circuit switches can be reconfigured, the network topology can be dynamically reconfigured to suit applications or application phases.
Abstract:
An arbitration technique for determining mappings for a switch is described. During a given arbitration decision cycle, an arbitration mechanism maintains, until expiration, a set of mappings from a subset of the input ports to a subset of the output ports of the switch. This set of mappings was determined during an arbitration decision cycle up to K cycles preceding the given arbitration decision cycle. Because the set of mappings are maintained, it is easier for the arbitration mechanism to determine mappings from a remainder of the input ports to the remainder of the output ports without collisions.
Abstract:
An arbitration technique for determining mappings for a switch is described. During a given arbitration decision cycle, an arbitration mechanism maintains, until expiration, a set of mappings from a subset of the input ports to a subset of the output ports of the switch. This set of mappings was determined during an arbitration decision cycle up to K cycles preceding the given arbitration decision cycle. Because the set of mappings are maintained, it is easier for the arbitration mechanism to determine mappings from a remainder of the input ports to the remainder of the output ports without collisions.
Abstract:
A method for accessing a virtual memory of a processor using a processor-bus-connected flash storage module (PFSM) as a first paging device and a hard disk drive (HDD) as a second paging device, the method including: allocating a first address partition and a second address partition of a virtual memory for a software application of a processor to the first paging device and the second paging device, respectively, identifying a virtual memory page in the first paging device responsive to a page fault of the virtual memory triggered by the software application, sending a page access request to the PFSM for accessing the virtual memory page responsive to the page fault, and receiving the virtual memory page from the PFSM based on a command of the processor bus issued by the PFSM in conjunction with performing a flash memory access in the flash memory using a flash page address.
Abstract:
In a multi-chip module (MCM), optical waveguides in a first plane convey modulated optical signals among integrated circuits (which are sometimes referred to as ‘chips’). Moreover, an optical-butterfly switch, optically coupled to the optical waveguides, dynamically allocates communication bandwidth among the integrated circuits. This optical-butterfly switch includes optical components in the first plane and a second plane, and optical couplers that couple the modulated optical signals to and from the first plane and the second plane. In this way, the MCM communicates the modulated optical signals among the integrated circuits without optical-waveguide crossings in a given plane.