Abstract
We present the design, implementation, and evaluation of Direct File System (DFS) for virtualized flash storage. Instead of using traditional layers of abstraction, our layers of abstraction are designed for directly accessing flash memory devices. DFS has two main novel features. First, it lays out its files directly in a very large virtual storage address space provided by FusionIO's virtual flash storage layer. Second, it leverages the virtual flash storage layer to perform block allocations and atomic updates. As a result, DFS performs better and is much simpler than a traditional Unix file system with similar functionalities. Our microbenchmark results show that DFS can deliver 94,000 I/O operations per second (IOPS) for direct reads and 71,000 IOPS for direct writes with the virtualized flash storage layer on FusionIO's ioDrive. For direct access performance, DFS is consistently better than ext3 on the same platform, sometimes by 20%. For buffered access performance, DFS is also consistently better than ext3, and sometimes by over 149%. Our application benchmarks show that DFS outperforms ext3 by 7% to 250% while requiring less CPU power.
- }}Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J. D., Manasse, M., and Panigrahy, R. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Technical Conference, USENIX Association, Monterey, CA. Google Scholar
Digital Library
- }}Birrell, A., Isard, M., Thacker, C., and Wobber, T. 2007. A design for high-performance flash disks. ACM Oper. Syst. Rev.41, 2 (April). Google Scholar
Digital Library
- }}Brants, T. and Franz, A. 2006. Web 1T 5-gram version 1.Google Scholar
- }}Card, R., T'so, T., and Tweedie, S. 1994. The design and implementation of the second extended filesystem. In Proceedings of the 1st Dutch International Symposium on Linux.Google Scholar
- }}Carlson, A., Mitchell, T. M., and Fette, I. 2008. Data analysis project: Leveraging massive textual corpora using n-gram statistics. Tech. rep. CMU-ML-08-107, Machine Learning Department, Carnegie Mellon University.Google Scholar
- }}Douceur, J. R. and Bolosky, W. J. 1999. A large scale study of file-system contents. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, ACM, New York. Google Scholar
Digital Library
- }}Douglis, F., Caceres, R., Kaashoek, M. F., Li, K., Marsh, B., and Tauber, J. A. 1994. Storage alternatives for mobile computers. In Operating Systems Design and Implementation, 25--37. Google Scholar
Digital Library
- }}FusionIO Corporation. 2009. FusionIO ioDrive specification sheet. http://www.fusionio.com/PDFs/Fusion%20Specsheet.pdf.Google Scholar
- }}Hitz, D., Lau, J., and Malcom, M. 2001. File system design for an nfs file server appliance. Tech. rep. TR-3002, NetAppCorp. Sept.Google Scholar
- }}Intel Corporation. 1998. Understanding the flash translation layer (FTL) specification.Google Scholar
- }}Intel Corporation. 2009. Intel X25-E SATA solid state drive. http://download.intel.com/design/flash/nand/extreme/extreme-sata-ssd-datasheet.pdf.Google Scholar
- }}Jo, H., Kang, J.-U., Park, S.-Y., Kim, J.-S., and Lee, K. 2006. FAB: Flash-aware buffer management policy for portable media players. IEEE Trans. Consumer Electron. 52, 2, 485--493. Google Scholar
Digital Library
- }}Kawaguchi, A., Nishioka, S., and Motoda, H. 1995. A flash-memory based file system. In Proceedings of the Winter USENIX Technical Conference. USENIX Association, Monterey, CA. Google Scholar
Digital Library
- }}Kim, H. and Ahn, S. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the 6th USENIX Conference on File and Storage Technologies. USENIX Association, Monterey, CA. Google Scholar
Digital Library
- }}Kim, J., Kim, J. M., Noh, S. H., Min, S. L.,, and Cho, Y. 2002. A space-efficient flash translation layer for CompactFlash systems. IEEE Trans. Consumer Electron. 48, 2, 366--375. Google Scholar
Digital Library
- }}Li, K. 1994. Towards a low power file system. Tech. Rep. CSD-94-814, University of California, Berkeley. Google Scholar
Digital Library
- }}Llanos, D. R. 2006. TPCC-UVa: An open-source TPC-C implementation for global performance measurement of computer systems. ACM SIGMOD Record 35, 4, 6--15. Google Scholar
Digital Library
- }}Manning, C. 2002. YAFFS: The NAND-specific flash file system. LinuxDevices.Org.Google Scholar
- }}Marsh, B., Douglis, F., and Krishnan, P. 1994. Flash memory file caching for mobile computers. In Proceedings of the 27th Hawaii International Conference on Architecture.Google Scholar
- }}Mathur, A., Cao, M., Bhattacharya, S., Dilger, A., Tomas, A., and Vivier, L. 2007. The new ext4 filesystem: Current status and future plans. In Proceedings of the Ottowa Linux Symposium.Google Scholar
- }}McKusick, M. K., Joy, W. N., Leffler, S. J., and Fabry, R. S. 1984. A fast file system for UNIX. ACM Trans. Comput. Syst. 2, 3. Google Scholar
Digital Library
- }}Norcott, W. 2009. Iozone filesystem benchmark. http://www.iozone.org.Google Scholar
- }}Park, S.-Y., Jung, D., Kang, J.-U., Kim, J.-S., and Lee, J. 2006. CFLRU: A replacement algorithm for flash memory. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems. Google Scholar
Digital Library
- }}Prabhakaran, V., Rodeheffer, T. L., and Zhou, L. 2008. Transactional flash. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation. Google Scholar
Digital Library
- }}Rajimwale, A., Prabhakaran, V., and Davis, J. D. 2009. Block management in solid state devices. Unpublished Tech. rep.Google Scholar
- }}Rosenblum, M. and Ousterhout, J. K. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10, 1--15. Google Scholar
Digital Library
- }}Tanenbaum, A. S., Herder, J. N., and Bos, H. 2006. File size distribution in UNIX systems: Then and now. ACM SIGOPS Oper. Syst. Rev. 40, 1, 100--104. Google Scholar
Digital Library
- }}Transaction Processing Performance Council. 2008. TPC benchmark H: Decision support. http://www.tpc.org/tpch.Google Scholar
- }}Troyanskaya, O., Cantor, M., Sherlock, G., Brown, P., Hastieevor, T., Tibshirani, R., Botstein, D., and Altman, R. B. 2001. Missing value estimation methods for DNA microarrays. Bioinformatics 17, 6, 520--525.Google Scholar
- }}Tweedie, S. 2000. Ext3, journaling filesystem. In Proceedings of the Ottowa Linux Symposium.Google Scholar
- }}Ulmer, C. and Gokhale, M. 2008. Threading opportunities in high-performance flash-memory storage. In High Performance Embedded Computing.Google Scholar
- }}Woodhouse, D. 2001. JFFS: The journalling flash file system. In Proceedings of the Ottowa Linux Symposium.Google Scholar
- }}Wu, M. and Zwaenepoel, W. 1994. eNVy: A non-volatile, main memory storage system. In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems. Google Scholar
Digital Library
Index Terms
DFS: A file system for virtualized flash storage
Recommendations
DFS: A De-Fragmented File System
MASCOTS '02: Proceedings of the 10th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications SystemsSmall file accesses are still limited by disk head move-menton modern disk drives with the high disk bandwidth.Small file performance can be improved by grouping andclustering, each of which places multiple files in a direc-toryand places blocks of the ...
DFS: a file system for virtualized flash storage
FAST'10: Proceedings of the 8th USENIX conference on File and storage technologiesThis paper presents the design, implementation and evaluation of Direct File System (DFS) for virtualized flash storage. Instead of using traditional layers of abstraction, our layers of abstraction are designed for directly accessing flash memory ...
The design and implementation of an extensible network backup system in realtime
ICUIMC '09: Proceedings of the 3rd International Conference on Ubiquitous Information Management and CommunicationThis paper proposes a backup system based on mirroring filesystem "GMFS." GMFS has been developed to mirror data in realtime on the filesystem layer. The GMFS is a stackable filesystem which flexibly mirrors without changing the existing environment by ...






Comments