- 博客(245)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
翻译 deepseek v3的亮点:用于AI架构的硬件的可扩展挑战和反思
快速扩展的LLM揭示了当前硬件架构的重要不足,包括存储容量的限制,计算效率的限制,和互联带宽的限制。Deepseek-V3基于2048个英伟达H800 GPU进行训练,展示了基于硬件的模型协同设计可以有效的解决这些挑战,从而获得大规模低成本的训练和推理。这篇文章展示了一个deepseek V3/R1模型架构和AI基础设施的深度分析,重点指出了关键创新点:用多头潜在注意力机制(MLA)来提高存储效率;混合专家模型(MoE)架构来优化计算和存储的平衡;FP8混合精度训练来解锁硬件能力的完整潜力;
2025-11-16 16:13:42
99
原创 记录一下第一次patch kernel的经历
作为一个Linux开发人员,但是又不是kernel开发。能够向内核提交代码,一直觉得是一件很cool的事情。最近在开发AMD V3K SOC相关的代码的时候,终于发现了kernel的一些bug,并成功的向内核提交了batch。也算是完成了一个个人的里程碑吧。所以记录一下。大概流程2周,还提交了两个patch,有点超出预料。
2025-08-16 15:41:48
536
翻译 Cisco 8000 Silicon One™ QOS Architecture思科S1 QoS架构
之前的章节简要的提到过,Cisco8000的VOQ的复制是基于slice的。所以公平性也是基于slice的。这意味着如果来自不同ingress slice的端口要发往相同的egress端口的话,对于给定的流量类别,不同slice上的ingress VOQ就以round robin的形式调度到同一个egress OQ。所以在拥塞场景下对于给定的队列,带宽平均分配,并保证slice级别的公平性。
2025-06-24 21:25:25
396
翻译 【翻译】dRMT: Disaggregated Programmable Switching
我们介绍了dRMT(解耦合可重配置匹配动作表),一个新的可编程交换机架构。dRMT克服了RMT的2个重要的限制(RMT是当前主流的基于流水线架构的可编程交换机):(1)表内存是流水线阶段独有的,意味着一个阶段不使用的内存不能被别的阶段所使用。(2)RMT被硬件连线决定,在包穿过流水线各个阶段的时候,必须串行执行匹配和动作。我们会说明这些限制使得要在RMT上有效的执行程序会很困难。dRMT通过解耦合可编程交换机的内存和计算资源来解决这两个问题。
2025-05-20 14:40:46
203
原创 P4 hello world学习曲线确实有点陡。。
这个Ingress就定义了一个ipv4_lpm的表,这个表当包的ipv4头是有效的时候就应用match&action,根据lpm如果ipv4的目的地址匹配,就执行ipv4_forward,如果不匹配就drop。P4作为一个交换机编程语言,主要是为了写交换机的特性而生的(也就是说告诉交换机怎么处理包),理想如上图。它说P4可以用来指定包头,包解析器,多个匹配动作表,以及通过这些表的控制流,并且这篇文章引入了编译器来隔离不同的交换机实现,只保留了图2的交换机抽象。文章通过mTag的例子介绍了P4的基本组件。
2025-05-02 15:53:45
978
原创 ipxe boot from tftp/nfs kernel panic unknown-block(0,255)
但是在启动的时候却报kernel panic,各种问AI,各种尝试无果之后,在几个微信群请教,有一个朋友说,参数加上dhcp,确保网络在nfs挂载的时候是好的,但是加上之后还是不行。但是他们使用的pxe dhcp boot,利用dnsmasq.conf调用pxe脚本,我们的HW lab已经有dhcp服务器,但是并不隶属我们管理。为了确认我们开发的BSP是否适应ASIC team的CentOS开发环境。需要在我们HW Lab搭建类似的CentOS环境。
2025-03-11 14:20:28
246
1
翻译 用于Meta分布式AI训练的RDMA over Ethernet
最近几年AI模型的计算密度和规模都快速增长,急需构建一个有效可靠的专门网络基础设施。本文介绍Meta用于分布式AI训练的基于融合以太网的远程直接内存访问的设计,实现和运营。网络拓扑-为了支持AI硬件平台的快速演进,我们把基于GPU的训练放到它自己的后端网络当中去。路由-训练负载本质上带有加载不平衡性和突发性,因此我们部署了几代路由机制来实现近乎最优的流量分布。传输-我们起初想用DCQCN来做拥塞管理,但是最后转向使用集合库来做拥塞管理。运营。
2025-01-18 10:00:14
672
原创 关于AI网络架构的文章
思科OCP anounce了800G 51.2T G200-based minipack3 switch。对比之前Tesla anounce的TTPoE。真的很好奇,谁是AI-networking的未来,以及思科是否走在正确的路上,以及S1背后的技术。大致浏览了相关的文章,先mark住,回头再细读一下。
2024-10-28 08:05:42
410
原创 lrzsz串口文件传输
此时如果需要传输文件,需要借助rz/sz工具,可以使用的传输协议有ZMODEM、YMODEM、XMODEM,默认是ZMODEM。首先说明一下rz和sz的文件传输方向,这些命令都是在调试板上执行的,调试板通过串口和PC相连。如果遇到 “sz skipped” error,大概率是文件或者文件夹没有rwx权限。rz表示调试版发起从PC接收文件,sz表示调试版发送向PC传送文件。1. 先在开发版上安装lrzsz,我是通过buildroot安装的。这里记录item2下使用rz/sz进行文件传输的操作。
2024-10-06 14:04:52
725
原创 多线程编程实践总结
几个月前因为添加了一个sensor polling/checking的几个background线程,应用变成了一个多线程的进程。在这几个月过程中,debug了很多问题。上周给team做了一个技术分享,也在这里做一个总结。在我们的系统当中,主要通过移除临界区(通过把进程可见的数据线程化,改进代码获取锁的顺序,fork之后移除对localtime_r()库函数访问等方法)解决问题。其中最值得玩味的问题是fork之后localtime_r()死锁的问题,我们还发现如果设置了TZ之后就比较不容易复现问题。
2024-09-21 14:55:55
455
翻译 系统调用解析第一部分【翻译】
read()系统调用作为探索内核系统调用机制的一个例子。它实现在fs/read_write.c当中。它是一个很短的函数,它会调用vfs_read()完成具体的工作。从调用角度看,最有趣的事这个函数的定义方式,它用SYSCALL_DEFINE3()这个宏来定义。事实上从代码上看,这个函数到底调用了什么函数不是很清楚。这些SYSCALL_DEFINEn()宏是内核代码定义系统调用的标准方式。这里尾部的n代表参数的个数。这些宏定义在。
2024-09-16 17:04:00
223
原创 Create new things with replacing name
【代码】Create new things with replacing name。
2024-07-12 08:38:08
146
原创 [Reading Summary] OpenFlow: Enabling Innovation in Campus Networks
The backgroud is that I am working as an engineer in cisco developing products with inhouse ASIC/sillicon one. But I have no permission to read related documents, even the datasheet. Yeah, it sounds like crazy. So I have to search public documents for unde
2024-05-15 08:22:21
898
1
原创 mark several interesting papers
GitHub - YouAreSpecialToMe/Metis: Metis: Understanding and Enhancing Regular Expressions in Networkhttps://openreview.net/pdf/55e8e4594037ac9febe7d3055b20fa52eeb85d9b.pdfhttps://people.csail.mit.edu/alizadeh/papers/drmt-sigcomm17.pdfGitHub - genzj/llm-fine
2024-02-14 20:30:19
488
翻译 非阻塞交换网络的一个研究
电子艺术的发现和发展已经可以在我们的电话交换领域感受到了。很多国内外的实验室都有研究项目来构建经济的交换系统就是很好的证据。有些像ECASS系统这样的系统中,交叉点整列的角色比在现在的商用电话系统更加重要。在这些系统当中,普通的控制系统变得没那么贵,但是承担更多控制功能交叉点却更贵了。这样的系统的需求是交叉点尽可能少,但是能够同时建立的连接尽可能的多。这是两个对立的需求,一个商用系统必须在两者之间作出一个妥协。
2024-01-05 12:20:56
315
原创 pyenv: no such command `virtualenv-init‘
【代码】pyenv: no such command `virtualenv-init‘
2023-12-21 08:12:53
1261
原创 recursive make and parallel build
If doing parallel build with -jobs, and use recursive make.And if different tasks have a same target (objective file), will have a chance hit a race condition. As different round of compilation may result a different objective file.
2023-11-14 09:23:35
151
原创 pmbus block read
有些设备会在SCL high超过25ms之后终止session,有些甚至SCL 50us就终止session。有些会等host的SCL更长时间而不会终止session。不同的pmbus device,或者不同的固件的pmbus device。他们对pmbus协议的理解或支持很不一样。
2023-07-13 17:44:46
526
原创 Linux怎么拿到initramfs的address和size
具体怎么送的根据Documentation/x86/boot.txt, boot loader需要把boot_params的基地址放到rsi寄存器里面。For x86,如果是separate的cpio的压缩文件,boot loader 需要把它送给Kernel。
2023-04-06 13:51:24
444
原创 JTAG 基础和svf specification介绍
JTAG: Joint Test Action Group是开发IEEE 1149.1的工作组,1149.1定义了一个测试开发版上芯片的标准。现在变成了芯片的一个最常见的接口,用途很多比如FPGA/CPLD image下载,芯片测试和访问。板子上一般是菊花链的形式连接基本的想法是给每个chip加一个测试wrapper,这个wrapper遵守JTAG协议。然后定义一些可以写到设备的指令。这个TAP是指Test access port,TAP控制器是一个有16个状态的有限状态机。
2023-02-03 10:35:51
1386
翻译 理解以太网术语——速率,互联媒介和物理层
我们周围的大量的越来越多的事物和设备都使用以太网协议来做连接。历史上以太网是被用在局域网和城域网。但是现在由于它的受欢迎程度,以及像庞大市场和完善生态的这种好处的原因,像存储和汽车等市场也开始采用以太网。IC设计人员正在不断的寻找一个合适的以太网IP来集成到它们的应用当中。但是由于以太网独特的术语体系,以太网常常令人感到难以理解。不像PCIE/SATA/USB每个速率只有一个spec,同一个以太网速率具有很多不同的spec。
2022-09-20 22:30:05
3147
转载 AC coupling and DC coupling
交流耦合是指使用一个电容器去过滤掉信号中的直流成分。电容器必须与信号是串联的。交流耦合是有用的,因为信号的直流分量充当电压偏移,将直流分量从信号中移除可以增加信号测量的分辨率。直流耦合描述所测量到的信号包含交流及直流两个部分。使用直流耦合时,不需要添加额外的电容器来对信号进行滤波。如果信号源仅具有少量偏移电压,小于±100 mV,或者所获取信号的直流成分很重要,那么直流耦合的配置通常是最佳的。如果您的信号完全是直流成分,请确保使用直流耦合。否则,您的整个信号内容将被移除,看起来像是接地的0V 信号。
2022-09-20 13:26:11
1480
原创 验证私钥匹配证书
1. 验证私钥一致性openssl rsa -check -noout -in myserver.keyRSA Key is ok2. 验证证书和私钥有相同的modulusopenssl x509 -modulus -noout -in myserver.crt | openssl md5openssl rsa -modulus -noout -in myserver.key | openssl md5
2022-05-31 13:45:44
1045
原创 查看二进制证书的内容
先修改原数据为二进制字符串格式sed -r -i'.org' 's/\S+ : //g' ca1 将DER格式的证书转换为PEM格式的证书cat ca1 | xxd -r -p | openssl -inform DER -out ca1.pem -outform PEM然后就可以看了openssl x509 -in root1.pem -text...
2022-05-31 09:11:45
396
1
原创 密码学基础总结
数字签名手写签名:1. 签名者身份(身份可鉴定),2. 签名者认可文件内容(文件内容不可篡改)。数字签名算法去实现上述数字签名类似的特性(实际上需要数字证书的辅助)主要数字签名算法(属于加密算法的一种)RSA DSA ECDSA加密算法双向加密算法:对称加密算法和非对称加密算法 单向加密算法:哈希算法主要对称机密算法(单密钥加密算法)DES 3DES AES主要非对称加密算法(公开密钥加密算法)RSA ECC主要哈希算法M...
2022-05-31 09:07:31
194
原创 写expect脚本的几个坑
In general, expect will save the expect's whole match string in expect_out(0,string) and buffer all the matched/unmatched input to expect_out(buffer). Each sub match will be saved in subsequent numbering of string such as expect_out(1,string), expect_out(2
2022-05-09 16:48:10
422
2
转载 代码安全性和健壮性:如何在if和assert中做选择?
一、前言我们在撸代码的时候,经常需要对代码的安全性进行检查,例如:指针是否为空? 被除数是否为 0? 函数调用的返回结果是否有效? 打开一个文件是否成功?对这一类的边界条件进行检查的手段,一般都是使用 if 或者 assert 断言,无论使用哪一个,都可以达到检查的目的。那么是否就意味着:这两者可以随便使用,想起来哪个就用哪个?这篇小短文我们就来掰扯掰扯:在不同的场景下,到底是应该用 if,还是应该使用 assert 断言?写这篇文章的时候,我想起了孔乙己老先生的那个问题:茴香
2022-03-31 13:12:59
249
Data Clustering: 50years beyond kmeans 翻译
2015-04-18
ffmpeg推送rtmp流到nginx问题
2016-05-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅