Abstract
Fast storage devices are an emerging solution to satisfy data-intensive applications. They provide high transaction rates for DBMS, low response times for Web servers, instant on-demand paging for applications with large memory footprints, and many similar advantages for performance-hungry applications. In spite of the benefits promised by fast hardware, modern operating systems are not yet structured to take advantage of the hardware’s full potential. The software overhead caused by an OS, negligible in the past, adversely impacts application performance, lessening the advantage of using such hardware. Our analysis demonstrates that the overheads from the traditional storage-stack design are significant and cannot easily be overcome without modifying the hardware interface and adding new capabilities to the operating system.
In this article, we propose six optimizations that enable an OS to fully exploit the performance characteristics of fast storage devices. With the support of new hardware interfaces, our optimizations minimize per-request latency by streamlining the I/O path and amortize per-request latency by maximizing parallelism inside the device. We demonstrate the impact on application performance through well-known storage benchmarks run against a Linux kernel with a customized SSD. We find that eliminating context switches in the I/O path decreases the software overhead of an I/O request from 20 microseconds to 5 microseconds and a new request merge scheme called Temporal Merge enables the OS to achieve 87% to 100% of peak device performance, regardless of request access patterns or types. Although the performance improvement by these optimizations on a standard SATA-based SSD is marginal (because of its limited interface and relatively high response times), our sensitivity analysis suggests that future SSDs with lower response times will benefit from these changes. The effectiveness of our optimizations encourages discussion between the OS community and storage vendors about future device interfaces for fast storage devices.
- Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J. D., Manasse, M., and Panigrahy, R. 2008. Design tradeoffs for SSD performance. In Proceedings of the Annual USENIX Technical Conference (ATC’08). USENIX Association, 57--70. Google ScholarDigital Library
- Ahmad, I., Gulati, A., and Mashtizadeh, A. 2011. Vic: Interrupt coalescing for virtual machine storage device io. In Proceedings of the Annual USENIX Technical Conference (ATC’11). USENIX Association, 4--4. Google ScholarDigital Library
- Akel, A., Caulfield, A. M., Mollov, T. I., Gupta, R. K., and Swanson, S. 2011. Onyx: A protoype phase change memory storage array. In Proceedings of the 3rd USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’11). USENIX Association, 2. Google ScholarDigital Library
- Anand, A., Sen, S., Krioukov, A., Popovici, F., Akella, A., Arpaci-Dusseau, A., Arpaci-Dusseau, R., and Banerjee, S. 2008. Avoiding file system micromanagement with range writes. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI’08). USENIX Association, 161--176. Google ScholarDigital Library
- Anderson, E., Kallahalla, M., Uysal, M., and Swaminathan, R. 2004. Buttress: A toolkit for flexible and high fidelity i/o benchmarking. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies (FAST’04). USENIX Association, 45--58. Google ScholarDigital Library
- Aranya, A., Wright, C. P., and Zadok, E. 2004. Tracefs: A file system to trace them all. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies (FAST’04). USENIX Association, 129--145. Google ScholarDigital Library
- Aron, M. and Druschel, P. 2000. Soft timers: Efficient microsecond software timer support for network processing. ACM Trans. Comput. Syst. 18, 197--228. Google ScholarDigital Library
- Arpaci-Dusseau, R. H. and Arpaci-Dusseau, A. C. 2014. Operating systems: Three easy pieces. http://pages.cs.wisc.edu/~remzi/OSTEP/.Google Scholar
- Axboe, J. 2013. Fio benchmark. http://freecode.com/projects/fio.Google Scholar
- Ben-Yehuda, M., Factor, M., Rom, E., Traeger, A., Borovik, E., and Yassour, B.-A. 2012. Adding advanced storage controller functionality via low-overhead virtualization. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). USENIX Association, 15. Google ScholarDigital Library
- BenchmarkSQL. 2012. http://sourceforge.net/projects/benchmarksql.Google Scholar
- Boyd, J. 2008. Serial ata advanced host conroller interface (ahci) 1.3. http://www.microbe.cz/docs/serial-ata-ahci-spec-rev1_3.pdf.Google Scholar
- Caulfield, A. M., Coburn, J., Mollov, T., De, A., Akel, A., He, J., Jagatheesan, A., Gupta, R. K., Snavely, A., and Swanson, S. 2010a. Understanding the impact of emerging non-volatile memories on high-performance, io-intensive computing. In Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (SC’10). IEEE Computer Society, 1--11. Google ScholarDigital Library
- Caulfield, A. M., De, A., Coburn, J., Mollow, T. I., Gupta, R. K., and Swanson, S. 2010b. Moneta: A high performance storage array architecture for next-generation, non-volatile memories. In Proceedings of the 43rd Annual IEEE/ACM (MICRO’10). 385--395. Google ScholarDigital Library
- Caulfield, A. M., Mollov, T. I., Eisner, L. A., De, A., Coburn, J., and Swanson, S. 2012. Providing safe, user space access to fast, solid state disks. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’12). ACM Press, New York, 387--400. Google ScholarDigital Library
- Chang, L.-P. and Kuo, T.-W. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the 8th Real-Time and Embedded Technology and Applications Symposium. 187--196. Google ScholarDigital Library
- Chang, X., Muppala, J., Han, Z., and Liu, J. 2008. Analysis of interrupt coalescing schemes for receive-livelock problem in gigabit ethernet network hosts. In Proceedings of the IEEE International Conference on Communications (ICC’08). 1835--1839.Google Scholar
- Chase, J., Gallatin, A., and Yocum, K. 2000. End-system optimizations for high-speed TCP. IEEE Comm. Mag. 39, 68--74. Google ScholarDigital Library
- Chen, F., Koufaty, D. A., and Zhang, X. 2009. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. In Proceedings of the 8th International Joint Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’09). ACM Press, New York, 181--192. Google ScholarDigital Library
- Condit, J., Nightingale, E. B., Frost, C., Ipek, E., Lee, B., Burger, D., and Coetzee, D. 2009. Better i/o through byte-addressable, persistent memory. In Proceedings of the 22nd ACM SIGOPS Symposium on Operating Systems Principles (SOSP’09). ACM Press, New York, 133--146. Google ScholarDigital Library
- Corbet, J. 2009. Interrupt mitigation in the block layer. http://lwn.net/articles/346219.Google Scholar
- Corbet, J., Rubini, A., and Kroah-Hartman, G. 2005. Linux Device Drivers, 3rd Edition. O’Reilly Media. Google ScholarDigital Library
- Council, T. P. P. 2010. TPC benchmark C, standard specification, revision 5.11. http://www.tpc.org/tpcc/spec/tpcc_current.pdf.Google Scholar
- de Jonge, W., Kaashoek, M. F., and Hsieh, W. C. 1993. The logical disk: A new approach to improving file systems. In Proceedings of the 14th ACM Symposium on Operating Systems Principles (SOSP’93). ACM Press, New York, 15--28. Google ScholarDigital Library
- Dees, B. 2005. Native command queuing - Advanced performance in desktop storage. IEEE Potent. 24, 4, 4--7.Google ScholarCross Ref
- Denehy, T. E., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2002. Bridging the information gap in storage protocol stacks. In Proceedings of the Annual USENIX Technical Conference (ATC’02). USENIX Association, 177--190. Google ScholarDigital Library
- Dobrescu, M., Egi, N., Argyraki, K., Chun, B.-G., Fall, K., Iannaccone, G., Knies, A., Manesh, M., and Ratnasamy, S. 2009. Routebricks: Exploiting parallelism to scale software routers. In Proceedings of the 22nd ACM SIGOPS Symposium on Operating Systems Principles (SOSP’09). ACM Press, New York, 15--28. Google ScholarDigital Library
- EMC. 2007. EMC Clariion Raid 6 technology: A detailed review. http://www.emc.com/collateral/hardware/whitepapers/h2891-clariion-raid-6.pdf.Google Scholar
- Freitas, R. F. and Wilcke, W. W. 2008. Storage-class memory: The next storage system technology. IBM J. Res. Dev. 52, 439--447. Google ScholarDigital Library
- Fusion-IO. 2014a. iodrive OCTAL data sheet. http://www.fusionio.com/data-sheets/iodrive-octal-data-sheet/.Google Scholar
- Fusion-IO. 2014b. iomemory virtual storage layer (vsl). http://www.fusionio.com/overviews/vsl-technical-overview/.Google Scholar
- Ganger, G. R. 2001. Blurring the line between oses and storage devices. Tech. rep. CMU-CS-01-166, Carnegie Mellon University.Google Scholar
- Ganger, G. R. and Patt, Y. N. 1998. Using system-level models to evaluate i/o subsystem designs. IEEE Trans. Comput. 47, 6, 667--678. Google ScholarDigital Library
- Geist, R. and Daniel, S. 1987. A continuum of disk scheduling algorithms. ACM Trans. Comput. Syst. 5, 1, 77--92. Google ScholarDigital Library
- Gibson, G. A., Nagle, D. F., Amiri, K., Butler, J., Chang, F. W., Gobioff, H., Hardin, C., Riedel, E., Rochberg, D., and Zelenka, J. 1998. A cost-effective, high-bandwidth storage architecture. In Proceedings of the 8th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’98). ACM Press, New York, 92--103. Google ScholarDigital Library
- Gibson, G. A., Nagle, D. F., Amiri, K., Chang, F. W., Feinberg, E. M., Gobioff, H., Lee, C., Ozceri, B., Riedel, E., Rochberg, D., and Zelenka, J. 1997. File server scaling with network-attached secure disks. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’97). ACM Press, New York, 272--284. Google ScholarDigital Library
- Gleixner, T. and Molnar, I. 2014. Hrtimers - Subsystem for high-resolution kernel timers, kernel 2.6.32 documentation. https://github.com/alibaba/taobao-kernel/blob/master/redhat-kernel-source/linux-2.6.32/Documentation/timers/hrtimers.txt.Google Scholar
- Gleixner, T. and Niehaus, D. 2006. Hrtimers and beyond: Transforming the Linux time subsystems. In Proceedings of the Ottawa Linux Symposium (OLS’06). Vol. 1. 333--346.Google Scholar
- Hadoop. 2014. http://hadoop.apache.org/.Google Scholar
- Hall, C. and Bonnet, P. 2005. Getting priorities straight: Improving linux support for database i/o. In Proceedings of the 31st International Conference on Very Large Data Bases (VLDB’05). 1116--1127. Google ScholarDigital Library
- Han, S., Jang, K., Park, K., and Moon, S. 2010. Packetshader: A GPU-accelerated software router. SIGCOMM Comput. Comm. Rev. 40, 4, 195--206. Google ScholarDigital Library
- HPArrayCont. 2014. Hp smart array controller. http://www8.hp.com/us/en/products/iss-ontrollers/index.html.Google Scholar
- Hu, X.-Y., Eleftheriou, E., Haas, R., Iliadis, I., and Pletka, R. 2009. Write amplification analysis in flash-based solid state drives. In Proceedings of SYSTOR: The Israeli Experimental Systems Conference (SYSTOR’09). ACM Press, New York, 10:1--10:9. Google ScholarDigital Library
- Huang, L. and Chiueh, T. 2000. Implementation of a rotation latency sensitive disk scheduler. Tech. rep. ECSL-TR81, SUNY, Stony Brook.Google Scholar
- Huffman, A. 2012a. NVM express (rev.1.0c). Tech. rep., Intel Corporation.Google Scholar
- Huffman, A. 2012b. NVM express (revision 1.1), http://www.nvmexpress.org/wp-content/uploads/nvm-express-1_1.pdf.Google Scholar
- Infiniband. 2014. http://www.mellanox.com/page/infiniband_cards_overview.Google Scholar
- Intel. 2006. Accelerating high-speed networking with intel i/o acceleration technology. http://download.intel.com/support/network/sb/98856.pdf.Google Scholar
- Intel. 2007. Improving network performance in multi-core systems. http://www.intel.com/content/dam/doc/white-paper/improving-network-performance-in-multi-core-systems-paper.pdf.Google Scholar
- Intel and Seagate. 2003. Serial ATA native command queueing. http://www.seagate.com/docs/pdf/whitepaper/D2c_tech_paper_intc-stx_sata_ncq.pdf.Google Scholar
- Iyer, S. and Druschel, P. 2001. Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous i/o. In Proceedings of the 8th ACM Symposium on Operating Systems Principles (SOSP’01). ACM Press, New York, 117--130. Google ScholarDigital Library
- Jacobson, D. M. and Wilkes, J. 1991. Disk scheduling algorithms based on rotational position. Tech. rep. HPL-CSP-91-7rev1, HP Laboratories.Google Scholar
- Josephson, W. K., Bongo, L. A., Li, K., and Flynn, D. 2010. Dfs: A file system for virtualized flash storage. ACM Trans. Storage 6, 3, 14:1--14:25. Google ScholarDigital Library
- Katcher, J. 1997. Postmark: A new file system benchmark. Tech. rep. TR3022, Network Applicance, Inc.Google Scholar
- Kim, H., Seshadri, S., Dickey, C. L., and Chiu, L. 2014. Evaluating phase change memory for enterprise storage systems: A study of caching and tiering approaches. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST’14). 33--45. Google ScholarDigital Library
- Kim, H.-Y. and Rixner, S. 2006. Connection handoff policies for TCP offload network interfaces. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06). USENIX Association, 293--306. Google ScholarDigital Library
- Kim, I., Moon, J., and Yeom, H. Y. 2001. Timer-based interrupt mitigation for high performance packet processing. In Proceedings of the 5th International Conference on High Performance Computing in the Asia-Pacific Region, Gold.Google Scholar
- Knight, F. and Stevens, C. E. 2012. Sbc-3 LBA access hints, t10/11-436 r6. http://www.t10.org/cgi-bin/ac.pl?t=d&f=11-436r6.pdf.Google Scholar
- Kohler, E., Morris, R., Chen, B., Jannotti, J., and Kaashoek, M. F. 2000. The click modular router. ACM Trans. Comput. Syst. 18, 3, 263--297. Google ScholarDigital Library
- Lee, B. C., Ipek, E., Mutlu, O., and Burger, D. 2009. Architecting phase change memory as a scalable dram alternative. In Proceedings of the 36th International Symposium on Computer Architecture (ISCA’09). ACM Press, New York, 2--13. Google ScholarDigital Library
- Lee, S., Fleming, K., Park, J., Ha, K., Caulfield, A. M., Swanson, S., Arvind, and Kim, J. 2010. Bluessd: An open platform for cross-layer experiments for nand flash-based SSDs. In Proceedings of the 5th Workshop on Architectural Research Prototyping.Google Scholar
- Lee, S.-W., Moon, B., Park, C., Kim, J.-M., and Kim, S.-W. 2008. A case for flash memory SSD in enterprise database applications. In Proceedings of the ACM International Conference on Management of Data (SIGMOD’08). ACM Press, New York, 1075--1086. Google ScholarDigital Library
- Linux. 2014. Linux kernel version 3.13. https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.13.tar.gz.Google Scholar
- Liu, J. and Abali, B. 2009. Virtualization polling engine (VPE): Using dedicated cpu cores to accelerate i/o virtualization. In Proceedings of the 23rd International Conference on Supercomputing (ICS’09). ACM Press, New York, 225--234. Google ScholarDigital Library
- Lumb, C. R., Schindler, J., Ganger, G. R., Nagle, D. F., and Riedel, E. 2000. Towards higher disk head utilization: Extracting free bandwidth from busy disk drives. In Proceedings of the 4th Conference on Symposium on Operating System Design and Implementation (OSDI’00). USENIX Association, 7. Google ScholarDigital Library
- Makineni, S. and Iyer, R. 2004. Architectural characterization of tcp/ip packet processing on the pentium m microprocessor. In Proceedings of the 10th International Symposium on High Performance Computer Architecture (HPCA’04). IEEE Computer Society, 152--161. Google ScholarDigital Library
- Menon, A. and Zwaenepoel, W. 2008. Optimizing TCP receive performance. In Proceedings of the Annual USENIX Technical Conference (ATC’08). USENIX Association, 85--98. Google ScholarDigital Library
- Mesnier, M., Ganger, G., and Riedel, E. 2003. Object-based storage. IEEE Comm. Mag. 41, 8, 84--90. Google ScholarDigital Library
- Myrinet. 2014. https://www.myricom.com/products/network-adapters.html.Google Scholar
- Nam, E. H., Kim, B. S. J., Eom, H., and Min, S. L. 2011. Ozone (o3): An out-of-order flash memory controller architecture. IEEE Trans. Comput. 60, 5, 653--666. Google ScholarDigital Library
- Narayanan, D., Thereska, E., Donnelly, A., Elnikety, S., and Rowstron, A. 2009. Migrating server storage to SSDs: Analysis of tradeoffs. In Proceedings of the 4th ACM European Conference on Computer Systems (EuroSys’09). ACM Press, New York, 145--158. Google ScholarDigital Library
- NetApp. 2012. Fas6200 series enterprise storage systems. http://www.netapp.com/us/products/storage-systems/fas6200/.Google Scholar
- Norcott, W. and Capps, D. 1998. Iozone filesystem benchmark. http://www.iozone.org.Google Scholar
- OpenIndiana. 2014. Openindiana build 151a8 (server). http://openindiana.org/.Google Scholar
- Pai, V. S., Druschel, P., and Zwaenepoel, W. 2000. Io-lite: A unified i/o buffering and caching system. ACM Trans. Comput. Syst. 18, 1, 37--66. Google ScholarDigital Library
- PCIE. 2014. Pci express specification. http://www.pcisig.com/specifications/pciexpress/.Google Scholar
- Qureshi, M. K., Srinivasan, V., and Rivers, J. A. 2009. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th International Symposium on Computer Architecture (ISCA’09). 24--33. Google ScholarDigital Library
- Raoux, S., Burr, G. W., Breitwisch, M. J., Rettner, C. T., C. Chen, Y., Shelby, R. M., Salinga, M., Krebs, D., H. Chen, S., L. Lung, H., and Lam, C. H. 2008. Phase-change random access memory: A scalable technology. ACM Trans. Comput. Syst. 9, 4.Google Scholar
- Riska, A., Larkby-Lahet, J., and Riedel, E. 2007. Evaluating block-level optimization through the io path. In Proceedings of the Annual USENIX Technical Conference (ATC’07). USENIX Association, 19:1--19:14. Google ScholarDigital Library
- Ruemmler, C. and Wilkes, J. 1994. An introduction to disk drive modeling. Comput. 27, 17--28. Google ScholarDigital Library
- Salah, K., El-Badawi, K., and Haidari, F. 2007. Performance analysis and comparison of interrupt-handling schemes in gigabit networks. Comput. Comm. 30, 3425--3441. Google ScholarDigital Library
- Salah, K. and Qahtan, A. 2009. Implementation and experimental performance evaluation of a hybrid interrupt-handling scheme. Comput. Comm. 32, 179--188. Google ScholarDigital Library
- Saxena, M., Zhang, Y., Swift, M. M., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2013. Getting real: Lessons in transitioning research simulations into hardware systems. In Proceedings of the 11th Conference on File and Storage Technologies (FAST’13). Google ScholarDigital Library
- Schindler, J., Schlosser, S. W., Shao, M., Ailamaki, A., and Ganger, G. R. 2004. Atropos: A disk array volume manager for orchestrated use of disks. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies (FAST’04). USENIX Association, 159--172. Google ScholarDigital Library
- Seelam, S., Romero, R., Teller, P., and Buros, B. 2005. Enhancements to linux i/o scheduling. In Linux Symposium.Google Scholar
- Seltzer, M., Chen, P., and Ousterhout, J. 1990. Disk scheduling revisited. In Proceedings of the USENIX Winter Technical Conference (USENIXWinter’90). 313--324.Google Scholar
- Seppanen, E., O’Keefe, M. T., and Lilja, D. J. 2010. High performance solid state storage under linux. In Proceedings of the IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST’10). IEEE Computer Society, 1--12. Google ScholarDigital Library
- Shin, D. I., Yu, Y. J., Kim, H. S., Choi, J. W., Jung, D. Y., and Yeom, H. Y. 2013. Dynamic interval polling and pipelined post i/o processing for low-latency storage class memory. In Proceedings of the 5th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’13). USENIX Association, 5--5. Google ScholarDigital Library
- Shin, D. I., Yu, Y. J., Kim, H. S., Eom, H., and Yeom, H. Y. 2011. Request bridging and interleaving: Improving the performance of small synchronous updates under seek-optimizing disk subsystems. ACM Trans. Storage 7, 2, 4:1--4:31. Google ScholarDigital Library
- Shin, D. I., Yu, Y. J., and Yeom, H. Y. 2007. Shedding light in the black-box: Structural modeling of modern disk drives. In Proceedings of the 15th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’07). IEEE Computer Society, 410--417. Google ScholarDigital Library
- Sivathanu, G., Sundararaman, S., and Zadok, E. 2006. Type-safe disks. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06). USENIX Association, 15--28. Google ScholarDigital Library
- Sivathanu, M., Bairavasundaram, L. N., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2004. Life or death at block-level. In Proceedings of the 6th Conference on Symposium on Opearting Systems Design and Implementation (OSDI’04). USENIX Association, 26. Google ScholarDigital Library
- Sivathanu, M., Prabhakaran, V., Popovici, F. I., Denehy, T. E., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2003. Semantically-smart disk systems. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies (FAST’03). USENIX Association, 73--88. Google ScholarDigital Library
- Sundararaman, S., Sivathanu, G., and Zadok, E. 2008. Selective versioning in a secure disk system. In Proceedings of the 17th Conference on Security Symposium (SS’08). USENIX Association, 259--274. Google ScholarDigital Library
- T10. 2009. Object-based storage devices -- 2. http://www.t10.org/drafts.htm#osdfamily.Google Scholar
- Taejin. 2014. Extreme 3804 (the previous generation to hha3804). http://www.taejin.co.kr/taejin/taejineng/pro01_01.asp.Google Scholar
- Traeger, A., Zadok, E., Joukov, N., and Wright, C. P. 2008. A nine year study of file system and storage benchmarking. ACM Trans. Storage 4, 2, 5:1--5:56. Google ScholarDigital Library
- Vasudevan, V., Andersen, D. G., and Kaminsky, M. 2011. The case for VOS: The vector operating system. In Proceedings of the 13th USENIX Conference on Hot Topics in Operating Systems (HotOS’13). USENIX Association, 31--31. Google ScholarDigital Library
- von Eicken, T., Basu, A., Buch, V., and Vogels, W. 1995. U-net: A user-level network interface for parallel and distributed computing. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP’95). ACM Press, New York, 40--53. Google ScholarDigital Library
- von Eicken, T., Culler, D. E., Goldstein, S. C., and Schauser, K. E. 1992. Active messages: A mechanism for integrated communication and computation. In Proceedings of the 19th Annual International Symposium on Computer Architecture (ISCA’92). ACM Press, New York, 256--266. Google ScholarDigital Library
- Wang, R. Y., Anderson, T. E., and Patterson, D. A. 1999. Virtual log based file systems for a programmable disk. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI’99). USENIX Association, 29--43. Google ScholarDigital Library
- Worthington, B. L., Ganger, G. R., and Patt, Y. N. 1994. Scheduling algorithms for modern disk drives. In Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’94). 241--251. Google ScholarDigital Library
- Wu, X. and Reddy, A. L. N. 2011. SCMFS: A file system for storage class memory. In Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis (SC’11). ACM Press, New York, 39:1--39:11. Google ScholarDigital Library
- Yang, J., Minturn, D. B., and Hady, F. 2012. When poll is better than interrupt. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). USENIX Association, 3. Google ScholarDigital Library
- Yoo, B., Won, Y., Choi, J., Yoon, S., Cho, S., and Kang, S. 2011. SSD characterization: From energy consumption’s perspective. In Proceedings of the 3rd USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’11). USENIX Association, 3. Google ScholarDigital Library
- Yu, Y. J. 2012. Optimizing block i/o subsystem for fast storage devices. Ph.D. thesis, Seoul National University.Google Scholar
- Yu, Y. J., Shin, D. I., Eom, H., and Yeom, H. Y. 2010. NCQ vs. i/o scheduler: Preventing unexpected misbehaviors. ACM Trans. Storage 6, 1, 2:1--2:37. Google ScholarDigital Library
- Yu, Y. J., Shin, D. I., Shin, W., Song, N. Y., Eom, H., and Yeom, H. Y. 2012. Exploiting peak device throughput from random access workload. In Proceedings of the 4th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’12). USENIX Association, 7. Google ScholarDigital Library
- Zhang, J., Sivasubramaniam, A., Wang, Q., Riska, A., and Riedel, E. 2006. Storage performance virtualization via throughput and latency control. ACM Trans. Storage 2, 283--308. Google ScholarDigital Library
- Zhang, Y., Arulraj, L. P., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2012. De-indirection for flashbased SSDs with nameless writes. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). USENIX Association, 1. Google ScholarDigital Library
- Zhou, P., Zhao, B., Yang, J., and Zhang, Y. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA’09). ACM Press, New York, 14--23. Google ScholarDigital Library
Index Terms
- Optimizing the Block I/O Subsystem for Fast Storage Devices
Recommendations
Optimizing file systems for fast storage devices
SYSTOR '15: Proceedings of the 8th ACM International Systems and Storage ConferenceEmerging high-performance storage devices have attractive features such as low latency and high throughput. This leads to a rapid increase in the demand for fast storage devices in cloud platforms, social network services, etc. However, there are few ...
Improving writeback performance of memory-based storage devices
ICUIMC '14: Proceedings of the 8th International Conference on Ubiquitous Information Management and CommunicationMany I/O subsystems of general-purpose operating systems are optimized for the hard disk drive. The "writeback" feature is being used to overcome the mechanical limitation of the hard disk. But the current "writeback" mechanism is not optimal for memory-...
A low-latency storage stack for fast storage devices
Modern storage systems are facing an important challenge of making the best use of fast storage devices. Even though the underlying storage devices are being enhanced, the traditional storage stack falls short of utilizing the enhanced characteristics, ...
Comments