G06F9/5038

PARALLEL COMPUTING SCHEME GENERATION FOR NEURAL NETWORKS
20230024350 · 2023-01-26 ·

A device receives a computation graph and transforms the computation graph into a dataflow graph comprising recursive subgraphs. Each recursive subgraph comprises a tuple of another recursive subgraph and an operator node, or an empty graph. The device determines a number of partitioning recursions based on a number of parallel computing devices. For each partitioning recursion, the device determines costs corresponding to operator nodes, determines a processing order of the recursive subgraphs, and processes the recursive subgraphs. To process a recursive subgraph, the device selects a partitioning axis for tensors associated with an operator node of the recursive subgraph. The device outputs a partitioning scheme comprising partitioning axes for each tensor associated with the operator nodes.

Method for Scheduling Hardware Accelerator and Task Scheduler
20230022294 · 2023-01-26 ·

A task scheduler is connected between a central processing unit (CPU) and each hardware accelerator. The task scheduler first obtains a target task (for example, obtains the target task from a memory), and obtains a dependency relationship between the target task and an associated task. When it is determined, based on the dependency relationship, that a first associated task (for example, a prerequisite for executing the target task is that both a task 1 and a task 2 are executed) in the associated task has been executed, it indicates that the target task meets an execution condition, and the task scheduler schedules related hardware accelerators to execute the target task. Based on a dependency relationship between tasks, the task scheduler schedules, through hardware scheduling, each hardware accelerator to execute each task, and delivery of each task is performed through direct hardware access.

SCHEDULING COMPLEX JOBS IN A DISTRIBUTED NETWORK
20230029198 · 2023-01-26 ·

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for job management in a distributed network include a prioritizer that determines a priority level for a job and inserts the job into a priority queue based on the priority level, a scheduler that, for each element in the distributed network, requests the priorities of one or more jobs scheduled for execution, evaluates, based on the priorities of the one or more jobs scheduled for execution, the priority of a particular job with respect to the element, determines, based on the priorities, that the network element is free to perform job processes, and upon determining that a network element is free, scheduling a particular job for execution, and an executor that determines that all local and remote resources required for the scheduled job are available and executes the job according to processes defined within the distributed network.

Asynchronous execution graphs for autonomous vehicles
11709059 · 2023-07-25 · ·

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for executing the operations represented by an asynchronous execution graph. One of the methods includes receiving data characterizing an asynchronous execution graph comprising one or more subgraphs, wherein each subgraph comprises a plurality of nodes connected by edges, the plurality of nodes comprising a source node, one or more processor nodes, and one or more sink nodes; receiving source data from an external system that corresponds to the source node of a first subgraph in the graph; in response, executing the operations represented by the processor nodes in the first subgraph; and executing the operations represented by each sink node in the first subgraph.

MULTI-LEVEL WORKFLOW SCHEDULING USING META-HEURISTIC AND HEURISTIC ALGORITHMS

Techniques described herein relate to a method for deploying workflows. The method may include receiving, by a global orchestrator of a device ecosystem, a request to execute a workflow; decomposing, by the global orchestrator, the workflow into a plurality of workflow portions; executing, by the global orchestrator, a metaheuristic algorithm to generate a result comprising a plurality of domains of the device ecosystem in which to execute the plurality of workflow portions; and providing, by the global orchestrator, the plurality of workflow portions to respective local orchestrators of the plurality of domains based on the result of executing the metaheuristic algorithm.

WORKLOAD AWARE VIRTUAL PROCESSING UNITS
20230024130 · 2023-01-26 ·

A processing unit is configured differently based on an identified workload, and each configuration of the processing unit is exposed to software (e.g., to a device driver) as a different virtual processing unit. Using these techniques, a processing system is able to provide different configurations of the processing unit to support different types of workloads, thereby conserving system resources. Further, by exposing the different configurations as different virtual processing units, the processing system is able to use existing device drivers or other system infrastructure to implement the different processing unit configurations.

ELECTRONIC DEVICE, METHOD, AND COMPUTER READABLE STORAGE MEDIUM FOR ALLOCATING VIRTUAL MACHINE FOR EXECUTING APPLICATION

The one or more programs stored in a computer-readable storage medium according to various embodiments include instructions cause the first electronic device to receive, from a third electronic device, a first signal related to a user input to access a character corresponding to a user of the third electronic device through a first connection between the first electronic device and the third electronic device, establish a second connection between the first electronic device and a second electronic device distinct from the third electronic device and third connection for transmission of graphic data from the third electronic device to the second electronic device, transmit a second signal for requesting generation of the graphic data including the character controlled based on the second user input to the second electronic device through the second connection, and control the character independently of the transmission of the graphic data based on the third connection.

Method of distributed graph loading for minimal communication and good balance via lazy materialization and directory indirection using indexed tabular representation

Techniques herein minimally communicate between computers to repartition a graph. In embodiments, each computer receives a partition of edges and vertices of the graph. For each of its edges or vertices, each computer stores an intermediate representation into an edge table (ET) or vertex table. Different edges of a vertex may be loaded by different computers, which may cause a conflict. Each computer announces that a vertex resides on the computer to a respective tracking computer. Each tracking computer makes assignments of vertices to computers and publicizes those assignments. Each computer that loaded conflicted vertices transfers those vertices to computers of the respective assignments. Each computer stores a materialized representation of a partition based on: the ET and vertex table of the computer, and the vertices and edges that were transferred to the computer. Edges stored in the materialized representation are stored differently than edges stored in the ET.

TASK ALLOCATION ACROSS PROCESSING UNITS OF A DISTRIBUTED SYSTEM
20230229519 · 2023-07-20 ·

An organization's distributed data storage and processing system produces an enormous volume of source data (such as log files or other statistics). The organization uses a data item processing system to process the source data in prioritized chunks, and to further assign the data items within the chunks to different processing units based on estimates of processing completion time. In this way, it becomes feasible to process the source data for analysis by consumer clients within a reasonable amount of time, and the aggregate use of the processing units is made more efficient.

INTELLIGENT AUTO-SCALING OF CONTAINERIZED WORKLOADS IN CONTAINER COMPUTING ENVIRONMENT
20230229511 · 2023-07-20 ·

Techniques for managing containerized workloads in a container computing environment are disclosed. For example, a method comprises the following steps. The method predicts a composite time delay value for initializing an instance of a containerized workload for executing a microservice within a container computing environment. The method then computes at least one target resource utilization parameter, based on the predicted composite time delay value, for use by the container computing environment.