Millian, The level of interposition you need depends on what exactly you are trying to simulate and at which granularity. If you want to simulate the different protocols (small, eager, PUT, GET, pipelining) supported by our default PML OB1, then you need to provide a BTL (with the exclusive flag and with support for self and local processes). If instead, you are interested in a higher level but simplified simulation of messages then you can go directly for a PML. If you plan to provide support for one-sided communications you might also want to implement an OSC module.
George. PS: Ping me outside the mailing list, I'll be happy to go over the high-level design of the different components related to communications in the OMPI stack. On Mon, Sep 17, 2018 at 1:08 PM Millian Poquet <millian.poq...@inria.fr> wrote: > Hello everyone, > > We are working on the simulation of MPI applications with the SimGrid > simulation framework. We would like to make simulation possible from within > OpenMPI (instead of using our own MPI implementation). To this end, we plan > to implement a set of modules so that network transfers are simulated > instead of being actually performed. > > We have hacked a working ODLS to spawn an additional orchestration process > and to hack the processes' environment. We are currently trying to > implement simulation in a custom BTL. > > Do you think that BTL is our best entry point component to simulate the > network transfers? The PML also looks very appealing but at this moment we > do not fully understand the role of all OpenMPI components and how they > interact. > > Best regards, > -- > Dr. Millian Poquet > Postdoc Researcher, Myriads Team, Inria/IRISA > https://mpoquet.github.io > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://lists.open-mpi.org/mailman/listinfo/devel
_______________________________________________ devel mailing list devel@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/devel