test direction中的内存延迟检查是一种工具,用于测量这些延迟时间,并为测试中的系统建立基线,执行性能分析,以及它们如何随着系统负载的增加而变化。
MLC内存延迟测试工具-英特尔MLC https://www . Intel . com/content/www/us/en/developer/articles/Tool/Intel R-Memory -Latency -checker . html。
其他信息参考:
https://Huatai Huang . git books . io/cloud -atlas/content/server/memory/MLC _ Intel _ memory _ latency _ checker . html
CPU预取和性能介绍;
https://blog.csdn.net/qupeng110/article/details/86015471? UTM _ medium = distribute . PC _ relevant . none -task -blog -2 defaultbaidujs _ baidulandingword ~ default -0 . no _ search _ link & SPM = 1001 . 2101 . 3001 . 4242 . 1
当您等待时,您的电脑会做什么:
https://manybutfinite . com/post/what -your -computer -does -while -you -wait/
https://www.cnblogs.com/zengkefu/p/5589876.html
ARM学习笔记计算机结构总线南北桥
https://blog.csdn.net/u011690552/article/details/15710659
什么是插座?插座的作用是什么?
https://cloud.tencent.com/developer/news/478432
应用层通过传输层传递数据。
硬件预取器控制在现代英特尔处理器上准确测量内存延迟是一项挑战,因为它们具有复杂的硬件预取器。当测量到延迟时,英特尔MLC会自动禁用这些预取器,并在它们完成时将它们恢复到之前的状态。
硬件预存储:是CPU和其他存储设备的速度差造成的存储结构。内存由主内存(内存条,基于DRAM)和缓存(基于SRAM)组成。测试方向:
存储器延迟检查
测量这些延迟和b/w是建立基线和分析被测系统性能的工具。英特尔内存延迟检查器(英特尔MLC)用于测量内存延迟和b/w,以及它们如何随着系统负载的增加而变化。它还为更细粒度的研究提供了几个选项,在这些研究中,还可以测量特定内核组到缓存或内存的b/w和延迟。新选项--memory_bandwidth_scan(仅在Linux上受支持)可以测量内存带宽工具以1GB块的形式在整个地址范围内测量的内容。当该工具在没有任何参数的情况下启动时,它将自动识别系统拓扑并测量以下四种类型的信息。每个屏幕显示一个截图。
1.来自每个套接字并寻址到每个可用套接字的请求的空闲内存延迟矩阵。
2.具有不同读写请求的峰值内存b/w测量(假设所有访问都是对本地内存的访问)。
3.来自每个套接字并寻址到每个可用套接字的请求的内存b/w值矩阵。
不同黑白点的延迟
英特尔MLC还提供命令行参数,用于精确控制测量的延迟和带宽..
以下是一些可以用命令行参数实现的函数:
测量从特定内核发送到特定内存控制器的请求的延迟测量缓存延迟测量不同读/写比率的b/w(子集测量)内核/插槽的b/w测量随机地址模式而不是顺序延迟改变延迟测量的步长测量缓存到缓存的传输延迟英特尔MLC的主要特性之一是测量延迟如何随着带宽需求的增加而变化。
为了方便起见,它创建了多个线程,其中线程的数量与逻辑CPU的数量减1相匹配。这些线程用于生成负载(在下文中,这些线程将被称为负载生成线程)。负载生成线程的主要目的是生成尽可能多的内存引用。当系统像这样加载时,剩余的CPU(不用于生成负载)运行一个线程来测量延迟。这个线程被称为延迟线程,它发出相关的读操作。基本上,线程遍历一个指针数组,其中每个指针指向下一个指针,从而在读取时产生依赖。每次读取所用的平均时间会产生延迟。此延迟根据负载生成线程生成的负载而变化。每隔几秒钟,负载生成线程就会自动调整注入延迟产生的负载,从而测量各种负载条件下的延迟。有关更多详细信息,请参考您下载的软件包中的自述文件。命令行参数如上所述,在没有任何参数的情况下启动英特尔MLC将测量几个方面。但是,使用命令行参数,您可以按顺序执行以下每个特定操作:
* MLC --延迟矩阵*
打印本地和跨插槽内存延迟矩阵
* MLC --带宽矩阵*
打印本地和跨插槽内存黑白矩阵
* MLC --峰值注入带宽*
打印所有本地访问的各种读写比率的峰值内存b/w(内核尽快生成请求)。
* MLC --最大带宽*
以各种读写比率(通过自动改变负载注入率)打印所有本地访问的最大内存
MLC --空闲_延迟
打印平台的空闲存储延迟
MLC --加载_延迟
打印平台加载内存延迟
* MLC --C2C _延迟*
打印平台的缓存到缓存传输延迟
mlc -e
不要修改预取器设置。
* MLC --内存带宽扫描*
打印每个1GB地址范围的整个内存中的内存带宽。
以上每个命令都有更多的选项。自述文件中有更详细的记录,可以下载。
实际操作:在阿里云上进行的测试:
2个内核,2GB内存和60g硬盘。
带宽_扫描***
打印每个1GB地址范围的整个内存中的内存带宽。
以上每个命令都有更多的选项。自述文件中有更详细的记录,可以下载。
实际操作:在阿里云上进行的测试:
2个内核,2GB内存和60g硬盘。
评论前必须登录!
注册