Serverless computing enables a new way of building and scaling cloud applications by allowing developers to write fine-grained serverless or cloud functions. The execution duration of a cloud function is typically short-ranging from a few milliseconds to hundreds of seconds. However, due to resource contentions caused by public clouds' deep consolidation, the function execution duration may get significantly prolonged and fail to accurately account for the function's true resource usage. We observe that the function duration can be highly unpredictable with huge amplification of more than 50x for an open-source FaaS platform (OpenLambda). Our experiments show that the OS scheduling policy of cloud functions' host server can have a crucial impact on performance. The default Linux scheduler, CFS (Completely Fair Scheduler), being oblivious to workloads, frequently context-switches short functions, causing a turnaround time that is much longer than their service time. We propose SFS (Smart Function Scheduler),which works entirely in the user space and carefully orchestrates existing Linux FIFO and CFS schedulers to approximate Shortest Remaining Time First (SRTF). SFS uses two-level scheduling that seamlessly combines a new FILTER policy with Linux CFS, to trade off increased duration of long functions for significant performance improvement for short functions. We implement {\proj} in the Linux user space and port it to OpenLambda. Evaluation results show that SFS significantly improves short functions' duration with a small impact on relatively longer functions, compared to CFS.
翻译:无服务器计算允许开发者写入微小的服务器或云性功能,从而能够以新的方式构建和扩展云度应用程序。 云性功能的执行时间通常短于几毫秒至数百秒。 但是,由于公共云层的深度整合引起的资源争议, 功能性执行时间可能会大大延长, 无法准确说明函数的真正资源使用情况。 我们观察到, 功能性能的周期可能非常不可预测, 使用开放源代码 FaaAS 平台( OpenLambda) 大幅扩展50x以上。 我们的实验显示, 云性功能主服务器的OS时间安排政策可能对性能产生至关重要的影响。 默认的 Linux 排程、 CFS( 完整公平排程) 、 忽略工作量, 经常因环境变化而短, 导致周转时间比其服务时间长得多。 我们建议 SFS( Smart slFS)( 功能调度员) 完全在用户空间运行, 并仔细调控现有的 Linux FIFS和CFS调度员可以比较最短时间第一( SR) 。 SFS- palalalalal lax) lax (S- lax lax) lax lax lax a lax lax lax a lax lax lax lax lax lax lax lax lax lax lax lax lax lax lax