L13 - Datacenter CPU Design Flashcards
What are some difference between server CPUs and desktop CPUs?
- higher requests rates
- a lot of processing and moving of data
- HW is shared
extra: we need high utilisation in server CPUs
Is optimising the individual server CPU design a good idea?
No. We want to optimise the whole performance and cost of the datacenter.
List CPU design considerations.
- type of core: brawny vs wimpy
- number of cores
- number of sockets
- caches hierarchy and size
- isolation mechanisms (both for security and performance)
- integration with HW accelerators
- power management
Why would one use low-end (wimpy) cores?
They consume less power. But their performance is worse.
Amdahl’s Law for Speedup
slide 15
When are brawny CPUs particularly of high interest?
Sequential parts of a program can only be made faster by using high-end CPUs.
What is the advantage of using more sockets?
more memory capacity
What is the advantage of using less sockets?
- cores are more closely integrated
- more uniform memory access
Why don’t we run each application on dedicated CPU cores?
inference (in shared caches and memory)
What does Intel’s Cache Allocation Technology achieve?
partitions highly-associative last-level cache into subsets with smaller associativity
What would the advantages of allowing some overlaps in the cache?
Two different programs may utilise cache in different parts of their execution. By letting them overlap in cache, the overall throughput may be larger.
What is datacenter tax?
CPU cycles consumed by moving data
What are front-end stalls?
overheads associated with fetching & decoding instructions
What are back-end stalls?
overheads due to data cache hierarchy and lack of instruction-level parallelism
Are workloads front-end or back-end bound?
Why?
front-end
reason: L1 cache is 100 times smaller than the typical instruction set of an application