In particular, the one question that keeps coming up is "Why doesn't the CPU results change when I change the number of cores (e.g., change from 12 cores to 6 cores)?"
The answer is relatively simple: you didn't change the SPECInt2006 Rate value when you changed the number of total cores that are in the system. Remember that the SPECInt2006 Rate value is a function of the server's architecture, processor architecture, and the number of processors being deployed in the server. The same server with 1 processor versus 2 processors will have completely different SPECInt2006 Rate values.
But let me explain all of this with an example. Let's say you had a design that requires 20,000 megacycles during the worst failure mode. The system you have initially chosen is 12 cores with a SPECInt2006 Rate value of 351.
With 12 cores (351 rate value), this means you have is 351/12*3333/18.75=5200 adjusted megacycles/core. In other words, the server supports 62394 adjusted megacycles. From a utilization perspective, this is 20000/62394*100=32%.
If you were to change the input requirements to use 6 cores with the same SPECInt2006 Rate value, then:
With 6 cores (351 rate value), this means you have is 351/6*3333/18.75=10399 adjusted megacycles/core. In other words, the server supports 62394 adjusted megacycles. From a utilization perspective, this is 20000/62394*100=32%.
Because the example reduced the number of cores in the system by one half, but the Specint2006 rate value didn't change, the capability of each core, measured in megacycles, was doubled. But the total amount of work the system can do is still the same. What this means is that the utilization of the server would still be the same. Incidentally, the number of cores required to support the mailbox load during the worst failure event, will be halved as the capability of each core doubled.
In the end, you must adjust both the total number of processor cores and the SPECInt2006 Rate value, if you want to see a corresponding change in the CPU utilization.