US 12,222,827 B2
Cost-effective, failure-aware resource allocation and reservation in the cloud
Ardalan Kangarlou, Cary, NC (US)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp, Inc., San Jose, CA (US)
Filed on Aug. 30, 2022, as Appl. No. 17/898,824.
Prior Publication US 2024/0070038 A1, Feb. 29, 2024
Int. Cl. G06F 11/00 (2006.01); G06F 9/50 (2006.01); G06F 11/20 (2006.01); G06F 11/30 (2006.01)
CPC G06F 11/2025 (2013.01) [G06F 9/5072 (2013.01); G06F 9/5077 (2013.01); G06F 11/2028 (2013.01); G06F 11/203 (2013.01); G06F 11/2069 (2013.01); G06F 11/301 (2013.01); G06F 2209/503 (2013.01); G06F 2209/505 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory machine readable medium storing instructions, which when executed by a scheduler of a container orchestration platform, cause the scheduler to:
receive information indicative of a number (n) of a plurality of nodes that are part of a high-availability (HA) cluster and an amount (p) of resources to support a given unit of compute of a plurality of units of compute to be scheduled for execution by the HA cluster, wherein n is greater than 2;
for a number (f) of concurrent node failures to be tolerated by the HA cluster, create a schedule for the HA cluster that accommodates concurrent execution of all of the plurality of units of compute by the HA cluster while reserving resource capacity within the HA cluster for failover by, for each unit of compute of the plurality of units of compute:
assigning the unit of compute to a primary node of the plurality of nodes on which the unit of compute will be deployed; and
earmarking a plurality of units of HA reserve each having p resources by replicating an HA reservation for a given unit of HA reserve across f different secondary nodes of the plurality of nodes to accommodate failover of the unit of compute in event of a failure of the primary node, wherein the given unit of HA reserve is earmarked for no other unit of compute of the plurality of units of compute assigned to the primary node; and
schedule the plurality of units of compute on the plurality of nodes in accordance with the schedule.