如何测量访问共享远程缓存所花费的周期,比如 L3。我需要获取系统范围和每个线程的缓存访问信息。是否有任何特定的工具/硬件要求。或者我可以使用任何公式来获得一个时间间隔内花费的周期的近似值
问问题
116 次
1 回答
3
要获得计算机上存在的各种缓存的平均 延迟(当单个线程运行时),您可以使用内存分析器工具,例如 Windows 的 RMMA ( http://cpu.rightmark.org/products/rmma.shtml ) 和用于 Linux 的 Lmbench。
您还可以根据这些工具使用的想法编写自己的基准测试。请参阅此 StackOverflow 问题上发布的答案: 测量内存延迟 或 Google 以了解 Lmbench 基准测试的工作原理。
如果您想找到特定内存访问模式的确切延迟,您将需要使用模拟器。通过这种方式,您可以在内存访问流经内存系统时对其进行跟踪。然而,模拟器不会模拟现代处理器或内存系统中存在的所有效果。
如果您想了解多线程如何影响 L3 的平均延迟,我认为最好的选择是编写您自己的基准测试。
于 2013-03-11T06:59:10.777 回答