MEMORY SEQUENCE

FaaSpot

Fault-Tolerant Serverless Workflows on Spot Instances

ACM Middleware '26PEER-REVIEWED · ACM MIDDLEWARE '26

89.03%

Avg. workflow success rate

2.3×

Lower latency vs. best baseline

2.2×

Cheaper per successful run

17.5K

Lines of Python

situation

Serverless workloads on cloud spot instances offer 70–90% cost savings but suffer frequent preemptions. Every prior system hedged by mixing in on-demand nodes for high-risk tasks - forfeiting the savings that made spot attractive in the first place.

challenge

Three compounding problems surfaced early: reactive checkpointing created too much overhead and was too slow to matter once a preemption was already happening; the autoscaler was similarly reactive - by the time it triggered, nodes were already gone; and the retry service was single-threaded, so retries queued linearly and tanked success rates instead of recovering them.

solution

Replaced reactive with proactive: Kaplan-Meier survival curves fit on emulator preemption traces give early warning, gating a Thompson Sampling bandit that uses live failure and cost data to scale up before preemptions hit - without overprovisioning. Rewrote the retry service as a 50–100 thread concurrent executor, which alone delivered a 40–50% boost to workflow success rates. Selective checkpointing (DAG-aware, not uniform) kept overhead low while still enabling lineage-based recovery.

KEY CONTRIBUTIONS

  • Raised success from 39% (naive spot) to 89.03% - outperforming every hybrid baseline on all three metrics simultaneously
  • Built FaaSpot's Kubernetes platform from scratch: a 16-node kubeadm VM cluster on bare metal running Fission
  • Two-layer autoscaler: Kaplan-Meier survival model gates a Thompson Sampling contextual bandit that scales Deployment replicas onto safer nodes
  • Checkpoint and lineage-based retry controllers on transactional MySQL, resuming failed runs from the nearest checkpoint
  • Trace-driven spot emulator replaying real SkyPilot AWS preemption traces for reproducible evaluation

EQUIPMENT MANIFEST

PythonKubernetes (kubeadm)FissionMySQLPrometheusAWS Spot
GITHUB ↗M.S. THESIS (PROQUEST) ↗PAPER: ACM MIDDLEWARE '26 · DOI: 10.1145/3801927.3858633