Pure Mpi.NET

The Mpi environment section declares the hosts which will be involved in the environment.  Each host entry should have an associated client attribute, and this will be used to send messages to the host.  The service attribute should only be specified if you want this application / process to create the service host, and be the receiver of messages for the host.  For example, if our distributed system consists of 1 environment with 3 hosts and 2 processes, then the config files will contain the following mpi sections. 

Process 1 will only serve the first host:

  <Mpi>

    <Environments>

      <Environment name="MPIEnvironment">

        <Hosts>

          <Host comms="MPI_COMM_WORLD"

                client="MpiClient1"

                service="MpiService1" />

          <Host comms="MPI_COMM_WORLD"

                client="MpiClient2"

                />

          <Host comms="MPI_COMM_WORLD"

                client="MpiClient3"

                />

        </Hosts>

      </Environment>

    </Environments>

  </Mpi>

 Process 2 will serve the last 2 hosts:

  <Mpi>

    <Environments>

      <Environment name="MPIEnvironment">

        <Hosts>

          <Host comms="MPI_COMM_WORLD"

                client="MpiClient1"

                />

          <Host comms="MPI_COMM_WORLD"

                client="MpiClient2"

                service="MpiService2"/>

          <Host comms="MPI_COMM_WORLD"

                client="MpiClient3"

                service="MpiService3"/>

        </Hosts>

      </Environment>

    </Environments>

  </Mpi>