SFO17-403 Optimizing The Design And Implementation Of KVM/ARM - Linaro

1y ago
20 Views
8 Downloads
1.46 MB
34 Pages
Last View : 6d ago
Last Download : 3m ago
Upload by : Camden Erdman
Transcription

SFO17-403: Optimizing the Design and Implementation of KVM/ARMChristoffer Dallconnect.linaro.org

““Efficient, isolated duplicateof the real machine””–Popek and Golberg[Formal requirements for virtualizable third generation architectures ’74]ENGINEERS AND DEVICESWORKING TOGETHER

lOS KernelHypervisorHardwareHardwareNativeVirtual MachinesENGINEERS AND DEVICESWORKING TOGETHER

Hypervisor DesignType 1 HardwareENGINEERS AND DEVICESWORKING TOGETHER

Hypervisor DesignType 1 (Standalone)VMAppType 2 ardwareVMAppKernelOS KernelAppAppKernelHypervisorHardwareENGINEERS AND DEVICESWORKING TOGETHER

Hypervisor S AND DEVICESWORKING TOGETHER

ARM Virtualization ExtensionsEL0UserEL1KernelEL2HypervisorENGINEERS AND DEVICESWORKING TOGETHER

ARM VE and Xen?ENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARMHostEL0EL1AppVMAppAppKVMLinux3. HypercallKernel2. Return1. HypercallEL2switchstateApp4. ReturnKVM lowvisorENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARMHostEL0AppVMAppAppKernelEL11. HypercallEL2AppLinux2. ReturnKVMENGINEERS AND DEVICESWORKING TOGETHER

ARMv8.1 VHEEL0 AppAppVirtualization Host ExtensionsSupports running unmodifiedOSes in EL2 without using EL1EL1EL2LinuxENGINEERS AND DEVICESWORKING TOGETHER

VHE: Backwards Compatible HCR EL2.E2H complete enables and disables VHE When disabled, completely backwards compatible with ARMv8.0 Example: Xen disables VHEENGINEERS AND DEVICESWORKING TOGETHER

VHE: Expands Functionality of EL2 Expanded EL2 functionality New registers: TTBR1 EL2, CONTEXTIDR EL2 New virtual EL2 timerENGINEERS AND DEVICESWORKING TOGETHER

VHE: Support Userspace in EL0 TGE: Trap General Exceptions Routes all exceptions to EL2 VHE no longer disables EL0 stage 1 MMUEL0AppEL1EL2AppExceptionsLinuxENGINEERS AND DEVICESWORKING TOGETHER

VHE: EL2&0 Translation Regime Same page table format as EL1 Used in EL0 with TGE bit setENGINEERS AND DEVICESWORKING TOGETHER

VHE: System Register RedirectionHCR EL2.E2H 0TCR EL1mrs x0, TCR EL1TCR EL2ENGINEERS AND DEVICESWORKING TOGETHER

VHE: System Register RedirectionHCR EL2.E2H 1TCR EL1mrs x0, TCR EL1TCR EL2ENGINEERS AND DEVICESWORKING TOGETHER

VHE Register Redirectionmrs x0, TCR EL12TCR EL1ENGINEERS AND DEVICESWORKING TOGETHER

More VHE Register Redirection Some registers change bit position to be similar between EL1 and EL2 Example: CNTHTCL EL2 changes layout to match CNTKCTL EL1 with extrabitsENGINEERS AND DEVICESWORKING TOGETHER

Legacy KVM/ARM without VHELinuxEL1Run VMHypervisorKVMTrapEL2LowvisorENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM with VHELinuxRun VMEL2HypervisorKVMFunctionCallLowvisorENGINEERS AND DEVICESWORKING TOGETHER

Experimental Setup*Measurements obtained using Linux in EL2. See BKK16 talk. AMD Seattle B0 64-bit ARMv8-A 2.0 GHz AMD A1100 CPU 8-way SMP 16 GB RAM 10 GB Ethernet (passthrough)ENGINEERS AND DEVICESWORKING TOGETHER

VHE Performance at First Glance*Measurements obtained using Linux in EL2. See BKK16 talk.CPU Clock Cyclesnon-VHEVHE*Hypercall3.1813.045ENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM Optimization #1HostEL0 Avoid saving/restoringEL1 register stateAppVMAppAppKernelEL1EL2AppLinuxKVMENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM Optimization #2Host Legacy KVM/ARM designenabled/disabled virtualizationfeatures on every l/Physical interruptsDisable traps Stage 2 memory translationEL2KVM LowvisorEnable trapsENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM Optimization #2Host Leave virtualizationfeatures enabledEL0AppVMAppHost EL2 never usesstage 2 translationsand always has fullhardware access.EL2AppKernelEL1 AppLinuxKVMENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM Optimization #3 Don’t context switchthe timer on every exitfrom the VM Completely reworks thetimer code 20 patches on listENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM Optimization #4 Reduce run loop work Do work in vcpu load and vcpu put instead Called when entering/exiting run-loop Called when preempted/scheduled Requires VHEvcpu loadvcpu runloopvcpu putENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM Optimization #5 Rewrite the worldswitch codekvm arch vcpu ioctl run{.while (1) {.if (has vhe() /* static key */ret kvm vcpu vhe run(vcpu);elseret kvm call hyp( kvm vcpu run, vcpu);.}.}ENGINEERS AND DEVICESWORKING TOGETHER

Microbenchmark Results*Measurements obtained using Linux in EL2. See BKK16 talk.CPU Clock Cyclesnon-VHEVHE OPT *x86Hypercall3.1817521.437I/O Kernel3.9921.6042.565I/O User6.6657.6306.732Virtual IPI14.1552.5263.102ENGINEERS AND DEVICESWORKING TOGETHER

Application WorkloadsApplicationDescriptionKernbenchKernel compileHackbenchScheduler stressNetperfNetwork performanceApacheWeb server stressMemcachedKey-Value store

Application WorkloadsNormalized overhead(lower is better)non-VHEVHE OPT**Measurements obtained using Linux in EL2. See BKK16 CPTMPCSTRAETRRCPAehcpadehaccmeMENGINEERS AND DEVICESWORKING TOGETHER

Conclusions Optimize and redesign KVM/ARM for VHE Reduce hypercall overhead by more than 75% Better cycle counts than x86 for key hypervisor operations Network benchmark overhead reduced by 50% Key-value store workload overhead reduced by more than 80%ENGINEERS AND DEVICESWORKING TOGETHER

Upstream Status Timer patches on list Core optimization patches coming soonENGINEERS AND DEVICESWORKING TOGETHER

KVM/ARM Optimization #2 VM Kernel EL0 App App EL1 EL2 Host App App Linux KVM Legacy KVM/ARM design enabled/disabled virtualization features on every transition Virtual/Physical interrupts Stage 2 memory translation KVM Lowvisor Disable traps Enable traps

Related Documents:

May 02, 2018 · D. Program Evaluation ͟The organization has provided a description of the framework for how each program will be evaluated. The framework should include all the elements below: ͟The evaluation methods are cost-effective for the organization ͟Quantitative and qualitative data is being collected (at Basics tier, data collection must have begun)

Silat is a combative art of self-defense and survival rooted from Matay archipelago. It was traced at thé early of Langkasuka Kingdom (2nd century CE) till thé reign of Melaka (Malaysia) Sultanate era (13th century). Silat has now evolved to become part of social culture and tradition with thé appearance of a fine physical and spiritual .

On an exceptional basis, Member States may request UNESCO to provide thé candidates with access to thé platform so they can complète thé form by themselves. Thèse requests must be addressed to esd rize unesco. or by 15 A ril 2021 UNESCO will provide thé nomineewith accessto thé platform via their émail address.

̶The leading indicator of employee engagement is based on the quality of the relationship between employee and supervisor Empower your managers! ̶Help them understand the impact on the organization ̶Share important changes, plan options, tasks, and deadlines ̶Provide key messages and talking points ̶Prepare them to answer employee questions

Dr. Sunita Bharatwal** Dr. Pawan Garga*** Abstract Customer satisfaction is derived from thè functionalities and values, a product or Service can provide. The current study aims to segregate thè dimensions of ordine Service quality and gather insights on its impact on web shopping. The trends of purchases have

403-1 Occupational health and safety management system 403-2 Hazard identification, risk assessment, and incident investigation 403-3 Occupational health services 403-4 Worker participation, consultation, and communication on occupational health and safety 403-5 Worker training on occupational health and safety 403-6 Promotion of worker health

VALIC- 403(b) and ROTH 403 (b) VALIC Financial Advisors, Inc. Office: (952) 838-7800 Jeffrey Lehman, ChFC Mobile: (763) 439-7180 7650 Edinborough Way, Suite 320 National Office: (800) 892-5558 . self administering his/her 403(b) Plan. Loan Loans are optional. The District will establish through the District's Written Plan and

VALIC- 403(b) and ROTH 403 (b) VALIC Financial Advisors, Inc. Office: (952) 838-7800 Jeffrey Lehman, ChFC Mobile: (763) 439-7180 . By taking a loan from the 403(b) or any other available plan maintained by the employer (e.g., 457 Plan) Expenses That Could Qualify Under The Treasury Rules Are As Follow: