Home avatar

主题的晦涩 人生的短暂

[Paper Note] Acto Automatic End-to-End Testing for Operation Correctness of Cloud System Management

背景

许多部署在 Kubernetes 等现代云平台上的系统使用 operator 替代人工部署,但这些 operator 通常没有完整的 e2e 测试,极大的影响了分布式系统的可靠性。

由于这些原因,人工编写完善的 e2e 测试基本上是不可行的:

  1. 开发者很难在庞大的状态空间中构造良好的测试用例。人工编写的 e2e 测试通常从理想的初始状态触发,一步(只修改一次 spec)到达最终状态。这种测试无法覆盖足够多的状态转移。
  2. operator 的开发者和被管理的系统的开发者往往不是一拨人,operator 开发者很难有足够的知识完善 e2e 测试。
  3. operator 的协调循环(reconcile loop)涉及大量状态迁移,其中一些还涉及被管理系统的细节。

论文开发了一个自动生成 operator e2e 测试的框架 Acto,发现了大量流行的系统的 operator 中的 bug,其中某些 bug 甚至是由 Kubernetes 和 Go 语言运行时的 bug 导致的。

[Paper Note] Wisckey Separating Keys From Values in Ssd-Conscious Storage

背景

LSM Tree 已经在 write-intensive database 中大量应用,但旧的实现存在以下问题:

  1. 严重的读写放大(read/write amplification)
  2. 没有充份利用 SSD 的内部并行性。

问题 1 尤为严重,LevelDB 的最坏情况下,写放大(从 L0 下沉至 L1)为 50,读放大(从 L0 读取所有 SST,再读穿到 L6)为 24×14 = 366。严重的读写放大不仅会导致 SSD 磨损,还会导致占用大量带宽。

[Paper Note] the Design of a Practical System for Fault-Tolerant Virtual Machines

背景

hypervisor 控制整个 VM 的执行环境,因此可能高效地实现可容错的虚拟机系统。论文在 WMware vShpere 4.0 上实现了一个可用于生产环境的可容错虚拟机,称为 VMware FT。

设计

论文聚焦于如何实现一个可用与生产环境的容错虚拟机,更多聚焦于实现容错的策略(协议),底层使用的机制依赖于 VMware 的其他技术。虚拟机复制使用 VMware VMotion,这个技术原本用于迁移 VMware 虚拟机,VMware FT 稍作修改,用于复制虚拟机和重启虚拟机。使用 VMware 的 deterministic replay 技术记录主虚拟机的执行并确保副本的执行于主虚拟机相同。

0%