G06F15/17312

Memory Network Processor

A multi-processor system with processing elements, interspersed memory, and primary and secondary interconnection networks optimized for high performance and low power dissipation is disclosed. In the secondary network multiple message routing nodes are arranged in an interspersed fashion with multiple processors. A given message routing node may receive messages from other message nodes, and relay the received messages to destination message routing nodes using relative offsets included in the messages. The relative offset may specify a number of message nodes from the message node that originated a message to a destination message node.

METHOD AND APPARATUS FOR USING A NETWORK INFORMATION BASE TO CONTROL A PLURALITY OF SHARED NETWORK INFRASTRUCTURE SWITCHING ELEMENTS
20230164032 · 2023-05-25 ·

A network control system that includes several controllers for managing several switching elements. Each controller includes a network information base (NIB) storage that stores data regarding the switching elements and a secondary storage for facilitating replication of at least a portion of data across the NIB storages of the different controllers. In some embodiments, the primary purpose for one or more of the secondary storage structures is to back up the data in the NIB. In these or other embodiments, one or more of the secondary storage structures serve a purpose other than backing up the data in the NIB. In some embodiments, the NIB is stored in system memory while the system operates for fast access of the NIB records. In some embodiments, one or more of the secondary storage structures are stored on disks which can be slower to access.

Acceleration system for facilitating processing of API calls
11640368 · 2023-05-02 · ·

One embodiment includes acceleration systems that operate as intermediaries between the API processing system and the clients to reduce API call roundtrip latencies. The acceleration systems are a network of interconnected systems that are distributed across the globe. A given acceleration system establishes a network connection with a given client and receives a request for processing an API call over the connection. The programming function associated with the API call is configured in the API processing system. The acceleration system facilitates the processing of the API call over an established connection with the API processing system.

Method and apparatus for replicating network information base in a distributed network control system with multiple controller instances
11509564 · 2022-11-22 · ·

A network control system that includes several controllers for managing several switching elements. In some embodiments, each switching element implements at least one logical switching element and has a master controller. In some embodiments, at least one controller is a master of at least two switching elements. The network control system accepts definitions of the logical switching elements and, in some embodiments, each logical switching element has a master controller. In some embodiments, at least one controller is a master for at least two logical switching elements.

DISTRIBUTION SCHEDULE CREATION METHOD AND DISTRIBUTION SCHEDULE CREATION APPARATUS
20170346922 · 2017-11-30 · ·

A method of causing a computer to execute: classifying, based on topology for indicating connection relationships among a data-provision apparatus, distribution-destination apparatuses corresponding to distribution destinations of distribution targets, and relay apparatuses configured to relay communications between the data-provision apparatus and the distribution-destination apparatuses, the mutual distribution-destination apparatuses; identifying a first distribution-destination apparatus having a highest communication speed of a directly connected link among the distribution-destination apparatuses belonging to the group; and creating a distribution schedule of the data in a manner that the data is transmitted from the data-provision apparatus to the first distribution-destination apparatus in the same group, and next, the data is transmitted from the first distribution-destination apparatus to a second distribution-destination apparatus other than the first distribution-destination apparatus in the group.

Notification handling system and method

A notification handling system determines a notification type for a notification received at a first device of a group of associated devices. The system determines at least a second device from the group that has a capability related to the notification type and accordingly routes the notification to the second device. The second device may be paired to the first device via a wireless link. The notification handling system also augments the notification with additional information for the second device based on the capability of the second device. The augmented information is obtained by extracting data from the notification and augmenting the notification based on the extracted data. The notification handling system may also send or receive a global notification dismissal that dismisses the notification from all associated devices that may have received the notification.

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.

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.

SYSTEM AND METHOD FOR COMMUNICATION EFFICIENT SPARSE-REDUCE
20170300830 · 2017-10-19 ·

Systems and methods for building a distributed learning framework, including generating a sparse communication network graph with a high overall spectral gap. The generating includes computing model parameters in distributed shared memory of a cluster of a plurality of worker nodes; determining a spectral gap of an adjacency matrix for the cluster using a stochastic reduce convergence analysis, wherein a spectral reduce is performed using a sparse reduce graph with a highest possible spectral gap value for a given network bandwidth capability; and optimizing the communication graph by iteratively performing the computing and determining until a threshold condition is reached. Each of the plurality of worker nodes is controlled using tunable approximation based on available bandwidth in a network in accordance with the generated sparse communication network graph.

Analyzing data using a hierarchical structure
09785847 · 2017-10-10 · ·

Apparatus, systems, and methods for analyzing data are described. The data can be analyzed using a hierarchical structure. One such hierarchical structure can comprise a plurality of layers, where each layer performs an analysis on input data and provides an output based on the analysis. The output from lower layers in the hierarchical structure can be provided as inputs to higher layers. In this manner, lower layers can perform a lower level of analysis (e.g., more basic/fundamental analysis), while a higher layer can perform a higher level of analysis (e.g., more complex analysis) using the outputs from one or more lower layers. In an example, the hierarchical structure performs pattern recognition.