一种流控模型、拥塞算法的验证装置及方法与流程

xiaoxiao4小时前  4


本发明涉及芯片验证,且特别是有关于一种流控模型、拥塞算法的验证装置及方法。


背景技术:

1、拥塞控制用来减少有损网络中的丢包现象或者无损网络中的拥塞传播现象,其也能够减少交换机缓存的占用,进而减少延迟和改善突发流量的容忍度。当前的roce拥塞控制依赖显式拥塞通知(explicit congestion notification,ecn)来运行。

2、rocev2标准定义了rocev2拥塞管理(rocev2 congestion management,简称rcm),其中,rcm提供了避免拥塞热点和优化链路吞吐量的能力。启用了rcm后,链路上早期的拥塞会被汇报给网络流的源,然后网络流的源会降低它们的注入速率,因此防止了链路上的缓存饱和与增加排队延迟带来的负面效果。

3、为避免网络拥塞丢包给远程直接内存访问(remote direct memory access,rdma)造成性能损失,通常采用数据中心量化拥塞通知(data center quantizedcongestion notification,dcqcn)算法进行网络拥塞调节。例如,发送端网卡根据dcqcn算法调节发送端网卡向接收端网卡发送业务报文的发送速率,可以持续地对发送速率进行升速维护;在网络丢包、发送端网卡接收到拥塞通知报文(congestion notificationpacket,cnp)的情况下,对发送速率进行降速维护。简言之,如果队列对(queuepair,简称qp)基于内部定时器和发送字节计数器,dcqcn算法会持续的增加发送速率(即加速事件);一旦收到cnp包,就会对指定的队列对进行降速(即减速事件)。

4、在实际应用中,如果rcm仅通过输入接口数据格式,经过dcqcn算法与输出接口数据格式进行对比验证,无法观察每个队列对速率在rcm调控下的动态变化,无法准确验证dcqcn算法内部的计算值和寄存器配置初值。


技术实现思路

1、本发明旨在提供一种流控模型、拥塞算法的验证装置及方法,基于dcqcn算法,模拟多队列对的流量控制,以达到对拥塞算法的验证。

2、为达到上述目的,本发明技术方案是:

3、一种流控模型,包括,队列对初始化模块、rcm上下文初始化模块、事件产生模块、cnp事件发送模块、报文事件发送模块、上下文回写模块与速率回写接口;

4、所述队列对初始化模块初始化队列对的状态,将队列对序号传输给所述rcm上下文初始化模块,用于将队列对序号与上下文绑定;

5、所述rcm上下文初始化模块初始化rcm中维护的上下文,将绑定后的队列对序号与上下文传输给所述事件产生模块;

6、所述事件产生模块产生发送报文事件的驱动信号至所述报文事件发送模块,或产生发送cnp事件的驱动信号至所述cnp事件发送模块;

7、所述cnp事件发送模块发送cnp事件;

8、所述报文事件发送模块发送报文事件;

9、所述上下文回写模块接收待测设计计算后的上下文参数输出给所述事件产生模块,将每个队列对的实时速率返回到所述速率回写接口上。

10、进一步地,队列对以一字节数增加速率来随时间增加发送报文的字节数,当字节数大于配置触发事件字节数,所述事件产生模块产生发送报文事件的驱动信号至所述报文事件发送模块;其中,字节数增加速率小于或等于上下文中的当前速率。

11、进一步地,当触发cnp事件,所述事件产生模块产生发送cnp事件的驱动信号至所述cnp事件发送模块。

12、在一具体实施例中,上述速率回写接口包括一real类型的变量,将每个队列对的实时速率返回到所述速率回写接口中real类型的变量上。

13、本发明还提供一种拥塞算法的验证装置,包括上述一种流控模型,还包括驱动组件、参考模型、待测设计与比对组件;

14、所述流控模型初始化队列对与rcm上下文,并发送报文事件或cnp事件至所述驱动组件;

15、所述驱动组件输出对应事件的激励至所述参考模型与所述待测设计;

16、所述比对组件接收所述参考模型计算后的上下文参数与所述待测设计计算后的上下文参数并进行比对,将所述待测设计计算后的上下文参数返回给所述流控模型。

17、在一具体实施例中,上述流控模型设置在所述驱动组件中。

18、本发明还提供一种拥塞算法的验证方法,应用于上述一种拥塞算法的验证装置,包括,

19、步骤s1,调用流控模型,获取寄存器配置用于初始化队列对状态与rcm上下文;

20、步骤s2,根据预设的队列对数目创建队列对,为每个队列对创建队列对序号,初始化队列对,其中,每个队列对均有一个流控模型;

21、步骤s3,初始化rcm上下文;

22、步骤s4,为每个队列对分配一个进程,进入事件控制阶段,队列对以一字节数增加速率来随时间增加发送报文的字节数,当字节数大于配置触发事件字节数时,进入步骤s5的加速事件;在此期间,cnp事件会随配置随机触发,当触发cnp事件,则进入步骤s6的减速事件;

23、步骤s5,在加速事件,以加速事件类型封装待测设计的入口接口数据,将激励打进参考模型和待测设计,将计算后的上下文参数返回给流控模型;将字节数更新为当前字节数减去配置触发事件字节数;

24、步骤s6,在减速事件,以cnp事件类型封装待测设计的入口接口数据,降低当前速率,将激励打进参考模型和待测设计,将计算后的上下文参数返回给流控模型;

25、步骤s7,将各队列对的实时速率回写到流控模型的速率回写接口中。

26、在一具体实施例中,上述步骤s2中,根据队列对序号的预设起始值递增创建队列对序号。

27、在一具体实施例中,上述步骤s4中,字节数增加速率小于或等于上下文中的当前速率。

28、有益效果,本发明一种流控模型、拥塞算法的验证装置及方法,通过流控模型,将各队列对的实时速率动态输出到接口上,最后呈现在波形上,可以明确地看出来不同配置、不同初值下,各队列对速率在rcm中动态调控的效果,便于优化拥塞算法内部的计算值和寄存器配置初值。

29、为让发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。



技术特征:

1.一种流控模型,其特征在于,包括,队列对初始化模块、rcm上下文初始化模块、事件产生模块、cnp事件发送模块、报文事件发送模块、上下文回写模块与速率回写接口;

2.如权利要求1所述一种流控模型,其特征在于,队列对以一字节数增加速率来随时间增加发送报文的字节数,当字节数大于配置触发事件字节数,所述事件产生模块产生发送报文事件的驱动信号至所述报文事件发送模块;其中,字节数增加速率小于或等于上下文中的当前速率。

3.如权利要求1所述一种流控模型,其特征在于,当触发cnp事件,所述事件产生模块产生发送cnp事件的驱动信号至所述cnp事件发送模块。

4.如权利要求1所述一种流控模型,其特征在于,所述速率回写接口包括一real类型的变量,将每个队列对的实时速率返回到所述速率回写接口中real类型的变量上。

5.一种拥塞算法的验证装置,其特征在于,包括如权利要求1-4任一项所述一种流控模型,还包括驱动组件、参考模型、待测设计与比对组件;

6.如权利要求5所述一种拥塞算法的验证装置,其特征在于,所述流控模型设置在所述驱动组件中。

7.一种拥塞算法的验证方法,其特征在于,应用于如权利要求5-6任一项所述一种拥塞算法的验证装置,包括,

8.如权利要求7所述一种拥塞算法的验证方法,其特征在于,所述步骤s2中,根据队列对序号的预设起始值递增创建队列对序号。

9.如权利要求7所述一种拥塞算法的验证方法,其特征在于,所述步骤s4中,字节数增加速率小于或等于上下文中的当前速率。


技术总结
本发明公开了一种流控模型、拥塞算法的验证装置及方法,属于芯片验证技术领域,所述一种流控模型包括队列对初始化模块、RCM上下文初始化模块、事件产生模块、CNP事件发送模块、报文事件发送模块、上下文回写模块与速率回写接口。本发明通过流控模型,将各队列对的实时速率动态输出到接口上,最后呈现在波形上,可以明确地看出来不同配置、不同初值下,各队列对速率在RCM中动态调控的效果,便于优化拥塞算法内部的计算值和寄存器配置初值。

技术研发人员:周文刚,王岩,王美娟,屈银东,惠嘉威
受保护的技术使用者:常州楠菲微电子有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)