ABSTRACT
Key-value SSDs (KVSSDs) implement the storage engine of a key-value store such as log-structured merge-tree (LSM-tree) inside the SSD. However, recent LSM-tree based KVSSDs cannot be used directly in a multi-tenant environment. LSMtree-based KVSSDs are not designed with isolation in mind in terms of namespaces and performance, leading to incorrect data access between concurrent users and poor read performance. In this paper, we propose Iso-KVSSD, a LSM-tree based KVSSD for multi-tenancy by supporting namespace and performance isolation. The Iso-KVSSD performs access control based on the user's namespace and constructs per-namespace dedicated LSM-trees for users. We implement the Iso-KVSSD on Cosmos+ OpenSSD in a Linux environment and evaluate performance with Put() and Get() workloads by varying the number of tenants. Our extensive evaluation results showed that Iso-KVSSD has negligible write performance overhead and an average 2.9 times higher read throughput than a baseline that manages one global shared LSM tree between users.
- 2017. Cosmos+ OpenSSD Platform, http://www.openssd.io/.Google Scholar
- Jinwoo Ahn, Junghee Lee, Yungwoo Ko, Donghyun Min, Jiyun Park, Sungyong Park, and Youngjae Kim. 2020. DISKSHIELD: A Data Tamper-Resistant Storage for Intel SGX. In Proceedings of the 15th ACM Asia Conference on Computer and Communications Security (ASIACCS). ACM, 799--812.Google ScholarDigital Library
- Janki Bhimani, Jingpei Yang, Ningfang Mi, Changho Choi, and Manoj Saha. 2021. Fine-grained Control of Concurrency within KV-SSDs. In Proceeding of the 14th ACM International System and Storage Conference (Systor). ACM, 1--12.Google ScholarDigital Library
- SAMSUNG ELECTRONICS. 2018. Samsung Smart SSD. https://samsungatfirst.com/smartssd-ocp/.Google Scholar
- Storage Engines. 2020. MongoDB Manual. https://docs.mongodb.com/manual/.Google Scholar
- Facebook. 2017. LevelDB. https://github.com/google/leveldb.Google Scholar
- Google. 2012. RocksDB: A Persistent Key-Value Store for Fast Storage Environment. https://rocksdb.org.Google Scholar
- Ajay Gulati, Arif Merchant, and Peter J Varman. 2007. pClock: An Arrival Curve based Approach for QoS Guarantees in Shared Storage Systems. ACM SIGMETRICS Performance Evaluation Review 35, 1 (2007), 13--24.Google ScholarDigital Library
- John L Hennessy and David A Patterson. 2011. Computer Architecture: A Quantitative Approach. Elsevier.Google ScholarDigital Library
- Junsu Im, Jinwook Bae, Chanwoo Chung, Arvind, and Sungjin Lee. 2020. PinK: High-speed In storage Key-value Store with Bounded Tails. In Proceeding of the USENIX Annual Technical Conference (ATC). USENIX, 173--187.Google Scholar
- Shvetank Jain, Fareha Shafique, Vladan Djeric, and Ashvin Goel. 2008. Application-level isolation and recovery with solitude. In Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008. 95--107.Google ScholarDigital Library
- Yanqin Jin, Hung-Wei Tseng, Yannis Papakonstantinou, and Steven Swanson. 2017. KAML: A Flexible, High-Performance Key-Value SSD. In Proceeding of the IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 373--384.Google ScholarCross Ref
- Willis Lang, Srinath Shankar, Jignesh M Patel, and Ajay Kalhan. 2013. Towards multi-tenant performance SLOs. IEEE Transactions on Knowledge and Data Engineering 26, 6 (2013), 1447--1463.Google ScholarDigital Library
- Chang-Gyu Lee, Hyeongu Kang, Donggyu Park, Sungyong Park, Youngjae Kim, Jungki Noh, Woosuk Chung, and Kyoung Park. 2019. iLSM-SSD: An Intelligent LSM-Tree Based Key-Value SSD for Data Analytics. In Proceeding of the 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS). IEEE, 384--395.Google ScholarCross Ref
- Lanyue Lu, Thanumalayan Sankaranarayana Pillai, Hariharan Gopalakrishnan, Andrea C Arpaci-Dusseau, and Remzi H ArpaciDusseau. 2016. Wisckey: Separating Keys from Values in SSDconscious Storage. In Proceedings of the File and Storage Technologies (FAST). USENIX, 133--148.Google Scholar
- Patrick O'Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O'Neil. 1996. The Log-Structured Merge-Tree (LSM-tree). Acta Informatica 33, 4 (1996), 351--385.Google ScholarDigital Library
- Sean Rhea, Brighten Godfrey, Brad Karp, John Kubiatowicz, Sylvia Ratnasamy, Scott Shenker, Ion Stoica, and Harlan Yu. 2005. OpenDHT: A Public DHT Service and Its Sses. In Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications. 73--84.Google ScholarDigital Library
- David Shue, Michael J Freedman, and Anees Shaikh. 2012. Performance Isolation and Fairness for Multi-tenant Cloud Storage. In Proceeding of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI). USENIX, 349--362.Google Scholar
- Sung-Ming Wu, Kai-Hsiang Lin, and Li-Pin Chang. 2018. KVSSD: Close Integration of LSM Trees and Flash Translation Layer for Writeefficient KV Store. In Proceeding of the Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 563--568.Google Scholar
- Lianying Zhao and Mohammad Mannan. 2019. TEE-aided Write Protection Against Privileged Data Tampering. In Proceedings of the Network and Distributed System Security Symposium (NDSS). USENIX.Google ScholarCross Ref
Recommendations
Improving read performance by isolating multiple queues in NVMe SSDs
IMCOM '17: Proceedings of the 11th International Conference on Ubiquitous Information Management and CommunicationAs NVMe SSDs have become viable, recent researches have focused on optimizing the performance of NVMe SSDs, which provide multiple I/O queues to maximize the I/O parallelism of flash-chip, while traditional operating systems are designed ordinarily for ...
Design of LSM-tree-based Key-value SSDs with Bounded Tails
Key-value store based on a log-structured merge-tree (LSM-tree) is preferable to hash-based key-value store, because an LSM-tree can support a wider variety of operations and show better performance, especially for writes. However, LSM-tree is difficult ...
Performance Interference on Key-Value Stores in Multi-tenant Environments: When Block Size and Write Requests Matter
ICPE '21: Companion of the ACM/SPEC International Conference on Performance EngineeringKey-value stores are currently used by major cloud computing vendors, such as Google, Facebook, and LinkedIn, to support large-scale applications with concurrent read and write operations. Based on very simple data access APIs, the key-value stores can ...
Comments