FastCache: A Write-Optimized Edge Storage System Via Concurrent Merging Cache for IoT Applications
Lin Qian,Zhihao Qu,Miao Cai,Baoliu Ye,Xiaoliang Wang,Jianyu Wu,Weiguo Duan,Ming Zhao,Qiang Lin
DOI: https://doi.org/10.1016/j.sysarc.2022.102718
IF: 5.836
2022-01-01
Journal of Systems Architecture
Abstract:To tackle the microwrite issue in Internet-of-Things (IoT) applications, i.e., massive small size and concurrent random write requests, a straightforward approach is to establish cache mechanisms at the edge to reconstruct writing operations and flush data efficiently. In spite of recent research efforts on cache mechanisms, existing approaches still face unsolvable problems like frequent competition on cache blocks, massive fragments caused by merging, and cache pollution due to cache updating, especially in IoT scenarios with highly concurrent microwrites. To address these problems, we design and implement FastCache, a write-optimized edge storage system via concurrent microwrites merging. By leveraging an optimistic lock scheme, we implement a two-level cache structure that dispatches the concurrent write threads efficiently and significantly mitigates the cache block competition problem. Further, we propose a flexible merging scheme to avoid excessive fragments and the corresponding cache updating policy based on a throughput-aware threshold and a Poisson Distribution Sampling scheme. Extensive experiments on both synthetic workloads and a real-world trace from 20 million power meters with highly concurrent microwrites demonstrate that FastCache outperforms the state-of-the-art approaches, e.g., up to 14.6x and 5x improvement in terms of IOPS on synthetic and real-world workloads, respectively.