论如何用蒸汽机原理培养宇航员

今天是2025年3月15日,星期六,下午四点54分,大雪。

没干什么,听了一天《现代交换原理》。我抚摸着年龄比我还大的PPT,一集一集连播着画质180P的课堂录像,心有不甘,却苦于平日既不修读文学,也不了解通信的这段历史,故无法一吐为快。所以,特地请来Deepseek化身一位激进且尖锐的学生,写一篇嘲讽该课过时的檄文。

D同学的原文如下:

继续阅读“论如何用蒸汽机原理培养宇航员”

dpdk-udp socket的实现(三线程+两组ring)

目标

之前虽然能够解析udp报文,但无法承载上面的应用程序。换句话说,我们希望udp_server程序使用我们提供的API,API的函数内部是对于报文的解析。

解释server:UDP 不同于 TCP,不存在请求连接和受理过程,因此在某种意义上无法明确区分服务器端和客户端,只是因为其提供服务而称为服务器端。1

详细的,请看如下的一个使用内核api的udp程序 unix_udp.c:

继续阅读“dpdk-udp socket的实现(三线程+两组ring)”

0216-1v1记录

我主要说了

  1. 我的假期学习情况(量子和dpdk)

  2. 未来希望着力与并行计算与分布式系统两个小组。

计划

  1. 对于量子,目标是跟上,所以可以间歇性学习基础知识。每周一去参加量子计算组会

  2. dpdk在2025年春季学期学完

  3. 旁听《高性能计算》,高性能计算是并行与分布式的应用。

  4. 以后的1v1话题将包括:dpdk如何与算网结合,并行与分布式的论文阅读想法。

  5. 放弃了fpga

  6. 两个比赛

时间轴

下次:3月2日。

ict比赛:3月9日。

0207组会记录

2月7日周五上午九点,老师邀请以前的两位学生做分享。本记录按照如下结构组织:首先是我认为比较集中的观点,然后是同学们的问答情况。

观点

组会的作用是打磨idea

开始写之前,尽可能多地思考和交流是为了确保自己的想法和方案是完备的。

继续阅读“0207组会记录”

dpdk-发送udp包的实现

发送过程的实现

  1. 加宏定义ENABLE_SEND,之后在recv.c基础上改的内容都框在 #if ENABLE_SEND#endif间。
  2. 定义6个全局变量,分别是:源mac,目的mac,源ip,目的ip,源port,目的port。并且在拆包时给它们依次赋值。
  • 从外到里:
  • 源mac是虚拟机网卡eth0的mac地址(rte_eth_macaddr_get(gDpdkPortId, (struct rte_ether_addr *)gSrcMac);)从绑定pci地址(dpdk-setup.sh的【49】那一步来的)
  • 目的mac是windows的网卡mac地址,从刚刚收到的包的eth中拆出来(rte_memcpy(gDstMac, ehdr->s_addr.addr_bytes, RTE_ETHER_ADDR_LEN);
  • 后四个值是iphdr和udphdr源和目的互换而来 (hdr是header的意思)

继续阅读“dpdk-发送udp包的实现”