maandag 24 augustus 2015

High Performance Computing: De juiste storage voor maximale performance

Geschikte storage maakt HPC compleet
Als HPC wordt ingezet, is er blijkbaar vraag naar hoge performance. Computing activiteiten kunnen d.m.v. HPC in principe zeer snel worden uitgevoerd. Echter, dat wil niet zeggen dat de maximale performance van het systeem wordt behaald. Hoewel parallellisme de meerderheid van verwerkings flessenhalzen overwint, verplaatst het de performance flessenhalzen naar het storage I/O systeem.
Een systeem is zo snel als de zwakste schakel. Het is belangrijk de juiste storage te gebruiken om een HPC systeem optimaal te benutten.

HPC en storage
HPC wordt gebruikt om grote vraagstukken op te lossen. Deze worden opgedeeld in kleine berekeningen die bij elkaar het totaal antwoord vormen. Sommige berekeningen kunnen tegelijkertijd plaatsvinden, maar er zijn ook berekeningen die pas na andere uitgevoerd kunnen worden, omdat deze de output van voorgaande berekeningen nodig hebben als input. De tussentijdse uitkomsten moeten dus (tijdelijk) worden opgeslagen, om later gebruikt te kunnen worden. Als je dit tussentijds opslaan van data doet met traditionele storage, ben je aan het fietsen op een racefiets terwijl je de rem erop houdt.

Parallel storage
Belangrijk is dus dat het lezen en schrijven van data zeer snel gebeurt (dat de rem er af gaat). Dit kan op verschillende manieren bereikt worden. Zo kan er met snellere netwerken en schijven gewerkt worden, of kan er slim gebruik gemaakt worden van caching. Hoewel dat een hoop snelheidswinst kan opleveren, is parallel storage DE manier om HPC goed tot zijn recht te laten komen.

Bij HPC gebeuren berekeningen parallel omdat dit een zeer hoge snelheid oplevert. Als het opslaan van de tussentijdse uitkomsten sequentieel (na elkaar) gebeurt, dan ontstaan er opstoppingen. Pas als het ene bestand is geschreven kan er worden begonnen met het schrijven van het volgende bestand. De nieuwe opdrachten die al klaar staan om hun berekeningen uit te voeren moeten dan in verhouding erg lang wachten op de resultaten die zij nodig hebben om hun taak te vervullen. Dit kan een enorme vertraging opleveren.

Die vertraging kan worden weggenomen door met parallel storage te werken. Parallel storage houdt in dat het hardware technisch mogelijk is om parallel op te slaan (dus dat er zeg maar meerdere poortjes zijn), en dat er een parallel file systeem is dat regelt dat de bestanden ook daadwerkelijk parallel wordt opgeslagen door ze te verdelen over de 'poortjes'. Dit kan bijv. inhouden dat grote bestanden worden opgeknipt in stukjes, zodat de stukjes in parallel opgeslagen kunnen worden i.p.v. dat het grote bestand door één 'poortje' gaat.
Sommige parallele file systemen halen ook nog de meta data server weg uit het data pad tussen de computer en de storage, om nog meer snelheidswinst te behalen.

Voor meer informatie over parallel storage, zoals voordelen naast performance, zie mijn andere posts:
pNFS: Parallel is snel, en dat niet alleen...
PanFS RAID 6+ architectuur: Enorme groei in betrouwbaarheid
PanFS RAID 6+ architectuur: Performance en continuiteit




Geen opmerkingen:

Een reactie posten