High-availability admission control for accelerator devices

US11748142B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11748142-B2
Application numberUS-202017097542-A
CountryUS
Kind codeB2
Filing dateNov 13, 2020
Priority dateNov 13, 2020
Publication dateSep 5, 2023
Grant dateSep 5, 2023

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.

The disclosure provides an approach for high-availability admission control. Embodiments include determining a number of slots present on the cluster of hosts. Embodiments include receiving an indication of a number of host failures to tolerate. Embodiments include determining a number of slots that are assigned to existing computing instances on the cluster of hosts. Embodiments include determining an available cluster capacity based on the number of slots present on the cluster of hosts, the number of host failures to tolerate, and the number of slots that are assigned to existing computing instances on the cluster of hosts. Embodiments include determining whether to admit a given computing instance to the cluster of hosts based on the available cluster capacity.

First claim

Opening claim text (preview).

We claim: 1. A method of high-availability admission control for a cluster of hosts, comprising: determining a number of slots present on the cluster of hosts, each of the slots present on the cluster of hosts corresponding to a corresponding assignable device on a corresponding host of the cluster of hosts; receiving an indication of a number of host failures to tolerate, wherein the number of host failures to tolerate is at least one host failure to tolerate; determining a reserve number of slots to reserve on the cluster of hosts as failover capacity based on the number of host failures to tolerate and slot capacity associated with one or more hosts of the cluster of hosts; determining corresponding slot requirements for a plurality of VCIs running on the cluster of hosts, the corresponding slot requirements indicating a number of slots required for operation for each of the plurality of VCIs; determining a largest slot requirement among the corresponding slot requirements, wherein the largest slot requirement is at least two slots; reserving the reserve number of slots on the cluster of hosts as failover capacity, the reserving comprising: determining a host of the cluster of hosts that has a number of available slots equal to at least the largest slot requirement; and reserving, on the host, a plurality of available slots of the host as failover capacity, a number of the plurality of available slots of the host being equal to at least the largest slot requirement; determining a number of slots that are assigned to existing computing instances on the cluster of hosts; determining an available cluster capacity based on the number of slots present on the cluster of hosts, the reserve number of slots, and the number of slots that are assigned to existing computing instances on the cluster of hosts; determining whether to admit a given computing instance to the cluster of hosts based on the available cluster capacity; and in response to determining to admit the given computing instance to the cluster of hosts, executing the admitted given computing instance on the cluster of hosts. 2. The method of claim 1 , wherein determining the reserve number of slots based on the number of host failures to tolerate comprises identifying a particular host with a largest slot capacity of the cluster of hosts and multiplying a slot capacity of the particular host by the number of host failures to tolerate. 3. The method of claim 1 , wherein determining the reserve number of slots based on the number of host failures to tolerate comprises: sorting the cluster of hosts according to slot capacity; selecting a subset of the cluster of hosts based on the sorting, wherein a number of hosts in the subset is equal to the number of host failures to tolerate; and determining a total slot capacity of the subset. 4. The method of claim 1 , wherein reserving the reserve number of slots on the cluster of hosts comprises reserving the reserve number of slots across more than one host of the cluster of hosts. 5. The method of claim 1 , further comprising: determining a failure of a first host of the cluster of hosts; and restarting one or more computing entities from the first host on one or more additional hosts of the cluster of hosts on which the reserve number of slots are reserved. 6. The method of claim 1 , wherein determining the number of slots present on the cluster of hosts comprises determining how many accelerator devices are present on each host of the cluster of hosts. 7. The method of claim 1 , wherein determining whether to admit the given computing instance to the cluster of hosts based on the available cluster capacity comprises determining whether the available cluster capacity includes a set of slots corresponding to slot requirements of the given computing instance. 8. A system, comprising: one or more processors; and memory comprising instructions that, when executed by the one or more processors, cause the system to perform a method of high-availability admission control for a cluster of hosts, the method comprising: determining a number of slots present on the cluster of hosts, each of the slots present on the cluster of hosts corresponding to a corresponding assignable device on a corresponding host of the cluster of hosts; receiving an indication of a number of host failures to tolerate, wherein the number of host failures to tolerate is at least one host failure to tolerate; determining a reserve number of slots to reserve on the cluster of hosts as failover capacity based on the number of host failures to tolerate and slot capacity associated with one or more hosts of the cluster of hosts; determining corresponding slot requirements for a plurality of VCIs running on the cluster of hosts, the corresponding slot requirements indicating a number of slots required for operation for each of the plurality of VCIs; determining a largest slot requirement among the corresponding slot requirements, wherein the largest slot requirement is at least two slots; reserving the reserve number of slots on the cluster of hosts as failover capacity, the reserving comprising: determining a host of the cluster of hosts that has a number of available slots equal to at least the largest slot requirement; and reserving, on the host, a plurality of available slots of the host as failover capacity, a number of the plurality of available slots of the host being equal to at least the largest slot requirement; determining a number of slots that are assigned to existing computing instances on the cluster of hosts; determining an available cluster capacity based on the number of slots present on the cluster of hosts, the reserve number of slots, and the number of slots that are assigned to existing computing instances on the cluster of hosts; determining whether to admit a given computing instance to the cluster of hosts based on the available cluster capacity; and in response to determining to admit the given computing instance to the cluster of hosts, executing the admitted given computing instance on the cluster of hosts. 9. The system of claim 8 , wherein determining the reserve number of slots based on the number of host failures to tolerate comprises identifying a particular host with a largest slot capacity of the cluster of hosts and multiplying a slot capacity of the particular host by the number of host failures to tolerate. 10. The system of claim 8 , wherein determining the reserve number of slots based on the number of host failures to tolerate comprises: sorting the cluster of hosts according to slot capacity; selecting a subset of the cluster of hosts based on the sorting, wherein a number of hosts in the subset is equal to the number of host failures to tolerate; and determining a total slot capacity of the subset. 11. The system of claim 8 , wherein reserving the reserve number of slots on the cluster of hosts comprises reserving the reserve number of slots across more than one host of the cluster of hosts. 12. The system of claim 8 , wherein the method further comprises: determining a failure of a first host of the cluster of hosts; and restarting one or more computing entities from the first host on one or more additional hosts of the cluster of hosts on which the reserve number of slots are reserved. 13. The system of claim 8 , wherein determining the number of slots present on the cluster of hosts comprises determining how many accelerator devices are present on each host of the cluster of hosts. 14. The system of claim 8 , wherein determining whether to admit the given computing instance to the clust

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • involving task migration · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Grid computing · CPC title

  • Clust · 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 US11748142B2 cover?
The disclosure provides an approach for high-availability admission control. Embodiments include determining a number of slots present on the cluster of hosts. Embodiments include receiving an indication of a number of host failures to tolerate. Embodiments include determining a number of slots that are assigned to existing computing instances on the cluster of hosts. Embodiments include determ…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).