一种超高阶单周期报文调度方法及装置制造方法及图纸

技术编号:25761853 阅读:22 留言:0更新日期:2020-09-25 21:09
本发明专利技术公开了一种超高阶单周期报文调度方法及装置,本发明专利技术包括第一步:提取其报文调度关键路径;第二步:采用分布式、层次化设计方法评估并逐级构建VC仲裁器模块级实现方案;第三步:采用分布式、层次化设计方法评估并逐级构建端口仲裁器模块级实现方案;第四步:将每个输入端口对应的多级VC仲裁器产生的端口仲裁请求与每个输出端口对应的多级端口仲裁器输出的仲裁许可相连;第五步:将每一个到达路由器

【技术实现步骤摘要】
一种超高阶单周期报文调度方法及装置
本专利技术涉及路由器报文调度方法,尤其是一种用于构建高性能计算HPC(HighPerformanceComputing)互连网络的超高阶单周期报文调度方法及装置。
技术介绍
随着微处理器及存储器性能的不断提高,连接百万级计算结点及存储设备的互连网络已成为制约高性能计算系统性能乃至成败的关键因素。在可扩展多处理器体系结构下,互连网络直接决定了远程存储器访问延迟与带宽,从而对系统性能起着决定性作用。随着系统规模的不断增加,互连网络低能效(energyefficiency)问题成为实现E级计算最主要的技术挑战。采用低阶路由器构建的低阶互连网络,例如k-aryn-cube及Torus网络,存在高延迟、互连成本高昂等缺点。高阶路由器(端口数目在64以上)可以有效降低网络直径、路由跳步数,从而有效降低网络延迟、电/光缆数量,减少互连成本。在相同实现代价下,高阶拓扑结构能够提供比传统低阶网络更低的网络直径、更高的等分带宽。Cray公司xC系列高性能计算机以及(2020年2月)最新发布的弹弓(slingshot)网络均采用高阶蜻蜓(dragonfly)网络拓扑;国防科大天河系列HPC也一直沿用高阶胖树拓扑结构。随着高阶路由器阶数(radix)即端口数目的不断提升,对高性能报文调度的硬件实现提出了更为严峻的挑战。另一方面,随着人工智能及延迟敏感应用的迅猛发展对互连网络通信带宽及延迟提出了更高的要求。商业路由器采用更多独立的虚拟通道(virtualchannel,VC)为日益丰富的流量类型提供不同等级的服务质量(QualityofService,QoS)。例如,Infiniband公司的IBA路由器支持16VCs以提供16个流量服务等级,允许每个报文通过16个独立通道的一个进行传输。Intel公司的OPA(Omni-PathArchitecture)交换机则支持高达32VCs,并将不同的服务通道动态分配给不同的QoS流量。由于仲裁请求数及报文缓冲区数目以乘以VC数目的速率增长,VC数极大地影响着报文调度复杂度及片上存储开销。尽管工业界及学术界普遍采用基于三级Clos、蝶形拓扑或同构瓦片(tile)的方式将高阶路由器分解为多个低阶子交换(sub-switches)的互连以实现交换端口数目的可扩展。目前高阶路由器设计方法仅能分解及降低参与仲裁的端口数目,并不改变每个端口固定支持的VC数量。由于QoS及自适应路由无死锁流控均采用VC机制实现,报文调度阶数增长迅速,而传统的报文调度算法复杂度为O(N2),难以满足商业路由器高性能调度需求(N为报文仲裁请求数目)。以较低的硬件代价实现超高阶(仲裁请求数在128以上)报文调度功能的同时保持其低延迟高吞吐率特性即单周期内输出仲裁结果是本专利技术重点解决的技术问题。中国人民解放军国防科技大学2019年面向E级计算研制的高阶路由器芯片每个端口支持高达32个VC,路由器最大可配置端口数目为80。尽管该路由器采用基于多端口聚合的Tile结构,将端口仲裁阶数从80x80降低为8x5,由于每个端口实现了多达32个独立的VC通道,其报文调度仍然需要完成256-to-1的超高阶仲裁。为了实现单flit报文的流水调度并最大限度地降低路由器报文通过延迟,该256-to-1仲裁必须在一个时钟周期内,即800MHz时钟频率下的1.25ns内完成。因此,在满足上述要求的基础上,具体如何超高阶路由器报文调度,已经成为一项亟待解决的关键技术问题。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种超高阶单周期报文调度方法及装置,本专利技术以较小的硬件代价,将超高阶报文调度功能分解为多级独立的、异步工作的低阶仲裁器的级联调度来实现,使其关键路径能够满足特定时钟频率的时序要求。为了解决上述技术问题,本专利技术采用的技术方案为:一种超高阶单周期报文调度方法,该方法包括下述步骤:第一步:根据高阶路由器微体系结构特性,提取其报文调度关键路径,并将报文调度划分为第一阶段的VC仲裁功能、第二阶段的端口仲裁功能;第二步:按照报文调度第一阶段的VC仲裁功能需求,采用分布式、层次化设计方法评估并逐级构建VC仲裁器模块级实现方案;第三步:按照报文调度第二阶段的端口仲裁功能需求,采用分布式、层次化设计方法评估并逐级构建端口仲裁器模块级实现方案;第四步:将每个输入端口对应的多级VC仲裁器产生的端口仲裁请求与每个输出端口对应的多级端口仲裁器输出的仲裁许可相连;第五步:将每一个到达路由器mxn子交换输入端口的报文调度输出至其输出端口。可选地,第一步中得到的报文调度关键路径起点为m个输入端口的VC仲裁请求,终点为每个输入端口被许可请求进入端口仲裁并获得最终的仲裁结果,且报文仲裁过程分解为两个阶段,第一个阶段为VC仲裁,用于从每个输入端口v个VC请求中选取一个报文输出端口请求进入第二阶段的仲裁;第二阶段为端口仲裁,用于在VC仲裁完成后,每个输入端口向被许可VC报文的输出端口发出请求,每个输出端口最多可收到m个输出请求,端口仲裁将许可其中的一个输入端口;最终被许可的输入端口将第一阶段获得许可的VC中读出队列头报文,将其发送到目的输出端口。可选地,第二步的详细步骤包括:为每个输入端口设置一个VC仲裁器,将每个输入端口相关联的vx1VC仲裁器分解为j级仲裁来完成,根据j确定VC仲裁器实现方案:2.1)当j=1时,跳转执行步骤2.2);当j=2时,跳转执行步骤2.3);当j=3时,跳转执行步骤2.4);2.2)直接采用vx1仲裁器,若vx1VC仲裁级联第三步得到的端口仲裁不能满足单周期调度时序需求则跳转执行步骤2.3)、否则采用vx1仲裁器实现VC仲裁,转向第三步;2.3)若(v/8)>16成立,或者上述时序最优方案级联第三步得到的端口仲裁不能满足报文单周期仲裁时序需求,则跳转执行步骤2.4)以尝试进一步分解;否则,选取下述3种方案中时序最佳者为VC仲裁器:方案1)、由第一级的2个(v/2)x1仲裁器级联第二级的1个2x1仲裁构成;方案2)、由第一级的4个(v/4)x1仲裁器级联第二级的1个4x1仲裁构成;方案3)、由第一级的8个(v/8)x1仲裁器级联第二级的1个8x1仲裁构成;转向第三步;2.4)若(v/64)>16成立,或者上述时序最优方案级联第三步得到的端口仲裁不能满足报文单周期仲裁时序需求,则判定仲裁级数过高,结束并退出;否则,选取下述5种方案中时序最佳者为VC仲裁器:方案1)、由第一级的16个(v/16)x1仲裁器级联第二级的2个8x1及第三级的1个2x1仲裁构成;方案2)、由第一级的16个(v/16)x1仲裁器级联第二级的4个4x1及第三级的1个4x1仲裁构成;方案3)、由第一级的32个(v/32)x1仲裁器级联第二级的4个8x1及第三级的1个4x1仲裁构成;方案4)、由第一级的32个(v/32)x1仲裁器级联第二级的8个4x1及第三级的1个8x1仲裁构成;方案5)、由第一级的64个(v/64)x1仲本文档来自技高网
...

【技术保护点】
1.一种超高阶单周期报文调度方法,其特征在于,该方法包括下述步骤:/n第一步:根据高阶路由器微体系结构特性,提取其报文调度关键路径,并将报文调度划分为第一阶段的VC仲裁功能、第二阶段的端口仲裁功能;/n第二步:按照报文调度第一阶段的VC仲裁功能需求,采用分布式、层次化设计方法评估并逐级构建VC仲裁器模块级实现方案;/n第三步:按照报文调度第二阶段的端口仲裁功能需求,采用分布式、层次化设计方法评估并逐级构建端口仲裁器模块级实现方案;/n第四步:将每个输入端口对应的多级VC仲裁器产生的端口仲裁请求与每个输出端口对应的多级端口仲裁器输出的仲裁许可相连;/n第五步:将每一个到达路由器mxn子交换输入端口的报文调度输出至其输出端口。/n

【技术特征摘要】
1.一种超高阶单周期报文调度方法,其特征在于,该方法包括下述步骤:
第一步:根据高阶路由器微体系结构特性,提取其报文调度关键路径,并将报文调度划分为第一阶段的VC仲裁功能、第二阶段的端口仲裁功能;
第二步:按照报文调度第一阶段的VC仲裁功能需求,采用分布式、层次化设计方法评估并逐级构建VC仲裁器模块级实现方案;
第三步:按照报文调度第二阶段的端口仲裁功能需求,采用分布式、层次化设计方法评估并逐级构建端口仲裁器模块级实现方案;
第四步:将每个输入端口对应的多级VC仲裁器产生的端口仲裁请求与每个输出端口对应的多级端口仲裁器输出的仲裁许可相连;
第五步:将每一个到达路由器mxn子交换输入端口的报文调度输出至其输出端口。


2.根据权利要求1所述的超高阶单周期报文调度方法,其特征在于,第一步中得到的报文调度关键路径起点为m个输入端口的VC仲裁请求,终点为每个输入端口被许可请求进入端口仲裁并获得最终的仲裁结果,且报文仲裁过程分解为两个阶段,第一个阶段为VC仲裁,用于从每个输入端口v个VC请求中选取一个报文输出端口请求进入第二阶段的仲裁;第二阶段为端口仲裁,用于在VC仲裁完成后,每个输入端口向被许可VC报文的输出端口发出请求,每个输出端口最多可收到m个输出请求,端口仲裁将许可其中的一个输入端口;最终被许可的输入端口将第一阶段获得许可的VC中读出队列头报文,将其发送到目的输出端口。


3.根据权利要求1所述的超高阶单周期报文调度方法,其特征在于,第二步的详细步骤包括:为每个输入端口设置一个VC仲裁器,将每个输入端口相关联的vx1VC仲裁器分解为j级仲裁来完成,根据j确定VC仲裁器实现方案:
2.1)当j=1时,跳转执行步骤2.2);当j=2时,跳转执行步骤2.3);当j=3时,跳转执行步骤2.4);
2.2)直接采用vx1仲裁器,若vx1VC仲裁级联第三步得到的端口仲裁不能满足单周期调度时序需求则跳转执行步骤2.3)、否则采用vx1仲裁器实现VC仲裁,转向第三步;
2.3)若(v/8)>16成立,或者上述时序最优方案级联第三步得到的端口仲裁不能满足报文单周期仲裁时序需求,则跳转执行步骤2.4)以尝试进一步分解;否则,选取下述3种方案中时序最佳者为VC仲裁器:方案1)、由第一级的2个(v/2)x1仲裁器级联第二级的1个2x1仲裁构成;方案2)、由第一级的4个(v/4)x1仲裁器级联第二级的1个4x1仲裁构成;方案3)、由第一级的8个(v/8)x1仲裁器级联第二级的1个8x1仲裁构成;转向第三步;
2.4)若(v/64)>16成立,或者上述时序最优方案级联第三步得到的端口仲裁不能满足报文单周期仲裁时序需求,则判定仲裁级数过高,结束并退出;否则,选取下述5种方案中时序最佳者为VC仲裁器:方案1)、由第一级的16个(v/16)x1仲裁器级联第二级的2个8x1及第三级的1个2x1仲裁构成;方案2)、由第一级的16个(v/16)x1仲裁器级联第二级的4个4x1及第三级的1个4x1仲裁构成;方案3)、由第一级的32个(v/32)x1仲裁器级联第二级的4个8x1及第三级的1个4x1仲裁构成;方案4)、由第一级的32个(v/32)x1仲裁器级联第二级的8个4x1及第三级的1个8x1仲裁构成;方案5)、由第一级的64个(v/64)x1仲裁器级联第二级的8个8x1及第三级的1个8x1仲裁构成;转向第三步。


4.根据权利要求1所述的超高阶单周期报文调度方法,其特征在于,第三步的详细步骤包括:中为每个输出端口设置一个端口仲裁器,尝试将每个输出端口相关联的nx1端口仲裁器分解为k级仲裁来完成,根据k确定VC仲裁器实现方案:
3.1)当k=1时,跳转执行步骤3.2);当k=2时,跳转执行步骤3.3);当k=3时,跳转执行步骤3.4);
3.2)直接采用nx1仲裁器,若第二步得到的VC仲裁器级联nx1端口仲裁不能满足单周期调度时序需求则转向步骤3.4)、否则采用nx1仲裁器实现端口仲裁;
3.3)若(n/8)>16成立,或者第二步得到的VC仲裁...

【专利技术属性】
技术研发人员:戴艺齐星云罗章熊泽宇黎渊徐金波欧洋王强吕方旭刘路
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1