论文标题
CheckSync:使用运行时集成的检查站来实现高可用性}
CheckSync: Using Runtime-Integrated Checkpoints to Achieve High Availability}
论文作者
论文摘要
CheckSync通过运行时集成检查点提供了高可用性的应用程序。这允许CheckSync采用以内存管理的语言运行的过程的检查点(目前为GO),该过程可以在故障后在另一台计算机上恢复。 CheckSync使用运行时仅检查过程的实时内存,而无需对应用程序进行重大更改。 CheckSync保持虚拟机提供的易用性,用于其支持的应用程序,而无需对整个虚拟机映像进行快照。由于CheckSync仅捕获应用程序使用的内存,因此如果与操作系统的其余部分相比,如果应用程序的内存足迹相对较小,则与虚拟机的快照相比,该检查点要比虚拟机的快照较小(数量级)。此外,当运行一种流行的内存中密钥/值商店Go-Cache时,CheckSync仅将吞吐量降低12%,而使用Go-Cache的快照功能时的78%吞吐量损失,使用CRIU时的45%损失,而使用Virtual Machine实时迁移时68%的损失。
CheckSync provides applications with high availability via runtime-integrated checkpointing. This allows CheckSync to take checkpoints of a process running in a memory-managed language (Go, for now), which can be resumed on another machine after a failure. CheckSync uses the runtime to checkpoint only the process' live memory, doing without requiring significant changes to applications. CheckSync maintains the ease of use provided by virtual machines for the applications it supports without requiring that an entire virtual machine image be snapshotted. Because CheckSync captures only the memory used by an application, it produces checkpoints that are smaller (by an order of magnitude) than virtual machine snapshots if the memory footprint of the application is relatively small compared to the state of the rest of the operating system. Additionally, when running go-cache, a popular in-memory key/value store, CheckSync reduces throughput by only 12% compared to the 78% throughput loss when using go-cache's snapshot functionality, the 45% loss when using CRIU, and the 68% loss when using virtual machine live migration.