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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
- Dees, B. 2005. Native command queuing - Advanced performance in desktop storage. IEEE Potent. 24, 4, 4--7.Google Scholar
Cross 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
- Geist, R. and Daniel, S. 1987. A continuum of disk scheduling algorithms. ACM Trans. Comput. Syst. 5, 1, 77--92. Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
- Mesnier, M., Ganger, G., and Riedel, E. 2003. Object-based storage. IEEE Comm. Mag. 41, 8, 84--90. Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
- Ruemmler, C. and Wilkes, J. 1994. An introduction to disk drive modeling. Comput. 27, 17--28. Google Scholar
Digital 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 Scholar
Digital Library
- Salah, K. and Qahtan, A. 2009. Implementation and experimental performance evaluation of a hybrid interrupt-handling scheme. Comput. Comm. 32, 179--188. Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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-...
Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage Devices
ASPLOS 2023: Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2As data generation has been on an upward trend, storing vast volumes of data cost-effectively as well as efficiently accessing them is paramount. At the same time, today's storage landscape continues to diversify, from high-bandwidth storage devices ...






Comments