Cloud users aim to minimize cost while maximizing performance by selecting the most suitable instance types for their workloads. To reduce expenses, spot instances have been widely adopted due to their steep discounts compared to on-demand pricing. However, their use introduces reliability risks due to potential interruptions, and existing research has primarily focused on mitigating this trade-off from a cost or availability perspective alone. Despite the diversity in hardware capabilities among instance types, current provisioning systems tend to ignore performance variation, selecting nodes solely based on minimum resource requirements. In this paper, we present KubePACS, a Kubernetes-native spot instance provisioning system that constructs node pools optimized for both cost and performance while guaranteeing high availability. KubePACS formulates the node selection process as a multi-objective optimization problem, incorporating real-time data such as spot prices, performance benchmarks, and availability scores, including the multi-node Spot Placement Score (SPS). It solves this problem efficiently using an Integer Linear Programming (ILP) approach guided by the Golden Section Search (GSS) algorithm to find the optimal configuration. By integrating with the Karpenter node autoscaler, KubePACS jointly optimizes instance-type selection and node scaling decisions within a standard provisioning workflow. KubePACS also adopts a novel heuristic to support workload-specific preferences by scaling performance metrics for specialized instances. Through extensive evaluation across synthetic and real-world workloads, KubePACS demonstrates on average 55.09% and up to 81.06% higher performance per dollar over state-of-the-art solutions such as Karpenter, SpotVerse, and SpotKube, which only reference the spot instance prices and limited availability data.
翻译:[translated abstract in Chinese]
云用户旨在通过选择最适合其工作负载的实例类型来最大化性能并最小化成本。为降低开支,竞价实例因其相较于按需定价的大幅折扣而被广泛采用。然而,由于潜在的中断风险,其使用引入了可靠性问题,且现有研究主要仅从成本或可用性的角度缓解这一权衡。尽管实例类型间的硬件能力存在多样性,当前资源供给系统往往忽略性能差异,仅基于最低资源需求选择节点。本文提出了KubePACS,这是一个Kubernetes原生的竞价实例供给系统,可在保证高可用性的同时,构建针对成本与性能共同优化的节点池。KubePACS将节点选择过程形式化为多目标优化问题,整合了竞价价格、性能基准测试及可用性评分等实时数据,包括多节点竞价实例放置评分。它采用基于黄金分割搜索算法引导的整数线性规划方法高效求解该问题,以寻找最优配置。通过与Karpenter节点自动伸缩器集成,KubePACS在标准供给工作流中联合优化实例类型选择与节点伸缩决策。此外,KubePACS采用一种新型启发式方法,通过调整专用实例的性能指标来支持工作负载特定的偏好。通过合成与真实工作负载的广泛评估,KubePACS相较于仅参考竞价实例价格与有限可用性数据的先进方案(如Karpenter、SpotVerse及SpotKube),平均可实现每单位性能成本提升55.09%,最高可达81.06%。