- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hi All,
I want to record the LLC cache occupancy inline, where I want to add some codes to do it in DPDK. I tried to use rdmsr/rdpmc instruction to get performance counters, but I cannot find a way to record LLC cache occupancy. I guess part of the reason is that I am new to this field and the Intel Programming Manual is a little complicated to me. I cannot find the event number for LLC cache occupancy in the manual. My CPU core is Intel(R) Xeon(R) CPU E5-2650 v4.
Another alternative way I think is to use PCM api: https://github.com/opcm/pcm. Since it provides C++ API, I have to write an independent program to monitor the cache occupancy. The codes are here:
std::vector<int> cores; // a vector of cores to be monitored PCM * m = PCM::getInstance(); CoreCounterState b[12][2]; for (int cid : cores) b[cid][0] = getCoreCounterState(cid); for (int t = 0; running; t^=1){ // get data for (int cid : cores){ b[cid][t^1] = getCoreCounterState(cid); } uint64_t inst, l3miss, l2hit, l3hit, l3occupancy, local_mem _bw; for (int i = 0; i < cores.size(); i++){ int cid = cores; inst = getInstructionsRetired(b[cid], b[cid][t^1]); l3miss = getL3CacheMisses(b[cid] , b[cid][t^1]); l2hit = getL2CacheHits(b[cid] , b[cid][t^1]); l3hit = getL3CacheHits(b[cid] , b[cid][t^1]); l3occupancy = getL3CacheOccupancy(b[cid][t^1]); local_mem_bw = getLocalMemoryBW(b[cid] , b[cid][t^1]); } }
However, the performance of this program is quite low, about 1000 records/second. It is far slower than the DPDK processing rate. Could anyone please tell me why or any problem in this code?
I also tried to look at the codes in Intel CMT/CAT monitoring. But there is little documentation on how to use the API provided, and I also don't know the performance.
In a word, could I monitor LLC cache occupancy inline with fast performance? Or alternatively, could I monitor it using another program with fast performance?
Thank you!
Junzhi Gong
Link kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden

- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite