The modern DOE scientific computing portfolio consists of a rich ecosystem of simulation, data analytics, and learning applications, with many distinct data management and analysis needs. The objective of the Mochi project is to design methodologies and tools that allow for the rapid development of distributed data services in support of DOE science. An important aspect of Mochi is composition: common capabilities such as communication, data storage, concurrency management, and group membership are provided under Mochi along with building blocks such as BLOB and key-value stores. These building blocks are mixed together to provide specialized service implementations catering to specific platforms and science needs. Current Mochi research directions include unifying management of disparate data classes from scientific campaigns and applying learning and artificial intelligence to improve the adaptability of data services on heterogeneous DOE platforms.
The Mochi project is a collaboration between Argonne National Laboratory, Los Alamos National Laboratory, Carnegie Mellon University, and the HDF Group. However, Mochi is also bigger than just these partners: Mochi is an open ecosystem enabling the development of a variety of services both within the DOE and internationally.
Quarterly meeting and newsletter, July 2023

Please join us for the next Mochi quarterly meeting on Thursday, July 27, 2023, at 10am CT. Mochi quarterly meetings are a great opportunity to learn about community activities, share best practices, get help with problems, and find out what’s new in Mochi.
Please suggest agenda items on the Mochi slack space or the [email protected] mailing list.
Microsoft Teams meeting
Join on your computer or mobile app
Click here to join the meeting
Or call in (audio only)
+1 630-556-7958,,254649841#
Mochi updates and agenda items
- Recent presentations
- The Mochi team presented two seminars in June 2023 as part of the Mathematics and Computer Science Division’s CS seminar series. These seminars provide an overview of the state of Mochi and how it can be used in 2023. The first covers high-level motivation, concepts, and key technologies, while the second describes the Mochi methodology for composable data services and highlights success stories in domain-specific data services (HEPnOS) and elastic in situ visualization (Colza).
- Philip Carns. “Mochi Project Overview: the Democratization of Data Services in HPC”, CS seminar series, Argonne National Laboratory Mathematics and Computer Science division, June 13, 2023. ABSTRACT PDF VIDEO
- Matthieu Dorier. “Mochi in Practice: Data Services for High-Energy Physics and Elastic In Situ Visualization Workflows”, CS seminar series, Argonne National Laboratory Mathematics and Computer Science division, June 20, 2023. ABSTRACT PDF VIDEO
- The Mochi team presented two seminars in June 2023 as part of the Mathematics and Computer Science Division’s CS seminar series. These seminars provide an overview of the state of Mochi and how it can be used in 2023. The first covers high-level motivation, concepts, and key technologies, while the second describes the Mochi methodology for composable data services and highlights success stories in domain-specific data services (HEPnOS) and elastic in situ visualization (Colza).
- Recent tutorials
- Matthieu Dorier, Philip Carns, and Marc-André Vef presented the following tutorial on May 21 at ISC High Performance 2023:
- Tutorial: Developing Custom HPC Data Services Using Mochi
- slides and exercises are available online
- The tutorial includes extensive hands-on exercises that can be done in either C or C++. They begin with simple RPC examples to illustrate concepts and then build up to using templates for complete microservices using Bedrock.
- The tutorial materials also include a docker image to make it easier to get started with a development environment.
- Matthieu Dorier, Philip Carns, and Marc-André Vef presented the following tutorial on May 21 at ISC High Performance 2023:
- New features
- Yokan now enjoys 4 new families of functions: yk_fetch , yk_doc_fetch, yk_iter and yk_doc_iter (each with variants to access multiple key/value pairs or documents at once). These functions are equivalent to yk_get, yk_doc_load, yk_list_keyvals and yk_doc_list, respectively, but take a callback that is invoked on each key/value pair or document, instead of taking a buffer in which the key/value pair or document is copied. These functions allow for fewer memory copies and simpler code (no need for the caller to manage their own buffer or call other functions to query the size of values/documents first). The _iter functions also provide automatic pipelining and batching.
- Mercury 2.3.0 is out now, including several notable performance enhancements for libfabric and CXI:
- new “multi-recv” optimization to improve RPC throughput
- avoid performance degradation in FI_SOURCE
- use WAIT_FD for graceful idling on Slingshot (CXI) transports
- HPE Slingshot status update
- Mercury support for Slingshot (CXI) is feature complete and performing well with Mercury 2.3.0, but there are some important usability issues to be aware of regarding Virtual Network Interfaces (VNIs). VNIs are a mandatory method for Slingshot network access control between compute nodes.
- The default job launcher on HPE systems will automatically provision a VNI for MPI. Mercury will inherit and use this same VNI without any additional action on your part.
- However, this default, launcher-provided VNI is not sufficient for communicating across MPI jobs or among manually-launched processes.
- We are in communication with HPE about this issue, but they are still working on a general solution. If you encounter problems, please alert your facility or vendor contacts and let us know about your experience!
Mochi CS seminars at Argonne National Laboratory
The Mochi team presented the following two seminars in June 2023 as part of the Mathematics and Computer Science Division’s CS seminar series:
- Philip Carns. “Mochi Project Overview: the Democratization of Data Services in HPC”, CS seminar series, Argonne National Laboratory Mathematics and Computer Science division, June 13, 2023. ABSTRACT PDF VIDEO
- Matthieu Dorier. “Mochi in Practice: Data Services for High-Energy Physics and Elastic In Situ Visualization Workflows”, CS seminar series, Argonne National Laboratory Mathematics and Computer Science division, June 20, 2023. ABSTRACT PDF VIDEO
The first is a high-level presentation of the motivation, concepts, and key technologies that make Mochi possible. The second describes the Mochi methodology for composable data services and highlights success stories in domain-specific data services (HEPnOS) and elastic in situ visualization (Colza).
Together, these presentations give a nice overview of the state of Mochi and how it can be used in 2023. See the links above for more detailed abstracts, slides, and a video recordings of the presentations.
Quarterly meeting and newsletter, April 2023

Please join us for the next Mochi quarterly meeting on Thursday, April 27, 2023, at 10am CT. Mochi quarterly meetings are a great opportunity to learn about community activities, share best practices, get help with problems, and find out what’s new in Mochi.
Please suggest agenda items on the Mochi slack space or the [email protected] mailing list.
Mochi updates and agenda items
- Upcoming events:
- Paper: HEPnOS: a Specialized Data Service for High Energy Physics Analysis
- Ali, Calvez, Carns, Dorier, Ding, Kowalkowski, Latham, Norman, Paterno, Ross, Sehrish, Snyder, Soumagne
- May 15, 2023, St Petersburg, Florida, USA
- ESSA 2023 : 4th Workshop on Extreme-Scale Storage and Analysis (co-located with IPDPS 2023)
- Tutorial: Developing Custom HPC Data Services Using Mochi
- Matthieu Dorier, Philip Carns, and Marc-André Vef
- Sunday, May 21, 2023 2:00 PM to 6:00 PM, Hamburg Germany
- Part of the ISC High Performance 2023 tutorial program
- Panel: The Future of Open-Source Filesystems for HPC – Competition, Cooperation or Consolidation?
- 8 panelists from across industry, academia, and government, including Philip Carns
- Monday, May 22, 2023 5:20 PM to 6:35 PM, Hamburg Germany
- Part of the ISC High Performance 2023 program
- Paper: HEPnOS: a Specialized Data Service for High Energy Physics Analysis
- Recent events and publications:
- Bringing Elasticity to HPC Storage and Data Services
- Matthieu Dorier
- March 23, 2023
- presentation at the 15th Joint Laboratory on Extreme Scale Computing (JLESC workshop)
- Bringing Elasticity to HPC Storage and Data Services
- Recent software development updates:
- New version of bedrock (0.6.0)
- https://github.com/mochi-hpc/mochi-bedrock/releases/tag/v0.6.0
- Adds many functionalities to add components (pools, xstreams, providers, etc.) to a running Bedrock daemon
- Adds client interfaces to interact with a group of daemons all at once
- Documentation for Bake on ReadTheDocs
- With a few example codes provided to show you how to get started
- https://mochi.readthedocs.io/en/latest/bake.html
- In progress: liburing support for mochi-abt-io
- https://github.com/mochi-hpc/mochi-abt-io/pull/20
- liburing is a modern kernel-assisted asynchronous I/O interface for Linux that is anticipated to be especially advantageous for low-latency storage devices
- see https://github.com/axboe/liburing for details
- New version of bedrock (0.6.0)
- Platform updates:
- A Spack recipe for the OLCF Frontier system is available now
Quarterly meeting and newsletter, January 2023

Please join us for the next Mochi quarterly meeting on Thursday, January 26, 2023, at 10am CT. Mochi quarterly meetings are a great opportunity to learn about community activities, share best practices, get help with problems, and find out what’s new in Mochi.
Please suggest agenda items on the Mochi slack space or the [email protected] mailing list.
Phone Conference ID: 254 649 841#
We plan to discuss the following topics at this meeting:
- Call for lightning presentations:
- Do you have something that you would like to present at the Mochi quarterly meeting? We would love to hear about interesting services you have built using Mochi technology, performance results, challenges and obstacles, or all of the above! It may be short notice for this meeting, but please let us know if you would like to share a presentation this week or request a slot for a future meeting.
- Elasticity support in Margo (Matthieu Dorier):
- Recent changes to Margo have introduced programmatic APIs for changing Margo configuration on the fly (in particular for adding, removing, or modifying Argobots execution streams). This is intended for use as a building block for elastic data services.
- The complete API can be found at https://github.com/mochi-hpc/mochi-margo/blob/main/include/margo-config.h
- Call for feedback on Mochi tutorial topics
- The Mochi team is planning to introduce new tutorial material this year (venues TBA).
- Upcoming tutorials will focus on hands-on exercises that use containers and Mochi service templates to get up and running quickly.
- What suggestions do you have for us on what points we should cover as we develop this new material?
- Examples of previous Mochi tutorials can be found at https://www.mcs.anl.gov/research/projects/mochi/tutorials/
Quarterly meeting and newsletter, October 2022

Please join us for the next Mochi quarterly meeting on Thursday, October 27, 2022, at 10am CT. Mochi quarterly meetings are a great opportunity to learn about community activities, share best practices, get help with problems, and find out what’s new in Mochi.
Please suggest agenda items on the Mochi slack space or the [email protected] mailing list.
Phone Conference ID: 254 649 841#
We plan to discuss the following topics at this meeting:
- Updates to Poesie (version 0.2), a microservice for embedding Python and Lua scripting languages within Mochi services:
- Updates to the Mochi onboarding process based on feedback gathered at previous quarterly meeting:
- New “Hello Mochi” guide and API documentation at https://mochi.readthedocs.io/en/latest/index.html
- Demo of
margo-info
, a new command-line utility included in Margo 0.10 to help diagnose network transport problems
- Summary of HPC Storage Service Autotuning Using Variational-Autoencoder-Guided Asynchronous Bayesian Optimization, recently presented at IEEE CLUSTER 2022
Quarterly Newsletter, July 2022

In lieu of our usual software update this quarter, we would instead like to invite the community to join us for the July 28 quarterly meeting to discuss ideas for how to improve the process of bootstrapping, testing, and validating Mochi software environments. This process is more ad-hoc than we would like for it to be right now; anything we can do to formalize and streamline would be a big help in the long run.
If you have any suggestions or comments to share (on this topic or anything else Mochi-related) please connect to the following meeting on Thursday, July 28, at 10:00am CT:
Mochi Quarterly meeting
Click here to join the meeting
Or call in (audio only)
+1 630-556-7958,,254649841# United States, Big Rock
Phone Conference ID: 254 649 841#
Find a local number | Reset PIN
Please join our mailing list (see link on the right side of this web site) if you would like to suggest agenda items in advance.
Building Custom Data Services with Mochi BoF, 2022

Team Mochi, along with special guests Philip Davis of the University of Utah and Chris Kelly of Brookhaven National Laboratory, hosted a BoF session entitled “Building Custom Data Services with Mochi” at the 2022 ECP Community BoF Days. Thank you everyone for participating! The slides are now available online on the Mochi Tutorials page.
UPDATE: a full video event is also now available from the tutorials link provided above.
Quarterly Newsletter, April 2022

New tools
- Mochi-json-vis
- https://github.com/mochi-hpc/mochi-json-vis
- A command-line tool that can be used to generate a visual representation of a Mochi Bedrock configuration.
- This can be helpful to sanity check or better understand service configuration details such as the mapping of providers to execution streams.

Software updates
- Mochi-thallium 0.10.1 (C++ bindings to Mochi)
- Adds support for timer_callback
- Adds logger class and logging functionality
- Adds access to margo’s underlying configuration, pools, and xstreams
- Mochi-bedrock 0.4.1 (service configuration framework)
- Ability to initialize the server with a JX9 script instead of a JSON configuration
Publications
- Matthieu Dorier, Zhe Wang, Utkarsh Ayachit, Shane Snyder, Robert Ross, Manish Parashar. “Colza: Enabling Elastic In Situ Visualization for High-performance Computing Simulations.” in Proceedings of the 36th IEEE International Parallel & Distributed Processing Symposium (IPDPS 2022) (TO APPEAR)
- Bradley Settlemyer, George Amvrosiadis, Philip Carns, and Robert Ross. “It’s time to talk about HPC storage: Perspectives on the past and future.” Computing in Science & Engineering, 23(6):63–68, 2021. https://ieeexplore.ieee.org/document/9658238
Upcoming events
Building Custom Data Services with Mochi (public BoF)
May 12th, 11:00 AM eastern time
We will provide general updates on the Mochi project, highlight key capabilities related to service composition and key/value stores, and share work from guest speakers about the Mochi messaging layer and successful Mochi use cases:
- Mercury: platform updates and optimizations for RPC and RDMA communication (Jerome Soumagne, The HDF Group)
- Chimbuko: scalable application performance analysis and provenance (Chris Kelly, Brookhaven National Laboratory)
- DataSpaces: extreme-scale data management framework (Philip Davis, University of Utah)
To register, follow this link, expand the Mochi BoF description, and click “Register” — this should provide you with a Zoom link to attend the BoF: https://www.exascaleproject.org/event/ecp-community-bof-days-2022/
Mochi BoF at the ECP Community BoF Days, May 12, 2022

We would like to invite everyone to attend a virtual Mochi BoF session as part of the ECP Community BoF Days:
Building Custom Data Services with Mochi
May 12th, 11:00 AM eastern time
We will provide general updates on the Mochi project, highlight key capabilities related to service composition and key/value stores, and share work from guest speakers about the Mochi messaging layer and successful Mochi use cases:
- Mercury: platform updates and optimizations for RPC and RDMA communication (Jerome Soumagne, The HDF Group)
- Chimbuko: scalable application performance analysis and provenance (Chris Kelly, Brookhaven National Laboratory)
- DataSpaces: extreme-scale data management framework (Philip Davis, University of Utah)
To register, follow this link, expand the Mochi BoF description, and click “Register” — this should provide you with a Zoom link to attend the BoF: https://www.exascaleproject.org/event/ecp-community-bof-days-2022/
Thanks!
–Mochi team
Quarterly newsletter, January 2022

New microservices
- Mochi-quintain
- https://github.com/mochi-hpc/mochi-quintain
- Includes a provider that can be embedded in other services, via Mochi-bedrock or other means, to provide synthetic workload testing capability (i.e., “self-test”)
- Includes an MPI benchmark that can be used to issue parameterized RPCs to the quintain provider from a large number of concurrent clients to measure response times from a heavily loaded server
- Some preliminary plotting tools to help understand response time distributions and tail latency

Software updates
- Mochi-ssg 0.5.2
- Several important API changes since 0.4.x
- https://lists.mcs.anl.gov/pipermail/mochi-devel/2021-December/000147.html
- Error handling, API clarity, and utility funcitons
- Mochi-margo 0.9.7
- Bug fixes and a new user-facing timer API
- Yokan 0.2
- https://lists.mcs.anl.gov/pipermail/mochi-devel/2021-December/000146.html
- Document storage, user-defined filters, and new execution modes
- Mercury 2.1.0
- A variety of enhancements and fixes
- Support for the UCX transport library
Platform support
- Slingshot NIC support
- The first systems are coming online with Slingshot NICs and a corresponding libfabric CXI driver.
- https://docs.olcf.ornl.gov/systems/crusher_quick_start_guide.html
- We are actively testing the Mochi stack there
Publications (updated)
Srinivasan Ramesh, Robert B Ross, Matthieu Dorier, Allen D Malony, Philip Carns, and Kevin Huck. SYMBIOMON: A High Performance, Composable Monitoring Service. In 29th IEEE International Conference on High Performance Computing, Data, & Analytics (HiPC). IEEE, 2021.
Upcoming events
- ECP annual meeting
- https://www.ecpannualmeeting.com/
- Tentatively scheduled for May
- We will host some BoF and/or tutorial content
- All material will be made publicly available after the event
- What topics would you like to see covered?