[置顶] ESXI tips [标签]
[置顶] OpenR on NCS5500 [标签] ,
[置顶] MacOS Tips [标签]
[置顶] Linux/Unix tips [标签]
[置顶] Multicast – mVPN [标签]
[置顶] SecureCRT 技巧总结 [标签]

论文总结:Alibaba HPN: A Data Center Network for Large Language Model Training

之前看完论文就完事了,过了一段时间后,很多细节就会忘记,需要重新看一遍……之前的兄弟习惯很好,看完会总结,忘记就看总结。所以趁着最近阿里发布的最新论文,我也总结下,为了以后复习用。

这篇论文写的很好,讲了很多阿里HPN的基础设施及架构细节,虽然不是全部,但也包含了大部分的内容,很难得。去堆叠部分我没写进去,这个在国内互联网已经很熟了,但目前看国外的互联网以及OCP上,还在讨论如何简化堆叠的双上联问题。论文也提到微软在2023年通过SmartNIC(w/ FPGA)来实现双活。

论文原文:

拓扑

DCN+拓扑

按照论文的说法,HPN是针对之前阿里DCN+架构进行优化演进而来的,DCN+是传统的3层CLOS架构(根据去年阿里发布灵骏的相关文章,架构应该不是这样的,应该更偏向HPN,架构从实践中演进~ ?):

完整阅读

使用ChatGPT协助写测试脚本?!

背景

之前一直看到有人谈论用Chatgpt编程序,设计产品,做游戏,反正很神就是了。在我使用过程中,并没有感觉那么神,也许是提示字给的不标准吧。最近正好有个机会,需要搞一个All2all的测试脚本,可自动化提供大规模All2All的测试任务。因此就测试了下GPT的能力。

目前用的是最新版本GPT4o(自行花了20美金),整体使用下来,GPT确实可以协助编程,只是沟通起来比较费劲和费时间……如果真正要搞一个项目,就不太现实了。估计还要再迭代几轮吧。即使是最牛的GPT4o,在沟通交互中,仍然会有以下问题:

  • 强调过的内容,可能要重复说3-4遍,GPT才真的听进去了,但过了几轮后可能就又忘记了,比如”不着急出优化代码,先讨论问题“;
  • 为了提升效率,对于一些小优化,其实可以提供代码片段,但GPT有时候提供的片段跟代码本身没有强联系;
  • 为了排障,在脚本中增加了一些提示信息(增加执行log)。后面随着不断迭代优化,就会发现有些功能消失了。这种现象很明显,很可能会遇到之前解决过的问题再次出现……
完整阅读

NVSwitch/NVLink Interconnect

作为一个网工,每次查看Nvidia NVSwitch/NVLink的转发性能,都需要做两件事:1. NVLink和Serdes之间的映射关系;2. 把性能指标从存储的双向转发视角转换成单向转发,着实麻烦。再加上不同世代的GPU与NVLink/NVSwitch互联方案又有些不同,所以本篇就从网工的视角梳理下NVS3和NVS4以及后续NVS与不同世代GPU互联时的能力及方案,方便日后查阅。

NVS Compare

首先看下NVS不同版本间的参数对比:

NVS VerNVS3NVS4
Transistors25.1B / TSMC 4N50B / TSMC 4NP
Die Size294mm2
Pacakage50mm x 50mm (2645 balls)
NVLlink VerNVLink4NVLINK5
SerDes112Gbps/PAM4224Gbps/PAM4
Per NVLink200Gbps(2 x 112Gbps)400Gbps(2 x 224Gbps)
Total NVLinks6472
Throughput12.8Tbps28.8Tbps
NVLinks/GPU18 x 200 = 3.6Tbps
(3.6 x 2) / 8 = 900GB
18 x 400 = 7.2Tbps
(7.2 x 2) / 8 = 1.8TB
完整阅读

How to confirm whether an attribute is standard Sonic Sai ?

问题是这样的,我们需要确认一个ECMP的attribute是否是标准的Sonic Sai。具体步骤如下:

root@Franks-MacBook-Pro Documents # git clone -b v1.11 https://github.com/opencomputeproject/SAI
root@Franks-MacBook-Pro Documents # cd SAI
root@Franks-MacBook-Pro SAI # cd inc 
root@Franks-MacBook-Pro inc # grep -rn 'SAI_SWITCH_ATTR_ECMP'
./saiswitch.h:185: * @brief Attribute data for #SAI_SWITCH_ATTR_ECMP_DEFAULT_HASH_ALGORITHM
./saiswitch.h:697:    SAI_SWITCH_ATTR_ECMP_MEMBERS,
./saiswitch.h:1226:    SAI_SWITCH_ATTR_ECMP_HASH,
./saiswitch.h:1433:    SAI_SWITCH_ATTR_ECMP_DEFAULT_HASH_ALGORITHM,
./saiswitch.h:1442:    SAI_SWITCH_ATTR_ECMP_DEFAULT_HASH_SEED,
./saiswitch.h:1454:    SAI_SWITCH_ATTR_ECMP_DEFAULT_HASH_OFFSET,
./saiswitch.h:1468:    SAI_SWITCH_ATTR_ECMP_DEFAULT_SYMMETRIC_HASH,
./saiswitch.h:1479:    SAI_SWITCH_ATTR_ECMP_HASH_IPV4,
./saiswitch.h:1490:    SAI_SWITCH_ATTR_ECMP_HASH_IPV4_IN_IPV4,
./saiswitch.h:1501:    SAI_SWITCH_ATTR_ECMP_HASH_IPV6,
./saiswitch.h:2771:     * @brief Number of ECMP Members configured. SAI_SWITCH_ATTR_ECMP_MEMBER_COUNT takes precedence over SAI_KEY_NUM_ECMP_GROUPS string. Default value is same as SAI_SWITCH_ATTR_ECMP_MEMBERS.
./saiswitch.h:2777:    SAI_SWITCH_ATTR_ECMP_MEMBER_COUNT,

Building Sonic -VS

之前一直想自行编译下Sonic,但总是没时间。这次正好赶上准备Sonic培训,所以就尝试了下,虽然官方文档介绍的很简单,但编译过一遍才发现,还是有些麻烦的。本篇总结会从干净的Ubuntu系统入手,从头搭建编译环境,以及通过PNET加载编译好的Sonic-VS;下面是官方编译Guide:https://github.com/sonic-net/sonic-buildimage

文档内标注了不同版本的编译情况,这个可以点进去看编译状态,看时间应该是一直在更新以验证社区代码是Ok的:

完整阅读
blonde teen swallows load.xxx videos