返回首页

联手系统软件专业委员会:“服务器无感知计算”术语发布 | CCF术语快线

阅读量:367 2023-03-17 收藏本文

本期发布术语热词:服务器无感知计算(Serverless Computing)。



\ | /

开篇导语:


服务器无感知计算是云计算的新型范式,是云计算的重要发展方向之一。传统服务器感知计算以资源为中心,开发者需基于应用需求对云资源进行管理。新型服务器无感知计算以函数为中心,开发者只需专注于编写云函数来实现应用逻辑,云资源管理完全由云计算系统软件负责,对开发者透明。服务器无感知计算简化了开发者编写和部署云应用的流程,能根据应用需求自动扩容和缩容,并提供细粒度的计费模式,从而节约云应用的运行成本。


服务器无感知计算

(Serverless Computing)

作者:金鑫(北京大学)、魏星达(上海交通大学)、

李振华(清华大学)、吴松(华中科技大学)、

曹春(南京大学)




InfoBox:

中文名:服务器无感知计算

外文名:Serverless Computing

学科:云计算

实质:服务器无感知计算让开发者无需考虑服务器等云资源管理,只需要专注于编写云函数来实现应用逻辑。服务器无感知计算平台负责服务器配置和维护等资源管理任务,在应用对服务器无感知的情况下实现云资源的高弹性和高可用性,从而简化云应用的开发、部署和运行。



背景与动机:

云计算是重要的数字化和信息化基础设施,通过数据中心汇聚海量计算资源为各行各业的应用提供支撑。传统云计算以虚拟化的方式提供计算资源,聚焦于“云资源”的底层抽象,但应用仍然能感知到服务器的存在。开发者通过租用云计算平台提供的虚拟计算资源来开发和部署应用,无需关心物理的硬件资源。然而,开发者仍需要管理和配置虚拟资源,考虑为应用租用的虚拟资源数量以应对动态变化的流量,处理负载均衡、故障容忍等问题,面临管理负担大、空闲成本高、资源利用率低和系统扩容难等挑战。


新型服务器无感知计算(Serverless Computing)提供基于“云函数”的高层次抽象,开发者只需要向平台提供函数代码及调用方式。当函数被调用时,平台会自动分配和管理执行函数所需的资源,不需要开发者介入,极大降低了开发者的管理负担。相比于传统的服务器感知计算,服务器无感知计算提供基于函数使用次数和执行时长的细粒度按需计费,降低了应用的部署和运行成本。服务器无感知计算平台提供自动扩缩容策略,通过实时监控应用流量和动态增减应用函数实例,为应用分配处理其流量所需的计算资源,提高资源利用率,解决系统扩缩容难的问题。基于这些优点,服务器无感知计算被工业界和学术界认为是云计算的重要发展方向之一。国内外主流云提供商均推出了相应的平台和产品,比如阿里云函数计算、华为云函数工作流、腾讯云云函数、亚马逊AWS Lambda、微软Azure Functions等。


研究概况:

近年来,服务器无感知计算正成为一个快速发展的研究领域。其对传统应用进行函数级解耦,从而带来高资源利用率和高弹性。由于简单使用云数据库或云存储的状态管理方法很难在实现强一致性和容错的同时获得高性能和高可扩展性,因此需要研究如何基于无状态函数构建有状态应用中的应用状态管理功能。Pocket[1]通过精细化的资源分配策略为不同应用选择合适的状态存储节点和存储介质,兼顾应用性能和运行成本。Jiffy[2]在此基础上进一步提出函数粒度的资源管理机制,实现了有限内存资源的复用。Cloudburst[3]在计算节点上构建远端存储节点的缓存,并实现了不同节点函数访问状态时的分布式会话一致性。Faasm[4]实现了本地和全局两级状态架构,并将本地层级状态映射到同节点函数中实现应用状态在函数间的快速共享。由于共享日志是构建存储系统时常用的兼顾扩展性、强一致性和容错的方法,Boki[5]向函数提供了共享日志抽象用于状态管理,并通过元日志技术实现了共享日志的高性能读写。


服务器无感知计算利用以轻量级虚拟机和容器为代表的虚拟化技术进行资源分配与函数间性能隔离,同时实现函数的快速启动并降低系统开销。以Firecracker[6]为代表的轻量级虚拟机技术在保证租户级隔离的基础上,通过对虚拟机监视器及客户机内核进行裁剪来降低启动延迟和内存开销。gVisor[7]通过在用户态劫持和监控负载运行时指令,加强容器的隔离性。Catalyzer[8]在gVisor的基础上,通过按需加载及沙箱复制等技术实现函数的快速启动。SAND[9]和Faasm[4]分别使用进程级隔离和软件故障隔离(software fault isolation)代替容器。前者在单个应用的函数间未考虑性能隔离,在不同应用函数间采用Linux控制组(cgroups)实现性能隔离;后者通过cgroups和网络流量控制实现性能隔离。SOCK[10]指出容器中实现性能隔离的cgroups子系统存在较大初始化开销,通过构建cgroups池实现cgroups复用从而降低开销。


未来展望:

服务器无感知计算是近年来学术界和产业界的热点,其未来发展主要包括以下几个方面。


1)更多的硬件支持:现有服务器无感知计算平台以CPU支持为主,未来服务器无感知计算平台将支持更多类型的硬件,包括GPU、DPU、FPGA等,从而更好地适应不同类型应用在性能、功耗、成本等方面的需求。

2)更多的编程语言支持:目前,服务器无感知计算主要支持Python、Go、Java、C#等语言。随着服务器无感知计算技术的发展,未来需要支持更多的编程语言,为开发者提供更多的选择,使服务器无感知计算更好地应用于更多的应用场景。

3)更便捷的开发环境:未来服务器无感知计算平台将会提供更加便捷的开发工具和环境,让开发者能够更加容易地创建、测试、部署和维护应用程序,提高开发效率,降低开发成本。

4)更细粒度的资源隔离:服务器无感知计算平台面临资源种类多样化、实例密集化、应用复杂化的特点,需要进一步突破多租户环境下并发函数间因竞争共享资源引起的性能瓶颈,实现资源的高效隔离,防御实例间的信息泄露。

5)更加集成化、智能化:服务器无感知计算将更加集成化,以提供更全面的服务,例如与数据库、消息队列、API网关等服务更好地集成。未来服务器无感知计算平台还将在自动扩缩容、容错、监控等方面提供更全面、更智能化的服务,让开发者能够进一步专注于应用自身的开发。

6)更加丰富的生态:国内外主流云提供商已推出服务器无感知计算平台和产品,不少开发者已基于这些平台和产品开发了服务器无感知计算应用。随着服务器无感知计算的发展和普及,将出现更多的服务器无感知计算平台和产品以及与之配套的工具链,从而为开发者提供更多的选择和更完善的服务。服务器无感知计算也将在更多的领域和场景中得到应用,例如人工智能、大数据分析、物联网等。

7)标准化与规范化:现阶段服务器无感知计算还没有一个统一的标准,不同的云提供商和平台所提供的产品和服务还存在很多差异。随着服务器无感知计算的普及以及生态的不断发展,相关行业组织和技术社区将进一步推动服务器无感知计算的标准化和规范化,并探索通过标准制订和开源社区建设来提供跨云的兼容性和可移植性。


参考文献:

[1] A. Klimovic, Y. Wang, P. Stuedi, A. Trivedi, J. Pfefferle, and C. Kozyrakis, "Pocket: Elastic ephemeral storage for serverless analytics," in USENIX OSDI, 2018.
[2] A. Khandelwal, Y. Tang, R. Agarwal, A. Akella, and I. Stoica, "Jiffy: Elastic far-memory for stateful serverless analytics," in ACM EuroSys, 2022.
[3] V. Sreekanti, C. Wu, X. C. Lin, J. Schleier-Smith, J. E. Gonzalez, J. M. Hellerstein, and A. Tumanov, "Cloudburst: Stateful functions-as-a-service," in Proceedings of the VLDB Endowment, 2022.
[4] S. Shillaker and P. Pietzuch, "Faasm: Lightweight isolation for efficient stateful serverless computing," in USENIX ATC, 2020.
[5] Z. Jia and E. Witchel, "Boki: Stateful serverless computing with shared logs," in ACM SOSP, 2021.
[6] A. Agache, M. Brooker, A. Iordache, A. Liguori, R. Neugebauer, P. Piwonka, and D.-M. Popa," Firecracker: Lightweight virtualization for serverless applications," in USENIX NSDI, 2020.
[7] gVisor. https://gvisor.dev. 
[8] D. Du, T. Yu, Y. Xia, B. Zang, G. Yan, C. Qin, Q. Wu, and H. Chen, "Catalyzer: Sub-millisecond startup for serverless computing with initialization-less booting," in ACM ASPLOS, 2020. 
[9] I. E. Akkus, R. Chen, I. Rimac, M. Stein, K. Satzke, A. Beck, P. Aditya, and V. Hilt, "SAND: Towards high-performance serverless computing," in USENIX ATC, 2018.
[10] E. Oakes, L.Yang, D. Zhou, K. Houck,T. Harter, A. Arpaci-Dusseau, and R.  Arpaci-Dusseau, "SOCK: Rapid task provisioning with serverless-optimized containers," in USENIX ATC, 2018.

微信截图_20230410120228


计算机术语审定委员会及术语平台介绍:

计算机术语审定委员会(Committee on Terminology)主要职能为收集、翻译、释义、审定和推荐计算机新词,并在CCF平台上宣传推广。这对厘清学科体系,开展科学研究,并将科学和知识在全社会广泛传播,都具有十分重要的意义。术语众包平台CCFpedia的建设和持续优化,可以有效推进中国计算机术语的收集、审定、规范和传播工作,同时又能起到各领域规范化标准定制的推广作用。新版的CCFpedia计算机术语平台(http://term.ccf.org.cn)将术语的编辑运营与浏览使用进行了整合,摒弃老版中跨平台操作的繁琐步骤,在界面可观性上进行了升级,让用户能够简单方便地查阅术语信息。同时,新版平台中引入知识图谱的方式对所有术语数据进行组织,通过图谱多层关联的形式升级了术语浏览的应用形态。

微信截图_20230410120350


计算机术语审定工作委员会:


主任:

刘挺(哈尔滨工业大学)

副主任:

王昊奋(同济大学)

李国良(清华大学)

主任助理:

李一斌(上海海乂知信息科技有限公司)

执行委员:

丁军(上海海乂知信息科技有限公司)

林俊宇(中国科学院信息工程研究所)

兰艳艳(清华大学)

张伟男(哈尔滨工业大学)

委员:

柴成亮(北京理工大学)

彭鑫(复旦大学)

李博涵(南京航空航天大学)

李超(上海交通大学)

李晨亮(武汉大学)

杨敏(中国科学院深圳先进技术研究院)

张鹏(天津大学)

王昌栋(中山大学)

张宁豫(浙江大学)


术语投稿热线:ccfpedia@ccf.org.cn