S-Space College of Engineering/Engineering Practice School (공과대학/대학원) Dept. of Computer Science and Engineering (컴퓨터공학부) Others_컴퓨터공학부
Improving performance of cloud key-value storage using flushing optimization
- Son, Yongseok; Kang, Hara; Han, Hyuck; Yeom, Heon Young
- Issue Date
- 2016 IEEE 1st International Workshops on Foundations and Applications of Self-* Systems, pp. 42-47
Key-value store is an essential component with an increasing demand in many scale-out environments, including social networks, online retail, and cloud services. Hence, modern key-value storage engines provide many features, including transaction, versioning, replication, etc. In storage engines, transaction processing provides atomicity and durability by using write-ahead logging (WAL), which flushes log data before the data page is written to persistent storage in synchronous commit. However, according to our observation, WAL is a performance bottleneck on key-value storage engine since the flushing of log data to persistent storage incurs significant overhead of lock contention and fsync() calls even with various optimizations in the existing scheme. In this paper, we propose an approach for improving performance of key-value storage by optimizing the existing flushing scheme combined with group commit and consolidate array. Our scheme aggregates multiple flushing of log data into a large request on the fly and completes the request early. This scheme is an efficient group commit that reduces the number of frequent lock acquisition and fsync() calls in the synchronous commit while supporting same transaction level that the existing scheme provides. We implemented our scheme on WiredTiger storage engine and evaluated that our scheme improves the performance by 1.3-5.5x on the key-value workload compared to the existing scheme.
- Files in This Item: There are no files associated with this item.