Skip to main content

Advanced Bin Packing

Advanced bin-packing is consolidation with node replacement, not just node removal.

Consolidation (Basic bin-packing):

  • Moves pods between existing nodes.
  • Drains underutilized nodes.
  • Terminates empty nodes.
  • Goal: fewer nodes, higher utilization.

Advanced bin-packing:

  • Extends consolidation by actively replacing nodes

  • Supports many-to-one scenarios.

  • Ocean:

    • Identifies a set of nodes.
    • Simulates packing their workloads onto a single alternative node.
    • Replaces them only if the new node is cheaper than the combined cost of the original nodes.
  • Goal: lower total cost, not just fewer nodes.

The examples below describe common scenarios.

Consolidation Through Compactable Underutilization

2 x c5.xlarge nodes that are very underutilized:

  • Node 1: c5.xlarge: 10% utilization
  • Node 2: c5.xlarge: 15% utilization
Click to view image...
tbd

In this case, Ocean drains nodes 1 and 2, and spins up node 3 for a direct replacement.

  • Node 3: c5.large: 60% utilization.
Click to view image...
tbd

Consolidation Through Non-compactable Underutilization

A cluster has the following node utilization:

  • Node 1: c5.large: 90% utilization
  • Node 2: c5.large: 80% utilization
  • Node 3: c5.large: 95% utilization
Click to view image...
tbd

Assuming that 1 x c5.xlarge is cheaper than 2 x c5.large, Ocean drains nodes 1 and 2, and spins up node 4, so that the node utilization becomes:

  • Node 3: c5.large: 95% utilization
  • Node 4: c5.xlarge: 95% utilization
Click to view image...
tbd