Cloud object storage such as AWS S3 is cost-effective and highly elastic but relatively slow, while high-performance cloud storage such as AWS ElastiCache is expensive and provides limited elasticity. We present a new cloud storage service called ServerlessMemory, which stores data using the memory of serverless functions. ServerlessMemory employs a sliding-window-based memory management strategy inspired by the garbage collection mechanisms used in the programming language to effectively segregate hot/cold data and provides fine-grained elasticity, good performance, and a pay-per-access cost model with extremely low cost. We then design and implement InfiniStore, a persistent and elastic cloud storage system, which seamlessly couples the function-based ServerlessMemory layer with a persistent, inexpensive cloud object store layer. InfiniStore enables durability despite function failures using a fast parallel recovery scheme built on the autoscaling functionality of a FaaS (Function-as-a-Service) platform. We evaluate InfiniStore extensively using both microbenchmarking and two real-world applications. Results show that InfiniStore has more performance benefits for objects larger than 10 MB compared to AWS ElastiCache and Anna, and InfiniStore achieves 26.25% and 97.24% tenant-side cost reduction compared to InfiniCache and ElastiCache, respectively.
翻译:云对象存储(例如AWS S3)成本效益高,弹性较好,但相对较慢,而高性能云存储(例如AWS ElastiCache)则价格昂贵,提供的弹性有限。我们提出了一种名为ServerlessMemory的新型云存储服务,它使用无服务器函数的内存存储数据。ServerlessMemory采用了基于滑动窗口的内存管理策略,受到编程语言中使用的垃圾收集机制的启发,有效地分离热/冷数据,并提供了细粒度的弹性、良好的性能和极低的按访问付费成本模型。然后,我们设计和实现了InfiniStore,一种持久性和弹性的云存储系统,它将基于函数的ServerlessMemory层与持久性、经济实惠的云对象存储层无缝耦合起来。InfiniStore利用FaaS(Function-as-a-Service)平台的自动缩放功能,基于快速并行恢复方案确保了耐用性,即使函数故障也能够恢复。我们使用微基准测试和两个真实世界应用程序对InfiniStore进行了广泛评估。结果表明,与AWS ElastiCache和Anna相比,在大于10 MB的对象上,InfiniStore具有更多的性能优势,并且与InfiniCache和ElastiCache相比,InfiniStore在租户侧成本方面分别实现了26.25%和97.24%的降低。