Software Tuning, Performance Optimization & Platform Monitoring
Discussion around monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform monitoring
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Interpreting READ / WRITE from PCM

I am trying to understand the memory output from PCM of my database server in terms of how much utliization there is.

The database server is a dual socket X5680 machine. I'm using all 3 channels of memory clocked at 800 MHz.

If I take all 3 channels of memory, would there be at best about (192 * 800 000 000) / 8 = 19 200 000 000 , or ~ 19 GByte/s of throughput? I am wondering if this is too naive (as I am guessing). Is this a bidirectional (full duplex) or is this total for both directions? Does READ / WRITE from PCM reflect this or do those numbers reflect throughput including other things than just RAM (QPI maybe?).

In a sample from my DB Server, I see it exceeds 19GByte/s, so I have a feeling there is a lot more to interpreting these columns than I am currently aware:

> summary(cpu$READ + cpu$WRITE)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.616   1.717   2.750   4.555   6.140  24.030

0 Kudos
1 Reply

Hello Kyle,
I believe you have the calculation correct except that the 19.2 GB/s is per socket.
So the total max theoretical bandwidth is 38.4 GB/s.
How close you can get to this peak bw depends on all DIMM slots being occupied and the bandwidth benchmark test being used.