← Latest papers
💻 computer science

Genetic Programming for Self-Adaptive Auto-Scaling of Microservices

The paper presents AutoSLO, a self-adaptive framework that utilizes genetic programming to dynamically evolve microservice scaling logic, effectively balancing resource efficiency with the proactive prevention of service-level objective violations.

Original authors: Jia Li, Mehrdad Sabetzadeh, Shiva Nejati

Published 2026-05-05
📖 4 min read☕ Coffee break read

Original authors: Jia Li, Mehrdad Sabetzadeh, Shiva Nejati

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you run a busy restaurant. You have a kitchen with many different stations: the grill, the salad bar, the dessert counter, and the cashier. Your goal is to serve every customer quickly (so they don't get angry) without hiring too many chefs (which wastes money).

This is exactly the problem the paper "Genetic Programming for Self-Adaptive Auto-Scaling of Microservices" tries to solve, but for computer systems instead of restaurants.

Here is the story of AutoSLO, the system the authors built, explained in simple terms.

The Problem: The "Goldilocks" Dilemma

Modern computer systems are built like that restaurant, made of many small, independent parts called microservices. When a lot of people visit a website (like an online store or a chatbot), these parts get overwhelmed.

  • Too few chefs (Under-provisioning): Customers wait too long, orders get lost, and the "Service Level Objective" (SLO)—the promise you made to customers—is broken.
  • Too many chefs (Over-provisioning): You are paying for empty stations and idle chefs. This is a huge waste of money.

Most current systems (like the standard "HPA" in Kubernetes) act like a nervous manager. They only react after the grill is on fire or the line is out the door. They tend to panic and hire way too many chefs just to be safe, wasting money.

The Solution: AutoSLO (The "Smart Chef" System)

The authors, Jia Li, Mehrdad Sabetzadeh, and Shiva Nejati, created a system called AutoSLO. Instead of just reacting to the current moment, AutoSLO tries to learn the best way to manage the kitchen over time.

Here is how it works, step-by-step:

1. Finding the "Bottleneck" (The Traffic Jam)

In a complex kitchen, adding more chefs to the salad bar won't help if the grill is the only thing slowing everyone down.

  • AutoSLO's trick: Before it starts, it identifies the specific "bottleneck" stations that cause the slowdowns. It ignores the rest and focuses its energy only on fixing those critical spots.

2. The "Crystal Ball" (The Surrogate Model)

Testing new staffing strategies in a real, live restaurant is risky. If you try a bad strategy, customers get angry.

  • AutoSLO's trick: It builds a "Crystal Ball" (called a Surrogate Model). This is a smart simulator trained on past data. Before AutoSLO tries a new idea on the real system, it asks the Crystal Ball: "If we try this staffing plan, what will happen to our wait times?" This lets it test ideas safely without annoying real customers.

3. The "Evolutionary Chef" (Genetic Programming)

This is the magic part. Instead of a human manager guessing the best number of chefs, AutoSLO uses Genetic Programming (GP). Think of this as digital evolution.

  • The Process:
    1. Birth: AutoSLO creates 50 random "recipes" (math formulas) for how many chefs to hire based on current traffic.
    2. Testing: It asks the Crystal Ball to simulate these recipes.
    3. Survival of the Fittest: It keeps the recipes that work best (fast service, low cost) and throws away the bad ones.
    4. Breeding: It mixes the good recipes together to create even better "children" recipes.
    5. Repeat: It does this over and over until it finds the perfect formula.

Once it finds a great formula, it doesn't just use it once. It learns it. Next time the traffic changes, it uses that same learned formula to adjust instantly, rather than starting from scratch.

The Results: Saving Money Without Losing Customers

The authors tested AutoSLO on two very different "restaurants":

  1. An Online Shopping Site: A CPU-heavy system (lots of thinking).
  2. A Chatbot: A GPU-heavy system (lots of heavy lifting for AI).

They compared AutoSLO to the standard "nervous manager" (HPA) and a "random guesser" (Random Search).

The findings were impressive:

  • Massive Savings: AutoSLO used about 50% fewer computer resources (chefs) than the standard system for the shopping site, and 46% fewer for the chatbot.
  • Smart Trade-offs: The standard system never broke the rules (SLOs) because it hired too many chefs. AutoSLO allowed for very brief, tiny moments where the rules were slightly broken (like a 10-second wait), but it fixed them almost instantly.
  • The Verdict: By accepting these tiny, short-lived hiccups, AutoSLO saved a fortune in wasted resources. It proved that you don't need to be perfect 100% of the time to be efficient; you just need to be smart enough to fix problems quickly.

In a Nutshell

AutoSLO is like a self-driving car for computer servers. Instead of blindly hitting the brakes when it sees a pedestrian (reactive scaling), it learns the road, predicts where traffic will be, and adjusts the speed smoothly to save gas (money) while still getting you to your destination on time. It uses a "survival of the fittest" algorithm to constantly improve its own driving rules.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →