skip to main content
research-article

Improving Storage Systems Using Machine Learning

Published:19 January 2023Publication History
Skip Abstract Section

Abstract

Operating systems include many heuristic algorithms designed to improve overall storage performance and throughput. Because such heuristics cannot work well for all conditions and workloads, system designers resorted to exposing numerous tunable parameters to users—thus burdening users with continually optimizing their own storage systems and applications. Storage systems are usually responsible for most latency in I/O-heavy applications, so even a small latency improvement can be significant. Machine learning (ML) techniques promise to learn patterns, generalize from them, and enable optimal solutions that adapt to changing workloads. We propose that ML solutions become a first-class component in OSs and replace manual heuristics to optimize storage systems dynamically. In this article, we describe our proposed ML architecture, called KML. We developed a prototype KML architecture and applied it to two case studies: optimizing readahead and NFS read-size values. Our experiments show that KML consumes less than 4 KB of dynamic kernel memory, has a CPU overhead smaller than 0.2%, and yet can learn patterns and improve I/O throughput by as much as 2.3× and 15× for two case studies—even for complex, never-seen-before, concurrently running mixed workloads on different storage devices.

REFERENCES

  1. [1] Abadi Martín, Barham Paul, Chen Jianmin, Chen Zhifeng, Davis Andy, Dean Jeffrey, Devin Matthieu, Ghemawat Sanjay, Irving Geoffrey, Isard Michael, Kudlur Manjunath, Levenberg Josh, Monga Rajat, Moore Sherry, Murray Derek Gordon, Steiner Benoit, Tucker Paul A., Vasudevan Vijay, Warden Pete, Wicke Martin, Yu Yuan, and Zheng Xiaoqiang. 2016. TensorFlow: A system for large-scale machine learning. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2016). 265283.Google ScholarGoogle Scholar
  2. [2] Abd-El-Malek Michael, II William V. Courtright, Cranor Chuck, Ganger Gregory R., Hendricks James, Klosterman Andrew J., Mesnier Michael P., Prasad Manish, Salmon Brandon, Sambasivan Raja R., Sinnamohideen Shafeeq, Strunk John D., Thereska Eno, Wachs Matthew, and Wylie Jay J.. 2005. Ursa minor: Versatile cluster-based storage. In Proceedings of the FAST ’05 Conference on File and Storage Technologies, 2005. USENIX.Google ScholarGoogle Scholar
  3. [3] Agarwal Rishabh, Frosst Nicholas, Zhang Xuezhou, Caruana Rich, and Hinton Geoffrey E.. 2020. Neural additive models: Interpretable machine learning with neural nets. arXiv:2004.13912. arxiv.org.Google ScholarGoogle Scholar
  4. [4] Akgun Ibrahim ‘Umit’, Aydin Ali Selman, Shaikh Aadil, Velikov Lukas, and Zadok Erez. 2021. A machine learning framework to improve storage system performance. In Proceedings of the 13th ACM Workshop on Hot Topics in Storage (HotStorage’21). ACM, Virtual. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Akgun Ibrahim Umit, Kuenning Geoff, and Zadok Erez. 2020. Re-animator: Versatile high-fidelity storage-system tracing and replaying. In Proceedings of the 13th ACM International Systems and Storage Conference (SYSTOR’20). ACM .Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Maruf Hasan Al and Chowdhury Mosharaf. 2020. Effectively prefetching remote memory with leap. In 2020 USENIX Annual Technical Conference (USENIX ATC’20). 843857.Google ScholarGoogle Scholar
  7. [7] Amer Ahmed, Long Darrell D. E., Pâris J.-F., and Burns Randal C.. 2002. File access prediction with adjustable accuracy. In Conference Proceedings of the IEEE International Performance, Computing, and Communications Conference (Cat. No. 02CH37326). IEEE, 131140.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Amvrosiadis George, Butt Ali R., Tarasov Vasily, Zadok Erez, Zhao Ming, Ahmad Irfan, Arpaci-Dusseau Remzi H., Chen Feng, Chen Yiran, Chen Yong, Cheng Yue, Chidambaram Vijay, Silva Dilma Da, Demke-Brown Angela, Desnoyers Peter, Flinn Jason, He Xubin, Jiang Song, Kuenning Geoff, Li Min, Maltzahn Carlos, Miller Ethan L., Mohror Kathryn, Rangaswami Raju, Reddy Narasimha, Rosenthal David, Tosun Ali Saman, Talagala Nisha, Varman Peter, Vazhkudai Sudharshan, Waldani Avani, Zhang Xiaodong, Zhang Yiying, and Zheng Mai. 2019. Data Storage Research Vision 2025: Report on NSF Visioning Workshop Held May 30–June 1, 2018. Technical Report. National Science Foundation. https://dl.acm.org/citation.cfm?id=3316807.Google ScholarGoogle Scholar
  9. [9] Atikoglu Berk, Xu Yuehai, Frachtenberg Eitan, Jiang Song, and Paleczny Mike. 2012. Workload analysis of a large-scale key-value store. In Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE Joint International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’12). ACM, New York, NY, 5364. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] Bengio Yoshua. 2012. Practical recommendations for gradient-based training of deep architectures. In Neural Networks: Tricks of the Trade. Springer, 437478.Google ScholarGoogle Scholar
  11. [11] Breiman Leo. 2001. Random forests. Machine Learning 45, 1 (2001), 532.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Cao Zhichao, Dong Siying, Vemuri Sagar, and Du David H. C.. 2020. Characterizing, modeling, and benchmarking RocksDB key-value workloads at Facebook. In 18th USENIX Conference on File and Storage Technologies (FAST’20). 209223.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Cao Zhen, Kuenning Geoff, and Zadok Erez. 2020. Carver: Finding important parameters for storage system tuning. In Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST’20). USENIX Association.Google ScholarGoogle Scholar
  14. [14] Cao Zhen, Tarasov Vasily, Raman Hari, Hildebrand Dean, and Zadok Erez. 2017. On the performance variation in modern storage stacks. In Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST’17). USENIX Association, 329343.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Cao Zhen, Tarasov Vasily, Tiwari Sachin, and Zadok Erez. 2018. Towards better understanding of black-box auto-tuning: A comparative analysis for storage systems. In Proceedings of the Annual USENIX Technical Conference. USENIX Association. Dataset at http://download.filesystems.org/auto-tune/ATC-2018-auto-tune-data.sql.gz.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Cao Zhen, Tarasov Vasily, Tiwari Sachin, and Zadok Erez. 2018. Towards better understanding of black-box auto-tuning: A comparative analysis for storage systems. In USENIX Annual Technical Conference (ATC’18). 893907.Google ScholarGoogle Scholar
  17. [17] Chakraborttii Chandranil and Litz Heiner. 2020. Learning I/O access patterns to improve prefetching in SSDs. ICML-PKDD (2020).Google ScholarGoogle Scholar
  18. [18] Chen Hui, Zhou Enqiang, Liu Jie, and Zhang Zhicheng. 2019. An RNN based mechanism for file prefetching. In 2019 18th International Symposium on Distributed Computing and Applications for Business Engineering and Science (DCABES’19). IEEE, 1316.Google ScholarGoogle Scholar
  19. [19] Chen Jingde, Banerjee Subho S., Kalbarczyk Zbigniew T., and Iyer Ravishankar K.. 2020. Machine learning for load balancing in the Linux kernel. In Proceedings of the 11th ACM SIGOPS Asia-Pacific Workshop on Systems (APSys’20). Association for Computing Machinery. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Cherubini Giovanni, Kim Yusik, Lantz Mark, and Venkatesan Vinodh. 2017. Data prefetching for large tiered storage systems. In 2017 IEEE International Conference on Data Mining (ICDM’17). 823828. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Choi Jungwook, Venkataramani Swagath, Srinivasan Vijayalakshmi, Gopalakrishnan Kailash, Wang Zhuo, and Chuang Pierce. 2019. Accurate and efficient 2-bit quantized neural networks. In Proceedings of the 2nd SysML Conference.Google ScholarGoogle Scholar
  22. [22] CNTK 2020. CNTK. (Sept.2020). https://github.com/microsoft/CNTK.Google ScholarGoogle Scholar
  23. [23] Cortez Eli, Bonde Anand, Muzio Alexandre, Russinovich Mark, Fontoura Marcus, and Bianchini Ricardo. 2017. Resource central: Understanding and predicting workloads for improved resource management in large cloud platforms. In Proceedings of the 26th Symposium on Operating Systems Principles. 153167.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Dai Yifan, Xu Yien, Ganesan Aishwarya, Alagappan Ramnatthan, Kroth Brian, Arpaci-Dusseau Andrea, and Arpaci-Dusseau Remzi. 2020. From WiscKey to Bourbon: A learned index for log-structured merge trees. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI’20). USENIX Association. https://www.usenix.org/conference/osdi20/presentation/dai.Google ScholarGoogle Scholar
  25. [25] Sa Christopher De, Leszczynski Megan, Zhang Jian, Marzoev Alana, Aberger Christopher R., Olukotun Kunle, and Ré Christopher. 2018. High-accuracy low-precision training. arXiv:1803.03383. arxiv.org.Google ScholarGoogle Scholar
  26. [26] Delimitrou Christina and Kozyrakis Christos. 2013. Paragon: QoS-aware scheduling for heterogeneous datacenters. ACM SIGPLAN Notices 48, 4 (2013), 7788.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Delimitrou Christina and Kozyrakis Christos. 2014. Quasar: Resource-efficient and QoS-aware cluster management. ACM SIGPLAN Notices 49, 4 (2014), 127144.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] Desnoyers Mathieu. 2016. Using the Linux Kernel Tracepoints. (2016). https://www.kernel.org/doc/Documentation/trace/tracepoints.txt.Google ScholarGoogle Scholar
  29. [29] Ding Xiaoning, Jiang Song, Chen Feng, Davis Kei, and Zhang Xiaodong. 2007. DiskSeen: Exploiting disk layout and access history to enhance I/O prefetch. In USENIX Annual Technical Conference. 261274.Google ScholarGoogle Scholar
  30. [30] Dlib 2020. dlib C++ Library. (Sept.2020). http://dlib.net/.Google ScholarGoogle Scholar
  31. [31] Dong Bo, Zhong Xiao, Zheng Qinghua, Jian Lirong, Liu Jian, Qiu Jie, and Li Ying. 2010. Correlation based file prefetching approach for hadoop. In 2010 IEEE 2nd International Conference on Cloud Computing Technology and Science. IEEE, 4148.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Dong Mo, Meng Tong, Zarchy Doron, Arslan Engin, Gilad Yossi, Godfrey Brighten, and Schapira Michael. 2018. PCC Vivace: Online-learning congestion control. In 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI’18). 343356.Google ScholarGoogle Scholar
  33. [33] ELL 2020. Embedded Learning Library (ELL). (Jan.2020). https://microsoft.github.io/ELL/.Google ScholarGoogle Scholar
  34. [34] Facebook. 2019. RocksDB. (Sept.2019). https://rocksdb.org/.Google ScholarGoogle Scholar
  35. [35] Fox Cory, Lojpur Dragan, and Wang An-I Andy. 2008. Quantifying temporal and spatial localities in storage workloads and transformations by data path components. In 2008 IEEE International Symposium on Modeling, Analysis and Simulation of Computers and Telecommunication Systems. IEEE, 110.Google ScholarGoogle Scholar
  36. [36] Ganfure Gaddisa Olani, Wu Chun-Feng, Chang Yuan-Hao, and Shih Wei-Kuan. 2020. DeepPrefetcher: A deep learning framework for data prefetching in flash storage devices. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 39, 11 (2020), 33113322.Google ScholarGoogle ScholarCross RefCross Ref
  37. [37] Gupta Suyog, Agrawal Ankur, Gopalakrishnan Kailash, and Narayanan Pritish. 2015. Deep learning with limited numerical precision. In Proceedings of the 32nd International Conference on Machine Learning (ICML’15). 17371746.Google ScholarGoogle Scholar
  38. [38] Hall Lawrence O., Liu Xiaomei, Bowyer Kevin W., and Banfield Robert. 2003. Why are neural networks sometimes much more accurate than decision trees: An analysis on a bio-informatics problem. In SMC’03 Conference Proceedings. 2003 IEEE International Conference on Systems, Man and Cybernetics. Conference Theme-System Security and Assurance (Cat. No. 03CH37483), Vol. 3. IEEE, 28512856.Google ScholarGoogle ScholarCross RefCross Ref
  39. [39] Hao Mingzhe, Li Huaicheng, Tong Michael Hao, Pakha Chrisma, Suminto Riza O., Stuardo Cesar A., Chien Andrew A., and Gunawi Haryadi S.. 2017. MittOS: Supporting millisecond tail tolerance with fast rejecting SLO-aware OS interface. In Proceedings of the 26th Symposium on Operating Systems Principles. 168183.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Hao Mingzhe, Toksoz Levent, Li Nanqinqin, Edberg Edward, Hoffmann Henry, and Gunawi Haryadi S.. 2020. LinnOS: Predictability on unpredictable flash storage. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI’20). USENIX Association. https://www.usenix.org/conference/osdi20/presentation/hao.Google ScholarGoogle Scholar
  41. [41] Hochreiter Sepp and Schmidhuber Jürgen. 1997. Long short-term memory. Neural Computation 9, 8 (1997), 17351780.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Hu Haiyan, Liu Yi, and Qian Depei. 2010. I/o feature-based file prefetching for multi-applications. In 2010 9th International Conference on Grid and Cloud Computing. IEEE, 213217.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. [43] Hubara Itay, Courbariaux Matthieu, Soudry Daniel, El-Yaniv Ran, and Bengio Yoshua. 2017. Quantized neural networks: Training neural networks with low precision weights and activations. The Journal of Machine Learning Research 18, 1 (2017), 68696898.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. [44] Jeyakumar Jeya Vikranth, Noor Joseph, Cheng Yu-Hsi, Garcia Luis, and Srivastava Mani. 2020. How can I explain this to you? An empirical study of deep neural network explanation methods. In Proceedings of the 34th International Conference on Neural Information Processing Systems (NIPS’20), Curran Associates Inc., Red Hook, NY, 12.Google ScholarGoogle Scholar
  45. [45] Juszczak Chet. 1994. Improving the write performance of an NFS server. In Proceedings of the USENIX Winter 1994 Technical Conference (WTEC’94). USENIX Association, San Francisco, CA, 1. http://dl.acm.org/citation.cfm?id=1267074.1267094.Google ScholarGoogle Scholar
  46. [46] Kaelbling Leslie Pack, Littman Michael L., and Moore Andrew W.. 1996. Reinforcement learning: A survey. Journal of Artificial Intelligence Research (1996), 237285.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Kiefer Jack and Wolfowitz Jacob. 1952. Stochastic estimation of the maximum of a regression function. The Annals of Mathematical Statistics 23, 3 (1952), 462466.Google ScholarGoogle ScholarCross RefCross Ref
  48. [48] Kim Doowon, Kwon Bum Jun, Kozák Kristián, Gates Christopher, and Dumitras Tudor. 2018. The broken shield: Measuring revocation effectiveness in the windows code-signing PKI. In 27th USENIX Security Symposium (USENIX Security’18). 851868.Google ScholarGoogle Scholar
  49. [49] Kraska Tim, Alizadeh Mohammad, Beutel Alex, Chi Ed H., Kristo Ani, Leclerc Guillaume, Madden Samuel, Mao Hongzi, and Nathan Vikram. 2019. SageDB: A learned database system. In 9th Biennial Conference on Innovative Data Systems Research (CIDR’19).Google ScholarGoogle Scholar
  50. [50] Kraska Tim, Beutel Alex, Chi Ed H., Dean Jeffrey, and Polyzotis Neoklis. 2018. The case for learned index structures. In Proceedings of the 2018 International Conference on Management of Data. ACM, 489504.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. [51] Kroeger Thomas M. and Long Darrell D. E.. 2001. Design and implementation of a predictive file prefetching algorithm. In USENIX Annual Technical Conference. 105118.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Laga Arezki, Boukhobza Jalil, Koskas M., and Singhoff Frank. 2016. Lynx: A learning Linux prefetching mechanism for SSD performance model. In 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA’16). 16.Google ScholarGoogle Scholar
  53. [53] Lai Liangzhen, Suda Naveen, and Chandra Vikas. 2017. Deep convolutional neural network inference with floating-point weights and fixed-point activations. (2017). arXiv:1703.03073. arxiv.org.Google ScholarGoogle Scholar
  54. [54] Lee Sangmin, Hyun Soon J., Kim Hong-Yeon, and Kim Young-Kyun. 2018. APS: Adaptable prefetching scheme to different running environments for concurrent read streams in distributed file systems. The Journal of Supercomputing 74, 6 (2018), 28702902.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Li Daixuan and Huang Jian. 2021. A learning-based approach towards automated tuning of SSD configurations. arXiv:2110.08685. arxiv.org.Google ScholarGoogle Scholar
  56. [56] Li Z., Mukker A., and Zadok E.. 2014. On the importance of evaluating storage systems’ $Costs. In Proceedings of the 6th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage’14).Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. [57] Liang Shuang, Jiang Song, and Zhang Xiaodong. 2007. STEP: Sequentiality and thrashing detection based prefetching to improve performance of networked storage servers. In 27th International Conference on Distributed Computing Systems (ICDCS’07). IEEE, 6464.Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. [58] Liao Jianwei, Trahay Francois, Xiao Guoqiang, Li Li, and Ishikawa Yutaka. 2015. Performing initiative data prefetching in distributed file systems for cloud computing. IEEE Transactions on Cloud Computing 5, 3 (2015), 550562.Google ScholarGoogle ScholarCross RefCross Ref
  59. [59] Liaw Richard, Liang Eric, Nishihara Robert, Moritz Philipp, Gonzalez Joseph E., and Stoica Ion. 2018. Tune: A research platform for distributed model selection and training. arXiv:1807.05118. arxiv.org.Google ScholarGoogle Scholar
  60. [60] Lin Darryl D., Talathi Sachin S., and Annapureddy V. Sreekanth. 2016. Fixed point quantization of deep convolutional networks. In International Conference on Machine Learning. 28492858.Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. [61] Lin Ji, Zhu Ligeng, Chen Wei-Ming, Wang Wei-Chen, Gan Chuang, and Han Song. 2022. On-device training under 256 KB memory. arXiv:2206.15472. arxiv.org.Google ScholarGoogle Scholar
  62. [62] Linux. 2021. Linux Kernel Module Signing Facility. (Jan.2021). https://www.kernel.org/doc/html/v4.19/admin-guide/module-signing.html?highlight=signing.Google ScholarGoogle Scholar
  63. [63] LTTng. 2019. LTTng: An Open Source Tracing framework for Linux. (April2019). https://lttng.org.Google ScholarGoogle Scholar
  64. [64] Maas Martin, Andersen David G., Isard Michael, Javanmard Mohammad Mahdi, McKinley Kathryn S., and Raffel Colin. 2020. Learning-based memory allocation for C++ server workloads. In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’20). 541556.Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. [65] Manning Paul. 2009. Best Practices for running VMware vSphere on Network Attached Storage. (2009). https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/vmware-nfs-bestpractices-white-paper-en.pdf.Google ScholarGoogle Scholar
  66. [66] Nair Vinod and Hinton Geoffrey E.. 2010. Rectified linear units improve restricted Boltzmann machines. In Proceedings of the 27th International Conference on Machine Learning (ICML’10). 807814.Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. [67] Nalajala Anusha, Ragunathan T., Rajendra Sri Harsha Tavidisetty, Nikhith Nagamlla Venkata Sai, and Gopisetty Rathnamma. 2019. Improving performance of distributed file system through frequent block access pattern-based prefetching algorithm. In 2019 10th International Conference on Computing, Communication and Networking Technologies (ICCCNT’19). IEEE, 17.Google ScholarGoogle ScholarCross RefCross Ref
  68. [68] Negi Atul and Kumar P. Kishore. 2005. Applying machine learning techniques to improve Linux process scheduling. In TENCON 2005-2005 IEEE Region 10 Conference. IEEE, 16.Google ScholarGoogle ScholarCross RefCross Ref
  69. [69] Corporation Oracle. 2020. MySQL. (May2020). http://www.mysql.com.Google ScholarGoogle Scholar
  70. [70] Paszke Adam, Gross Sam, Massa Francisco, Lerer Adam, Bradbury James, Chanan Gregory, Killeen Trevor, Lin Zeming, Gimelshein Natalia, Antiga Luca, Desmaison Alban, Köpf Andreas, Yang Edward, DeVito Zachary, Raison Martin, Tejani Alykhan, Chilamkurthy Sasank, Steiner Benoit, Fang Lu, Bai Junjie, and Chintala Soumith. 2019. PyTorch: An imperative style, high-performance deep learning library. In Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems (NeurIPS’19). 80248035.Google ScholarGoogle Scholar
  71. [71] Pearson Karl. 1895. Note on regression and inheritance in the case of two parents. Proceedings of the Royal Society of London 58, 347-352 (1895), 240242.Google ScholarGoogle ScholarCross RefCross Ref
  72. [72] Pearson Karl. 1901. LIII. On lines and planes of closest fit to systems of points in space. The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science 2, 11 (1901), 559572.Google ScholarGoogle ScholarCross RefCross Ref
  73. [73] Qiu Yiming, Liu Hongyi, Anderson Thomas, Lin Yingyan, and Chen Ang. 2021. Toward reconfigurable kernel datapaths with learned optimizations. In Proceedings of the Workshop on Hot Topics in Operating Systems. 175182.Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. [74] Ras Gabriëlle, Gerven Marcel van, and Haselager Pim. 2018. Explanation methods in deep learning: Users, values, concerns and challenges. In Explainable and Interpretable Models in Computer Vision and Machine Learning. Springer, 1936.Google ScholarGoogle ScholarCross RefCross Ref
  75. [75] Ravichandran Natarajan and Pâris Jehan-François. 2005. Making Early Predictions of File Accesses. Ph.D. Dissertation. University of Houston.Google ScholarGoogle Scholar
  76. [76] Robbins Herbert and Monro Sutton. 1951. A stochastic approximation method. The Annals of Mathematical Statistics (1951), 400407.Google ScholarGoogle ScholarCross RefCross Ref
  77. [77] Ruemmler Chris and Wilkes John. 1994. An introduction to disk drive modeling. Computer 27, 3 (1994), 1728.Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. [78] Rumelhart David E., Hinton Geoffrey E., and Williams Ronald J.. 1986. Learning representations by back-propagating errors. Nature 323, 6088 (1986), 533536.Google ScholarGoogle ScholarCross RefCross Ref
  79. [79] Sa Christopher De, Feldman Matthew, Ré Christopher, and Olukotun Kunle. 2017. Understanding and optimizing asynchronous low-precision stochastic gradient descent. In Proceedings of the 44th Annual International Symposium on Computer Architecture (ISCA’17). 561574.Google ScholarGoogle Scholar
  80. [80] Samek Wojciech, Montavon Grégoire, Lapuschkin Sebastian, Anders Christopher J., and Müller Klaus-Robert. 2021. Toward interpretable machine learning: Transparent deep neural networks and beyond. ArXiv abs/2003.07631 (2021). arxiv.org.Google ScholarGoogle Scholar
  81. [81] Schindler Jiri, Shete Sandip, and Smith Keith A.. 2011. Improving throughput for small disk requests with proximal \(\lbrace\)I/O\(\rbrace\). In 9th USENIX Conference on File and Storage Technologies (FAST’11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. [82] Sehgal Priya, Tarasov Vasily, and Zadok Erez. 2010. Evaluating performance and energy in file system server workloads. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’10). 253266.Google ScholarGoogle Scholar
  83. [83] Shriver Elizabeth, Merchant Arif, and Wilkes John. 1998. An analytic behavior model for disk drives with readahead caches and request reordering. In SIGMETRICS.Google ScholarGoogle Scholar
  84. [84] Shriver Elizabeth A. M., Small Christopher, and Smith Keith A.. 1999. Why does file system prefetching work?. In USENIX Annual Technical Conference, General Track. 7184.Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. [85] Siracusano Giuseppe, Galea Salvator, Sanvito Davide, Malekzadeh Mohammad, Haddadi Hamed, Antichi Gianni, and Bifulco Roberto. 2020. Running neural networks on the NIC. arXiv:2009.02353. arxiv.org.Google ScholarGoogle Scholar
  86. [86] Sironi Filippo, Bartolini Davide B., Campanoni Simone, Cancare Fabio, Hoffmann Henry, Sciuto Donatella, and Santambrogio Marco D.. 2012. Metronome: Operating system level performance management via self-adaptive computing. In Proceedings of the 49th Annual Design Automation Conference. 856865.Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. [87] SOD 2020. SOD—An Embedded, Modern Computer Vision and Machine Learning Library. (Sept.2020). https://sod.pixlab.io/.Google ScholarGoogle Scholar
  88. [88] Somashekar Gagan and Gandhi Anshul. 2021. Towards optimal configuration of microservices. In Proceedings of the 1st Workshop on Machine Learning and Systems. 714.Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. [89] Somasundaram Kalyanasundaram. 2020. The Impact of Slow NFS on Data Systems. (June2020). https://engineering.linkedin.com/blog/2020/the-impact-of-slow-nfs-on-data-systems.Google ScholarGoogle Scholar
  90. [90] Subedi Pradeep, Davis Philip, Duan Shaohua, Klasky Scott, Kolla Hemanth, and Parashar Manish. 2018. Stacker: An autonomic data movement engine for extreme-scale data staging-based in-situ workflows. In SC18: International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE, 920930.Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. [91] Tarasov Vasily, Bhanage Saumitra, Zadok Erez, and Seltzer Margo. 2011. Benchmarking file system benchmarking: It *IS* rocket science. In Proceedings of HotOS XIII: The 13th USENIX Workshop on Hot Topics in Operating Systems.Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. [92] TensorFlow Lite 2020. TensorFlow Lite. (Jan.2020). https://www.tensorflow.org/lite.Google ScholarGoogle Scholar
  93. [93] Tran Nancy and Reed Daniel A.. 2004. Automatic ARIMA time series modeling for adaptive I/O prefetching. IEEE Transactions on Parallel and Distributed Systems 15, 4 (2004), 362377.Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. [94] Council Transaction Processing Performance. 1999. TPC Benchmark H (Decision Support). (1999). www.tpc.org/tpch.Google ScholarGoogle Scholar
  95. [95] Uppal Ahsen J., Chiang Ron C., and Huang H. Howie. 2012. Flashy prefetch’12 ng for high-performance flash drives. In 2012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST). IEEE, 112.Google ScholarGoogle Scholar
  96. [96] Maaten Laurens van der and Hinton Geoffrey. 2008. Visualizing data using t-SNE. Journal of Machine Learning Research 9, 86 (2008), 25792605. http://jmlr.org/papers/v9/vandermaaten08a.html.Google ScholarGoogle Scholar
  97. [97] Vietri Giuseppe, Rodriguez Liana V., Martinez Wendy A., Lyons Steven, Liu Jason, Rangaswami Raju, Zhao Ming, and Narasimhan Giri. 2018. Driving cache replacement with ML-based LeCaR. In Proceedings of the 10th USENIX Workshop on Hot Topics in Storage (HotStorage’18). USENIX.Google ScholarGoogle Scholar
  98. [98] Whittle Gary A. S., Pâris J.-F., Amer Ahmed, Long Darrell D. E., and Burns Randal. 2003. Using multiple predictors to improve the accuracy of file access predictions. In Proceedings of the 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies (MSST’03). IEEE, 230240.Google ScholarGoogle ScholarCross RefCross Ref
  99. [99] Wikipedia. 2022. Recurrent neural network. https://en.wikipedia.org/wiki/Recurrent_neural_network.Google ScholarGoogle Scholar
  100. [100] Won Jiwoong, Kwon Oseok, Ryu Junhee, Lee Dongeun, and Kang Kyungtae. 2018. iFetcher: User-level prefetching framework with file-system event monitoring for Linux. IEEE Access 6 (2018), 4621346226.Google ScholarGoogle ScholarCross RefCross Ref
  101. [101] Wu Fengguang, Xi Hongsheng, and Xu Chenfeng. 2008. On the design of a new Linux readahead framework. Operating Systems Review 42 (2008), 7584.Google ScholarGoogle ScholarDigital LibraryDigital Library
  102. [102] Xu Chenfeng, Xi Hongsheng, and Wu Fengguang. 2011. Evaluation and optimization of kernel file readaheads based on Markov decision models. Computer Journal 54, 11 (2011), 17411755.Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. [103] Xu Xiaofei, Cai Zhigang, Liao Jianwei, and Ishiakwa Yutaka. 2020. Frequent access pattern-based prefetching inside of solid-state drives. In 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE’20). IEEE, 720725.Google ScholarGoogle ScholarCross RefCross Ref
  104. [104] Yadgar Gala, Gabel MOSHE, Jaffer Shehbaz, and Schroeder Bianca. 2021. SSD-based workload characteristics and their performance implications. ACM Transactions on Storage (TOS) 17, 1 (2021), 126.Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. [105] Yang Chuan-Kai, Mitra Tulika, and Chiueh Tzi-cker. 2002. A decoupled architecture for application-specific file prefetching. In Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference, Demetriou Chris G. (Ed.). USENIX, 157170.Google ScholarGoogle ScholarDigital LibraryDigital Library
  106. [106] Zheng Shengan, Mei Hong, Huang Linpeng, Shen Yanyan, and Zhu Yanmin. 2017. Adaptive prefetching for accelerating read and write in NVM-based file systems. In 2017 IEEE International Conference on Computer Design (ICCD’17). IEEE, 4956.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Improving Storage Systems Using Machine Learning

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Storage
        ACM Transactions on Storage  Volume 19, Issue 1
        February 2023
        259 pages
        ISSN:1553-3077
        EISSN:1553-3093
        DOI:10.1145/3578369
        Issue’s Table of Contents

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 19 January 2023
        • Online AM: 21 November 2022
        • Accepted: 13 September 2022
        • Revised: 1 June 2022
        • Received: 1 June 2022
        Published in tos Volume 19, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Refereed
      • Article Metrics

        • Downloads (Last 12 months)564
        • Downloads (Last 6 weeks)83

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!