计算机工程与科学 ›› 2020, Vol. 42 ›› Issue (10高性能专刊): 1749-1756.
徐金波,常俊胜,李琰
XU Jin-bo,CHANG Jun-sheng,LI Yan
摘要: 提出了一种支持多优先级多输出通道的数据队列调度方法,以满足专用集成电路ASIC芯片内多组输入数据对多个输出通道资源进行请求的需求。首先,所提出的方法适用范围广,既可以通过随机模式(Random)进行调度以达到负载均衡,也可以通过配置不同优先级以区分服务质量QoS。对于随机模式,处于空闲状态的多个输出通道轮流接收输入数据;对于区分服务质量模式,所有输入源、输出通道被划分为不同优先级,使某组输出通道只接收对应优先级的输入源的数据。其次,该方法具有硬件实现代价低的优势,这得益于多个输出通道共享同一个仲裁器对输入数据进行仲裁。基于该方法,在天河超级计算机系统的网络接口芯片中对软硬件接口数据队列的调度进行了优化,并在验证环境中进行了测试。当前测试结果显示,所提出的方法与传统的单输出队列调度器相比,仅增加3‰~2%的调度时间代价,仅增加1.5%左右的硬件资源代价,但在处理直接内存读取事务时却实现了2倍左右的速度提升;同时,配置为QoS模式时高优先级线程的执行时间仅为低优先级执行时间的1/3左右,且是灵活可配置的。