全部产品
云市场

创建和使用SCC集群

更新时间:2019-04-05 10:14:28

SCC(超级计算集群)简介

SCC概述

超级计算集群(Super Computing Cluster,SCC)使用高速RDMA网络互联的CPU以及GPU等异构加速设备,面向高性能计算、人工智能/机器学习、科学/工程计算、数据分析、音视频处理等应用,提供极致计算性能和并行效率的计算集群服务。

SCC实例类型

类型 CPU Memory 网络 存储 适用场景
ecs.scch5.16xlarge 64核 Skylake Xeon Gold 6149 3.1GHz 192GB 50 Gbps RDMA 高效云盘(容量可选) + SSD云盘(容量可选) CPU主频高,单核计算能力强,适用于多数计算密集型应用场景
ecs.sccg5.24xlarge 96核 Skylake Xeon Platinum 8163 2.5GHz 384GB 50 Gbps RDMA 高效云盘(容量可选) + SSD云盘(容量可选) CPU核数多,内存容量大,适用于内存需求较高、扩展性好的科学计算场景以及高并发的批处理场景

使用SCC实例创建E-HPC集群

创建过程

  • 目前配备有SCC实例的可用区主要有:华东1可用区H、华东2可用区B、华北1可用区C、华北3可用区A。考虑到库存的变化,用户在创建集群之前可以通过ECS管理控制台查看SCC实例在不同可用区的分布情况。
  • E-HPC管理控制台进入集群创建页面,在计算节点下划栏中勾选SCC实例。

勾选SCC注意:上图中SCC实例的CPU核数是按照vCPU数目来显示的,而实际交付的SCC实例为超线程关闭(HT off)状态,即scch5.16xlarge和sccg5.24xlarge的CPU核数分别为32物理核和48物理核。

硬件信息

相比于普通ECS实例,SCC实例的核心硬件升级之一在于配备了50Gbps的RoCE(RDMA over Converged Ethernet)网络,故网络信息与普通ECS实例相比有明显差异。

网络硬件信息

  • 相比于普通ECS实例,SCC实例同时拥有10Gbps VPC网络和50Gbps RoCE网络的网口,因此在会ECS管理控制台上会同时显示两个IP地址。

SCC IP

  • 正常的SCC实例会显示如下网口信息,其中bond0为RoCE网口,eth0为VPC网口。

SCC网口信息

网络连通性验证

  • 同一个E-HPC集群下的SCC实例间的VPC网络IP和RoCE网络IP均可以相互ping通
  • 同一个E-HPC集群下的SCC实例间可以通过VPC网络IP和RoCE网络IP进行ssh登陆

RoCE网络性能测试

测试RoCE网络的峰值带宽与延迟

  • 带宽测试样例
  1. ##读带宽测试
  2. ib_read_bw -a -q 20 --report_gbits ##服务端compute0执行
  3. ib_read_bw -a -q 20 --report_gbits compute0 ##用户端compute1执行
  4. ##写带宽测试
  5. ib_write_bw -a -q 20 --report_gbits ##服务端compute0执行
  6. ib_write_bw -a -q 20 --report_gbits compute0 ##用户端compute1执行
  • 延迟测试样例
  1. ##读延迟测试
  2. ib_read_lat -a ##服务端compute0执行
  3. ib_read_lat -F -a compute0 ##用户端compute1执行
  4. ##写延迟测试
  5. ib_write_lat -a ##服务端compute0执行
  6. ib_write_lat -F -a compute0 ##用户端compute1执行

监测RoCE网络的实际带宽利用情况

  • 在SCC实例root用户下执行rdma_monitor -s实时获取RoCE网络信息

rdma_monitor

  • 使用E-HPC性能监控与分析引擎集谛来监测各SCC实例RoCE网络带宽随时间的变化情况。

集谛监测RoCE

在SCC集群上编译和运行MPI程序

由于SCC实例同时支持50Gbps RoCE网络和10Gbps VPC网络,用户在执行跨节点MPI程序时可能会遇到节点间数据流量默认走VPC网口的情况,这里我们推荐用户在SCC集群上使用IntelMPI来编译和运行跨节点MPI程序。

编译跨节点MPI程序

安装IntelMPI

E-HPC集成了IntelMPI 2018版本,用户只需在E-HPC控制台集群创建软件管理功能界面中勾选IntelMPI 2018进行安装即可。

intelmpi

配置MPI环境变量

  • 方法一:使用E-HPC集成的Module管理工具
  1. $ module avail
  2. --------------------------------- /opt/ehpcmodulefiles --------------------------------
  3. intel-mpi/2018
  4. $ module load intel-mpi/2018
  5. $ which mpicc
  6. /opt/intel/impi/2018.3.222/bin64/mpicc
  • 方法二:执行IntelMPI自带的环境变量配置脚本
  1. $ source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh intel64
  2. $ which mpicc
  3. /opt/intel/impi/2018.3.222/bin64/mpicc

设置MPI编译参数

完成MPI环境变量配置后,需要在软件Makefile或预编译脚本中指定MPI编译器的相对/绝对路径,然后执行编译过程。

  1. -DCMAKE_C_COMPILER=mpicc
  2. -DCMAKE_CXX_COMPILER=mpicxx

运行跨节点MPI程序

  • 对于在E-HPC软件环境中采用IntelMPI编译的软件,提交任务时无需额外指定网口参数,便可以直接通过RoCE网络进行跨节点数据通信。
  1. #!/bin/sh
  2. #PBS -j oe
  3. #PBS -l select=<节点数>:ncpus=<每节点核数>:mpiprocs=<每个节点进程数>
  4. module load intel-mpi/2018
  5. mpirun <软件执行命令>
  • 对于在用户本地环境编译的软件或预编译的商用软件,可以在提交MPI任务时指定RoCE网卡信息来避免可能出现的数据流量不走RoCE网络或网卡设备not found等问题。
  1. #!/bin/sh
  2. #PBS -j oe
  3. #PBS -l select=<节点数>:ncpus=<每节点核数>:mpiprocs=<每个节点进程数>
  4. export I_MPI_FABRICS=shm:dapl
  5. module load intel-mpi/2018
  6. mpirun -genv I_MPI_DAPL_PROVIDER ofa-v2-mlx5_bond_0 <软件执行命令>
  • 用户可以使用集谛性能监测功能对SCC实例的CPU利用率、访存带宽、RoCE网络带宽等性能数据进行实时监测。

SCC性能