【QoE】E2E: embracing user heterogeneity to improve quality of experience on the web
提出用户异构性,对于Web Service的影响。
【Latency】Google半秒的延迟导致流量下降20%。半秒钟的延迟会导致用户满意度下降。http://glinden.blogspot.com/2006/11/marissa-mayer-at-web-20.html
一半的消费者在智能手机上浏览产品和服务,而只有五分之一的人使用这些手机完成了购买;
网站加载时间延迟100毫秒会导致转化率降低7%;
网页加载时间的两秒延迟将跳出率提高了103%;
53%的移动网站访问者将离开一个页面,而该页面的加载时间超过三秒钟;
手机购物者的跳出率最高,而平板电脑购物者的跳出率低;
加载平均移动目标网页所需的时间为22秒。但是,研究还表明,如果加载时间超过3秒,就会有53%的人离开移动页面。
https://www.searchenginejournal.com/google-new-industry-benchmarks-mobile-page-speed/187777/#close
【Code Start】Catalyzer: Sub-millisecond Startup for Serverless Computing with Initialization-less Booting
从检查点还原docker,以跳过初始化。按需恢复用户级内存状态和系统状态。提出一个新的sfork,以直接重用正在运行的沙盒实例。
【Cost-performance trade-off】Shuffling, fast and slow: Scalable analytics on serverless infrastructure
便宜的慢存储,和贵的快存储的权衡优化。
【Functions Communications】SAND: Towards High-Performance Serverless Computing
应用程序沙盒以及分层消息总线,实现了更低的延迟和更好的资源效率以及更高的弹性。
【Performance Prediction】Ernest: Efficient Performance Prediction for Large-Scale Advanced Analytics
在给定时间范围内选择最便宜的配置,或在预算下选择最快的配置。其中提到的相关功能工作有关SLA优化的介绍。
【Code Start】SOCK: Rapid Task Provisioning with Serverless-Optimized Containers
- 网络和 mount namespace 可扩展性瓶颈
- Python 程序中导入许多流行的库会导致容器增加 100 毫秒的启动时间
- 使用轻量级的 isolation primitives,避免了他们发现的性能瓶颈
- 使用通用的 Zygote-provisioning 策略来配置 Python 程序,以避免 Python 初始化成本
- 利用 Zygote 机制构建了一个三层 package-aware 的缓存系统
【Benchmark】Serverless Computing: An Investigation of Factors Influencing Microservice Performance
测试不同的基础架构弹性,负载平衡,配置变化,基础架构保留和内存预留大小,5个方面讨论Serverless的性能。
【Survey】Serverless Computing: One Step Forward, Two Steps Back
这篇综述主要分析了SC的优势主要在提供autoscaling,以及可管理,无限的计算资源。但是同时提出两大弊端:高效处理数据的缺失、阻碍了分布式系统的应用。首先,Limited Lifetimes、I/O Bottlenecks、Communication Through Slow Storage、No Specialized Hardware。而且SC是non-addressable,short-lived,ship data to code而不是shipping code to data。此外存储层级比较多样,across various storage layers and network delays,对于延迟贷款cost不利。其次,没有网络地址,导致难以分布式运行。函数之间数据交换通过较慢的存储介质。最后,SC妨碍硬件加速创新,硬件结构单一。FaaS不鼓励开源服务创新。文章还提出未来的发展,例如Fluid Code and Data Placement,Heterogeneous Hardware Support,Long-Running, Addressable Virtual Agents,Disorderly programming(细粒度编程),灵活编程,FaaS offerings should enable upfront SLOs (服务水平目标)that are priced accordingly, with appropriate penalties for mis-estimation(细粒度计费)。
【Survey】Cloud Programming Simplified: A Berkeley View on Serverless Computing
SC与有服务器的区别:
- 解耦计算与存储
- 在不管理资源分配的情况下执行代码
- 按比例使用已用资源而不是已分配资源
当下SC平台的局限性:
- 存储不足,无法进行细粒度的操作(较高的访问成本以及访问延迟)
- 缺乏细粒度的协调,有状态Function之间信息沟通。
- 标准通信模式的性能不佳(收发更多数量级的消息)
- 各种延迟较大
目前挑战:
- 抽象挑战,仅仅CPU内存资源是不够的(自动提供适合的内存等资源?)
- 系统挑战,无服务器临时存储,持久存储
- 网络挑战
- 安全挑战
【PyWren】[SoCC '17]Occupy the cloud: distributed computing for the 99%
GPU enabled serverless computing framework
Comparison of faas orchestration systems