fast-codesign / reading-list

A recommended reading list in FENGLIN group
7 stars 4 forks source link

Looking forward to update! #1

Closed Caoyvming closed 3 years ago

Caoyvming commented 3 years ago

The FAST platform is really worthy of good use for primary development. I hope it will become stronger and stronger in the world !

--From Xidian University

Winters123 commented 3 years ago

Thanks for the comment.

As you may know that most of the people in the group have been working on OpenTSN from 2019 (which is another mainstream project developed & maintained by FAST group), We are now re-activating this community with some new thoughts and improvements.

Things we're working on include: 1). an RMT pipeline supporting extensive programmability with P4 or so; 2). a microprocessor (on FPGA) that supports application acceleration (payload-related);

At the same time, we are open-minded to any ideas that may interest developers/users. Please keep tuned for coming updates :)

Caoyvming commented 3 years ago

Thanks for the comment.

As you may know that most of the people in the group have been working on OpenTSN from 2019 (which is another mainstream project developed & maintained by FAST group), We are now re-activating this community with some new thoughts and improvements.

Things we're working on include: 1). an RMT pipeline supporting extensive programmability with P4 or so; 2). a microprocessor (on FPGA) that supports application acceleration (payload-related);

At the same time, we are open-minded to any ideas that may interest developers/users. Please keep tuned for coming updates :)

首先关于fast平台,我有几个问题想请教:

一、我目前读完了“FAST平台原理与应用2.0”,该文档基本把fast平台硬/软件开发思路、实现细节作了系统介绍;然后阅读了“FAST-ANT”一个关于网络丢包率、时延等信息的测试工程。现在发现:

  1. 缺少对fast流水线中通用硬件模块(如分组解析模块GPP、关键字提取模块GKE等)的详细设计文档,不知道这一部分只是我没找到还是没有公开;
  2. 缺少fast os:据我学习,这一部分是FPGA平台相关的硬件部分,其为fast 流水线提供共性服务。但是这一部分的代码、设计文档,我也没有找到;
  3. 分组处理流水线:没有找到查表引擎(MAE)相关设计;再就是通用动作模块(GAC)仅根据FlowID查找动作表,以获取分组的目的输出接口或UA的MID,这样还缺少一个处理字段的动作引擎吧;

其次,关于RMT:

我们团队目前对RMT流水线十分感兴趣。

近几年的学术创新论文、或是工程性的论文动辄以2013年斯坦福大学Nick教授团队提出的这种RMT模型为参考,进行进一步的创新,并声明面积、或性能上的优势。那么,是否在开源社区内,已经有了一个RMT流水线的RTL级demo在了呢?

贵团队现在关于RMT流水线的实现进度如何,希望能建立起一些交流。

邮箱:ymcao@stu.xidian.edu.cn 姓名:曹宇明

Winters123 commented 3 years ago

inline.

首先关于fast平台,我有几个问题想请教:

一、我目前读完了“FAST平台原理与应用2.0”,该文档基本把fast平台硬/软件开发思路、实现细节作了系统介绍;然后阅读了“FAST-ANT”一个关于网络丢包率、时延等信息的测试工程。现在发现:

  1. 缺少对fast流水线中通用硬件模块(如分组解析模块GPP、关键字提取模块GKE等)的详细设计文档,不知道这一部分只是我没找到还是没有公开;

该部分详细设计文档未包含在开源设计文档中, 简要设计与功能说明在可参考《FAST平台原理与应用2.0》p23。

  1. 缺少fast os:据我学习,这一部分是FPGA平台相关的硬件部分,其为fast 流水线提供共性服务。但是这一部分的代码、设计文档,我也没有找到;

FAST论文中所述, FPGA OS部分由于包含引脚、时序约束,封装好的开发板的端口数量/类型等与板卡强相关的部分,具体因板卡而异,不属于FAST的研究和开源内容。我们前期团队内在Xilinx Zynq7020, Intel Arria II GX, ArriaV GT系列板卡上开发了对应的FPGA OS,所开源的版本仅为嵌入了Zynq 7020 SoC的OpenBox S4平台与嵌入Arria II GX的netmagic平台(其余均为为组内自用)。

但由于近年更高性能的FPGA上市,实际S4/S28/NetMagic已经无法满足网络原型系统搭建的需求。下一代将提供的FPGA OS的运行平台将包含vcu118, au250, au280, netfpga sume等性能较高的板卡。同时,若你们能够基于自己拥有的板卡进行FPGA OS的支持,FAST团队非常欢迎。

  1. 分组处理流水线:没有找到查表引擎(MAE)相关设计;再就是通用动作模块(GAC)仅根据FlowID查找动作表,以获取分组的目的输出接口或UA的MID,这样还缺少一个处理字段的动作引擎吧;

查表引擎在FAST1.0与FAST2.0的实现中被置于FPGA OS中,采用BV算法根据GKE产生的KEY进行匹配,并将匹配到的index送至GME模块用于得到action。

GAC模块之后为FAST五级流水的输出引擎GOE,用于进行对字段所代表的action进行执行(drop, multicast, etc.),具体可参见GOE源码

其次,关于RMT:

我们团队目前对RMT流水线十分感兴趣。

近几年的学术创新论文、或是工程性的论文动辄以2013年斯坦福大学Nick教授团队提出的这种RMT模型为参考,进行进一步的创新,并声明面积、或性能上的优势。那么,是否在开源社区内,已经有了一个RMT流水线的RTL级demo在了呢?

目前我们已经完成了第一版RMT以及对应的p4 compiler的开发,初步在vcu118, au250 (NIC)以及netfpga sume(Switch)板上完成了基本功能的测试。但还要进行一些fine tune确保coner cases被覆盖到才会进行开源。

贵团队现在关于RMT流水线的实现进度如何,希望能建立起一些交流。

上述。当然我们十分愿意接受新的好的idea, 欢迎西电对RMT感兴趣的各位能够一起进行交流。

邮箱:ymcao@stu.xidian.edu.cn 姓名:曹宇明

杨翔瑞 (nudtyxr@hotmail.com)

Caoyvming commented 3 years ago

好的好的,保持交流