Abstract

Flash-based Solid State Drives (SSDs) have proved to be ideal devices that support embedded transaction protocols inside SSDs. Existing embedded transaction protocols effectively improve transaction throughput, but still incur high transaction overhead and long recovery time. In this paper, we propose a new embedded transaction protocol called Non-volatile Cache Transaction (NVCTX). NVCTX reduces transaction overhead and provides fast recovery by leveraging the small-capacity NVM-based disk cache from two aspects. First, we store transactional metadata, which is of small amount but is frequently accessed, in the NVM-based disk cache rather than in the flash memory. Second, we introduce two techniques to improve the performance when the capacity of the NVM-based disk cache is very limited. We have implemented NVCTX on a real hardware board, and modified ext4 file system and NVMe driver to be compatible with the transactional interfaces provided by NVCTX. For comparison, we implement other four protocols in the firmware. Evaluations using DBMS and file system workloads show that, compared to other protocols, NVCTX improves transaction throughput by up to 136.5%, 9.4%, 131.6% and 29.9%, reduces write traffic to flash memory by up to 42.8%, 4.1%, 62.4%, 31.2%, and shortens recovery time to 1/2574, 1/2559, 1/95 and 1/2 respectively.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call