论文部分内容阅读
随着半导体技术的不断进步,单个芯片上能够集成的处理单元越来越多。片上网络作为实现这些处理单元间互连的基础通信架构受到了学术界和工业界的广泛关注。硬件成本和通信性能是评价片上网络可用性的两个非常重要的指标,如何以较低的硬件成本设计出能够满足实际应用需求的片上网络结构是该领域研究的核心问题。本文针对片上网络结构设计与性能分析中几个关键问题展开研究,主要的研究工作如下:(1)支持端口间缓存和虚通道共享的路由器微体系结构研究虚通道虫孔交换片上网络的性能、功耗和硬件成本都会受到虚通道数量、缓存容量和缓存组织方式的影响。为了在不引入较大的硬件开销和功耗负担的前提下最大化片上网络的性能,需要尽可能地提高路由器缓存资源的利用率。这就要求对缓存资源进行动态的分配和管理,以适应片上网络流量的动态变化。现有的方案基本都是围绕着如何在路由器的端口之间或者端口内的虚通道之间实现缓存资源的共享,忽略了不同端口对虚通道数量的不同需求以及需求的动态变化。为此,本文提出了一种支持端口间自适应虚通道共享(Adaptive Virtual Channel Sharing,AVCS)的路由器微体系结构,该结构可以在运行时根据网络流量的变化动态地调整每个路由器端口所能使用的缓存容量和虚通道数量。首先,本文分析了经典路由器存在的主要问题,并针对这些问题提出了AVCS路由器的基本架构。然后,本文面向AVCS路由器提出一个低成本的共享资源分配算法,该算法可以在运行时将共享缓存资源按需分配给各个端口使用。最后,本文又面向AVCS路由器提出了一个虚通道和交换机分配器请求端口共享方案,该方案让每个端口的私有虚通道与对应的共享虚通道复用同一个虚通道和交换机分配器的请求端口,从而显著地降低了分配器的规模和硬件成本。本文提出的AVCS路由器具有缓存资源利用率高、硬件开销小和平均延迟低等优点。实验结果显示,与具有同样性能的经典路由器结构相比,AVCS路由器可以降低32.1%的功耗并节省11.7%的芯片面积。(2)基于实时演算的片上网络端到端延迟上界分析方法研究在基于片上网络的多核处理器系统上部署实时应用程序之前,必须要保证每条数据流在最差情况下的延迟上界都不违背其时限约束。针对这一需求,学术界已经提出了基于确定性网络演算的分析方法、基于流的分析方法和基于链路的分析方法来分析数据流的端到端延迟上界。然而,基于流和基于链路的分析方法都只能应用于路由器的缓存容量足够大的情况。基于网络演算的分析方法虽然没有对缓存容量做任何假设,但是获得的延迟上界比较悲观,需要进一步地改进。为此,本文提出一个基于实时演算的端到端延迟分析算法来克服基于流和基于链路的延迟分析方法的应用限制,并进一步改进确定性网络演算的分析结果。首先,本文提出一个流量模型变换定理用于将切片级实时演算到达曲线变换成报文级实时演算到达曲线,该定理使得对报文级端到端延迟上界的分析成为可能;然后,本文为虫孔交换片上网络建立了一个实时服务曲线模型,并利用极小加代数的有关性质推导出了信约流量控制器的等效实时服务曲线;最后,本文基于前面建立的报文级实时到达曲线模型和路由器的实时服务曲线模型提出了一个端到端延迟分析算法。与已有的方法相比,该算法同时支持固定优先级抢占调度和轮询调度,对于缓存容量有限的片上网络也能给出正确的分析结果,并且获得的延迟上界比已有的方法更加紧致。(3)基于实时演算的片上网络缓存分配算法研究路由器的缓存容量对整个片上网络的性能、功耗和硬件成本都有巨大的影响。为了降低基于优先级的虫孔交换片上网络的硬件成本,学术界已经提出了虚通道共享方案和基于链路的缓存分配算法。然而,虚通道共享方案会严重影响网络的通信性能,而且在特定的路由策略下还会引起死锁。基于链路的缓存分配算法虽然可以保证网络的通信性能,但是缓存分配结果过于保守。为此,本文提出一种基于实时演算的片上网络缓存分配算法来降低基于优先级的虫孔交换片上网络的硬件成本。该算法在保证时限约束的前提下,按照优先级顺序优化每条数据流在其经过的路由器上预留的缓存资源。首先,本文基于实时演算理论给出了每条数据流在其经过的每个路由器上都不触发流量控制的一个充分条件,该条件可以用于确定整个缓存优化算法的迭代初始值;然后,本文给出了一个缓存分配过程来减少路由器为每条数据流预留的缓存资源,并结合前面给出的迭代初值定理提出了一个可以确保最差情况下通信性能的缓存分配算法。与已有的缓存分配算法相比,本文提出的算法可以显著地降低路由器的硬件开销,极大地降低路由器的硬件成本、功耗和芯片面积。(4)低延迟路径选择算法及其快速验证技术研究在虫孔交换片上网络中,每条数据流的端到端延迟都会受到网络中其它数据流的传输路径和流量特性的影响。因此,在为高优先级数据流确定传输路径时应当尽量选择那些对低优先级数据流影响较小的链路,以尽可能的优化每一条数据流的端到端延迟。在确定了所有数据流的传输路径之后,还需要一种有效的延迟分析方法来快速地确定是否每条数据流的延迟约束都得到了满足。如果有数据流违背延迟约束,则应该尝试为其选择一条新的传输路径。针对上述需求,本文提出了一种面向Mesh网络的低延迟路径选择算法来优化每条数据流的端到端延迟。首先,该算法根据每条链路对低优先级数据流的重要性程度为其赋予不同的权重。在确定链路的权重时,该算法充分利用了Mesh网络的基本性质和组合数学的相关方法,大幅度地降低了已有方法的计算复杂度和存储开销。然后,该算法利用Dijkstra算法为每个数据流选择一条合适的传输路径。最后,该算法又利用之前提出的基于实时演算的延迟分析算法对每条数据流的延迟约束进行检查。为了加快延迟约束的检查速度,本文还并针对延迟分析算法的性能优化提出了若干建议。实验结果表明,本文提出的路径选择算法可以显著地降低数据流的延迟上界。综上所述,本文针对当前片上网络领域面临的几个重要问题进行了研究,对推动片上网络在片上多处理器系统中的更广泛的应用具有一定的理论贡献和应用价值。