ASC19 暑假训练 系统组任务报告

By gyakkun@SE, SDCS, SYSU


Overview 任务概览

  1. 安装虚拟机,配置必要环境和文件系统

  2. 配置Moduler,使用Moduler切换各种环境

  3. 安装siesta-4.0.1,要求使用intel编译器进行编译,并成功运行至少一样例

Task 1 VM and Environment Set-up 虚拟机及环境配置

虚拟机配置

  • CPU: 1C2T / 1C2T
  • Disk: 100GB (server) + 5GB (gluster specified) / 20GB (client)
  • RAM: 2GB / 2GB
  • OS: Ubuntu 16.04.5 LTS
  • Kernel: 4.15.0-29-generic

共享文件系统

主力共享文件系统: NFS (Gluster亦有搭建)

nfs-cli-showmount

nfs-svr-vol-info

nfs-cli-df-h

必要环境

皆在NFS客户端下演示, 以示可在远端文件系统执行

env-cli-many-versions-demo

SSH 免密登录

ssh-auto-from-svr

ssh-auto-from-cli-1

双机通信

two-machine-comm

Intel MPI Benchmark

PingPong (Single Transfer)

imb-pingpong

Sendrecv (Parallel Transfer)

裸跑结果峰值接近600MBytes/sec, 即4.8Gbps:

imb-sendrecv-full-result

与iperf3测速得到的结果基本一致, 即虚拟机(VMware Workstation)内部实现的软交换机极限交换容量(按包总大小算)约为5Gbps:

iperf3-max-rate

为验证假设, 人为设置100Mbps网络限速再行测试:

netw-set-rate-limit

1533188850552

可见并行传输速率峰值降至24.85Mbyte/sec ~= 200Mbps, 即100Mbps双工, 符合预期。

OSU MPI Benchmark

Latency test

osu-latency

Bandwith Test

osu-bw

峰值接近600MBytes/sec, 与Intel MPI Benchmark、iperf3的结果相互印证。

Task 2 Moduler & modulefile 用Moduler切换环境

采用本地编译安装, 方便自定义MODULEPATH。此处设为/etc/modulefiles

modulepath-env

将已写好的modulefile放入MODULEPATH:

module-avail

(疏漏: 此处应将MODULEPATH设为共享目录, 则只需全局维护一份modulefile)

OpenMPI

可见openmpi环境变量载入后其符号链接已经工作, 即mpicc指向gcc:

module-openmpi

CUDA

由于modulefile中有冲突声明(conflict cuda), 故9.0/9.1不能同时载入

module-load-two-cuda-fail

载入与卸载, 以”nvcc –version”为例演示切换情况

module-cuda-switch

Intel Parallel Studio XE

载入与卸载, 以”mpiicc -v”为例演示切换情况

module-psxe