首页 文章 精选 留言 我的

精选列表

搜索[增长黑客],共10000篇文章
优秀的个人博客,低调大师

带宽优化新思路:RoCE网卡聚合实现X2增长

本文分享自华为云社区《2个RoCE网卡Bond聚合,实现带宽X2》,作者: tsjsdbd 。 我们知道操作系统里面,可以将2个实际的物理网卡,合体形成一个“逻辑网卡”,从而达到如主备/提升带宽等目的。但是RoCE网卡,是否也跟普通网卡一样,支持Bond能力呢?答案是的,RoCE也可以组Bond,只是比普通网卡多了一些约束。 今天我们就来实际操作一下这个过程,并了解其中需要注意的地方。也欢迎一起交流学习。 一、RoCE网卡链路聚合(LAG) 根据找到的资料:https://mellanox.my.site.com/mellanoxcommunity/s/article/How-to-Configure-RoCE-over-LAG-ConnectX-4-ConnectX-5-ConnectX-6 里面说的,RoCE网卡的Bond,只支持3种模式: 模式1(主备) 模式2(负载均衡) 模式4(链路聚合) 相比普通网卡总共0-6共七种模式而言,算是打了大折。好在我们想要的“提升带宽”的模式还是有的。 二、服务器执行双网卡聚合(Bond)操作 不同的操作系统,执行Bond的命令不一样。这里我实际操作的是Ubuntu22.04,使用自带的 netplan工具,执行bond过程如下: 修改: vi /etc/netplan/00-installer-config.yaml network: ethernets: ens3f0np0 dhcp4: no ens3f1np1 dhcp4: no version: 2 renderer: networkd bonds: bond0: interfaces: [ens3f0np0, ens3f1np1] parameters: mode: 802.3ad mii-monitor-interval: 1 lacp-rate: faset transmit-hash-policy: layer3+4 addresses: [10.10.2.20/24] 执行: netplan apply 后,就可以看到一个叫“bond0”的网卡了。 这里,咱们配置的bond里面有2个重要的参数: (1)选择bond模式4,即802.3ad(链路聚合) (2)transmit-hash-policy,负载均衡策略,有以下3种值: 这里由于RDMA点对点通信的时候,IP+MAC地址都不会变。所以咱选 layer3+4,毕竟发送报文的时候,源端口还是随机的。 附CentOS的操作供参考: 新建bond口 nmcli con add type bond ifname tsjbond0 bond.options "mode=2,miimon=100,updelay=100,downdelay=100" 添加子网卡 nmcli con add type ethernet ifname enp80s0f0 master tsjbond0 nmcli con add type ethernet ifname enp80s0f1 master tsjbond0 激活子网卡 nmcli con up bond-slave-enp80s0f0 nmcli con up bond-slave-enp80s0f1 修改了bond卡的配置 vi /etc/sysconfig/network-scripts/ifcfg-bond-tsjbond0 IPADDR=29.28.195.228 NETMASK=255.255.240.0 修改2子网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-enp80s0f0 DEVICE=enp80s0f0 TYPE=Ethernet ONBOOT=yes MASTER= tsjbond0 SLAVE=yes BOOTPROTO=none 激活bond卡 ifup bond-slave-enp80s0f0 ifup bond-slave-enp80s0f1 ifdown bond-tsjbond0 ifup bond-tsjbond0 三、服务器为新网卡开启PFC流控 执行如下命令,首先设置MTU: ifconfig bond0 mtu 4200 然后开启队列4的pfc流控策略: mlnx_qos -i ens3f0np0 --pfc=0,0,0,0,1,0,0,0 --turst=dscp mlnx_qos -i ens3f1np1 --pfc=0,0,0,0,1,0,0,0 --turst=dscp cma_roce_mode -d mlx5_bond_0 -p 1 -m 2 echo 128 > /sys/class/infiniband/mlx5_bond_0/tc/1/traffic_class 其中,前2条命令需要分别为bond下的各个子网卡开启pfc。 然后,mlx5_bond_0 可以通过 ibdev2netdev 命令查询得到。 最后一条echo 128命令,是指强制网卡发送的报文的Traffic Class为128,即匹配网卡发送队列4。不设置的话也行,可以通过 NCCL_IB_TC=128 达成相同的目的。详细可以参考《为什么华为云上AI训练必须设置NCCL_IB_TC=128》一文。 四、交换机执行双网口聚合(LACP) 不同的交换机开启LACP模式的命令不一样,这里型号是 CE9860。执行如下: 开启eth-trunk口。 interface Eth-Trunk1 port link-type trunk mode lacp-static 然后切换到对应的网口,使其加入到这个trunk口。 interface GigabitEthernet0/0/1 eth-trunk 1 interface GigabitEthernet0/0/2 eth-trunk 1 命令操作基本这个思路,另外,LACP的LB策略,是通过修改 load-balance profile default配置完成的: eth-trunk hash-mode ? INTEGER<1-9> Different hash mode provide different load distribution result for egress traffic flows from a trunk, the default is 1 For Eth-Trunk, mode 1 is suggested For SMAC change, mode 1/2/6/7 is suggested For SIP change, mode 1/5/7/9 is suggested For DIP change, mode 5/6 is suggested For DMAC&SMAC change, mode 9 is suggested For SMAC+SIP change, mode 5/6 is suggested 默认值是1。 五、交换机为对应端口开启PFC流控 交换机上执行: qos buffer headroom-pool size 20164 cells slot 1 interface 400 x/x/x trust dscp dcb pfc enable mode manual dcb pfc buffer 4 xoff dynamic 4 hdrm 3000 cells commit 上面的命令,其实除了开启pfc之外,还设置了网口对应的buffer大小。具体参数值大小自己看着办。 六、RDMA流量带宽测试 这个就是咱们平时经常用的带宽测试命令了: 首先服务器端,启动Server, ib_write_bw -s 8388608 -F --run_infinitely -x 3 -q 8 --report_gbits 然后Client开始给服务端打流: ib_write_bw -s 8388608 -F --run_infinitely -x 3 10.10.2.20 -q 8 --report_gbits 其中 -x参数设置为3,是表示使用 RoCE V2协议。 参数 --run_infinitely 可以让测试一直进行而不停止。 -q 表示使用多个QPS(Queue-Pairs)流。对应 NCCL_IB_QPS_PER_CONNECTION,可以尝试设大一点试试效果。 示意的一个结果如下: 七、服务器端统计信息 查询队列4的报文数量: watch -n 2 “ethtool -S ens3f0np0 | grep prio4” 这个报文数不会减少,清零不方便,好像重启服务器数量也不会清0。 只找到了通过卸载IB模块来达到清空统计数的目的(假如需要的话): rmmod mlx5_ib rmmod mlx5_core modprob mlx5_core 查询网卡温度: mget_temp -d mlx5_bond_0 可以看到温度,一般都是62/63度左右。 八、小结 本文只是操作记录,用于互相交流,不一定是最佳实践,自己有选择的看。 因为官网https://mellanox.my.site.com/mellanoxcommunity/s/article/How-to-Configure-RoCE-over-LAG-ConnectX-4-ConnectX-5-ConnectX-6 这么写的: 点击关注,第一时间了解华为云新鲜技术~

优秀的个人博客,低调大师

20国学生参与,社区增长159%,暑期2021亮点回顾

开源软件供应链点亮计划-暑期 2021(以下简称暑期2021)在今年 1 月已经正式落幕,来自 20 个国家的学生在这个春天一起回顾了过去的成绩。 暑期 2021是由中国科学院软件研究所与 openEuler 社区共同举办的一项面向高校学生的暑期活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。 活动官网:https://summer.iscas.ac.cn/ 从 2020 年起,这项活动已经走过了两个年头,暑期 2021 更是取得瞩目成绩。新的一年开始,让我们一起看看暑期 2021 的亮点,也期待未来可以更上一层楼。 亮点一:聚集 109 个社区,徜徉开源世界 各个项目社区是当今开源软件世界的重要组成部分,对于任何一个想要了解开源、深度参与开源的工程师来说,加入一个开源社区都是必经的路径。 暑期 2021 活动便是汇聚了全世界最具极客、开放精神的一批开源社区,包括来自 Apache 软件基金会、CNCF 基金会的顶级项目社区,也包括华为、阿里巴巴等发起的在各技术领域极具影响力的开源项目社区参与。最终,共有 109 家海内外开源技术社区通过了活动审核并上线官网。 在这些项目社区中,暑期 2021 参与学生们可以和来自社区的技术大佬共话开源,探讨各类技术问题。 亮点二:877 个上线项目,总有一款心动 除了来自基金会和名气的项目,高校项目——清华大学、北京大学、中国科学技术大学、哈尔滨工业大学、北京师范大学等越来越多的高校开源项目也加入进来。 最终,共有 877 个上线项目参与暑期 2021 的活动,覆盖云原生、大数据、IoT 多个技术领域,所用语言涉及 C、Java、Go、PHP 等各大语言,为同学们提供了丰富的可选项。 亮点三:申请书近 2000 份,529 个项目最终结项 活动中,申请书数量达到 1814 份,较暑期 2020 的 397 份大幅增加。 学生自由选择项目,与社区导师沟通实现方案并撰写项目计划书。被选中的学生将在社区导师指导下,按计划完成开发工作,并将成果贡献给社区。每个项目任务都配备了一名资深社区导师,带领学生完成项目任务,指导学生如何成为一名真正的开源贡献者。 在提交的 877 个项目中,有 527 个项目顺利通过结项考核,占比超过 60%,暑期 2021 成绩斐然。 亮点四:覆盖 20 个国家的 447 所高校,国际化交流 get 暑期 2021 跟随各个开源项目和社区的足迹,走进了全世界 20 个国家的 447 所高校,成就了一个国际化的开源之夏。 这样一个国际化交流平台不仅加深了国内外学子间的交流,也让本土的 IT 实力、文化氛围为国际所见。 一位来自印度的计算机科学工程专业学生 Ayush das,在中国导师 Mr. Zhiyuan Ju 的帮助下,学习了 ReactJS,、ant design 等技术,“正是他对我的信任让我获得了事业上的第一次成功……最后,感谢 Apache APISIX 社区、我的导师 Mr. Zhiyuan Ju 、暑期 2021年项目以及整个项目背后的人们。” 亮点五:联动各大名企,打造高质量实习 暑期 2021 对于许多同学来说,是一个进入名企实习的绝佳机会。 经过暑期 2021 的“集训”,同学们可也结识开源界小伙伴和技术大牛;获得社区导师的专业指导;获得开源项目的经验、经历,丰富个人简历;获得纪念品、奖金和证书等等。 各大参与方为同学们带来了远超实习工资的丰厚奖金。对于获奖项目,每个项目奖金总额根据项目难度分为 12000 元、9000 元和 6000 元。 暑期 2021 至此已经完美收官,暑期2022将于3月正式启动,活动咨询欢迎联络官方邮箱:summer@iscas.ac.cn

优秀的个人博客,低调大师

TrendForce:预计2022年服务器整机出货量增长

日前,TrendForce集邦咨询研究显示,预估2022年服务器整机出货量成长率约4-5%,主要的出货力量是北美数据中心,年增幅约13-14%。供应链方面,为了更加快速地回应市场变化,传统server市场的商业模式将被ODM Direct代工模式逐渐取代。 TrendForce集邦咨询表示,明年服务器整机出货量年将成长的主要原因有两点,其一得益于Intel Sapphire Rapids与AMD Genoa双平台导入市场,将推动市场发展;其二,市场普遍认为明年因疫情所产生的转型需求会驱动云端市场。 如果情况比较积极,整体服务器市场出货量年成长率可达5-6%,并且ODM-Direct的年成长率也会进一步由原先的13%变为15%。 如果明年市场情况比较消极,预估全年服务器整机出货量年成长率仅会落在3-4%,而ODM-Direct的年成长率仅约10%。 整体而言,在历经两年的疫情影响之下,企业的弹性部署的趋势已不可逆,无论总体经济变化为何,TrendForce集邦咨询对明年ODM-direct服务器需求皆有双位数成长的预期,整体服务器需求亦将维持正成长。 不过,整个行业仍需持续关注的议题将围绕在服务器潜在市场的订单满足情况,包含关键物料PMIC及LAN chip的满足率。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册