Updated on 2022-05-09 GMT+08:00

Platform MPI

Scenarios

This section describes how to run Platform MPI (version platform_mpi-09.01.04.03r-ce) in an ECS cluster (take CentOS 7.3 as an example).

Prerequisites

  • An ECS equipped with InfiniBand NICs has been created, and an EIP has been bound to it.
  • Multiple ECSs have been created using a private image.

Procedure

  1. Disable the firewall.

    1. Log in to an ECS in the cluster.
    2. Run the following command to disable the ECS firewall:

      # systemctl stop firewalld.service

    3. Run the following command to check whether the firewall has been disabled:

      # systemctl status firewalld.service

      Figure 1 Disabled firewall
    4. Log in to all other ECSs in the cluster and repeat 1.a to 1.c to disable firewalls on all ECSs.

  2. Modify the configuration file.

    1. Log in to an ECS in the cluster.
    2. Run the following command to view the ECS hostname:

      # hostname

      Figure 2 Viewing the ECS hostname
    3. Log in to all other ECSs in the cluster and repeat 2.a to 2.b to obtain hostnames of all ECSs.
    4. Log in to an ECS in the cluster.
    5. Run the following command to add the hosts configuration file:

      # vi /etc/hosts

      Add the private IP addresses and hostnames of all ECSs in the cluster. For example, run the following commands:

      192.168.0.1 host-192-168-0-1

      192.168.0.2 host-192-168-0-2

      ...

    6. Run the following command to add the hostfile file:

      $vi hostfile

      Add hostnames of all ECSs in the cluster. For example, run the following commands:

      host-192-168-0-1

      host-192-168-0-1

      ...

    7. Log in to all ECSs in the cluster and repeat 2.d to 2.f.

  3. Configure the IP addresses of InfiniBand NICs.

    1. Run the following commands on all ECSs in the cluster to configure IP addresses for IB drivers:

      # ifconfig ib0 192.168.23.34/24

      # ifconfig ib0 192.168.23.35/24

      ...

      You can specify the IP addresses randomly, but ensure that they are in the same network segment.

    2. Run the following command on an ECS to check network connectivity:

      # ping 192.168.23.35

  4. Run the following command to run Platform MPI in the ECS cluster:

    For example, there are two ECSs in the cluster. Then, run the following command:

    # mpirun -perhost 2 -np 12 -machinefile hostfile /root/platform_hello

    Specify the path of hostfile when running it. The path of the executable file hello must be absolute. All executable files in the cluster must be in the same directory.

    Figure 3 Successful execution of Platform MPI in the ECS cluster