摘要
Key-Value存储系统在各种互联网服务中被广泛使用,但现有的Key-Value存储系统通常在用户态空间设计和实现,因为频繁的模式切换和上下文切换,导致访问接口、事务处理效率不高,在高并发、低延迟的数据存储需求中尤为突出。针对该问题,给出了一个内核态Key-Value存储系统的实现——KStore:提供内核空间的索引和内存分配机制,并在此基础上,通过基于内核Socket的远程接口以及基于文件系统的本地接口,保证了KStore的低延迟;同时,通过基于内核多线程的并发处理机制,保证了KStore的并发性。实验结果表明,与Memcached相比,KStore在实时性和并发性方面都取得显著优势。
Nowadays Key-Value store system is widely used in various Internet services. However, the existing KeyValue store systems, mostly run in user-mode, can not meet the demands of high-concurrency and low-latency. It is mainly because user-mode usually provides inefficient access interfaces and transaction processing due to mode switch or context switch. To solve these problems, an in-kernel implementation of Key-Value store system, called KStore, was proposed in this paper. It had an in-kernel index and an in-kernel memory allocator, which were used to manage Key-Value data efficiently.To guarantee the low-latency response, KStore provided a remote interface based on in-kernel Socket, and a local interface based on file system. In addition, KStore processed concurrent requests with a novel mechanism based on in-kernel multithread. The experimental results show that KStore gains a remarkable advantage over Memcached in the characteristics of realtime and concurrency.
出处
《计算机应用》
CSCD
北大核心
2015年第1期99-102,114,共5页
journal of Computer Applications
基金
中国科学院战略性科技先导专项(XDA06010600)
核高基重大专项(2012ZX01039-004)