Application energy efficiency can be improved by executing each application component on the compute element that consumes the least energy while also satisfying time constraints. In principle, the function as a service (FaaS) paradigm should simplify such optimizations by abstracting away compute location, but existing FaaS systems do not provide for user transparency over application energy consumption or task placement. Here we present GreenFaaS, a novel open source framework that bridges this gap between energy-efficient applications and FaaS platforms. GreenFaaS can be deployed by end users or providers across systems to monitor energy use, provide task-specific feedback, and schedule tasks in an energy-aware manner. We demonstrate that intelligent placement of tasks can both reduce energy consumption and improve performance. For a synthetic workload, GreenFaaS reduces the energy-delay product by 45% compared to alternatives. Furthermore, running a molecular design application through GreenFaaS can reduce energy consumption by 21% and runtime by 63% by better matching tasks with machines.
翻译:通过将每个应用组件调度至满足时间约束且能耗最低的计算单元上执行,可以提升应用的能源效率。原则上,函数即服务(FaaS)范式通过抽象计算位置应能简化此类优化,但现有FaaS系统既未向用户透明展示应用能耗信息,也未提供任务调度控制机制。本文提出GreenFaaS——一个弥合节能应用与FaaS平台间鸿沟的新型开源框架。终端用户或服务提供商可在跨系统部署GreenFaaS以监测能耗、提供任务级反馈并实施能源感知的任务调度。我们通过实验证明,智能任务调度既能降低能耗又可提升性能:对于合成工作负载,GreenFaaS可将能耗延迟积较现有方案降低45%;在分子设计应用中,通过优化任务与机器的匹配,GreenFaaS实现了21%的能耗降低与63%的运行时间缩短。