Sessions is one of the major features introduced in the MPI-4 standard. It offers an alternative to the traditional world communicator model by allowing applications to construct communicators from process sets, thereby eliminating the dependency on MPI_COMM_WORLD. The Sessions model was proposed as a more scalable solution for exascale systems, where MPI_COMM_WORLD was viewed as a potential scalability bottleneck. However, supporting Sessions is a significant challenge for established codebases like MPICH due to the deep integration of the world model in traditional MPI implementations. Although MPICH added support for the MPI-4 standard upon its release, it still internally relied on a global world communicator. This approach enabled applications written using the Sessions model to function, but it did not fulfill the full design intent of Sessions, which meant to decouple MPI from MPI_COMM_WORLD. We describe MPICH effort to support true MPI Sessions, including a major internal refactoring. We describe the architectural changes required to support true Sessions and evaluate the resulting implementation scalability. Our results demonstrate that true Sessions can offer significant scalability benefits by adopting explicit hierarchical designs.
翻译:会话(Sessions)是MPI-4标准引入的主要特性之一。它通过允许应用程序从进程集合构建通信器,提供了传统世界通信器模型的替代方案,从而消除了对MPI_COMM_WORLD的依赖。会话模型被提出作为百亿亿次系统的一种更可扩展的解决方案,因为在这些系统中MPI_COMM_WORLD被视为潜在的可扩展性瓶颈。然而,对于MPICH等成熟代码库而言,支持会话是一项重大挑战,因为传统MPI实现中深度集成了世界模型。尽管MPICH在发布时已添加对MPI-4标准的支持,但其内部仍依赖于全局世界通信器。这种方法使得使用会话模型编写的应用程序能够运行,但并未实现会话的完整设计意图——即将MPI与MPI_COMM_WORLD解耦。本文描述了MPICH支持真正MPI会话的努力,包括一次主要的内部重构。我们阐述了支持真正会话所需的架构变更,并评估了由此产生的实现可扩展性。实验结果表明,通过采用显式层次化设计,真正会话可以提供显著的可扩展性优势。