CRIPS

From Dirty Cache Wiki
Jump to navigation Jump to search

Definition

CRIPS means SPECIntRate per Core (spelled backwards) - a measurement of the processing power of a CPU.

It is based on SPECrate® 2017 Integer [1] of a server divided by the physical number of cores.

CRIPS is calculated by dividing the SPEC CPU2017 Integer Rate Baseline number by the amount of physical cores in the server. For older SPEC2006 results, the number is divided by a factor of 10 to match the more modern SPEC2017 benchmark.

Purpose

A metric that allow us to compare server CPU performance based on throughput of a server but converted back to the system's specific CPU core.

I defined it to compare server and processing power.and as a foundation for server sizings. Converting SPECRate integer to a per-core gives us a foundation to do further calculations.

Older benchmarks

Before SPEC CPU 2017 there was SPEC CPU 2006 (now obsolete). To convert from SPEC CPU 2006 to SPEC CPU 2017, we divide the baseline number by 10 (based on empirical evidence).

Background

Why SPECrate Integer?

To compare database performance we usually look at throughput (transactions per second). As databases are highly multi-threaded, we look at the server performance rather than a single CPU's speed. To apply sizing calculations to different servers with different number of cores, we convert it to a per-core number.

Why not TPC-C, TPC-H, TPC-E?

In theory, TPC [2] would be a much better benchmark but the amount of listed servers and CPU types is quite limited. SPEC is the next-best and has nearly all server CPUs available since 2006.

Limitations

No benchmark is perfect so be aware of the limitations:

  • Statistical errors (i.e. averages over long intervals)
  • True database transactional performance vs. a CPU benchmark
  • Configuration details and optimizations (applying best practices, using the right hardware, etc)
  • Environmental variations