Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Nested SVM - Performance Discussion

Joerg Roedel

$ whoami

Joerg Roedel Work for AMD Projects: KVM and IOMMU

State of Nested SVM


Merged into the 2.6.31 Linux Kernel Significantly improved since then

Lots of bugs fixed Performance improvements Unit-Tests available

The 2.6.37-rc1 Linux-Kernel has support for emulating the Nested Paging feature

Supported Hypervisors

KVM Xen VirtualBox HyperV/VirtualPC VMware

Nested SVM Costs

SVM instructions are a lot of slower in emulation


VMRUN/VMExit VMLoad/VMSave STGI/CLGI ~7000 cycles ~ 2000 cycles each ~ 1600 cycles each

This numbers are around 5-10 times higher than in the non-emulated case

And Now: The Real Benchmarks

PCMark05 - Scores

HDD

Memory

L2 L1

CPU

10

20

30

40

50

60

70

80

90

100

PCMark05 CPU Suite


Image Decompression Audio Decompression File Decryption File Decompression File Encryption File Compression Audio Compression Image Decompression File Decryption File Encryption File Decompression File Compression 0 10 20 30 40 50 60 70 80 90 100 L2 L1

PCMark05 Memory Suite 1


Memory Copy - 4 KB Memory Copy - 192 KB Memory Copy - 8 MB Memory Copy - 16 MB Memory Write - 4 KB Memory Write - 192 KB Memory Write - 8 MB Memory Write - 16 MB Memory Read - 4 KB Memory Read - 192 KB Memory Read - 8 MB Memory Read - 16 MB 0 10 20 30 40 50 60 70 80 90 100 L2 L1

PCMark05 Memory Suite 2

Memory Latency - Random 4 KB

Memory Latency - Random 192 KB

L2 L1 Memory Latency - Random 8 MB

Memory Latency - Random 16 MB

10

20

30

40

50

60

70

80

90

100

PCMark05 HDD Suite


HDD - File Write

HDD - Virus Scan

HDD - General Usage

L2 L1

HDD - Application Loading

HDD - XP Startup

10

20

30

40

50

60

70

80

90

100

HDD Scenarios
L1-IDE-L2-IDE-Blk

L1-Virtio-L2-IDE-Blk

L1-Virtio-L2-Virtio-Blk

L1-Virtio-IDE-Blk

L1-Virtio-Blk

10

15

20

25

30

35

40

Kernel-Compile on SMP

SMP 4

SMP 2

L2 L1

SMP 1

00:00.00

02:00.00

04:00.00

06:00.00

08:00.00

10:00.00

12:00.00

Conclusions

CPU performance in Nested SVM is well today Memory performance is acceptable still room for improvement IO performance really sucks

Slow IO makes every hypervisor besides KVM slow under Nested SVM

You might also like