-
Notifications
You must be signed in to change notification settings - Fork 1
2025 10 06 webex
AI can make mistakes. Review for accuracy.
The team discussed recent meetings with the Tools Working Group regarding QMPI sessions and API modifications, including plans to add accessor functions and address session management concerns. They explored new MPI procedures for process spawning and compatibility issues between Spawn and MPI Sessions, with Sonja presenting proposed solutions involving separate MPI procedures and demonstrating example use cases. The group also discussed research on malleability at the Julich Supercomputing Center, the capabilities and limitations of various runtime systems, and the implementation challenges of hierarchical spawning in MPI, while noting the need to improve presentation materials and address scheduling constraints for upcoming meetings.
- Sonja to improve the spawn proposal slides with additional information about what was tried and constraints imposed by runtime systems.
- Howard to find and share the MPI Comm Launch paper with the mailing list.
- Rajat to send a link to the MPI Comm Launch paper to the mailing list.
- Howard to prepare 5-10 minutes of content for the ISC presentation, focusing on dynamic process sets and attributes.
- Working group members to consider volunteering as a replacement co-lead for Dan Holmes.
- Howard to schedule a follow-up meeting with the tools working group in the next month to discuss sessions and tools.
- Howard to find and share information about the scheduled virtual meetings with the group.
Howard and Sonja discussed the recent meeting with Bill Williams and the Tools Working Group, focusing on issues with sessions in QMPI. They decided to proceed with adding simple accessor functions to the API and to make it more symmetric with other attribute creation functions. Sonja suggested discussing the proper use of sessions and tools in a future meeting, as she was confused about why a tool would create a session on itself. They agreed to bring up this topic in the next meeting with the tools group in October or November. Co-Lead Replacement and Working Group Updates
The group discussed the need for a replacement co-lead for their working group, as Dan Holmes has stepped back from his role. Howard explained the responsibilities of the co-lead, which include managing meeting agendas, preparing notes, and occasionally creating content for BOF presentations. The team also touched on the overlap between their working group and Chapter 11, particularly regarding dynamic process sets. Finally, Sonja mentioned having a prepared slide deck on the spawn concept, which they may discuss further at a future meeting. MPI Spawn Procedure Compatibility Solution
Sonja presented a proposal for new MPI procedures to address compatibility issues between Spawn and MPI Sessions. She explained that the current Spawn is incompatible with MPI Sessions due to its reliance on the word model and synchronization with MPI. The proposed solution involves creating separate MPI procedures for spawning processes, which would be independent of communicator creation. Sonja introduced three new functions: MPI Spawn (blocking and non-blocking variants) and MPI Spawn Test Parent. She demonstrated an example use case to illustrate how these functions could be used in an MPI program. Howard clarified that the MPI Spawn Test Parent function could be used by any process started by MPI Spawn, not just the spawn process itself. MPI Malleability Research Update
Sonja explained that the research project on malleability is being conducted at the Julich Supercomputing Center, focusing on expanding and shrinking MPI applications without changing resource allocations. She emphasized that the implementation of the expand function mimics MPI commspawn, offering more flexibility to users in creating intercommunicators. Howard suggested introducing use cases at future meetings, and Michael raised a question about the relevance of test parent in the context of the new functionality, which Sonja addressed by explaining their decision to avoid synchronization and collective behavior in the implementation. MPI Runtime System Capabilities Discussion
Howard and Sonja discussed the capabilities and limitations of the Parastation MPI runtime system, particularly regarding the spawning of new processes and the management of resources. They noted that while the system theoretically supports dynamic resource allocation, current MPI implementations do not fully utilize this feature. Sonja mentioned that running an MPI execution within another MPI execution is undefined behavior in many runtime systems. Michael added that the PMI software used with Slurm and Flux has limited or poor spawn APIs, while other launchers like PALS offer better support. Session-Independent Process Management
The team discussed the limitations of their session-friendly process startup approach, which is not intended to address all runtime system constraints. Howard requested Sonja to add information about what they are not fixing to their slides, and Rajat helped locate a relevant MPI paper from 2018-2019 that deals with hierarchical processes and resource management. The group clarified that new processes would not be bound to specific sessions, and discussed using process sets instead of Connect Accept for session management, with Dominik mentioning examples from the dynamic processes branch of the MPI standard that use dictionary functionality to publish new process set names. MPI Process Set Integration Challenges
Sonja and Dominik discussed the challenges of implementing a new approach for combining process sets (psets) with local and remote groups in MPI. They explored the complexities of integrating this with existing intercommunicator concepts and the need for rethinking the implementation to accommodate spawned jobs. As a first step, they decided to focus on spawning processes and then address the compatibility of psets with remote and local process groups. Dominik mentioned a different approach of adjusting the current namespace rather than creating a separate one, which could explain why he didn't encounter the same issues.
The group discussed the implementation of hierarchical spawning in MPI, with Sonja explaining that child processors need unique port names for detection. Howard noted that while the current helper function has both advantages and disadvantages, there are no inherent limitations to hierarchical spawning, though implementation can be complex due to issues with finalization and communicator isolation. The team agreed to present their findings on this topic, with Sonja planning to improve the presentation slides to explain their decision to create a new procedure rather than modify MPI comm spawn. They also briefly discussed Wes's request to increase the pace of virtual meetings, though Sonja noted that most slots until December were already filled.