Cluster-computing: een geavanceerde vorm van distributed computing

c't-partner
0

Inhoudsopgave

    Inleiding

    Cluster-computing en distributed computing

    Cluster-computing is een vorm van distributed computing, vergelijkbaar met parallel of grid-computing, maar die een klasse apart vormt vanwege de vele voordelen die het biedt, zoals een hoge beschikbaarheid, load-balancing en High Performance Computing. GIGABYTE Technology presenteert deze tech-guide over cluster computing.

    De term ‘cluster’ verwijst naar een groep computers of servers die via een netwerk aan elkaar zijn gekoppeld om een grotere ‘computer’ te vormen. Een computercluster dat gebaseerd is op deze zogenaamde distributed computing architecture, bestaat meestal uit gestandaardiseerde servers, workstations of zelfs consumenten-pc’s, die via LAN of WAN met elkaar verbonden zijn. De inzet van zo’n cluster kan de prestaties en beschikbaarheid van individuele computers verbeteren. Bovendien bieden clusters over het algemeen een betere return on investment dan een grootschalige supercomputer die dezelfde prestaties levert. Om de ‘Top 500’-lijst van supercomputers in de wereld als voorbeeld te nemen: meer dan de helft daarvan maakt gebruik van een of ander cluster-systeem.

    Meer is beter

    ‘Verdeel en heers’ is niet alleen een cliché, maar geldt zeker ook voor moderne computers. Computers werkten vroeger met een enkele processor, die alle taken in de vorm van commando’s een voor een verwerkte totdat een opdracht was voltooid. Daarna ging hij verder met de volgende.

    Deze methode heeft zijn beperkingen, omdat de prestaties van de processor bepaalden hoe snel de taken konden worden voltooid. De verwerkingssnelheid en de snelheid waarmee de gegevens werden overdragen kon jarenlang worden verhoogd, maar bereikte uiteindelijk een plafond. Een oplossing hiervoor was het concept ‘parallelisme’, waarbij verschillende delen van dezelfde taak, of een aantal onderling verbonden taken, gelijktijdig door meerdere processors werden uitgevoerd.

    Cluster- en parallel-computing

    Feitelijk is cluster-computing een vorm van parallellisme. Parallellisme is effectief wanneer je meerdere berekeningen die deel uitmaken van dezelfde taak tegelijkertijd moet uitvoeren. De termen distributed- en parallel-computing worden soms door elkaar gebruikt. Het verschil tussen de twee methoden is dat bij parallel computing meerdere processors dezelfde bronnen binnen één computer delen, terwijl het bij distributed computing (waar cluster-computing onder valt) eerder gaat om het gebruik van meerdere computers die samenwerken. Dit wordt gedaan omdat voor sommige computertaken elke node onafhankelijker moet kunnen werken, terwijl voor andere taken juist een hogere mate van interconnectiviteit tussen de nodes nodig is.

    Hoe dan ook, parallellisme maakt inmiddels onderdeel uit van de manier hoe wij met technologie werken. Telkens wanneer je een zoekopdracht in je webbrowser invoert, wordt de taak in feite verdeeld over verschillende nodes op verschillende locaties. De nodes voeren hun zoekactie onafhankelijk uit; er is geen communicatie tussen hen nodig. De resultaten worden vervolgens samengevoegd en teruggestuurd naar het apparaat van de gebruiker.

    Dit is anders dan bij parallel computing, waarbij doorgaans veel gegevens moeten worden overgedragen tussen de nodes gedurende het proces. Bij parallel computing worden veelal multicore-systemen en gpu’s ter ondersteuning van cpu’s ingezet.
    Onder de overkoepelende term distributed computing vallen cluster-computing, peer-to-peer-computing, grid-computing, en andere, meer esoterische methoden. Hier richten we ons echter op cluster-computing.

    Gigabyte cluster computing

    Hoewel de twee termen soms door elkaar worden gebruikt, kan er een onderscheid worden gemaakt tussen distributed computing en parallel computing op grond van de bronnen die door de processors worden gedeeld. Sommige bronnen, zoals het werkgeheugen, zijn beter geschikt om te delen voor sommige taken.

    Distribueer en heers

    Cluster-computing, en andere vormen van gedistribueerd computergebruik waarbij taken worden verdeeld over een groot aantal kleinere computersystemen, zijn gebaseerd op een overeenkomstig principe. In multiprocessorsystemen die uit dezelfde geheugenpool putten, kan schaalbaarheid een probleem worden omdat de effectieve bandbreedte van het geheugen het groeiend aantal processors maar moeilijk kan bijhouden. Bovendien belemmert de onvermijdelijke latentie tussen processors de schaalbaarheid van het systeem. Met andere woorden, een systeem dat veel rekenbronnen deelt, loopt het risico dat er steeds meer processors worden toegevoegd zonder dat de prestaties daadwerkelijk verbeteren. Dit is niet alleen niet kosteneffectief, maar levert ook een aanzienlijk slechter rendement op.

    Naast prestaties zijn een hogere beschikbaarheid en betrouwbaarheid ook voordelen die een clustercomputersysteem heeft ten opzichte van een enkel systeem. Zelfs de beste hardware kan te lijden hebben onder gebrekkige software, zoals matig geprogrammeerde drivers. Cluster-computing biedt een aanzienlijk voordeel in termen van risicobeheer.

    Gigabyte distributed computing

    Distributed computing wordt gebruikt als overkoepelende term die ook andere vormen van parallellisme omvat, waaronder cluster-, peer-to-peer- en grid-computing.

    High Availability, Load Balancing en High Performance

    De complexiteit van een cluster-omgeving kan sterk variëren. Een eenvoudig dual node-systeem kan uit slechts twee onderling verbonden computers bestaan. Clusters kunnen worden gebruikt voor zakelijke doeleinden, of ze kunnen de data-intensieve berekeningen op zich nemen die bij wetenschappelijk onderzoek gebruikelijk zijn. Op basis van deze kenmerken kunnen clusters worden gecategoriseerd als High Availability Clusters, Load Balancing Clusters, of High Performance Computing Clusters. Zoals de namen al suggereren, bieden de verschillende typen clusters verschillende voordelen.

    • High Availability Clusters

    Het belangrijkste verkoopargument van high availability clusters is dat als een node binnen het cluster uitvalt, diens taken automatisch worden overgenomen door een andere node. Nodes binnen het cluster kunnen ook offline worden gehaald voor onderhoud zonder het werk van het hele cluster negatief te beïnvloeden. Op deze manier blijft de dienstverlening constant en ononderbroken.

    • Load Balancing Clusters

    Een gelijke verdeling van de belasting binnen een cluster is belangrijk. Een load balancer wordt gebruikt om de werklast over verschillende nodes te verdelen. Wanneer je bijvoorbeeld in je webbrowser naar iets zoekt, wordt de zoekopdracht in feite over verschillende nodes verdeeld, wat de zoekactie aanzienlijk versnelt. Load balancing-technieken verschillen per toepassing; zo maken High Availability Clusters en Load Balancing Clusters gewoonlijk gebruik van dezelfde load balancing-methoden.

    • High Performance Computing Clusters

    In de jaren negentig werd een groep consumenten-pc’s via een LAN aan elkaar gekoppeld en het Beowulf-cluster gecreëerd – het eerste voorbeeld van een High Performance Computing (HPC) Cluster gemaakt van goedkope hardware. Dergelijke clusters beschikken over superieure parallelle rekencapaciteiten, waardoor zij met name geschikt zijn voor wetenschappelijk onderzoek.

    De enorme hoeveelheden gegevens die door de nodes worden gegenereerd, worden naar elkaar overgebracht via de uiterst efficiënte, razendsnelle Message Passing Interface (MPI). Hoe de MPI automatisch de soorten nodes binnen het cluster detecteert, hoe de netwerktopologie wordt gekoppeld aan de infrastructuur van de computernode en hoe toepassingen worden geoptimaliseerd afhankelijk van de algehele bandbreedte en latentie – al deze vragen moeten worden beantwoord voordat een HPC-cluster kan worden samengesteld.

    Gigabyte High Availability Clusters, Load Balancing Clusters, High Performance Computing Clusters.

    Op basis van de kenmerken van clustercomputing-systemen, kunnen ze worden gecategoriseerd als High Availability Clusters, Load Balancing Clusters, of High Performance Computing Clusters.

    GIGABYTE servers: de aanbevolen keuze voor cluster-computing

    GIGABYTE Technology is een industrieleider op het gebied van high-performance servers en houdt de vinger aan de pols in de laatste ontwikkelingen in diverse verticale markten. GIGABYTE biedt een volledig assortiment serveroplossingen die kunnen worden ingezet in verschillende nodes en cluster-systemen, zodat GIGABYTE-klanten kunnen kiezen uit een groot aantal flexibele opties.

    Gigabyte cluster computing

    GIGABYTE heeft een volledige reeks serveroplossingen die geschikt zijn voor cluster-computing.

    GIGABYTE kan ook advies en diensten leveren aan klanten die een enorm aantal nodes moeten beheren, en die zich bezighouden met werkzaamheden zoals het opschalen of afschalen van systemen, de installatie van nieuwe besturingssystemen of het uitrollen van nieuwe applicaties. GIGABYTE kan IT-managers helpen bovenop hun cluster-computersystemen te blijven zitten en alles soepel te laten verlopen.

    Hier zijn enkele GIGABYTE server oplossingen die ten zeerste aanbevolen worden voor alle cluster-computing behoeften:

    Control nodes

    Control nodes helpen de gebruiker om het gehele cluster te beheren. Daarvoor is een dergelijk systeem sterk afhankelijk van krachtige rekenprestaties. GIGABYTE’s H-serie High Density Servers en G-serie GPU Servers bieden toonaangevende high density processorconfiguraties, aangedreven door de nieuwste Intel Xeon Scalable-processors of AMD Epyc-processors. De servers bieden grote opslagcapaciteit en ondersteuning voor verschillende soorten GPGPU-versnellers.

    Computing nodes

    Net als control nodes, vertrouwen computing nodes op krachtige processors. Naast de genoemde G-serie GPU-servers en H-serie High Density-servers, biedt GIGABYTE ook W-serie towerservers/workstations, die als standalone-chassis worden geleverd en eenvoudiger aan te passen en op te schalen zijn.

    Bedrijfskritische workloads en betrouwbare connectiviteit

    GIGABYTE’s R-serie rackservers bieden een optimale balans tussen efficiëntie en betrouwbaarheid die ideaal is voor bedrijfskritische workloads. Deze veelzijdige oplossingen zijn verkrijgbaar in verschillende formfactors en ondersteunen netwerk- en communicatiearchitecturen, waaronder Ethernet, InfiniBand (IB) en Omni-Path.

    Filesharing en opslagnodes

    GIGABYTE’s S-serie storageservers beschikken over maximaal 60 bays. Virtualisatietechnieken zoals Software Defined Storage (SDS) helpen te voldoen aan een verscheidenheid van verschillende prestatie-, capaciteits- en kostengerelateerde vereisten.

     

    GIGABYTE biedt ook het GIGABYTE Server Management (GSM), een eigen remote management console (RMC) voor meerdere servers, die gratis verkrijgbaar is. GSM kan worden gebruikt met alle GIGABYTE-servers en ondersteunt Windows en Linux. GSM omvat een complete reeks systeembeheerfuncties, zoals GSM Server, een softwareprogramma waarmee een groot cluster servers in realtime op afstand kan worden beheerd; GSM CLI, een opdrachtregelinterface voor remote beheer; GSM Agent, een softwareprogramma dat informatie ophaalt van elk knooppunt; GSM Mobile, een mobiele app die beheerders in realtime van statusupdates voorziet; en GSM Plugin, een applicatieprogramma-interface die gebruikers toegang biedt tot VMware vCenter voor realtime monitoring en management van serverclusters.

     

    Meer over

    Servers

    Deel dit artikel

    Lees ook

    GIGABYTE – de next-generation cloud-opslag

    Cloud-opslag is een belangrijke mijlpaal in de ontwikkeling van opslagtechnologie. Met het verschijnen van de next-generation-processors blijft GIGABY...

    0 Praat mee
    avatar
      Abonneer  
    Laat het mij weten wanneer er