Patent classifications
G06F9/5061
Managing processing system efficiency
Methods, systems, and computer storage media storing instructions for managing processing system efficiency. One of the methods includes obtaining data splitting a plurality of general-purpose processing units in a processing system into a high-priority domain and a low-priority domain, wherein the general-purpose processing units in the high-priority domain are assigned to perform one or more tasks comprising one or more high-priority tasks, and the general-purpose processing units in the low-priority domain are assigned to perform one or more low-priority tasks; and during runtime of the processing system, obtaining memory usage measurements that characterize usage of system memory by the high-priority domain and the low-priority domain; and adjusting, based on the memory usage measurements, a configuration of (i) the high-priority domain, (ii) the low-priority domain, or (iii) both to adjust utilization of the system memory by the general-purpose processing units.
Systems and methods for resource-based scheduling of commands
A system and method for scheduling commands for processing by a storage device. A command is received from an application and stored in a first queue. Information is obtained on a first set of resources managed by the storage device. A second set of resources is synchronized based on the information on the first set of resources. The second set of resources is allocated into a first pool and a second pool. A condition of the second set of resources in the first pool is determined. One of the second set of resources in the first pool is allocated to the command based on a first determination of the condition, and one of the second set of resources in the second pool is allocated to the command based on a second determination of the condition.
Estimate and control execution time of a utility command
A method, system, and computer program product to plan and schedule executions of various utility tasks of a utility command during a maintain window, the method including receiving a utility command. The method may also include identifying possible utility tasks used to execute the utility command. The method may also include determining preferred utility tasks. The method may also include calculating a degree of parallelism for the preferred utility tasks. The method may also include generating a utility execution plan for the utility command. The method may also include analyzing the utility execution plan against resource constraints of a time window and sub time windows of the time window. The method may also include generating a time window execution plan for each sub time window of the sub time windows. The method may also include updating the utility execution plan with the time window execution plans.
DATA PLANE SCALABLE ARCHITECTURE FOR WIRELESS COMMUNICATION
Embodiments of apparatus and method for data plane management are disclosed. In one example, an apparatus for communication both uplink and downlink can include a plurality of downlink clusters, each downlink cluster including a downlink cluster processor configured to process three or more downlink data layers. The apparatus can also include a plurality of uplink clusters, each uplink cluster including an uplink cluster processor configured to process three or more uplink data layers. The apparatus can further include a controller configured to scale the plurality of downlink clusters and configured to scale the plurality of uplink clusters. Scaling the plurality of downlink clusters and the plurality of uplink clusters can include activating or deactivating one or more clusters of the plurality of downlink clusters, the plurality of uplink clusters, or both the plurality of downlink clusters and the plurality of uplink clusters.
ASSIGNING GEOMETRY FOR PRETESTING AGAINST SCREEN REGIONS FOR AN IMAGE FRAME USING PRIOR FRAME INFORMATION
A method including rendering graphics for an application using graphics processing units (GPUs). Responsibility for rendering of geometry is divided between GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known. First pieces of geometry are rendered at the GPUs during a rendering phase of a previous image frame. Statistics are generated for the rendering of the previous image frame. Second pieces of geometry of a current image frame are assigned based on the statistics to the GPUs for geometry testing. Geometry testing at a current image frame on the second pieces of geometry is performed to generate information regarding each piece of geometry and its relation to each screen region, the geometry testing performed at each of the GPUs based on the assigning. The information generated for the second pieces of geometry is used when rendering the geometry at the GPUs.
Resource usage prediction for cluster provisioning
A system for provisioning resources includes a processor and a memory. The processor is configured to receive a time series of past usage data. The past usage data comprises process usage data and instance usage data. The processor is further configured to determine an upcoming usage data based at least in part on the time series of the past usage data, and provision a computing system according to the upcoming usage data.
Cluster resource management in distributed computing systems
Techniques are provided for managing resources among clusters of computing devices in a computing system. Resource reassignment message are generated for indicating that servers are reassigned and in response to resource compute loads exceed or fall below certain thresholds. Techniques also include establishing communications with the reassigned servers to assign compute loads without physically relocating the servers from one cluster to another cluster.
AUTOMATED SERVER WORKLOAD MANAGEMENT USING MACHINE LEARNING
Systems and methods are disclosed for managing workload among server clusters is disclosed. According to certain embodiments, the system may include a memory storing instructions and a processor. The processor may be configured to execute the instructions to determine historical behaviors of the server clusters in processing a workload. The processor may also be configured to execute the instructions to construct cost models for the server clusters based at least in part on the historical behaviors. The cost model is configured to predict a processor utilization demand of a workload. The processor may further be configured to execute the instructions to receive a workload and determine efficiencies of processing the workload by the server clusters based at least in part on at least one of the cost models or an execution plan of the workload.
EFFECTIVE AND SCALABLE BUILDING AND PROBING OF HASH TABLES USING MULTIPLE GPUS
Described approaches provide for effectively and scalably using multiple GPUs to build and probe hash tables and materialize results of probes. Random memory accesses by the GPUs to build and/or probe a hash table may be distributed across GPUs and executed concurrently using global location identifiers. A global location identifier may be computed from data of an entry and identify a global location for an insertion and/or probe using the entry. The global location identifier may be used by a GPU to determine whether to perform an insertion or probe using an entry and/or where the insertion or probe is to be performed. To coordinate GPUs in materializing results of probing a hash table a global offset to the global output buffer may be maintained in memory accessible to each of the GPUs or the GPUs may compute global offsets using an exclusive sum of the local output buffer sizes.
TASK CORRELATION FRAMEWORK
A method comprises extracting first task data from a first data source corresponding to a first application and second task data from a second data source corresponding to a second application, and comparing the first task data to the second task data using one or more natural language processing techniques. In the method, one or more matching tasks between the first task data and the second task data are identified based at least in part on the comparing. Code of at least one of the first application and the second application is analyzed to determine whether the code of at least one of the first application and the second application implements the one or more matching tasks.