IP Library Granted Patent US 12,487,659
Granted Patent B2
US 12,487,659 · App. 18/206,283 · Granted Dec 2, 2025

Managing power for serverless computing

Inventors: Jovan Stojkovic (Champaign, IL); Hubertus Franke (Cortlandt Manor, NY); Alper Buyuktosunoglu (White Plains, NY)
Assignee: International Business Machines Corporation
G06F1/329
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,487,659
App. No.
18/206,283
Granted
Dec 2, 2025
Kind
B2
Abstract

Embodiments dynamically measure latency for a plurality of functions with a plurality of corresponding frequency levels within a serverless computing cluster; measure a transition latency from an idle state to an active state for the plurality of functions; determine whether a target response time to perform a service level objective (SLO) within the serverless computing cluster is going to be missed; dynamically reallocate at least one core and changing a frequency level across the plurality of functions by scaling down in response to a determination that the target response time to perform the SLO within the serverless computing cluster is going to be met; and dynamically reallocate the at least one core and changing the frequency level across the plurality of functions by scaling up in response to a determination that the target response time to perform the SLO within the serverless computing cluster is going to be missed.

Claims (42)

1 . A method, comprising:

dynamically measuring, by a processor set, latency for a plurality of functions with a plurality of corresponding frequency levels within a serverless computing cluster;

measuring, by the processor set, a transition latency from an idle state to an active state for the plurality of functions;

determining, by the processor set, whether a target response time to perform a service level objective (SLO) within the serverless computing cluster is going to be missed;

dynamically reallocating, by the processor set, at least one core and changing a frequency level across the plurality of functions by scaling down in response to a determination that the target response time to perform the SLO within the serverless computing cluster is going to be met; and

dynamically reallocating, by the processor set, the at least one core and changing the frequency level across the plurality of functions by scaling up in response to a determination that the target response time to perform the SLO within the serverless computing cluster is going to be missed,

wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling up comprises creating a new container instance for executing the plurality of functions on a different node than a node which includes the at least one core and degrading a performance of a function of the plurality of functions which has a lowest priority class of the plurality of functions, and

the determining whether the target response time to perform the SLO within the serverless computing cluster is going to be missed is based on execution time, queue length, number of cores, and the SLO with minimum power.

2 . The method of claim 1 , wherein the target response time comprises a summation of the transition latency for the functions and the measured latency for the functions.

3 . The method of claim 1 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling up further comprises stealing the at least one core from a second function of a first node within the serverless computing cluster and reallocating the at least one core to a first function of the first node within the serverless computing cluster.

4 . The method of claim 1 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling up further comprises stealing the at least one core from a second function of a second node within the serverless computing cluster and reallocating the at least one core to a first function of a first node within the serverless computing cluster.

5 . The method of claim 1 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling up across the plurality of functions further comprises increasing the frequency level.

6 . The method of claim 1 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling down comprises lending the at least one core from a first function of a first node within the serverless computing cluster and reallocating the at least one core to a second function of the first node within the serverless computing cluster.

7 . The method of claim 1 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling down comprises lending the at least one core from a first function of a first node within the serverless computing cluster and reallocating the at least one core to a second function of a second node within the serverless computing cluster.

8 . The method of claim 1 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling down comprises decreasing the frequency level.

9 . The method of claim 1 , wherein the determining whether the target response time to perform the SLO within the serverless computing cluster is going to be missed is based on a following formula: Execution time*((queue length/number of cores)+1)≤SLO, with min power*number of cores.

10 . A computer program product comprising one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to:

measure power consumption needed to execute a function of a plurality of functions with a predetermined core frequency within a serverless computing cluster;

store the power consumption needed to execute the function with the predetermined core frequency in at least one lookup table;

determine that a power budget of the serverless computing cluster is going to be exceeded based on a number of cores and a next frequency level using the at least one lookup table; and

reduce a frequency in response to a determination that the power budget is going to be exceeded,

wherein the reducing the frequency comprises creating a new container instance for executing the function on a different node than a node which includes the predetermined core and degrading a performance of the function of the plurality of functions which has a lowest priority class of the plurality of functions, and

the determining whether the target response time to perform the SLO within the serverless computing cluster is going to be missed is based on execution time, queue length, number of cores, and the SLO with minimum power.

11 . The computer program product of claim 10 , further comprising reducing the number of cores in response to the determination that the power budget is going to be exceeded.

12 . The computer program product of claim 10 , further comprising turning off at least one core of the cores in response to the determination that the power budget is going to be exceeded.

13 . The computer program product of claim 12 , wherein the turning off at least one core comprises putting the at least one core in a deep sleep mode.

14 . The computer program product of claim 10 , further comprising determining whether a target response time to perform a service level objective (SLO) within the serverless computing cluster is going to be missed, the determining the target response time to perform the SLO is going to be missed is based on a tail latency for executing the function, and the tail latency represents a predetermined upper percentile of the target response time.

15 . The computer program product of claim 10 , wherein the next frequency level is a frequency level which ensures that the target response time to perform the SLO is going to be met, the next frequency level is different from the predetermined core frequency, and the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling down comprises decreasing the frequency level to provide just enough computing power to execute the plurality of functions and still meeting the SLO.

16 . A system comprising:

a processor set, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable to:

dynamically measure latency for a plurality of functions with a plurality of corresponding frequency levels within a serverless computing cluster;

measure a transition latency from an idle state to an active state for the plurality of functions;

determine whether a target response time to perform a service level objective (SLO) within the serverless computing cluster is going to be missed;

dynamically reallocate at least one core and changing a frequency level across the plurality of functions by scaling down in response to a determination that the target response time to perform the SLO within the serverless computing cluster is going to be met; and

dynamically reallocate the at least one core and change the frequency level across the plurality of functions by scaling up in response to a determination that the target response time to perform the SLO within the serverless computing cluster is going to be missed,

wherein the target response time comprises a summation of the transition latency for the functions and the measured latency for the functions,

the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling up comprises creating a new container instance for executing the plurality of functions on a different node than a node which includes the at least one core and degrading a performance of a function of the plurality of functions which has a lowest priority class of the plurality of functions, and

the determining whether the target response time to perform the SLO within the serverless computing cluster is going to be missed is based on execution time, queue length, number of cores, and the SLO with minimum power.

17 . The system of claim 16 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling up further comprises stealing the at least one core from a second function of a first node within the serverless computing cluster and reallocating the at least one core to a first function of the first node within the serverless computing cluster.

18 . The system of claim 16 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling down comprises lending the at least one core from a first function of a first node within the serverless computing cluster and reallocating the at least one core to a second function of the first node within the serverless computing cluster.

19 . The system of claim 16 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling up across the plurality of functions further comprises increasing the frequency level.

20 . The system of claim 16 , wherein the dynamically reallocating the at least one core and changing the frequency level across the plurality of functions by scaling down comprises decreasing the frequency level to provide just enough computing power to execute the plurality of functions and still meeting the SLO.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: STOJKOVIC, JOVAN; FRANKE, HUBERTUS; BUYUKTOSUNOGLU, ALPER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 063867/0734 →
Continuity (1)
Related Publication 20240411357A1 · Dec 12, 2024
References Cited (40)
US 7007276B1 · Kubala · 2006 [cited by examiner]
US 8270552B1 · Oner · 2012 [cited by examiner]
US 8745216B2 · Pasala et al. · 2014 [cited by applicant]
US 9606842B2 · Kim · 2017 [cited by applicant]
US 10250684B2 · Dimnaku et al. · 2019 [cited by applicant]
US 10429921B2 · Potlapally et al. · 2019 [cited by applicant]
US 10747289B2 · Ramamurthy et al. · 2020 [cited by applicant]
US 11018965B1 · Ibryam · 2021 [cited by examiner]
US 11030016B2 · Banerjee et al. · 2021 [cited by applicant]
US 11126242B2 · Shaikh et al. · 2021 [cited by applicant]
US 11451455B2 · Ganguli et al. · 2022 [cited by applicant]
US 20040168170A1 · Miller · 2004 [cited by examiner]
US 20170102752A1 · Varma · 2017 [cited by examiner]
US 20170201580A1 · Dimnaku et al. · 2017 [cited by applicant]
US 20170212575A1 · Wang · 2017 [cited by examiner]
US 20180267833A1 · Chen · 2018 [cited by examiner]
US 20190372866A1 · Ganguli et al. · 2019 [cited by applicant]
US 20200042068A1 · Rong · 2020 [cited by examiner]
US 20200125389A1 · Palermo · 2020 [cited by examiner]
US 20200145300A1 · Park · 2020 [cited by examiner]
US 20200301860A1 · Hsu · 2020 [cited by examiner]
US 20220116455A1 · Raghunath et al. · 2022 [cited by applicant]
US 20220239598A1 · Kumar · 2022 [cited by examiner]
US 20220377615A1 · Radunovic · 2022 [cited by examiner]
US 20220404888A1 · Prabhakar · 2022 [cited by examiner]
Anonymous, “Method to call cached functions effectively in serverless computing paradigm to reduce FaaS latency”, https://ip.com/IPCOM/000254459, Jun. 29, 2018; 4 Pages. [cited by applicant]
Anonymous, “Green Computing and Revenue Generation Model in Federated Environment”, https://ip.com/IPCOM/000256105, Nov. 5, 2018; 7 Pages. [cited by applicant]
Anonymous, “Method and System for Optimizing Server-less Execution Environment for Cloud Service Providerst”, https://ip.com/IPCOM/000257744, Mar. 7, 2019; 2 Pages. [cited by applicant]
Liu et al., “FaaSLight: General Application-Level Cold-Start Latency Optimization for Function-as-a-Service in Serverless Computing”, https://github.com/WenJinfeng/FaaSLight, Feb. 6, 2023; 28 Pages. [cited by applicant]
Kulkarni et al., “Living on the Edge: Serverless Computing and the Cost of Failure Resiliency”, Jul. 1-3, 2019; 6 Pages. [cited by applicant]
Akkus et al., “Sand: Towards High-Performance Serverless Computing”, https://www.usenix.org/conference/atc18/presentation/akkus, Jul. 11-13, 2018; 14 Pages. [cited by applicant]
Suresh et al., “ServerMore: Opportunistic Execution of Serverless Functions in the Cloud”, https://doi.org/10.1145/3472883.3486979, Nov. 1-4, 2021; 15 Pages. [cited by applicant]
Van et al., “Performance and Power Management for Cloud Infrastructures”, https://ieeexplore.ieee.org/ document/5557975, Jul. 5-10, 2010; 4 Pages, Abstract. [cited by applicant]
Hu et al., “Efficient Power Allocation under Global Power Cap and Application-Level Power Budget”, https://ieeexplore.ieee.org/document/7979897, Nov. 16-18, 2016; 4 Pages, Abstract. [cited by applicant]
Mirhosseini et al., “μSteal: a theory-backed framework for preemptive work and resource stealing in mixed-criticality microservices”, https://ieeexplore.ieee.org/abstract/document/8192467, Jun. 4, 2021; 13 Pages. [cited by applicant]
Yang et al., “PowerChief: Intelligent power allocation for multi-stage applications to improve responsiveness on power constrained CMP”, https://ieeexplore.ieee.org/document/7979897, Jun. 24-28, 2017; 4 Pages, Abstract. [cited by applicant]
Chen et al., “ReTail: Opting for Learning Simplicity to Enable QoS-Aware Power Management in the Cloud”, https://eeexplore.ieee.org/document/9773201, Apr. 2-6, 2022; 4 Pages, Abstract. [cited by applicant]
EMR., Global Serverless Computing Market: By Service: Professional, Managed; By Type: Hybrid Cloud, Multi-Cloud; By End User Industry: IT and Telecommunication, BFSI, Retail, Government, Industrial; Regional Analysis; H… [cited by applicant]
Mordor Intelligence., “Serverless Computing Market Size & Share Analysis—Growth Trends & Forecasts (2023-2028)”, https://www.mordorintelligence.com/industry-reports/serverless-computing-market, 2023; 7 Pages. [cited by applicant]
Ot., “The Serverless Computing Market in 2022”, https://www.enterprisestorageforum.com/cloud/serverless-computing-market/, May 4, 2022; 7 Pages. [cited by applicant]