GEM5 Garnet Standalone 命令行与stats.txt结果分析

简介

展示了不同的命令行与结果,作为初步的了解.

命令行

sim-cycles要大,不然没结果

./build/NULL/gem5.debug configs/example/garnet_synth_traffic.py
–num-cpus=16
–num-dirs=16
–network=garnet
–topology=Mesh_XY
–mesh-rows=4
–sim-cycles=1000000 --inj-vnet=-1
–synthetic=uniform_random
–injectionrate=1
这里我们设为1000000.太小了可能收到的flit太少了.

–inj-vnet = -1 三个网络都传包

=-1时,有三个vnet的统计结果

源代码: src/mem/ruby/network/garnet/GarnetNetwork.cc

  m_flits_received.init(m_virtual_networks).name(name() + ".flits_received").flags(statistics::pdf | statistics::total | statistics::nozero |statistics::oneline);for (int i = 0; i < m_virtual_networks; i++) {m_flits_received.subname(i, csprintf("vnet-%i", i));m_flits_injected.subname(i, csprintf("vnet-%i", i));m_flit_network_latency.subname(i, csprintf("vnet-%i", i));m_flit_queueing_latency.subname(i, csprintf("vnet-%i", i));}

统计结果里就有三个包的结果
在这里插入图片描述

=0/1/2 时对应的网络

例如–inj-vnet=0
命令行如下.

./build/NULL/gem5.debug configs/example/garnet_synth_traffic.py   \--num-cpus=16 \--num-dirs=16 \--network=garnet \--topology=Mesh_XY \--mesh-rows=4  \--sim-cycles=1000000  --inj-vnet=0 \--synthetic=uniform_random \--injectionrate=1

在这里插入图片描述
可以看出, 三列里只有第一列有值15897也是全部的 fltis数了,说明所有的flit都从vnet 0 走,也符合我们的命令行–inj-vnet=0 的设定.

然而, 下面的代码似乎并没有实现,这个分三列更像是 statistics::pdf的结果.

 m_flits_received.subname(i, csprintf("vnet-%i", i));

但是这个latency很大

在这里插入图片描述

stats flags

flagsDescriptions
Stats::noneNothing extra to print.
Stats::totalPrint the total.
Stats::pdfPrint the percent of the total that this entry represents.
Stats::cdfPrint the cumulative percentage of total upto this entry.
Stats::distPrint the distribution.
Stats::nozeroDon’t print if this is zero.
Stats::nonanDon’t print if this is NAN
Stats::onelinePrint all values on a single line. Useful only for histograms.

减小注入率

官网给的参考配置 --injectionrate=0.01 太小了,10万个cycles数,发的包很少.

./build/NULL/gem5.debug configs/example/garnet_synth_traffic.py   \--num-cpus=16 \--num-dirs=16 \--network=garnet \--topology=Mesh_XY \--mesh-rows=4  \--sim-cycles=1000000  --inj-vnet=0 \--synthetic=uniform_random \--injectionrate=0.01

比如我们看统计结果: 一共只有145个flit.

在这里插入图片描述
但是这个平均 delay还是很大:
在这里插入图片描述

原因
发现: clock不是1 tick而是1000,也就是一个cycle不是 1 ps 而是1ns, latency 5000多,意味着 就是5000 ps,也就是 5 ns,相当于5 cycles.

system.clk_domain.clock                          1000                       # Clock period in ticks (Tick)

参考的注入率和cycles

Fuzzy Flow Regulation for Network-on-Chip based
Chip Multiprocessors Systems 使用了 0.02 packet/cycle,注意,他还假设都是 1个packet =5 个flit,也就是 用vn2
在这里插入图片描述
他使用的设置如下:
uniform random
在这里插入图片描述
bit permutation traffic
在这里插入图片描述
总packets数大概是 2万个包.没有表或数字,但是有个图.

在这里插入图片描述

参考设置 小结

运行是10e6 的cycles,注入率从0.012 packet/flit慢慢增加, 2*10e4的packet数, 默认的delay是3个cycle queueing, 79的network delay.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/433190.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka-服务端-PartitionStateMachine

PartitionStateMachine是Controller Leader用于维护分区状态的状态机。分区的状态是通过PartitionState接口定义的&#xff0c;它有四个子类分别代表了分区四种可能的状态&#xff0c;如表所示。 分区各个PartitionState之间的转换如图所示。 下面分析各个状态之间转换时&#…

使用代码取大量2*2像素图片各通道均值,存于Excel文件中。

任务是取下图RGB各个通道的均值及标签&#xff08;R, G&#xff0c;B&#xff0c;Label&#xff09;,其中标签由图片存放的文件夹标识。由于2*2像素图片较多&#xff0c;所以将结果放置于Excel表格中&#xff0c;之后使用SVM对他们进行分类。 from PIL import Image import os …

深入浅出hdfs-hadoop基本介绍

一、Hadoop基本介绍 hadoop最开始是起源于Apache Nutch项目&#xff0c;这个是由Doug Cutting开发的开源网络搜索引擎&#xff0c;这个项目刚开始的目标是为了更好的做搜索引擎&#xff0c;后来Google 发表了三篇未来持续影响大数据领域的三架马车论文&#xff1a; Google Fil…

Unity应用在车机上启动有概率黑屏的解决方案

问题描述 最近将游戏适配到车机上&#xff08;Android系统&#xff09;&#xff0c;碰到了一个严重bug&#xff0c;启动的时候有概率会遇到黑屏&#xff0c;表现就是全黑&#xff0c;无法进入Unity的场景。 经过查看LogCat日志&#xff0c;也没有任何报错&#xff0c;也没有任…

qt 坦克大战游戏 GUI绘制

关于本章节中使用的图形绘制类&#xff0c;如QGraphicsView、QGraphicsScene等的详细使用说明请参见我的另一篇文章&#xff1a; 《图形绘制QGraphicsView、QGraphicsScene、QGraphicsItem、Qt GUI-CSDN博客》 本文将模仿坦克大战游戏&#xff0c;目前只绘制出一辆坦克&#…

企业职能部门员工忙闲不均,如何调动积极性?

案例企业背景&#xff1a; 某企业隶属于中国航天科技集团公司&#xff0c;致力于光纤陀螺系统、微机电惯性系统、光纤传感系统等高新技术产品的研发。公司具有雄厚的新型惯导和光电传感技术基础&#xff0c;多年来开创了我国光纤陀螺技术在武器、卫星和载人飞船等多个任务上的…

C++20 协程原理与应用

协程 要想了解协程&#xff0c;最好先搞清楚进程&#xff0c;线程&#xff0c;这样才能将三者区分开来&#xff01; 进程 vs 线程 vs 协程 进程线程协程切换者操作系统操作系统用户&#xff08;编程者&#xff09;切换时机根据操作系统自己的切换策略&#xff0c;用户不感知根…

【QT+QGIS跨平台编译】之十二:【libpng+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文件目录 一、libpng介绍二、文件下载三、文件分析四、pro文件五、编译实践一、libpng介绍 PNG(Portable Network Graphics,便携式网络图形),是一种采用无损压缩算法的位图格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。 PNG使用从LZ77派生的无损数据压缩算…

【JaveWeb教程】(28)SpringBootWeb案例之《智能学习辅助系统》的详细实现步骤与代码示例(1)

目录 SpringBootWeb案例011. 准备工作1.1 需求&环境搭建1.1.1 需求说明1.1.2 环境搭建 1.2 开发规范 2. 部门管理 SpringBootWeb案例01 前面我们已经讲解了Web前端开发的基础知识&#xff0c;也讲解了Web后端开发的基础(HTTP协议、请求响应)&#xff0c;并且也讲解了数据库…

IntelliJ IDEA 快捷键大全

IntelliJ IDEA 快捷键大全 一、文本编辑二、构建、编译项目 一、文本编辑 CtrlN 查找类 CtrlN 查找文件 CtrlF 查找文本 可以根据需求去选择红框内的选项 CtrlX 剪切 剪切选中文本&#xff0c;如果未选中则剪切当前行CtrlC 复制 复制选中文本&#xff0c;如果未选中则复制当前…

WEB安全渗透测试-pikachuDVWAsqli-labsupload-labsxss-labs靶场搭建(超详细)

目录 phpstudy下载安装 一&#xff0c;pikachu靶场搭建 1.下载pikachu 2.新建一个名为pikachu的数据库 3.pikachu数据库配置 ​编辑 4.创建网站 ​编辑 5.打开网站 6.初始化安装 二&#xff0c;DVWA靶场搭建 1.下载DVWA 2.创建一个名为dvwa的数据库 3.DVWA数据库配…

单片机学习笔记---矩阵键盘

目录 矩阵键盘的介绍 独立按键和矩阵按键的相同之处&#xff1a; 矩阵按键的扫描 代码演示 代码模块化移植 Keil自定义模板步骤&#xff1a; 代码编写 矩阵键盘就是开发板上右下角的这个模块 这一节的代码是基于上一节讲的LCD1602液晶显示屏驱动代码进行的 矩阵键盘的介…