Specifications

Copyright © 2008 VMware, Inc. All rights reserved. 18
Installing and Configuring Linux Guest Operating Systems
Theideaofguesthostinteractionisnotanewconcept.IthaslongbeenapartofVMwareproductsintheform
ofVMwareTools.Forexample:
TheVMwareSVGAdriversharesdatastructureswiththehypervisortoallowfasterscreenupdates.
TheVMwarehighperformancevirtualEthernetdriver,vmxnet,sharesdatastructureswiththe
hypervisortoreduceCPUoverhead.
TheVMware“balloondriverisusedbythehypervisortocontroltheguestoperatingsystem’smemory
usage.
TheVMwareToolsserviceenablestimesynchronizationbetweenhostandguest.
Whilesuchguesthostcommunicationprovidesimprovedperformanceandcanbeclassifiedas
paravirtualization,noneoftheseexamplesinvolvechangestotheunderlyingguestoperatingsystemkernel.
However,inordertoparavirtualizetheCPUandthememorymanagementunit,changes
totheguest
operatingsystemkernelarerequired.Opensourceoperatingsystems,suchasLinux,allowustomakesuch
changes.
Virtual Machine Interface
Earlyparavirtualizationrequiredoperatingsystemsandapplicationstobecertifiedonmanydifferent
kernels—somefornativehardwareandotherstorunonahypervisor.Also,thelackofastandardguesthost
interfaceledtofrequentinterfacechanges,whichinturncausedversiondependenciesbetweentheguest
operatingsystemkerneland
thehypervisor.Inordertoaddresstheseissues,VMwareproposedanew
guesthostinterface,calledVirtualMachineInterface,whichdefinesasetofhypercallsanoperatingsystem
canusetocommunicatewiththehypervisor.Fordetails,seetheParavirtualizationAPIVersion2.5
specification.Foralink,see“Resources”on
page 19.
ThestandardizedinterfaceprovidedbyVMIallowstheguestoperatingsystemkernelandthehypervisorto
evolveindependently.TheVMIspecificationalsomakesitpossibleforothervendorstoenabletheir
hypervisorstosupportguestoperatingsystemsthatuseVMI.
VMIwasdesignedtoabstractnativehardware.Thisfeature,called
transparentparavirtualization,allowsa
VMIenabledkerneltorunbothonnativehardwareandonhypervisorsthatsupporttheinterfacewithno
additionalmodificationtotheoperatingsystemkernel.
VMIcodeisincludedin32bitLinuxmainlinekernels2.6.22andabove.TheUbuntuLinuxdistribution
includesVMIsupportinversion
7.04(FeistyFawn)andlater.NovellincludesVMIsupportinSUSELinux
EnterpriseServer10SP2.ToenableVMI,seeAppendixC:EnablingVMIinaLinuxKernelandinESX3.5”
onpage 22.
VMI Performance Benefits
TheVMwareimplementationofVMIoffersanumberofperformanceandresourceutilizationbenefits:
Thesyscallentryandexitpathisfaster.Thisspeedsupsyscalldominatedworkloads.
VMIenabledLinuxkernelsbydefaultuseanalternatetimerinterruptmechanismthatresultsinreduced
physicalCPUconsumption,especiallywhenthevirtualmachineisidle,andinmoreaccurate
timekeeping,evenwhenrunningmanyvirtualmachines.
Becausetheguestkernelcommunicatestothehypervisoritsintenttoperformmemorymanagementunit
(MMU)relatedoperations,MMUvirtualizationoverheadisreduced.Dependingontheworkload,this
canhavevaryingperformancebenefits.
SMPvirtualmachinesrunningVMIenabledoperatingsystemsusesharedshadowpagetables.Asa
resulttheyhavelessmemoryspaceoverheadthanthoserunningnonVMIenabledoperatingsystems.
Formoreinformationonshadowpagetables,seethepaper“ESXServerArchitectureandPerformance
Implications.”Foralink,see“Resources”
onpage 19.