Abstract
In the near future, commodity hardware is expected to incorporate both flash and magnetic disks. In this paper we study how the storage layer of a database system can benefit from the presence of both kinds of disk. We propose using the flash and the magnetic disk at the same level of the memory hierarchy and placing a data page to only one of these disks according to the workload of the page. Pages with a read-intensive workload are placed on the flash disk, while pages with a write-intensive workload are placed on the magnetic disk. We present a family of on-line algorithms to decide the optimal placement of a page and study their theoretical properties. Our system is self-tuning, i.e., our algorithms adapt page placement to changing workloads. We also present a buffer replacement policy that takes advantage of the asymmetric I/O properties of the two types of storage media to reduce the total I/O cost. Our experimental evaluation shows remarkable I/O performance improvement over both flash-only and magnetic-only systems. These results, we believe, exhibit both the potential and necessity of such algorithms in future database systems.
- A. Birrell et al. A design for high-performance flash disks. SIGOPS Oper. Syst. Rev., 41(2), 2007. Google ScholarDigital Library
- D. L. Black and D. D. Sleator. Competitive algorithms for replication and migration problems. Technical Report CMU-CS-89-201, 1989.Google Scholar
- A. Borodin, N. Linial, and M. E. Saks. An optimal on-line algorithm for metrical task systems. J. ACM, 39(4), 1992. Google ScholarDigital Library
- T.-S. Chung et al. System software for flash memory: A survey. In EUC, 2006. Google ScholarDigital Library
- Fusion-IO, Inc. The ioDrive. http://fusionio.com.Google Scholar
- G. Graefe. Query Evaluation Techniques for Large Databases. ACM Comput. Surv., 25(2), 1993. Google ScholarDigital Library
- G. Graefe. The five-minute rule twenty years later, and how flash memory chenges the rules. DAMON, 2007. Google ScholarDigital Library
- J. Kim et al. A space-efficient flash translation layer for compactflash systems. Transactions on Consumer Electronics., 2002. Google ScholarDigital Library
- S.-W. Lee and B. Moon. Design of flash-based DBMS: An in-page logging approach. In SIGMOD, 2007. Google ScholarDigital Library
- S.-W. Lee et al. A log buffer-based flash translation layer using fully-associative sector translation. Trans. on Embedded Computing Sys., 2007. Google ScholarDigital Library
- Microsoft Corp. Windows Vista Operating System: ReadyBoost.Google Scholar
- S. Nath and A. Kansal. FlashDB: Dynamic Self-Tuning Database for NAND Flash. In IPSN, 2007. Google ScholarDigital Library
- M. Stonebraker. Operating system support for database management. Commun. ACM, 24(7):412--418, 1981. Google ScholarDigital Library
- J. Westbrook. Randomized algorithms for multiprocessor page migration. In DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 7, pages 135--150, 1992.Google Scholar
- Wikipedia. Hybrid drive. http://en.wikipedia.org/wiki/Hybrid_drive.Google Scholar
- Wikipedia. Multi level cell. http://en.wikipedia.org/wiki/Multi-level_Cell.Google Scholar
- C.-H. Wu, T.-W. Kuo, and L. P. Chang. An efficient b-tree layer implementation for flash-memory storage systems. Trans. on Embedded Computing Sys., 6(3), 2007. Google ScholarDigital Library
Index Terms
- Flashing up the storage layer
Recommendations
Multi-layer Prefetching for Hybrid Storage Systems: Algorithms, Models, and Evaluations
ICPPW '10: Proceedings of the 2010 39th International Conference on Parallel Processing WorkshopsParallel storage systems have been highly scalable and widely used in support of data-intensive applications. In future systems with the nature of massive data processing and storing, hybrid storage systems opt for a solution to fulfill a variety of ...
Meta-Block: Exploiting Cross-Layer and Direct Storage Access for Decentralized Blockchain Storage Systems
Decentralized storage systems such as blockchain storage applications adopt the distributed storage technology and use distributed storage nodes to store the persistent data. For each off-chain storage node, keyvalue (KV) stores are normally used to ...
Comments