US 11,720,400 B2
Prescriptive analytics-based performance-centric dynamic serverless sizing
Madhan Kumar Srinivasan, Bengaluru (IN); Samba Sivachari Rage, Bengaluru (IN); and Kishore Kumar Gajula, Telangana (IN)
Assigned to Accenture Global Solutions Limited, Dublin (IE)
Filed by Accenture Global Solutions Limited, Dublin (IE)
Filed on Jun. 22, 2021, as Appl. No. 17/354,542.
Prior Publication US 2022/0405137 A1, Dec. 22, 2022
Int. Cl. G06F 9/50 (2006.01); G06F 9/54 (2006.01); G06N 3/08 (2023.01)
CPC G06F 9/5005 (2013.01) [G06F 9/544 (2013.01); G06N 3/08 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system including:
serverless sizing circuitry configured to execute a serverless sizing stack, the serverless sizing circuitry configured to:
at a data-staging layer of the serverless sizing stack, obtain historical data including execution duration data and compute usage data for a serverless function;
at an eligibility layer of the serverless sizing stack:
access the historical data via data-storage operations provided by the data-staging layer;
based on the historical data, determine data completeness for a serverless function represented within the historical data; and
when data completeness for the serverless function exceeds a pre-determined threshold, mark the serverless function as sizing-eligible;
at a metric selection layer of the serverless sizing stack, select an execution duration metric and a compute sizing metric for iterative comparison;
at a compute allocation layer of the serverless sizing stack, determine, via a compute deep-learning analysis of the compute usage data, a base compute size and compute buffer range;
at a duration mapping layer of the serverless sizing stack, conduct an iterative traversal of the compute buffer range by:
for each iteration:
selecting a current compute buffer size for the iteration, the current compute buffer size being within the compute buffer range;
based on a combination of the base compute size and the current compute buffer size and using a duration deep-learning analysis of the execution duration data, determining a current compute duration for the serverless function;
based on the current compute duration, the base compute size, and the current compute buffer size, determining a current computational-performance score for the current compute buffer size;
determining whether the current computational-performance score meets an iteration stop criterion; and
when the current computational-performance score meets the iteration stop criterion:
ending the iterative traversal; and
designating the current compute buffer size as a prescriptive compute buffer size; and
at a requisition layer of the serverless sizing stack, generate a serverless requisition token including:
a request for the serverless function with a requested size corresponding to the prescriptive compute buffer size and base compute buffer size; and
network interface circuitry configured to send the serverless requisition token to a host interface for control of serverless compute resources.