Installing and reinstalling Operating Systems can be easier to do if I maintain several virtual machines with each configuration. While this lets me compare VMs and OSs against each other, there is also a question on how the virtual environment compares against the host environment. So I’ve created a few configurations I can use for these comparisons. In particular:
| Name | Threads | Memory | Notes |
| boulder | 16 | 32GB | Host: 7840HS, Zen4; ubuntu 24.04 |
| niwot | 24 | 32GB | Host: RX 370, Zen5; ubuntu 24.04 |
| boulder-ubuntu | 8 | 16GB | ubuntu 24.04 guest |
| boulder-cachyos | 8 | 16GB | cachyos guest |
| boulder “constrainted” | 8 | 32 GB | host with taskset –cpulist |
| niwot-ubuntu | 12 | 16GB | ubuntu 24.04 guest |
| niwot-cachyos | 12 | 16GB | cachyos guest |
| niwot “constrained” | 12 | 32GB | host with taskset –cpulist |
Since I can’t dedicate the entire machine to the VM, I instead bind the VM to run with one thread bound per (hyper-threaded host) core. I also define half the memory. I can then compare this against a host “constrained” configuration that also runs on those same cores, e.g.
taskset --cpu-list 0-15:2 phoronix-test-suite batch-run coremark
The first benchmark I pick for such a comparison is coremark.
| Name | Threads | Score |
| boulder | 16 | 412415 |
| niwot | 24 | 563857 |
| boulder-ubuntu | 8 | 296640 |
| boulder-cachyos | 8 | 310674 |
| boulder “constrained” | 8 | 317576 |
| niwot-ubuntu | 12 | 356810 |
| niwot-cachyos | 12 | 369503 |
| niwot “constrained” | 12 | 401518 |
First thing to note is that the 7840 “constrained” configuration runs at 77% of the full host configuration (317576/412415) while the 370 “constrained” configuration runs at 71% (401518/563857) so running half the cores isn’t quite as large for the 370.
Next thing to notice is the Ubuntu virtual machine performance of 7840 is 93% of constrained while 370 is 88% of constrained. The net effect is the host only benchmark is 1.37x faster on 370 than 7840 but the virtual machine is only 1.20x faster. CachyOS is faster and hence it is 98% of host on 7840 and 93% of host on 370.
This is only one benchmark so will also be useful to cross-check how much these trends also apply to other workloads. I can probably also separate this to see how much the “constrained” matches the full system and then see what the virtualization overhead as two separate comparisons.
