Hardware Assisted Virtualization

Tijl Deneut
Abstract
Virtualisatie is de mogelijkheid om op één fysieke machine verschillende, aparte machines te draaien. Het gevolg is dat diverse toepassingen naast elkaar draaien op dezelfde machine. Deze hardware krijgt dus meerdere workloads tegelijk te verwerken, met een invloed naar responstijd toe.
Binnen een overkoepelend project (Sizing Servers Tetra-project) is het de bedoeling om enkele aspecten van server virtualisatie te onderzoeken.

Hardware Assisted Virtualization

Abstract

Virtualisatie is de mogelijkheid om op één fysieke machine verschillende, aparte machines te draaien. Het gevolg is dat diverse toepassingen naast elkaar draaien op dezelfde machine. Deze hardware krijgt dus meerdere workloads tegelijk te verwerken, met een invloed naar responstijd toe.
Binnen een overkoepelend project (Sizing Servers Tetra-project) is het de bedoeling om enkele aspecten van server virtualisatie te onderzoeken. Zoals migratie van fysieke naar virtuele omgeving (P2V) , real life workload simulatie op een virtueel platform, stresstesting van verschillende applicaties op verschillende virtuele omgevingen tegelijk, overzicht van de mogelijke virtualisatie-platformen op de markt (en toekomstige markt), ...
Deze resultaten zijn dan bruikbaar voor de gemiddelde Vlaamse KMO.
Eén van de belangrijkste aspecten voor virtualisatie, en dan vooral server virtualisatie, is Storage onderzoek. Eén van de belangrijkste voordelen van virtualisatie is namelijk de snelle migratie van een virtuele machine van de ene host naar de andere. Dit is echter enkel mogelijk als de schijf van die virtuele machine op een gedeeld opslagmedium staat (toegankelijk voor beide hosts). Vandaar dat we ons toespitsen op SAN oplossingen.
Verder zal het virtualisatie onderzoek zich baseren, enerzijds op de technieken en anderzijds op de mogelijkheden van Full Virtualization.
We gaan dieper in op AMD-V & VT-x en hun next generation hardware virtualisaties. (Nested of Extended Page Tables).

Shared Storage
Tot voor kort was de enige oplossing in de wereld van SAN een Fibre Channel netwerk aanleggen. Voor een gemiddelde KMO is dit echter zeer duur; een totaaloplossing bestaat uit FC Switches (€ 500 en meer per poort), dure optische bekabeling, FC Host Bus Adapters en natuurlijk een FC enclosure. iSCSI is veel goedkoper, want in principe kan iedere server omgebouwd worden tot iSCSI server. Gewone SAS- of SATA-schijven; een snelle layer 2 switch en een Gigabit NIC is al wat nodig is. Het grootste voordeel is dat alle opgedane kennis over een TCP/IP en ethernet gewoon hergebruikt kan worden. Nadeel is dat FC snelheden heeft tot 4Gbps & Gigabit ethernet is in principe beperkt tot 1Gbps.
 
Ons doel is het volledig onderzoeken van iSCSI, om dit zo performant mogelijk te maken. Daarvoor gaan we enkele makkelijke en zeer effectieve tuning-parameters bepalen. We gaan dit uitmeten en testen, waarna we een eenduidig resultaat hebben. Het hoofddoel is tevens het bepalen van een zeer realistische benchmark voor de KMO. We willen niet het hoogste cijfer of alles optimaliseren voor snelheid. We zoeken optimalisatie-parameters voor een typische (OLTP-)database toepassing; MS SQL server.
Een bedrijf neemt geen storage array in gebruik met RAID-0 om enkel sequentiële acties te gaan uitvoeren.

We werken met random acties en voeren daar diverse tuning parameters op uit:
- iSCSI Tuning factoren: er zijn meerdere methodes & fabrikanten van iSCSI oplossingen.
- Netwerk-tuning: is het voldoende om enkel een apart subnet te voorzien voor iSCSI? We gaan verder en onderzoeken de impact van Jumboframes & VLANs ...
- Fysieke-tuning: Caching op schijf-controller of in het besturingssysteem zelf, partitie offsets en dergelijke worden tevens onderzocht.

Voorbeeld van concrete resultaten:
Suse Linux Enterprise Server heeft een eigen iSCSI server aan boord. Na onderzoek bleek dat deze tevens het RAM geheugen, van de server waar hij op draait, gebruikt voor lees-cache.
We tonen dit aan door “databases” van verschillende groottes naast elkaar te testen en tevens de RAM-grootte te laten variëren van 2GB naar 6GB.

Virtualisatie
In het virtualisatie hoofdstuk geven we een overzicht van de mogelijkheden op de markt. Er is tevens een case-study naar de mogelijkheden van P2V, waarbij gedacht wordt aan backup-oplossingen en implementatie in de Vlaamse KMO (Case Study voor Savaco).
De 3 grote spelers op de markt van virtualisatie zijn VMware (ESX Server), Novell Xen en Microsoft Hyper-V.
We gaan deze oplossingen ook testen met een virtuele benchmark-tool (vAPUS) die zelf werd ontwikkeld binnen het Tetra-project. We zetten de oplossingen niet alleen tegenover elkaar, maar testen ze ook op diverse server (nagelnieuwe-)hardwareoplossingen.
De nieuwste AMD Quad-Core CPU’s hebben speciale features zoals Nested Page Tables om Hardware Virtualisatie te optimaliseren, Intel heeft zijn Extended Page Tables die hetzelfde beloven.
We bekijken de impact van het draaien van 4 virtuele machines die exact hetzelfde doen met system calls naar dezelfde hardwareonderdelen.

Voorbeeld van concrete resultaten:
 
2 hardware systemen (beide Intel) en 2 virtuele platformen (namelijk Hyper-V & ESX3.5)
De Dual Xeon E5345 is een Dual QuadCore CPU (codenaam Clovertown) geklokt op 2,33GHz. De Dual Xeon E5472 @ 3GHz (codenaam Harpertown) is meer dan zomaar een gekrompen versie van de Clovertown (45nm tegenover 65nm). Hij bevat onder meer een 4-bit Radix-16 divider in plaats van een 2-bit versie bij de E5345. Ook een grote update is de nieuwere SSE-versie. Een hoger FSB en 3/4de meer cache geheugen zorgen voor het grootste voordeel. Het enige verschil tussen de 2 machines is de CPU.

Het verlies tussen een native en een virtuele ESX machine (die volledig alleen draait) bedraagt zo’n 21% (op de E5345). Terwijl onder Hyper-V het verlies tot 60% kan terugvallen. Hierbij moet meteen worden opgemerkt dat Hyper-V nog maar in het stadium van Release Candidate zit (RC0) en dat er nog geen performance optimalisatie’s op werden gedaan.
Interessanter is hoe de hardware platformen zich onderling lenen voor virtualisatie. Het verlies bij ESX is veel minder bij de nieuwere E5472 dan bij de E5345. Terwijl het verlies op de oudere Xeon nog 21% is, is dat bij de nieuwe generatie Xeons maar 15% meer.

Besluit
De meeste KMO’s hebben behoorlijk wat TCP/IP-kennis en kunnen deze talenten nu verder gebruiken om een SAN netwerk op te bouwen met behulp van het iSCSI protocol.
Verder staat op die manier de deur open voor server-virtualisatie en dus kostenbesparing. Server consolidatie is hiermee zeer efficiënt maar de KMO moet zich bewust zijn van de prestatie-impact. Logisch redeneren, opbouwen van de infrastructuur en enkele tests kunnen hier een zeer groot voordeel bij halen.
 

Bibliografie

Gestart in september 2007 als masterproef van de opleiding Master Electronica Optie Informatie- & Communicatietechnieken.

Universiteit of Hogeschool
Master Electronica - ICT
Publicatiejaar
2008
Kernwoorden
Share this on: