VMA On K1 PowerLinux

VMA是一个消息加速器messaging accelerator(MPI-Massage passing Interface);The VMA library is delivered as a user-space library
install the default VMA version compiled with MLNX_OFED

环境背景

一台FP5280G2 做server 一台FP5280G2 做client
2块Mellanox的卡 CCAT_LC_PCIE16X_100G_XR_D 用光纤线直连。

测试架构

安装mellanox 套件 mlnx_ofed

安装依赖库

yum install python-devel lsof redhat-rpm-config rpm-build gcc kernel-devel-4.14.0-49.el7a.ppc64le
yum install tcl gcc-gfortran tcsh tk pciutils createrepo
./mlnxofedinstall --add-kernel-support --skip-distro-check
/etc/init.d/openibd restart

安装AT11

手动安装如下安装包
advance-toolchain-atX.X-runtime
advance-toolchain-atX.X-devel
advance-toolchain-atX.X-perf
advance-toolchain-atX.X-mcore-libs
下载AT 11地址https://developer.ibm.com/linuxonpower/advance-toolchain/

安装sockperf

yum install sockperf-3.5-1.el7.ppc64le.rpm
下载地址
http://mirror.hmc.edu/epel/7/ppc64le/Packages/s/

编译安装libVMA

yum install Autoconf Automake libtool unzip patch libnl-devel gcc
yum -y install libnl3-devel libnl3-route-devel gcc-c++-4.8.5-28.el7.ppc64le libibverbs-devel
1. ./autogen.sh
2. ./configure --with-ofed=/usr --prefix=/usr --libdir=/opt/at11.0/lib64 --includedir=/opt/at11.0/include --docdir=/usr/share/doc/libvma --sysconfdir=/etc
3. make
4.make install
配置网卡
nmcli conn add type ethernet con-name enP51p1s0f1 ifname enP51p1s0f1 ip4 192.168.100.101/24
运行测试工具
yum -y install numactl
systemctl stop firewalld
Server:
VMA_MTU=200 VMA_RX_BUFS=30000 VMA_RX_POLL_OS_RATIO=0 VMA_SELECT_POLL_OS=0 VMA_SPEC=latency LD_PRELOAD=/opt/at11.0/lib64/libvma.so numactl --cpunodebind=8 taskset -c 156 sockperf sr -i 192.168.100.100 -p 12345 --tcp --msg-size 14
Client:
VMA_MTU=200 VMA_RX_BUFS=30000 VMA_RX_POLL_OS_RATIO=0 VMA_SELECT_POLL_OS=0 VMA_SPEC=latency LD_PRELOAD=/opt/at11.0/lib64/libvma.so numactl --cpunodebind=8 taskset -c 172 sockperf pp -i 192.168.100.100 -p 12345 --tcp --msg-size 14

调优

设置大页面

# echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages-16384kB/nr_hugepages
# echo 4096 > /sys/devices/system/node/node8/hugepages/hugepages-16384kB/nr_hugepages
#mount -t hugetlbfs nodev /mnt/hugevim /etc/modprobe.d/mlnx.conf
options mlx4_core log_num_mgm_entry_size=-1 VMA_MEM_ALLOC_TYPE=1
/etc/init.d/openibd restart

关闭SMT

ppc64_cpu –smt=off

设置CPU模式

cpupower frequency-set --governor performance
vim /etc/tuned/tuned-main.conf
sleep_interval = 1 ===> change to 100
update_interval = 10 ===> change to 10000

vim /usr/lib/tuned/network-latency/tuned.conf
[bootloader]
cmdline = audit=0 idle=poll nosoftlockup mce=ignore_ce

减少系统调用

echo 100000000 > /proc/sys/kernel/sched_min_granularity_ns
echo 50000000 > /proc/sys/kernel/sched_migration_cost_ns
echo 0 > /proc/sys/vm/swappiness
sysctl -w vm.swappiness=0
sysctl -w vm.zone_reclaim_mode=0
echo never > /sys/kernel/mm/transparent_hugepage/enabled

更改网卡MTU的值

echo “200” > /sys/class/net/enP51p1s0f1/mtu
MLNX设置
mlnx_tune -p LOW_LATENCY_VMA
软件版本

Testing Envrionment

Hardware Two FP5280G2 with Two CX5 MCX516A-CDAT
OS Version rhel-alt-server-7.5-ppc64le
Kernel Version 4.14.0-49.el7a.ppc64le
CX5 OFED MLNX_OFED_LINUX-4.4-2.0.7.0-rhel7.5alternate-ppc64le
VMA Version libvma-8.7.1 https://github.com/Mellanox/libvma
Sockperf sockperf-3.5-1
yum –y install numactl

Client:

VMA_MTU=200 VMA_RX_BUFS=30000 VMA_RX_POLL_OS_RATIO=0 VMA_SELECT_POLL_OS=0 VMA_SPEC=latency LD_PRELOAD=/opt/at11.0/lib64/libvma.so numactl --cpunodebind=8 taskset -c 172 sockperf pp -i 192.168.100.100 -p 12345 --tcp --msg-size 14

Server:

VMA_MTU=200 VMA_RX_BUFS=30000 VMA_RX_POLL_OS_RATIO=0 VMA_SELECT_POLL_OS=0 VMA_SPEC=latency LD_PRELOAD=/opt/at11.0/lib64/libvma.so numactl --cpunodebind=8 taskset -c 156 sockperf sr -i 192.168.100.100 -p 12345 --tcp --msg-size 14

测试结果

VMA成功在哦K1 PowerLinux上部署,TCP协议下不同字节大小的延迟如数据如下。

调优参考:
https://community.mellanox.com/docs/DOC-2797

VMA On K1 Powerlinux相关推荐

  1. K1 Power Linux上Stream测试内存带宽

    K1 Power Linux上Stream测试内存带宽 本篇文章介绍在K1 Power Linux上理论内存带宽结算,实测内存带宽方法,衡量服务器的内存带宽水平.需要说明的是,对于Scale UP的P ...

  2. 素数c语言k1k2,1.编写一程序,输入两个整数k1,k2,(k1k2)。求出k1,k2间的素数...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 # include main () { int K1,K2,K3: //定义两个整数K1和K2,比较常量K3 printf("请输入整数: K1 ...

  3. vMA学习笔记之一:将vMA加入域

    目的: 将vMA加入域的方法 操作步骤: 1. 开启vMA 2. 按住Alt+F2切换到虚拟终端界面,使用vi-admin用户登录 2 3. 已经登录进来了 4. 在进行加域操作之前,必须确保DNS配 ...

  4. c语言if(!k1)x=1,C语言选择题题库2

    5.s是int型变量,且S=6,则下面表达式:s%2+( s+1)%2的值为 1 6.若a是int型变量,则计算表达式:a=25/3%3后a的值为 2 7.若x和n均是int型变量,且x和n的初值均为 ...

  5. hdu4982 暴搜+剪枝(k个数和是n,k-1个数的和是平方数)

    题意:       给你两个数n,k问你是否怎在这样一个序列:      (1)这个序列有k个正整数,且不重复.      (2)这k个数的和是n.      (3)其中有k-1个数的和是一个平方数. ...

  6. 内存管理vma_(十三)Linux内存管理之vma/malloc/mmap

    背景 Read the fucking source code!  --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本 ...

  7. 笛卡尔树 (25 分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字

    立志用最少的代码做最高效的表达 笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2.首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大.其次所有结点的 ...

  8. 斐讯k1潘多拉专版固件_斐讯K1刷专版潘多拉固件以及教程(使用感受)

    本帖最后由 Super131 于 2016-3-5 10:09 编辑 QQ图片20160225010211.png (24.22 KB, 下载次数: 2) 2016-2-25 01:02 上传 K1的 ...

  9. 斐讯k1路由器刷Breed BootLoader(不死UBoot)

    前段时间斐讯搞活动,我入手了一部139元的斐讯K1路由器,感觉硬件配置不错,于是就给K1路由器刷入了Breed启动程序. 路由器外观: 路由器内观: 硬件配置: CPU:MediaTek MT7620 ...

最新文章

  1. Datawhale实验室
  2. js设置元素class方法小结及classList相关
  3. 功能性农业投融资-农业大健康·周荣江:国情讲坛体制创新
  4. battlesvr结构
  5. phonegap html 缩放,phonegap常用事件总结(必看篇)
  6. ubuntu 系统下的Caffe环境搭建
  7. 开源监控Prometheus二进制安装
  8. Flutter ColorTween实现颜色过渡动画效果
  9. go语言php编译,Golang模板编译引擎FET
  10. 设为首页 添加到收藏夹 (share)
  11. android 显示多条数据格式,Multipart上传的进度条,包含多个Android文件
  12. 201671010415+词频统计软件项目报告
  13. 安卓和ios的ui设计区别_简析Android系统与ios系统界面设计区别
  14. 算法题目打卡:Ques20201020
  15. python3网络爬虫开发实战6.3爬取微博处理since_id
  16. (附源码)springboot电影院售票与管理系统 毕业设计 011449
  17. 【华为诺亚方舟实验室】2022届毕业生招聘--决策(强化学习)推理方向
  18. mysql 1032 1062_【转】如何使用slave_exec_mode优雅的跳过1032 1062的复制错误
  19. AHRS 原理算法+代码实现(好文记录)
  20. js实现深拷贝与浅拷贝

热门文章

  1. 只要11天,浓度1000倍的抗生素也无效,“超级细菌”将成人类的最大威胁之一...
  2. js获取页面高度和宽度
  3. 如何从神品屋下载废柴道士2并放入kindle
  4. 涂鸦智能财报图解:年营收2亿美元 持续降本增效
  5. php显示固定页码,php显示页码分页类的封装
  6. 倍福FTP文件下载方式
  7. 百鸡百钱问题。公鸡每只3元,母鸡每只5元,小鸡三只一元,用100元钱买100只鸡,公鸡、母鸡、小鸡应各买多少?
  8. 期末个人总结博客----(谢永青)
  9. python学习笔记:取整函数
  10. 浅析中国服装销售软件的发展之路