可编程硬件与软件协同设计下的带宽估计架构评估
1. 引言
带宽估计(BWE)在从云应用到拥塞控制等众多网络领域中是一项至关重要的功能。例如,它可以通过优化一组虚拟机(VM)之间的带宽利用率来提升Hadoop的性能。然而,不准确的带宽估计会导致数据包丢失和吞吐量下降,因此,提高带宽估计的准确性一直是一个持续的研究课题。
目前,大多数关于带宽估计的研究和评估主要集中在算法设计、参数选择或网络条件对带宽估计的影响上,而对架构优化的关注不足。随着网络速度的不断提升(如10 Gbps、100 Gbps)和复杂度的增加,带宽估计的架构方面变得越来越重要。例如,在高速网络中,数据包传输时间变短,软件架构中的中断合并或操作系统调度等因素导致的时间误差会对带宽估计产生更大的影响,同时软件架构的并发问题也会干扰带宽估计的准确性。
近年来,可编程硬件(ProgHW)和软件(SW)协同设计的趋势逐渐兴起,如Azure SmartNIC、Microsoft Catapult或AWS F1等。这种新的设计范式为提高高速网络中的带宽估计准确性提供了新的选择,但也带来了一些尚未充分研究的问题,例如与传统的带宽估计优化技术相比,基于可编程硬件的设计有哪些收益和成本?不同的可编程硬件和软件组合的权衡和成本效益如何?
评估可编程硬件和软件协同设计的架构空间比纯软件评估更加困难和耗时。一方面,可编程硬件级的编译或卸载需要额外的步骤,如网表合成、布局和布线以及时序、功率和面积约束,这些步骤非常耗时;另一方面,可编程硬件和软件的组合比纯软件更多,增加了架构比较的工作量。
为了解决这些挑战,我们发现大多数影响带宽估计性能的因素都可以归结为一个单一因素:数据包间延迟(IPD),并且不同带