Topology/Flow Control

单核转多核

向多核的转变的原因

并行限制:单核指令级并行有限制。

功耗限制设计:同样的频率,两倍的晶体管,功耗变成了1.4倍,因此产生了多核设计

Dennard Scaling

面积约束设计:晶体管尺寸缩小,电压缩小,耗电量减少,单位面积功耗基本维持不变。所以只需要关注性能。

Pdyn:动态功耗

Pleak:漏电功耗

dennard sacling失效原因

漏电流增加,导致漏电功耗急剧增加。

 

限制多核性能的因素

应用程序并行的局限性。

访存,核内通讯

编程的复杂性。

 

Amdahl定理

       加速比:完全串行所需时间 / 并行加速后所需时间

(1-f):只能串行部分比例

f:能够并行部分比例。

S:处理器的个数。

所以当有了S个处理器,并行部分就被分解为f/S。

片上网络

结构

P:处理器

$:Cache

作用

在处理器之间传播缓存一致性消息和缓存行

存在的问题

没有一致的时钟,无法确定哪个存储是最新的。只能通过握手规则判断最新的备份。

如何设计片上网络

拓扑逻辑:网络的结构。如何连接节点

流控:完成路线的方式。

路由器微架构:路由器的设计方式。

路由:消息选择哪条路径

拓扑

拓扑的属性

路由距离:路由时所需的线路数。

直径:最大的路由距离。

平均距离:每两个节点之间的平均距离。

移除多少个节点网络不连通。

等分带宽:最小切割值,反应的是网络的鲁棒性,计算方式为去除最少的链路数,从而将节点分成两份,去除的链路数就是等分带宽。

等分带宽

去除两个链路,网络不连续,等分带宽为2。

假设n个节点

  线性array   环
直径 n-1 n/2(若n为偶数)
平均距离 n/3 - 1/(3n) N/4
等分带宽 1 2

 

消息

结构

路由基本单位:数据包(大小限制在64 bits 到 64KB)

流控基本单位:微片。

微片还可以切分为物理微片和逻辑微片。

物理传输数据:一个时钟周期内数据的传输量。

路由算法的特性

确定性路由算法:只要确定源和目的,不管中间如何实现,可能堵塞。

可适应:路上的堵塞程度影响路由(根拥塞程度决定路由)。

最短路径:只选择最短路径。

无死锁:不会产生死锁,所有数据包都可以向前移动。

流控

流控的特性——竞争关系

缓冲的限制

共享带宽以及缓存。

 

流控协议

无buffer

电路交换模式

基本思想:属于独占模式,只要规定了源和目的,在其间的路径被独占。

好处:实现简单

缺点:发送的报文少,则造成浪费。

 

丢弃模式

基本思想:两个竞争资源,若没有足够的资源,随机丢弃一个,向源发送报告,让其重新发送。

缺点:流量和缓冲的tradeoff很差

 

南辕北辙

基本思想:换一条相反的方向的不拥堵的路。故意使得路由远离拥塞点。

缺点:

可能带来活锁。

多次跳跃带来阻塞,因为不断的远离拥塞点,无法前进。

有buffer路由

衡量尺度

吞吐率/时延

缓存利用率

 

存储转发(包)

以包为基本单位

每次到中间部分就按包存储,有路径就走。没有路径就等待。

优势:其他包可以使用源和目的中间的其他路径。

缺点:以整个包为单位占有资源。每次转发是具有序列化延迟

 

虚跨交换(包,头分离)

若不要求整包到达。

允许头微片先到,后面的包跟上。但是若头卫片被阻塞,那么整个包就被阻塞。

优点:更低延迟

缺点:仍然是以整包为单位。

 

虫孔交换模式(微片)

将数据包拆开,以微片为模式传递,也就是通道和缓冲分配给了微片,而不是包。

身体微片与头微片始终保持一致的相对顺序,即使中间间隔比较远。

优点:更小的buffer空间需求。

缺点:可能阻塞通道中间包,其他包无法使用其带宽。

 

 

虚通道

虚拟路径模式,每条消息占用虚拟的通道。在一个缓存内有多个队列

虚拟通道可以被看成通道状态和微片缓冲。

好处:阻塞少。

缺点:让路由器的设计更复杂。

 

posted @   Laplace蒜子  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示