一句话:提出 IceBreaker,通过异构节点动态预热无服务器函数,降低保活成本与执行时间。
无服务器计算依赖在预期调用前预热函数以降低服务时间,但预热可能不准确,并在保活期间产生高昂成本。本文提出 IceBreaker,将昂贵与廉价节点组成异构系统,根据函数下次调用概率随时间的变化,动态选择成本有效的节点类型进行预热。异构性使相同成本预算下可维持更多节点,从而在高负载时保持更多函数温热并减少等待时间。基于真实系统的评估使用代表性无服务器应用和工业级负载轨迹,表明 IceBreaker 将总保活成本降低 45%、执行时间降低 27%。该工作是首个利用昂贵与廉价节点混合来同时优化服务时间和保活成本的技术。
Serverless computing, an emerging computing model, relies on "warming up" functions prior to its anticipated execution for faster and cost-effective service to users. Unfortunately, warming up functions can be inaccurate and incur prohibitively expensive cost during the warmup period (i.e., keep-alive cost). In this paper, we introduce IceBreaker, a novel technique that reduces the service time and the "keep-alive" cost by composing a system with heterogeneous nodes (costly and cheaper). IceBreaker does so by dynamically determining the cost-effective node type to warm up a function based on the function's time-varying probability of the next invocation. By employing heterogeneity, IceBreaker allows for more number of nodes under the same cost budget and hence, keeps more number of functions warm and reduces the wait time during high load. Our real-system evaluation confirms that IceBreaker reduces the overall keep-alive cost by 45% and execution time by 27% using representative serverless applications and industry-grade workload trace. IceBreaker is the first technique to employ and leverage the idea of mixing expensive and cheaper nodes to improve both service time and keep-alive cost for serverless functions -- opening up a new research avenue of serverless computing on heterogeneous servers for researchers and practitioners.