US 12,223,349 B2
Utilization-aware resource scheduling in a distributed computing cluster
Karthik Kambatla, Mountain View, CA (US)
Assigned to CLOUDERA, INC., Santa Clara, CA (US)
Filed by Cloudera, Inc., Santa Clara, CA (US)
Filed on Jul. 19, 2021, as Appl. No. 17/379,742.
Application 17/379,742 is a continuation of application No. 16/797,996, filed on Feb. 21, 2020, granted, now 11,099,892.
Application 16/797,996 is a continuation of application No. 15/595,713, filed on May 15, 2017, granted, now 10,572,306, issued on Feb. 25, 2020.
Claims priority of provisional application 62/394,660, filed on Sep. 14, 2016.
Prior Publication US 2021/0349755 A1, Nov. 11, 2021
Int. Cl. G06F 9/44 (2018.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/50 (2013.01); G06F 9/5038 (2013.01); G06F 9/505 (2013.01); G06F 9/5083 (2013.01); G06F 2209/483 (2013.01); G06F 2209/5021 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
receiving information indicative of actual computing resource utilization at a worker node, the worker node having allocated a first-tier resource container to process a first task and a second-tier resource container to process a second task;
allocating an opportunistic third-tier resource container at the worker node to process a third task, in response to determining that the actual computing resource utilization at the worker node has decreased below a first threshold since a time that the first-tier resource container and the second-tier resource container were allocated based on summing (i) unutilized resource slack occurring within at least one of the first-tier resource container and the second-tier resource container and (ii) an amount of unutilized unallocated resources at the worker node;
wherein the opportunistic third-tier resource container includes at least a portion of the unutilized resource slack occurring within the at least one of the first-tier resource container and the second-tier resource container, and wherein the opportunistic third-tier resource container, having a lower tier status than the first-tier resource container and the second-tier resource container, is subject to de-allocation to the first-tier resource container and the second-tier resource container if the actual computing resource utilization at the worker node rises above a second threshold that is offset below a utilization capacity associated with the worker node;
determining whether the actual computing resource utilization is between the second threshold and the utilization capacity associated with the worker node; and
deallocating the opportunistic third-tier resource container in response to determining that the actual computing resource utilization is between the second threshold and the utilization capacity such that said deallocating occurs prior to the actual computing resource utilization reaching the utilization capacity associated with the worker node.