Lec 10 serverless 计算
Occupy the Cloud: Distributed Computing for the 99%, SoCC ’17
论文阅读:Occupy the Cloud
摘要
分布式计算尽管有许多开源平台和大量的商业服务,仍然对大量用户来说难以访问。虽然分布式计算框架已超越了简单的MapReduce模型,但即使是运行简单的独立并行任务,许多用户依然需要面对复杂的集群管理和配置工具。我们认为,无状态函数是这些用户的一个可行平台,它可以消除集群管理的开销,真正实现弹性计算。此外,通过我们原型实现的PyWren,我们展示了这一模型足够通用,能够有效地实现如BSP(Bulk Synchronous Parallel)等多种分布式计算模型。结合最近网络带宽的趋势和分布式存储的兴起,我们认为无状态函数非常适合未来计算环境中的数据处理。
1. 介绍
本文提出,基于无服务器的执行模型和无状态函数可以提供极简、弹性良好的用户友好型分布式数据处理系统。在该模型中,用户提交的函数在远程容器中执行;函数是无状态的,所有的状态,包括输入和输出,都从共享的远程存储中获取。出乎意料的是,我们发现这种方法在许多任务中几乎不会造成性能下降,因此,该模型足够通用,可以实现包括MapReduce和参数服务器在内的多种高级数据处理抽象。
我们在 Python 和 AWS Lambda 上开发了一个原型系统 PyWren。利用无状态函数,PyWren 帮助用户避免了以往必需的复杂开发和管理工作,将状态管理的复杂性转移到全局调度器和快速远程存储中。通过 PyWren,我们研究了仅使用无状态函数进行大规模数据分析的权衡,特别是仅依赖远程存储进行输入输出的影响。
3. 一个适度的建议
当前云计算抽象存在的许多问题源于其基于服务器导向的资源模型。将服务器作为抽象单位,将内存、CPU 和网络带宽等多种资源捆绑在一起。此外,服务器通常需要长时间运行,因此需要 DevOps 支持来维护。我们提出的方案是使用无服务器架构,以无状态函数作为数据处理的统一抽象。无状态函数将简化终端用户的编程和部署过程。本节将介绍基于无服务器架构设计数据处理系统的高级组件。我们的提议采用一个简单的 API,与现有库紧密集成,并通过在多个工作负载上使用我们原型系统。
3.1 系统组件
执行无状态函数所需的组件如下:
- 低开销的执行运行时
- 快速调度器
- 高性能远程存储
用户将单线程函数提交到全局调度器,在提交时可以附加运行所需的依赖项注释。调度器确定函数的运行位置后,会为执行期间创建合适的容器。虽然可以通过重用容器以提升性能,但是函数创建的任何状态不会在不同调用之间保留。因此,函数的所有输入输出都需要存储在远程存储上,因此需要提供高吞吐量和低延迟的共享存储系统。
容错性:无状态函数提供了简单的容错机制。当一个函数失败时,我们可以重新启动它(可能在不同的位置)并在相同的输入上重新执行。我们只需要对远程存储进行原子写入来跟踪哪些函数已经成功完成。假设函数是幂等的,我们可以获得与现有系统类似的容错保证。
简单性:如上述讨论所示,我们的架构非常简单,仅包含执行函数所需的最小基础设施。我们设计中不包含任何分布式数据结构或数据流原语。

论文阅读:ExCamera
摘要
我们介绍了ExCamera,一个可以对视频(包括4K和VR内容)进行编辑、转换和编码的低延迟系统。该系统主要有两个创新点。首先,我们设计了一个框架,用于在商用“云函数”服务上运行通用的并行计算。系统可以在几秒钟内启动数千个线程,并管理线程间的通信。其次,我们实现了一个支持细粒度并行的视频编码器,采用函数式编程风格,使计算可以被分割成数千个小任务,而不会损害压缩效率。我们设计中的关键洞见是:视频编码工作可以分为“快”和“慢”两部分,其中“慢”部分可并行完成,而“快”部分则以串行方式完成。
问题: 这篇论文探讨的是视频处理的低延迟问题,特别是如何使用大量小线程来加速视频的编码过程。传统视频处理常因需要大量的计算资源且对延迟敏感而面临挑战,在实时流媒体等应用中尤其明显。
重要性: 低延迟视频处理在直播、游戏和在线通信中至关重要。减少处理时间有助于提升用户体验,并能够应对因高分辨率视频带来的大量数据需求。
解决方法: 研究人员提出了一种名为ExCamera的系统,它将视频处理任务划分为许多小线程,并通过分布式计算框架对其进行并行处理。通过利用小规模但数量庞大的线程,ExCamera能够显著降低视频编码的延迟。
优点和缺点: 优势在于ExCamera能够充分利用并行化处理资源,实现视频处理的低延迟。缺点是该系统需要大量的网络带宽支持,并且过多的小线程可能带来调度和资源管理的开销。
未来研究方向的开放性问题: 如何进一步优化小线程的管理,以减少调度开销,或是更好地利用带宽资源,都是未来的研究方向。此外,如何在更大规模的分布式环境中扩展ExCamera也是值得探讨的问题。
更广泛的影响: 该研究为实时视频处理开辟了新的思路,尤其是在大规模分布式计算中,展示了小线程并行处理的潜力。ExCamera的设计思路也可以推广至其他需要低延迟的大数据处理领域,如实时数据分析等