当前位置:   article > 正文

GEM5 Garnet官方教程:乔治亚理工课程-L01 简介

gem5 garnet

简介

本文是乔治亚理工公开课程Interconnection Networks (Spring 2017)的教程,共有7个主题13堂课加上4个lab,目录在最后的部分。这里是第一堂课INtroduction简介的部分。

关于重要性等背景介绍

什么是互联网络:有不同的级别,数据中心与超算级别,片上微架构级别,还有电路级别。
在这里插入图片描述

GEM5 garnet做的是什么:是processor和memory之间,以及他们各自之间的连接
在这里插入图片描述
具体一点,则会出现相互之间链接的线。
在这里插入图片描述

核心原则:高带宽低延迟 + 低开销

原则是1.高带宽 低延迟
2. 共享资源来减少电路面积和功耗
在这里插入图片描述

互联网络的四种类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我们研究的是Noc,互联尺度在1-100个设备左右。

为什么学习研究NoC

在2017年的角度看,这几年核心猛猛多了呀。
在这里插入图片描述
核心多了就有问题了,之前是简单的点对点,如果核心多就如下右图,线很多很乱。
在这里插入图片描述
其实下面这个slide讲的东西听有意思的,和超算的人接触一会后会发现做的东西都很接近,只是尺度不一样,hpc的人们做的是机箱之间的互联或者是集群之间的互联。
在这里插入图片描述
作为片上互联,贷款高很多,延迟低很多,线路也短很多。
在这里插入图片描述
目标是差不多一样的,但是条件和约束不一样不能通用:
在这里插入图片描述

课程逻辑

课程独特性

这个课比较特别,因为它是计算机体系架构,并行与分布式系统,计算机网络,和VLSI超大规模集成电路。
(在我看来,它是计算机体系架构,通讯网络,集成电路三大方向的交叉。他是计算机体系架构但它并不关心分支预测解码发射等inside core的设计。是通讯网络但是路由算法都限定了有线且超短,在2023年看,做通讯的挺多都默认指无线通讯了。是集成电路但是大多只关心到router的微架构,对于很多bus协议还有电路面积以及制程并不太深入,也就是和每天写synopsys的人比,做IC的能里差距很多。但是对这三个领域交叉的NoC而言,那就近乎无敌了,这也是下面这个slide说,没有任何其他大学有标准的课程。但是这个话也只代表2017年他的观点。)

在这里插入图片描述
然后是强组的自信:大意就是顶会HPCA也是可以试试的嘛,和intel AMD IBM Nvida啥的合作也是可以的。 高校确实很多顶级IC企业的校企合作。
在这里插入图片描述
然后是课程日程介绍,大概8周,必备要一本书“Onchip Networks”和可选的 Dally的 “Principles and practives of interconnection networks”. Dally的这本我翻过很多次。
在这里插入图片描述
然后是四个lab,我们慢慢的都会做。
在这里插入图片描述

关于NOC的技术简介

下图其实挺关键的,核心是l1私有,l2共享,core取的是l1的数据以及caches missing后取的l2的数据,至于l2怎么找memory取,那是l2看的事情而不是core看的事情。理解了这个,会对后面router以及NoC到底在做什么有比较清晰的了解。
在这里插入图片描述
做到事情如下:
在这里插入图片描述
这里还有一个关键的单词 tile出现了,而且NI NetworkInterface也出现了。以及NoC领域的计算机体系架构的特点,他研究的不是核心不是核心不是核心,重要的话说三遍。不是核心,是router。
在这里插入图片描述

网络架构

四大模块,拓扑结构,路由转发,流量控制,还有路由器微架构。前两个其实有点把router当节点来看,第三个流量控制可能看到了NI和router的port接口层面,第四个路由微架构则深入到路由器里面。 相当于从大到小看网络架构。
在这里插入图片描述
拓扑就是如何互联,现在常见的是ring,mesh,torus。
在这里插入图片描述

路由是如何到达:比如gem5 garnet用的 mesh_xy, 就是用的x-yrouting。 x-y routing挺简单也挺好用的。
在这里插入图片描述
流量控制的核心是,放进网络里可能因为竞争链路link或者占用了太多buffer,导致网络性能变差,还不如少塞一点进去。类似于堵车,1个小时的车堵成了5个小时。 不如这个时候先在服务站休息,不堵车了再开一小时到目的地。这样在网络里也就是在路上的时间从5个小时减少到了1个小时。但是一些问题:
1 服务站休息的时间也许很长也许很久,这样路上的时间虽然短了,到达的时间可能很晚。万一一个月后春运结束才走,还不如忍忍。
2 额外的缓存要求。 buffer或者服务器的停车位得多呀。
3 额外的控制器开销。 需要一个信息来通知buffer/服务站里的停车位什么时候把车开走,这需要监控网络的运输情况,传递网络信息,还有在服务站里的调控。
4. 有时候这个堵是flow control调控不了的。愿因有很多,比如数据依赖性一类的。有的是更需要有QoS qulity of service,简单的说就是不需要网络很好,重要的flit例如救护车能先走就够了。
在这里插入图片描述

NoC的芯片例子

终于看到了Sparc的实例了,gem5里一直有这个sparc我都不知道是哪一家的isa,原来是oracle。
Ring NoC是IBM的例子,但是intel消费者级也用的很多。不过我去年才知道,其实intel xenon用的也是mesh。
然后今天又看到了Intel的mesh。 AMD 最近(指radeon和epyc)也用非常多mesh。

在这里插入图片描述

NOC的核心指标

在这里插入图片描述
下面这个图很有意思,大意就是noc的延迟提升是非线性的,负载低的时候延迟变化不明显,负载快到横坐标某个点的时候延迟显著上升。横左边的这个点一般就是极限带宽,这个一般是文章里是用uniform random测出来的报告,Dally的书里也有理论带宽的计算。
在这里插入图片描述

GEM5 与NOC

Garnet其实是基于RUBY的。啊多么痛的领悟again。
在这里插入图片描述
这里叙说了dir的功能,是packet的目的地。
在这里插入图片描述

总结

这是乔治亚理工课程-L01 简介。

目录

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/489239
推荐阅读
  

闽ICP备14008679号