Computing resource allocation optimization

US2018181439A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018181439-A1
Application numberUS-201615389992-A
CountryUS
Kind codeA1
Filing dateDec 23, 2016
Priority dateDec 23, 2016
Publication dateJun 28, 2018
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computing system may be configured to implement a plurality of agents each associated with a predetermined number of CPU cores and a predetermined amount of memory and to receive requests to perform tasks. A request may specify the number of CPU cores and amount of memory for performing the task. Allocation of resources may include determining multiple allocation profiles, each describing a possible allocation of cores and memory to the task from currently available CPU cores and memory associated with the agents. For each agent and for each of said allocation profiles, respective efficiency measures for memory usage and CPU usage may be calculated. An allocation profile may be selected using said calculated memory usage and CPU usage efficiency measures.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method in a computing system of allocating, to a task, memory and central processing unit (“CPU”) cores, wherein the computing system is configured to implement a plurality of agents each associated with a predetermined number of CPU cores and a predetermined amount of memory, the method comprising: receiving a request for the system to perform a task, wherein the request specifies the number of CPU cores and amount of memory for performing the task; determining multiple allocation profiles, each describing a possible allocation of cores and memory to the task from currently available CPU cores and memory associated with the agents; for each agent and for each of said allocation profiles, calculating respective efficiency measures for memory usage and CPU usage; and selecting an allocation profile using said calculated memory usage and CPU usage efficiency measures. 2 . The method of claim 1 wherein the selected allocation profile is one of the multiple allocation profiles determined from said efficiency measures to have the maximum efficiency. 3 . The method according to claim 1 comprising, for each allocation profile, calculating the total of the calculated efficiency measures for CPU and memory usage across all of said agents, wherein said selected allocation profile is one of the multiple allocation profiles determined from said total to have the maximum efficiency. 4 . The method according to claim 2 comprising: identifying more than one possible allocation profile having the maximum efficiency; and selecting between said more than one possible allocation profiles on the basis of remaining memory distribution after allocation. 5 . The method according to claim 3 comprising, for respective ones of at least some of said identified allocation profiles, calculating for each agent a post allocation core to memory ratio remaining after implementation of the possible allocation, and analysing the distribution of said post allocation core to memory ratios; wherein said selected allocation profile is one of the identified allocation profiles having the minimum distribution of post allocation core to memory ratios. 6 . The method according to claim 4 wherein analysing the distribution comprises calculating the standard deviation of said post allocation core to memory ratios; wherein said selected allocation profile is one of the identified allocation profiles having the minimum calculated standard deviation of post allocation core to memory ratios. 7 . The method according to claim 2 comprising: identifying more than one possible allocation profile having the maximum efficiency determined from said total of the calculated efficiency measures for CPU and memory usage across all of said agents; for respective ones of at least some of said identified allocation profiles, calculating for each agent the total remaining memory after implementation of the possible allocation; wherein said selected allocation profile is one of the identified allocation profiles having the maximum calculated total remaining memory. 8 . The method according to claim 1 wherein the calculation of a memory efficiency measure comprises comparing the amount of memory allocated in a particular allocation profile to the amount of memory corresponding to an optimal allocation ratio of memory to cores for the number of available cores. 9 . The method according to claim 1 wherein the request specifies a core to memory ratio and the calculation of a CPU usage efficiency measure comprises determining the number of CPU cores remaining after all cores have been allocated according to the core to memory ratio specified in the request. 10 . A computing system comprising a plurality of processors and memory, configured to implement an agent manager and a plurality of agents, each agent being associated with a predetermined number of central processing unit “CPU” cores and a predetermined amount of memory, wherein the agent manager is configured to: receive a request for the system to perform a task, wherein the request indicates the number of CPU cores and amount of memory for performing the task; determine multiple allocation profiles, each describing a possible allocation of cores and memory to the task from currently available CPU cores and memory at the agents; for each agent and for each of said allocation profiles, calculate respective efficiency measures for memory usage CPU usage; select an allocation profile using said calculated memory usage and CPU usage efficiency measures; and communicate the selected allocation profile to agents described in the selected allocation profile. 11 . The computing system of claim 10 wherein the agent manager is configured to calculate an efficiency score for each of said multiple allocation profiles using said calculated efficiency measures and to select an allocation profile from said multiple allocation profiles determined from said efficiency score to have the maximum efficiency. 12 . The computing system of claim 11 wherein the agent manager is configured to select between multiple allocation profiles determined from said efficiency score to have the maximum efficiency. 13 . The computing system of claim 12 wherein the selection between multiple allocation profiles determined from said efficiency score to have the maximum efficiency is based on one or both of distribution of post allocation core to memory ratios across agents and total remaining memory across all agents. 14 . The computing system of claim 10 configured to include a queue manager to receive incoming requests and forward them to the agent manager according to availability of resources at the agents. 15 . The computing system of claim 10 in which the agents are configured to allocate resources for the performance of the task according to the allocation profile, and to release the allocated resources on completion of the task. 16 . The computing system of claim 15 in which the agents are configured to communicate availability of resources associated with them to the agent manager. 17 . The computing system of claim 16 including a queue manager wherein the availability of resources is communicated to the agent manager via the queue manager. 18 . A method in a computing system of allocating, to a task, memory and central processing unit (“CPU”) cores, the method comprising: receiving a request for the system to perform a task, wherein the request specifies the number of CPU cores and the amount of memory for performing the task; determining multiple allocation profiles, each describing a possible allocation of cores and memory to the task from currently available CPU cores and memory; for each of said allocation profiles, calculating a respective efficiency measure for memory usage and CPU usage; and selecting an allocation profile using said calculated memory usage and CPU usage efficiency measures. 19 . The method according to claim 18 wherein the memory efficiency measure is based on the relative amounts of memory allocated in a particular allocation profile and memory corresponding to an optimal allocation ratio of memory to cores for the number of available cores. 20 . The method according to claim 18 wherein the request specifies a core to memory ratio and the calculation of a CPU usage efficiency measure comprises determining the number of CPU cores remaining after all available cores have been allocated according to the core to memory ratio specified

Assignees

Inventors

Classifications

  • G06F9/5016Primary

    the resource being the memory · CPC title

  • Techniques for rebalancing the load in a distributed system · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • G06F9/5005Primary

    to service a request · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2018181439A1 cover?
A computing system may be configured to implement a plurality of agents each associated with a predetermined number of CPU cores and a predetermined amount of memory and to receive requests to perform tasks. A request may specify the number of CPU cores and amount of memory for performing the task. Allocation of resources may include determining multiple allocation profiles, each describing a p…
Who is the assignee on this patent?
Nice Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/5016. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 28 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).