Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

De allra första oberoende testerna för Nested Paging Virtualization

Den första generationens hårdvaruvirtualisering var inget att skriva hem om ur prestandasynpunkt. I många fall inaktiverades hårdvaruvirtualisering av OEMS för att undvika problem, i andra fall var hårdvaruvirtualisering helt enkelt långsammare än de nuvarande formerna av mjukvaruvirtualisering. Det var ett steg tillbaka från den mycket optimerade VMWare binära översättningen, men naturligtvis ett steg tillbaka för att ta många steg framåt.

Vi förklarade detta i detalj här. Ett av problemen var att mjukvaruvirtualisering tacklade (virtuell) minneshantering så mycket bättre än hårdvaruvirtualisering. Första generationens hårdvaruvirtualisering – som finns i Xeon 53xx-serien och andra generationens Opterons – bör ses som ett sätt att göra det lättare att skriva en smal hypervisor. Ett av exemplen är Linux KVM, som gör bra användning av hårdvaruvirtualisering samtidigt som den undviker komplexiteten med binär översättning och paravirtualisering. I grund och botten skulle många av de nya hypervisorlösningarna inte ens vara möjliga utan tillgången på hårdvaruvirtualiseringskapacitet.

Den andra generationen av hårdvaruaccelererad virtualisering som först introducerades i den tredje generationen Opterons (AMD “Barcelona” aka K10) är mycket bättre ur prestandasynpunkt. Den erbjuder massiva taggade TLB:er som kan stödja minneshanteringen för de olika gäst-OS och hypervisorn. Intels Nehalem kommer också att använda denna teknik.

De senaste månaderna, vi har jobbat mycket hårt på en massiv benchmarkingsatsning för virtualisering. Det kommer att ta ett tag att analysera den enorma mängd data vi har genererat hittills, men vi kunde inte motstå att ge dig ett smakprov.

Benchmarks nedan har gjorts på en dubbelsocket Opteron 8356 (alltså 8 kärnor vid 2,3 GHz) maskin. Vårt quad socket-kort stöds inte av ESX, så det är därför vi begränsade våra Opteron 8356 till 2 processorer för tillfället. De specifika riktmärkena nedan gjordes på Xen 3.2.0 som distribueras med SLES 10 SP2. Fyra virtuella maskiner körs samtidigt, och varje virtuell maskin har 2 virtuella processorer som är fast kopplade till 2 fysiska kärnor. Två webbservrar, ett Oracle OLTP-test och ett DSS MySQL-test körs alla parallellt på vår dubbla opteron-server. Varje virtuell maskin har 4 GB RAM och kör Windows 2003 R2. Vi kommer att ge mycket mer benchmarkingdetaljer i den kommande artikeln.

Vi aktiverade och inaktiverade HAP i kärnparametrarna för Xen 3.2.0 (SUSE SLES 10 SP2). Åh ja, Hardware Assisted Paging är samma sak som Nested Paging, RVI (AMD marketing) och EPT (Intel marketing). Förvirrad? Skyll på Intel och AMDs marknadsföring :-). No-HAP eller No NPT benchmarks är normaliserade till 100 %.

Det finns två mycket intressanta analyser att göra från grafen ovan. För det första, Xen 3.2.0 som finns i den senaste Novell SLES 10 SP2, kan köra Windows 2003 R2 under hård stress.

I teorin har detta varit fallet ganska länge eftersom det från starten av Xen 3.0 hävdades att Xen skulle kunna köra Windows-baserade virtuella maskiner tack vare hårdvaruvirtualisering. I praktiken har alla Xen-versioner 3.0.x mycket problem med Windows som gäst-OS, frysa de virtuella maskinerna etc. Enkelt uttryckt, att köra Windows på en Xen-hypervisor innan Xen 3.2 är helt enkelt att be om problem.

Men nu kan Xen köra Windows 2003-maskiner. Vår egenutvecklade mjukvara stressar verkligen de virtuella maskinerna långt över deras maximala, så vi har goda skäl att tro att om en mjukvara överlever stresstesthelvetet som vi utsätter den för är den stabil. Vi tror Xen är nu ett gångbart (och förmodligen billigt) alternativ till VMWare ESX och Hyper-V.

För det andra, Kapslade sidtabelleräven känd som Rapid Virtualization Indexing (Japp, det är marknadsföringsnamnet 🙂 kan ge ett rejält uppsving för vissa minnesintensiva webbservrar. 31% bättre prestanda är inget att nysa åt. Låt mig påminna dig om att dessa webbservrar inte är några industristandardriktmärken som AMD kan skicka över ett team av ingenjörer för att optimera det.

Nu använde vi bara en verklig webbserver för denna benchmarking. Om du vill få en uppfattning om vilken typ av webbservermjukvara vi testade, titta här.

OLTP-testet (“Oracle Swingbench”) begränsas inte av hårddiskens prestanda. Vi testar med sex 15000 rpm seagate SAS 300 GB diskar (mer eller mindre den snabbaste hårddisken man kan få) i RAID-0 och vi har gjort samma test med tolv diskar. De extra diskarna gav en ökning på 1 %, så vårt disksystem är inte flaskhalsen.

Oracle Swingbench OLTP-testerna visar en mindre prestandaökning tack vare NPT, 7 %. Inte illa alls.

De två riktmärkena visar att den andra generationens hårdvaruvirtualisering gör skillnad. Så hårdvaruvirtualisering är en av de nya teknikerna som verkligen har en lovande framtid. Att se hur NPT verkligen driver hårdvaruvirtualisering framåt känns lite likt sättet som Voodoo 2 öppnade en ny värld av 3D-grafik på, eller hur de första dualcore-processorerna startade multicore-racet. Ganska spännande om du frågar oss, och vi känner likadant för våra kommande artiklar.

Åh och om du inte har märkt det, så erbjuder it.anandtech.com dig verkligen mycket speciellt innehåll om virtualisering. Om du är trött på att läsa samma ulliga – kopierade från mjukvaruleverantörerna – texter om virtualisering bör du börja läsa direkt här. Vi har

förklarat för dig. Läs dessa 3 artiklar och du är uppdaterad om vad som händer på virtualiseringsmarknaden. Därefter några mycket unika riktmärken på Hyper-V, VMWare ESX och Novell/Xen. AMD kontra Intel kommer – naturligtvis – att finnas där också…