Patent classifications
G06F2209/5021
Wi-Fi Virtualization
In one embodiment, a wireless network system includes a set of one or more wireless radios, and a set of software for the wireless network system that comprises a data structure representing the set of one or more wireless radios and a virtualization module that registers one or more virtualized data structures representing a virtual proxy of the set of one or more wireless radios.
Security risk-based resource allocation
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for allocating resources to processes based on security risk. The methods include actions of receiving a request from a process executing on a system for an allocation of resources and identifying other processes executing on the system. Additional actions include determining, for each of the processes, a risk score that reflects a likelihood that the process is a malicious process and determining a resource allocation priority based on the risk scores of each of the processes. Further actions include allocating resources to the processes based on the resource allocation priority.
Memory management model and interface for unmodified applications
A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory. Thus, the system provides a new model for managing memory that improves application host behavior and allows applications to use computing resources more efficiently.
Adaptive datacenter topology for distributed frameworks job control through network awareness
Systems, methods, and computer program products to perform an operation comprising receiving a priority of a distributed computing job, an intermediate traffic type of the distributed computing job, and a set of candidate compute nodes available to process the distributed computing job, the candidate compute nodes each available to process at least one input split of the distributed computing job, and selecting a mapper node from the candidate compute nodes, for one of the input splits, wherein the mapper node is selected based on the priority and the intermediate traffic type of the distributed computing job, wherein the mapper compute node is further selected upon determining that the mapper node is not affected by an error, and a resource utilization score for the mapper node does not exceed a utilization threshold.
Work Conserving, Load Balancing, and Scheduling
A system and method are described for work conserving, load balancing, and scheduling by a network processor. For example, one embodiment of a system includes a plurality of processing cores, including a scheduling circuit, at least one source processing core that generates at least one task and at least one destination processing core that receives and processes the at least one task, and generates a response. The scheduling circuit of the exemplary system receives the at least one task and conducts a load balancing to select the at least one destination processing core. In an embodiment, the scheduling circuit further detects a critical sequences of tasks, schedules those tasks to be processed by a single destination processing core, and, upon completion of the critical sequence, conducts another load balancing to potentially select a different processing core to process more tasks.
Starvation free scheduling of prioritized workloads on the GPU
Embodiments are directed toward systems and methods for scheduling resources of a graphics processing unit that determine, for a number of applications having commands to be issued to the GPU, a static priority level and a dynamic priority level of each application, work iteratively across static priority levels until a resource budget of the GPU is consumed, and starting with a highest static priority identify the applications in a present static priority level, assign a processing budget of the GPU to each of the applications in the present static priority level according to their dynamic priority levels, and admit to a queue commands from the applications in the present static priority level according to their processing budgets, and release the queue to the GPU.
System on chip including a multi-core processor and task scheduling method thereof
A scheduling method of a system on chip including a multi-core processor includes receiving a schedule-requested task, converting a priority assigned to the schedule-requested task into a linear priority weight, selecting a plurality of candidate cores, to which the schedule-requested task will be assigned, from among cores of the multi-core processor, calculating a preemption compare index indicating a current load state of each of the plurality of candidate cores, comparing the linear priority weight with the preemption compare index of the each of the plurality of candidate cores to generate a comparison result, and assigning the schedule-requested task to one candidate core of the plurality of candidate cores depending on the comparison result.
DYNAMIC CAPACITY OPTIMIZATION FOR SHARED COMPUTING RESOURCES
Systems, methods, devices, and other techniques for managing a computing resource shared by a set of online entities. A system can receive a request from a first online entity to reserve capacity of the computing resource. The system determines a relative priority of the first online entity and identifies a reservation zone that corresponds to the relative priority of the first online entity. The system determines whether to satisfy the request based on comparing (i) an amount of the requested capacity of the computing resource and (ii) an amount of the portion of unused capacity of the computing resource designated by the reservation zone that online entities having relative priorities at or below the relative priority of the first online entity are permitted to reserve.
User interface based page migration for performance enhancement
Enhancement or reduction of page migration can include operations that include scoring, in a computing device, each executable of at least a first group and a second group of executables in the computing device. The executables can be related to user interface elements of applications and associated with pages of memory in the computing device. For each executable, the scoring can be based at least partly on an amount of user interface elements using the executable. The first group can be located at first pages of the memory, and the second group can be located at second pages. When the scoring of the executables in the first group is higher than the scoring of the executables in the second group, the operations can include allocating or migrating the first pages to a first type of memory, and allocating or migrating the second pages to a second type of memory.
SHARING OF COMPUTE RESOURCES BETWEEN THE VIRTUALIZED RADIO ACCESS NETWORK (VRAN) AND OTHER WORKLOADS
The present disclosure relates to systems and methods for sharing compute resources. The systems and methods may include identifying a plurality of workloads to complete by a deadline. The systems and methods may include generating a performance prediction for each workload of the plurality of workloads. The systems and methods may use the performance prediction to calculate a number of compute resources required for the plurality of workloads to complete by the deadline. The systems and methods may schedule the plurality of workloads across the number of compute resources.