Mochi: Composing Data Services for High-Performance Computing Environments - Ross, Robert B.; Amvrosiadis, George; Carns, Philip; Cranor, Charles D.; Dorier, Matthieu; Harms, Kevin; Ganger, Greg; Gibson, Garth; Gutierrez, Samuel K.; Latham, Robert; Robey, Bob; Robinson, Dana; et al. (Journal of computer science and technology, 2020)
Technology enhancements and the growing breadth of application workflows running on high-performance computing (HPC) platforms drive the development of new data services that provide high performance on these new platforms, provide capable and productive interfaces and abstractions for a variety of applications, and are readily adapted when new technologies are deployed. The Mochi framework enables composition of specialized distributed data services from a collection of connectable modules and subservices. Rather than forcing all applications to use a one-size-fits-all data staging and I/O software configuration, Mochi allows each application to use a data service specialized to its needs and access patterns. This paper introduces the Mochi framework and methodology. The Mochi core components and microservices are described. Examples of the application of the Mochi methodology to the development of four specialized services are detailed. Finally, a performance evaluation of a Mochi core component, a Mochi microservice, and a composed service providing an object model is performed. The paper concludes by positioning Mochi relative to related work in the HPC space and indicating directions for future work.