x-monthly-subscription

Discussion 2

Date & Time: March 27, 20:30 ~ 21:30

出席

赵家兴(记录),陶柯宇,陈昂,李喆昊,付佳伟。

议题

讨论可行性报告的框架与分工,组长提出整个课题方向的大致框架,各组员交流意见

可行性报告基本框架,涉及内容

1. 必要的背景

当一个数据包从到达我们的网卡开始,到它完成在计算机里的所有计算与处理过程,最终存入内存(如浏览器)或存入硬盘(如下载)的整个流程里:

2. 可行性依据

一。区别于冯诺依曼架构 CPU 处理网络数据,数据流架构的网络处理有哪些理论,它的概念(如数据流架构如何处理数据,如何处理指令,如何并行等),它有哪些理论上的超越 CPU 处理网络的性能提升等级,它(如本实验使用网卡)为何能提高速度降低延迟等。

二。同时,当前使用数据流架构(如本实验使用的 SmartNIC 系列),诸如数据中心和云服务提供者,它们在此网卡的协作下将网络效果提高了多少。等等涉及 SmartNIC NFP 的性能表现,优化等级,延迟降低到什么级别,速度提高到什么等级,等等。

三。当前的 eBPF 是有哪些层次的(内核层,驱动层,网络栈,配合 XDP,配合 TC),它们达到了什么速度,什么延迟效果等。

四。“硬件卸载”是什么,硬件卸载诸如什么( eBPF 卸载,XDP 卸载)等,它为何能加速处理,eBPF 卸载的框架,它加速的这些(特别是 eBPF )都达到了什么效果。等等。

五。当前 eBPF 从 C / P4 高级语言编写到生成 eBPF 字节码的整个过程,各个步骤的可以展开的细节(cLang 做了什么,LLVM 做了什么等等),一步步往下的图解,到硬件卸载翻译成硬件的指令(包括本地CPU 和 SmartNIC )之前经过 JIT ,JIT 是什么(一些概念和解读细节等)。

六。本实验使用 SmartNIC 对 eBPF offload 的支持,所提供的工具链,添加一些能查到总结到的资料扩展一些细节等等。

3. 创新点,项目概要设计概念

不依赖或尽可能少的依赖 kernel 和冯诺依曼架构下的硬件,在 NIC 上独立完成数据包的处理;在操作系统上为 kernel 或用户提供操作指令接口,根据指令,在 SmartNIC 上 offload 不同的 eBPF 程序执行。

初步专注于针对特定的指令操作(特定的网络数据操作等)编写并特定优化 eBPF 程序,达到少的指令与快的速度。

可行性报告分工与额外的要求

额外地,希望各组员调研的内容:

待询问老师或有待讨论的问题