HintStor: A Framework to Study I/O Hints in Heterogeneous Storage

HintStor: A Framework to Study I/O Hints in Heterogeneous Storage
复制标题

DOI:
10.1145/3489143
复制
发表时间:
2022-03
期刊:
ACM Transactions on Storage (TOS)
影响因子:
--
通讯作者:
Xiongzi Ge;Zhichao Cao;D. Du;P. Ganesan;Dennis Hahn
Xiongzi Ge;Zhichao Cao;D. Du;P. Ganesan;Dennis Hahn
中科院分区:
其他
文献类型:
--
作者:
Xiongzi Ge;Zhichao Cao;D. Du;P. Ganesan;Dennis Hahn

文献摘要

相似文献

为了弥合应用程序和现代存储系统之间的巨大语义鸿沟,将一条称为I/O访问提示的微小而有用的信息从上层传递到存储层,可能会极大地提高应用程序的性能,并简化存储系统中的数据管理。对于由多种类型的存储设备组成的异类存储系统尤其如此。由于接收外部访问提示可能涉及对传统I/O堆栈的繁琐修改,因此很难评估其效果并利用访问提示。在本文中,我们设计了一个称为HintStor的通用且灵活的框架,以快速处理一组I/O访问提示并评估它们对异类存储系统的影响。HintStor提供了一个新的应用程序/用户级界面、一个文件系统插件,并使用通用块存储数据管理器执行数据管理。通过评估四种类型的访问提示:文件系统数据分类、流ID、云预取和Linux平台上的I/O任务调度,我们展示了HintStor的灵活性。结果表明,HintStor可以在不同的场景下执行和评估各种I/O访问提示,只需对内核和应用程序进行少量修改。
To bridge the giant semantic gap between applications and modern storage systems, passing a piece of tiny and useful information, called I/O access hints, from upper layers to the storage layer may greatly improve application performance and ease data management in storage systems. This is especially true for heterogeneous storage systems that consist of multiple types of storage devices. Since ingesting external access hints will likely involve laborious modifications of legacy I/O stacks, it is very hard to evaluate the effect and take advantages of access hints. In this article, we design a generic and flexible framework, called HintStor, to quickly play with a set of I/O access hints and evaluate their impacts on heterogeneous storage systems. HintStor provides a new application/user-level interface, a file system plugin, and performs data management with a generic block storage data manager. We demonstrate the flexibility of HintStor by evaluating four types of access hints: file system data classification, stream ID, cloud prefetch, and I/O task scheduling on a Linux platform. The results show that HintStor can execute and evaluate various I/O access hints under different scenarios with minor modifications to the kernel and applications.