Cai Tao, Ma Yueming, Liu Peiyao, Niu Dejiao, Li Lei
School of Computer Science and Communication Engineering, Jiangsu University, Zhenjiang 212000, China.
Micromachines (Basel). 2022 Feb 27;13(3):385. doi: 10.3390/mi13030385.
Numerous IoT devices in IoT systems collect data concurrently, which brings great challenges to IoT time series databases to store and manage these data. NVM device has high read-write speed compared with HDD and Flash-based SSD, and it is a possible way to solve the storage bottleneck. However, there are some limitations that should be solved such as the overhead of the I/O software stack for NVM devices and the lack of optimization for IoT time series databases in a Linux environment. By analyzing the characteristics of IoT time series databases and NVM devices, we optimized the device driver of NVM in Linux and provide a new structure of a NVM device driver for IoT time series databases. A multi-queue management strategy and a lightweight load balance mechanism based on frequency were designed to improve the concurrency and efficiency of NVM device drivers. The prototype of an IoT-oriented NVM device driver named TS-PMEM was implemented based on an open-source NVM device driver. Six prototypes were used for evaluation with YCSB-TS, a test tool for time series databases. Results showed that TS-PMEM can improve write throughput of the time series databases by 18.6%, query throughput by 10.6%, and reduce the write latency by 8.3% and query latency by 6.4%.
物联网系统中的众多物联网设备会同时收集数据,这给物联网时间序列数据库存储和管理这些数据带来了巨大挑战。与硬盘驱动器和基于闪存的固态硬盘相比,非易失性内存(NVM)设备具有较高的读写速度,这是解决存储瓶颈的一种可能途径。然而,仍有一些局限性需要解决,例如NVM设备的I/O软件栈开销以及在Linux环境中物联网时间序列数据库缺乏优化。通过分析物联网时间序列数据库和NVM设备的特性,我们优化了Linux中NVM的设备驱动程序,并为物联网时间序列数据库提供了一种新的NVM设备驱动程序结构。设计了一种多队列管理策略和基于频率的轻量级负载均衡机制,以提高NVM设备驱动程序的并发性和效率。基于开源NVM设备驱动程序实现了一个名为TS-PMEM的面向物联网的NVM设备驱动程序原型。使用六个原型通过时间序列数据库测试工具YCSB-TS进行评估。结果表明,TS-PMEM可以将时间序列数据库的写入吞吐量提高18.6%,查询吞吐量提高10.6%,并将写入延迟降低8.3%,查询延迟降低6.4%。