Servervirtualisatie beoogt meestal de capaciteit van één fysieke server in te zetten voor meerdere virtuele servers. De hypervisor creëert daarbij een schijnbare werkelijkheid: het operating systeem denkt de hardware volledig te besturen, terwijl het in werkelijkheid samen met meerdere andere operating systemen de hardware deelt. Één van de drijfveren hierbij is de toenemende kracht van enkelvoudige servers: het aantal processoren per server en het aantal cores per processor neemt gestaag toe (zie ook “Hardwarevirtualisatie als gevolg van de wet van Moore“).
Dit soort multi-processor / multicore systemen worden vaak SMP-systemen genoemd: Symmetric Multi-Processor. Het belangrijkste kenmerk is dat de processoren een gezamenlijk intern geheugen delen en dat de processoren – ongeveer – gelijk aan elkaar zijn (vandaar symmetrisch, dit in tegenstelling tot bijvoorbeeld een main CPU en een grafische CPU). Een operating systeem dient zich van deze meerdere processoren bewust te zijn om er gebruik van te kunnen maken. Voor Intel processoren is die interface tussen de hardware en het operating systeem bijvoorbeeld vastgelegd in de Intel’s MultiProcessor Specification, waardoor operating systemen op eenduidige wijze de onderliggende hardware kunnen “aftasten”.
Een leverancier die het omgekeerde effect nastreeft is ScaleMP met de Versatile SMP (vSMP) oplossing. ScaleMP creëert namelijk voor het bovenliggend operating systeem de illusie dat er een reusachtige server aanwezig is: tot 128 cores en tot 1 TB intern geheugen. In werkelijkheid wordt zo’n server virtueel nagebootst door meerdere servers (of clusters van servers) via snelle verbindingen aan elkaar te koppelen. De verbindingen moeten uiteraard snel zijn, omdat anders de nadelen van de overhead niet opwegen tegen de voordelen van de parallelle processing. ScaleMP kiest de voor hand liggende optie bij deze verbindingen, namelijk InfiniBand. Operating systeem-ondersteuning beperkt zich overigens tot een aantal Linux varianten. Toepassingen zijn voornamelijk te vinden bij zwaar rekenwerk, waar veel interne geheugen – of veel parallelle processoren – voor nodig zijn.
Read Full Post »