- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正试图找到合适的原始性能事件描述符来监控 Intel Xeon E5-2600 (Sandy Bridge) 上的 QPI 流量(带宽)。
我发现了一个看似相关的事件 here (qpi_data_bandwidth_tx
:传输的数据flits数量。源自unc_q_txl_flits_g0.data
。单位:uncore_qpi
)但我不能在我的系统中使用它.因此,这些事件可能指的是不同的微架构。
此外,我查看了“ Intel ® Xeon ® Processor E5-2600 Product Family Uncore Performance Monitoring Guide ”,发现最相关的引用如下:
To calculate "data" bandwidth, one should therefore do:
data flits * 8B / time (for L0)
or 4B instead of 8B for L0p
监控数据迁移的事件是:
Q1:这些事件是正确的吗?
问题 2:如果是,我应该监控所有这些事件并添加它们以获取总数据迁移还是仅获取第一个数据迁移?
Q3:我不太明白8B
和time
指的是什么。
Q4:有什么方法可以验证吗?
此外,如果有的话,请随时提出监控 QPI 流量带宽的替代方案。
谢谢!
最佳答案
Xeon E5-2600 处理器有两个 QPI 端口,每个端口在每个 QPI 域时钟周期最多可以发送一个 flit 和接收一个 flit。并非所有迁移都携带数据,但所有非空闲迁移都会消耗带宽。在我看来,您似乎只对计算数据迁移感兴趣,这对于检测套接字级别(而不是套接字内的特定代理)的远程访问带宽瓶颈很有用。
事件 RxL_FLITS_G0.DATA
可用于计算接收到的数据迁移数。这等于 RxL_FLITS_G1.DRS_DATA
和 RxL_FLITS_G2.NCB_DATA
的总和。如果您关心故障,则只需测量后两个事件。请注意,每个 QPI 端口只有 4 个事件计数器。事件 TxL_FLITS_G0.DATA
可用于计算传输到其他套接字的数据迁移数。
事件RxL_FLITS_G0.DATA
和TxL_FLITS_G0.DATA
可用于测量通过指定端口传输的flit 总数。因此,需要每个端口可用的四个计数中的两个来计算总数据迁移数。
没有将数据迁移转换为字节的准确方法。一次迁移最多可包含 8 个有效字节。这取决于链路方向的事务类型和电源状态(电源状态是每个链路每个方向)。通过合理地假设大多数数据迁移是完整缓存行数据包的一部分并在 L0 电源状态下传输,可以得到一个很好的估计,因此每个迁移确实包含恰好 8 个有效字节。或者,您可以只根据数据迁移而不是字节来衡量端口利用率。
时间单位由您决定。最后,如果您想确定 QPI 带宽是否是瓶颈,必须定期测量带宽并将其与理论最大带宽进行比较。例如,您可以使用总 QPI 时钟周期,它可以在一个免费的 QPI 端口 PMU 计数器上计算。 QPI频率固定在JKT上。
为了验证,您可以编写一个简单的程序,在远程内存中分配一个大缓冲区并读取它。测量的字节数应与缓冲区大小(以字节为单位)大致相同。
关于profiling - Sandy Bridge QPI 带宽性能事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66267575/
我的 ADT(Android 开发人员工具)工作正常,几天前它显示所有文件的图形布局,但今天它显示“无法加载 LayoutLib:com.android.layoutlib.bridge.Bridge
我正在尝试使用以下命令控制是否将通过我在 Docker 容器中设置的网桥的数据包发送到 iptables 进行处理: sysctl -w net.bridge.bridge-nf-call-ipt
我正在努力创建自己的自定义组件,以便与蓝牙设备进行交互。 I tried this in Swift , 但由于访问桥的问题而没有到达任何地方。 我在 Objective-C 中重新实现它并遇到了同样
是否有任何方法可以确定或任何资源可以找到 Haswell、Sandy Bridge、Ivy Bridge 和 Skylake Intel 处理器的分支目标缓冲区大小? 最佳答案 检查 Agner Fo
有什么解决办法吗? Error starting daemon: Error initializing network controller: could not delete the default
在 WSL2 中运行 docker info(在 ArchWSL 和 Ubuntu 20.04 上)我收到以下警告: WARNING: bridge-nf-call-iptables is disab
我正在使用 ansible 设置 kubernetes 集群。尝试启用内核 IP 路由时出现以下错误: Failed to reload sysctl: sysctl: cannot stat /pr
停止 docker 后,它拒绝重新启动。它提示另一个名为 docker0 的网桥已经存在: level=warning msg="devmapper: Base device already exis
我将这些文件从 Finder 直接添加到我的项目中,然后添加到 Xcode。 桥接 header 由 Xcode 自动创建。 #import 将类导入桥接 header - 桥接 header 没有问
我按照 Google Sign-in for iOS 上的所有说明进行操作使用CocoaPods(尽管我以前没有使用过CocoaPods,但仍然不明白它是什么),当我运行程序时,我收到此错误: bri
概述 桥接模式一种结构型模式,它主要应对的是:由于实际的需要,某个类具有两个或以上的维度变化,如果只是用继承将无法实现这种需要,或者使得设计变得相当臃肿。 桥接模式的做法是把变化的部分抽象出来,使
Android webView 不支持 Google oAuth。 Google 建议使用 chrome 自定义标签进行 oAuth。我也有从我的网络应用程序到 native 的 js 调用的要求。如
我正在从事一个网络项目,出于某种原因,我需要修改 Linux 中使用的网桥的源代码。我想知道如何添加 http://lxr.free-electrons.com/source/net/bridge/源
Docker 似乎在容器开始运行后创建了一个桥,然后与我的主机网络发生冲突。这不是默认的桥 docker0,而是在容器启动后创建的另一个桥。我可以根据较旧的用户指南链接 https://docs.do
桥接模式属于先天模式,这里的先天模式就是说一开始就要把结构搭建好,方便后来的扩展,而不是对已经出现的模块和接口进行改进扩展的。桥接的核心在于实体类和操作类之间的聚合关系,这个聚合关系就是我们所说的&
1、桥梁模式结构图 2、桥梁模式中主要角色 抽象化(Abstraction)角色:定义抽象类的接口并保存一个对实现化对象的引用。 修正抽象化(Refined Abstractio
代码如下: <?php /** * 桥接模式 * * 将抽象部份与它实现部分分离,使用它们都可以有独立的变化 */
题目地址:https://leetcode.com/problems/shortest-bridge/description/ 题目描述 Ina given 2D binary array A,
桥接模式(Bridge Pattern)是用于把抽象化与实现化解耦,使得二者可以独立变化 桥接模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类,这两种类型的类可被结构化改变而互不影响
LocalAppData为由 Desktop App Converter 转换的应用程序虚拟化. 例如。 “真实”LocalAppData地点是: C:\Users\user\AppData\Loca
我是一名优秀的程序员,十分优秀!