The major goal of this proposed research is to design and implement a hardware environment for low-overhead profiling/optimization, named HELP. HELP is a framework consisting of a hardware embedded system board and a set of easy-to-use APIs to allow system architects to develop their own efficient profiling and optimization tools for storage operations. A HELP board can be directly plugged into a server or storage system to speed up storage operations. Unlike most existing profiling and optimization techniques, our approach minimizes profiling overheads and data skews resulting in more accurate analysis of disk I/O behavior. By offloading profiling/optimization functions from the host, HELP makes it possible to do runtime monitoring, collecting, analyzing, and optimizing disk I/O and data storage operations in a production system. A system architect is able to explore more opportunities than ever in designing tools for profiling and optimization, studying behavior of storage accesses, and inventing new storage architectures using HELP.
Successful completion of the proposed research will result in an effective tool that will have great impact on computer architecture research as well as broader IT community. Researchers can benefit greatly from our HELP system in guiding their search for new architectures and new algorithms for data storage. IT industries can also benefit greatly from our tool in making design choices for storage systems and solutions. It will also have significant impact on computer architecture education by facilitating better understanding of detailed system behavior.