IP Library › Granted Patent US 12,487,859
Granted Patent B2
US 12,487,859 · App. 18/098,026 · Granted Dec 2, 2025

Prevention of resource starvation across stages and/or pipelines in computer environments

Inventors: Alexei Karve (Mohegan Lake, NY); Maroun Touma (Redding, CT); Sekou Lionel Remy (Nairobi, KE); Kugamoorthy Gajananan (Tokyo, JP)
Assignee: International Business Machines Corporation
G06F9/5038G06F9/4881G06F9/524
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,859
App. No.
18/098,026
Granted
Dec 2, 2025
Kind
B2
Abstract

A computer-implemented method, in accordance with one aspect of the present invention, includes analyzing timing data for stages in a pipeline running in an edge system for detecting starvation of one or more of the stages in the pipeline. In response to detecting one or more of the stages being starved, starvation avoidance is performed for mitigating the starvation of the starving stage(s). A computer-implemented method, in accordance with another aspect of the present invention, includes analyzing timing data for pipelines running in parallel in an edge system for detecting starvation of one or more of the pipelines. In response to detecting one or more of the pipelines being starved, starvation avoidance is performed for mitigating the starvation of the starving pipeline(s).

Claims (40)

1 . A computer-implemented method, comprising:

receiving a workload request for executing a workload in a pipeline running in an edge system;

executing the workload in a plurality of stages of the pipeline according to a level of quality, wherein each stage of the plurality of stages is associated with respective timing data; and

in response to one or more of the stages of the pipeline being starved during the executing based on the respective timing data, mitigating the starvation of the one or more starving stages, wherein the mitigating comprises adapting the workload request to reduce resource consumption of a dominating stage of the plurality of stages by reducing the level of quality of output of the dominating stage and providing resources to at least one of the one or more starving stages, and wherein the dominating stage consumes the most resources relative to the other stages of the pipeline during the executing.

2 . The computer-implemented method of claim 1 , wherein the timing data includes lag times between the plurality of stages associated with a trend of change in one or more of said lag times.

3 . The computer-implemented method of claim 2 , further comprising:

responsive to an increase in a lag time between a first stage and a second stage positioned consecutively in the pipeline, increasing resource usage of the second stage.

4 . The computer-implemented method of claim 2 , further comprising:

responsive to a decrease in a lag time between a first stage and a second stage positioned consecutively in the pipeline, decreasing resource usage of the second stage.

5 . The computer-implemented method of claim 1 , wherein a change in one of a plurality of lag ratios over time is indicative of the starvation, and wherein the plurality of lag ratios is based on lag times between different sets of stages of the pipeline.

6 . The computer-implemented method of claim 5 , further comprising:

responsive to an increase in a lag ratio corresponding to a first stage and a second stage positioned consecutively in the pipeline, reducing resource usage of the first stage and/or increasing resource usage of the second stage.

7 . The computer-implemented method of claim 5 , further comprising:

responsive to a decrease in a lag ratio corresponding to a first stage and a second stage positioned consecutively in the pipeline, increasing resource usage of the first stage and/or decreasing resource usage of the second stage.

8 . The computer-implemented method of claim 5 , further comprising:

adjusting a performance of at least one stage corresponding to a log ratio of a plurality of log ratios with a largest change by instructing a horizontal Pod autoscaler to scale at least one Pod allocated to the at least one stage.

9 . The computer-implemented method of claim 1 , wherein mitigating the starvation further includes scaling at least one Pod operating in one or more of the stages.

10 . The computer-implemented method of claim 1 , wherein mitigating the starvation further includes temporarily suspending operation of at least one of the stages.

11 . The computer-implemented method of claim 1 , wherein mitigating the starvation further includes holding back a workload request from processing by the pipeline up to a threshold amount of time.

12 . The computer-implemented method of claim 1 , wherein mitigating the starvation further includes employing a knowledge base artificial intelligence model.

13 . A system comprising:

a processor; and

one or more computer readable storage media comprising program instructions collectively stored on the one or more computer readable storage media, the program instructions when executed by the processor execute a method comprising:

receiving a workload request for executing a workload in a pipeline running in an edge system;

executing the workload in a plurality of stages of the pipeline according to a level of quality, wherein each stage of the plurality of stages is associated with respective timing data; and

in response to one or more of the stages of the pipeline being starved during the executing based on the respective timing data, mitigating the starvation of the one or more starving stages, wherein the mitigating comprises adapting the workload request to reduce resource consumption of a dominating stage of the plurality of stages by reducing the level of quality of output of the dominating stage and providing resources to at least one of the one or more starving stages, and wherein the dominating stage consumes the most resources relative to the other stages of the pipeline during the executing.

14 . The system of claim 13 , wherein the timing data includes lag times between the plurality of stages associated with a trend of change in one or more of said lag times.

15 . The system of claim 14 , wherein the method further comprises:

responsive to an increase in a lag time between a first stage and a second stage positioned consecutively in the pipeline, increasing resource usage of the second stage.

16 . The system of claim 13 , wherein a change in one of a plurality of lag ratios over time is indicative of the starvation, and wherein the plurality of lag ratios is based on lag times between different sets of stages of the pipeline.

17 . The system of claim 16 , wherein the method further comprises:

responsive to an increase in a lag ratio corresponding to a first stage and a second stage positioned consecutively in the pipeline, reducing resource usage of the first stage and/or increasing resource usage of the second stage.

18 . The system of claim 16 , wherein the method further comprises:

adjusting a performance of at least one stage corresponding to a log ratio of a plurality of log ratios with a largest change by instructing a horizontal Pod autoscaler to scale at least one Pod allocated to the at least one stage.

19 . The system of claim 13 , wherein mitigating the starvation further includes scaling at least one Pod operating in one or more of the stages.

20 . A computer program product, the computer program product comprising:

one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising program instructions to:

receive a workload request for executing a workload in a pipeline running in an edge system;

execute the workload in a plurality of stages of the pipeline according to a level of quality, wherein each stage of the plurality of stages is associated with respective timing data; and

in response to one or more of the stages of the pipeline being starved during the execution based on the respective timing data, mitigate the starvation of the one or more starving stages, wherein the mitigating comprises adapting the workload request to reduce resource consumption of a dominating stage of the plurality of stages by reducing the level of quality of output of the dominating stage and providing resources to at least one of the one or more starving stages, and wherein the dominating stage consumes the most resources relative to the other stages of the pipeline during the execution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2023
From: KARVE, ALEXEI; TOUMA, MAROUN; REMY, SEKOU LIONEL; GAJANANAN, KUGAMOORTHY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062407/0400 →
Continuity (1)
Related Publication 20240241757A1 · Jul 18, 2024
References Cited (57)
US 6029204A · Arimilli · 2000 [cited by examiner]
US 6462743B1 · Battle · 2002 [cited by examiner]
US 6651158B2 · Burns · 2003 [cited by examiner]
US 6717576B1 · Duluk, Jr. · 2004 [cited by examiner]
US 7215339B1 · Dotson · 2007 [cited by examiner]
US 7836448B1 · Farizon · 2010 [cited by examiner]
US 8108872B1 · Lindholm · 2012 [cited by examiner]
US 8407674B2 · Krauss · 2013 [cited by applicant]
US 8667492B2 · Fortsch et al. · 2014 [cited by applicant]
US 8943379B2 · Vash et al. · 2015 [cited by applicant]
US 9128754B2 · Shankar et al. · 2015 [cited by applicant]
US 9304922B2 · Vash et al. · 2016 [cited by applicant]
US 9621141B1 · Yang · 2017 [cited by examiner]
US 9639396B2 · Pho et al. · 2017 [cited by applicant]
US 10719245B1 · Gudipati · 2020 [cited by examiner]
US 20040128461A1 · DeSota · 2004 [cited by examiner]
US 20040128477A1 · Henry · 2004 [cited by examiner]
US 20040216103A1 · Burky et al. · 2004 [cited by applicant]
US 20060064695A1 · Burns · 2006 [cited by examiner]
US 20060066623A1 · Bowen · 2006 [cited by examiner]
US 20080016323A1 · Henry · 2008 [cited by examiner]
US 20080313639A1 · Kumar et al. · 2008 [cited by applicant]
US 20100049958A1 · Vaskevich · 2010 [cited by examiner]
US 20100091880A1 · Jia · 2010 [cited by examiner]
US 20100299499A1 · Golla · 2010 [cited by examiner]
US 20110035751A1 · Krishnakumar · 2011 [cited by examiner]
US 20150128142A1 · Fahim · 2015 [cited by examiner]
US 20150372937A1 · Lai · 2015 [cited by examiner]
US 20160077870A1 · Pho · 2016 [cited by examiner]
US 20170272494A1 · Huen · 2017 [cited by examiner]
US 20190205236A1 · Combs · 2019 [cited by examiner]
US 20200278886A1 · Blake · 2020 [cited by examiner]
US 20220193558A1 · Larson · 2022 [cited by examiner]
US 20240095065A1 · Goodman · 2024 [cited by examiner]
US 20240104683A1 · Nikam · 2024 [cited by examiner]
WO 2019226652A1 · 2019 [cited by applicant]
Gari et al., “Reinforcement Learning-based Application Autoscaling in the Cloud: A Survey,” arXiv, 2020, 40 pages, retrieved from https://arxiv.org/abs/2001.09957. [cited by applicant]
Ju et al., “Proactive Autoscaling for Edge Computing Systems with Kubernetes,” Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing Companion, 2021, 8 pages. [cited by applicant]
Rossi et al., “Horizontal and Vertical Scaling of Container-based Applications using Reinforcement Learning,” Proceedings of the 2019 IEEE International Conference on Cloud Computing, 2019, 10 pages. [cited by applicant]
Ray et al., “Horizontal Auto-Scaling for Multi-Access Edge Computing Using Safe Reinforcement Learning,” ACM Transactions on Embedded Computing Systems , vol. 20, 2021, 33 pages. [cited by applicant]
Moreno et al., “HeDPM: load balancing of linear pipeline applications on heterogeneous systems,” The Journal of Supercomputing, vol. 73, 2017, pp. 3738-3760. [cited by applicant]
Mastoras et al., “Load-balancing for load-imbalanced fine-grained linear pipelines,” Parallel Computing, vol. 85, 2019,pp. 178-189. [cited by applicant]
Bienia et al., “Characteristics of Workloads Using the Pipeline Programming Model,” International Symposium on Computer Architecture, Jun. 2010, 7 pages. [cited by applicant]
Furst et al., “Elastic Services for Edge Computing,” 14th International Conference on Network and Service Management, Nov. 2018, 5 pages, retrieved from https://www.researchgate.net/publication/331651737_Elastic_Service… [cited by applicant]
De Assununcao et al., “Distributed Data Stream Processing and Edge Computing: A Survey on Resource Elasticity and Future Directions,” arXiv preprint submitted to Elsevier, Dec. 2018, 24 pages, retrieved from https://arx… [cited by applicant]
Ju, L. “Proactive Autoscaling for Edge Computing Systems with Kubernetes,” Uppsala Universitet, Department of Information Technology, Sep. 2021, 49 pages. [cited by applicant]
Wikipedia, “pcap,” Wikipedia, 2022, 6 pages, retrieved from https://en.wikipedia.org/wiki/Pcap. [cited by applicant]
Kubernetes, “Pods,” Kubernetes Documentation, 2022, 7 pages, retrieved from https://kubernetes.io/docs/concepts/workloads/pods/. [cited by applicant]
Wikipedia, “Apache Kafka,” Wikipedia, 2022, 5 pages, retrieved from https://en.wikipedia.org/wiki/Apache_Kafka. [cited by applicant]
Wikipedia, “Edge device,” Wikipedia, 2022, 2 pages, retrieved from https://en.wikipedia.org/wiki/Edge_device. [cited by applicant]
Kubernetes, “Deployments,” Kubernetes Documentation, 2022, 15 pages, retrieved from https://kubernetes.io/docs/concepts/workloads/controllers/deployment/. [cited by applicant]
Kubernetes, “StatefulSets,” Kubernetes Documentation, 2022, 8 pages, retrieved from https://kubernetes.io/docs/concepts/workloads/controllers/deployment/. [cited by applicant]
Wikipedia, “Instruction pipelining,” Wikipedia, 2022, 8 pages, retrieved from https://en.wikipedia.org/wiki/Instruction_pipelining#:˜:text=To%20the%20right%20is%20a,%2C%20execute%20and%20write%2Dback. [cited by applicant]
Wikipedia, “Pipeline (computing),” Wikipedia, 2022, 6 pages, retrieved from https://en.wikipedia.org/wiki/Pipeline_(computing)#:˜:text=In%20computing%2C%20a%20pipeline%2C%20also,or%20in%20time%2Dsliced%20fashion. [cited by applicant]
Abbassi Puja. “Vertical autoscaling in Kubernetes”, Giant Swarm, May 4, 2021, 10 pages. [cited by applicant]
Donnell Bob O. “IBM Research Tech Makes Edge AI Applications Scalable”, LinkedIn, Aug. 10, 2022, 6 pages. [cited by applicant]
No Author. “Dynamically modify the resource parameters of a pod”, Alibaba Cloud, Dec. 9, 2024, 8 pages. [cited by applicant]