Page-1
Box
Host
Host
1-D single.59
Sheet.63
Sheet.64
Sheet.65
1-D single.54
Sheet.56
Sheet.57
Sheet.58
Box.10
VM 0
VM 0
Box.2
Core 0
Core 0
Box.3
Core 1
Core 1
Box.4
Core 2
Core 2
Box.5
Core 3
Core 3
Box.6
Core 4
Core 4
Box.7
Core 5
Core 5
Box.8
Core 6
Core 6
Box.9
Core 7
Core 7
Box.11
Virtual Core 0
Virtual Core 0
Box.12
Virtual Core 1
Virtual Core 1
Box.13
Virtual Core 2
Virtual Core 2
Box.14
Virtual Core 3
Virtual Core 3
1-D single
Sheet.17
Sheet.18
Sheet.19
1-D single.20
Sheet.21
Sheet.22
Sheet.23
1-D single.28
Sheet.29
Sheet.30
Sheet.31
Box.32
DPDK Application
DPDK Application
Box.33
VM 1
VM 1
Box.34
Virtual Core 0
Virtual Core 0
Box.35
Virtual Core 1
Virtual Core 1
Box.36
DPDK Application
DPDK Application
Box.49
DPDK VM Application Reuse librte_power interface, but provide...
DPDK VM Application · Reuse librte_power interface, but provides a new implementation that forwards frequency set requests to host via Virtio-Serial channel · Each lcore has exclusive access to a single channel · Sample application re-uses l3fwd_power · A CLI for changing frequency from within a VM is also included.
1-D single.37
Sheet.38
Sheet.39
Sheet.40
Box.15
OS/Hypervisor
OS/Hypervisor
Box.55
Linux “userspace” power governor /sys/devices/system/cpu/cpuN...
Linux “userspace” power governor /sys/devices/system/cpu/cpuN/cpufreq/
Box.45
VM Power Monitor Accepts VM Commands over Virtio Serial endpo...
VM Power Monitor · Accepts VM Commands over Virtio Serial endpoints, monitored via epoll · Commands include the virtual core to be modified, using libvirt to get physical core mapping · Uses librte_power to affect frequency changes via Linux userspace power governor(APCI cpufreq) · CLI: For adding VM channels to monitor, inspecting and changing channel state, manually altering CPU frequency. Also allows for the changing of vCPU to pCPU pinning.
Box.53
VM Power Monitor Application
VM Power Monitor Application
Box.61
librte_power(vm)
librte_power(vm)
Box.48
lcore channel 0
lcore channel 0
Box.47
librte_power(vm)
librte_power(vm)
Box.46
lcore channel 1
lcore channel 1
Box.60
lcore channel 2
lcore channel 2
Box.62
lcore channel 3
lcore channel 3
Box.50
lcore channel 0
lcore channel 0
Box.52
lcore channel 1
lcore channel 1
Box.51
Endpoint Monitor(lcore channels)
Endpoint Monitor(lcore channels)
Box.25
Channel Manager
Channel Manager
Box.41
QEMU
QEMU
Box.42
libvirt
libvirt
Dynamic connector.43
Dynamic connector
Box.26
librte_power(Host)
librte_power(Host)
Dynamic connector.68
Map vCPU to pCPU
Map vCPU to pCPU
Box.27
VM Power CLI
VM Power CLI