  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.

Distributed, Parallel, and Cluster Computing