Comments (9)
Thanks for asking. I will check with the developer.
from pcm.
Any update on this?
from pcm.
thank you for your patience. I apologize for the delay. We will provide you an update soon.
from pcm.
Hi @matte21. I am looking into the issue. Can you please provide some information on what server you are running on and what you are trying to monitor?
Thank you
from pcm.
Hi @sravisun .
I'm using a two-socket system where each socket is a Xeon Silver 4114 CPU.
The OS is Ubuntu 22.04.
pcm is at release 202201.
I have a bunch of apps, and for each one I'm trying to measure their sensitivity to memory latency. Practically, this means that for each app I generate some load multiple times, where each time I set a different value for the uncore frequency (to simulate different latencies when accessing RAM), and see how much the app latency and throughput degrade as the memory latency increases.
The problem I have is that I want to make sure that the cache hit rate (for every cache level) is low. Otherwise, an app might spuriously appear as insensitive to memory latency, while in fact it's just hitting the caches very frequently.
So what I'd like to monitor is the cache hit rate for every cache level. The vanilla pcm
command only has that for L3 and L2 cache. So I wanted to use pcm-latency
(according to the README it can do what I want, although I haven't verified that). The problem is that in my server I have hyper-threading off (and I need it to be off). So I hit this case: https://github.com/intel/pcm/blob/master/src/pcm-latency.cpp#L385-L389 .
from pcm.
Hi @matte21
Yes at the time it was coded we had put in a block where there was no support for offline cores.
How are you disabling hyperthreads? Directly turning it off in the BIOS?
Will need to verify if we can remove the check for offline cores incase we cannot work around this. I will get back to you on that very shortly.
from pcm.
Hi @sravisun.
To disable hyperthreading, I update the grubconfig by appending nosmt
to the value of the var GRUB_CMDLINE_LINUX_DEFAULT
, run update-grub
, and then reboot the machine.
Besides the no-HT use case we're discussing, since I opened the issue an additional use case emerged where I need pcm-latency on a server where the number of available cores is different than the number of logical cores. I have the same two-sockets server, but I manually offline all cores in only one of the two sockets by running
echo 0 > /sys/devices/system/cpu/cpu<i>/online
for all cores in said socket. I might need to do this both with HT on and off.
from pcm.
Sure will update the code without cores offline check. Will let you know once it is ready
Thank you
from pcm.
Thank you!
from pcm.
Related Issues (20)
- PCM show wrong upi ports number HOT 8
- PCM Does Not Display LMB and RMB Metrics in Prometheus Integration HOT 14
- The build failed because of a runtime libraries incompatibility HOT 4
- pcm problem: Can not access server uncore PCI configuration space HOT 8
- Build failed on RHEL 9.2. HOT 4
- Grafana Shows Wrong Core_Frequency Value, But Data is Right HOT 4
- Double free HOT 12
- CMake options prefix
- Add dependency manager HOT 8
- PCM::checkError() without side effects HOT 2
- How to get CPU power? HOT 2
- Replace -fPIC in CMakeLists.txt HOT 2
- Incorrect docstrings HOT 1
- Local and Remote Memory Bandwidth (LMB and RMB) metrics are 0 HOT 1
- PCM metrics documentation HOT 1
- PCI ids path is `/usr/share/misc/pci.ids` in Debian HOT 3
- Shows -`nan` in output HOT 2
- pcm-power: improve the error message to indicate that the client CPU can't be supported HOT 8
- Probably needs some refactoring? HOT 1
- How do I directly obtain the CPU and GPU temperatures on Windows? I have an Intel NUC A770M. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pcm.