Vad är Cluster Computing?

Cluster computing är en form av beräkning där en grupp datorer är sammanlänkade så att de kan agera som en enda enhet. Det finns ett antal skäl för människor att använda klusterdatorer för beräkningsuppgifter, allt från oförmåga att ha råd med en enda dator med beräkningskapaciteten för ett kluster, till en önskan att se till att ett datorsystem alltid är tillgängligt. Det exakta datumet då denna teknik utvecklades är okänt, och det finns konkurrerande anspråk på uppfinningskrediten, med vissa personer som tyder på att enskilda användare förmodligen utvecklade den självständigt för att möta sina datorbehov långt innan tekniken användes i industriella miljöer.

En vanlig anledning till att använda klusterberäkning är en önskan att skapa redundans i ett datornätverk för att säkerställa att det alltid kommer att vara tillgängligt och att det inte kommer att misslyckas. En vanlig applikation för denna form av datoranvändning är att vara värd för webbplatser, där klustret fördelar belastningen på besökarna över en rad maskiner så att många besökare kan ta emot. Denna teknik används även för spelservrar som används av stora grupper, för att undvika eftersläpning och inloggningsproblem.

Hög tillgänglighet (HA) klusterberäkning används ofta på detta sätt, för att skapa ett redundant nätverk som kommer att vara tillgängligt för användare hela tiden, med säkerhetsskåp om delar av klustret går sönder. Lastbalanseringskluster är designade för att hantera en stor belastning av inkommande förfrågningar och koordinerar förfrågningar på ett sätt som maximerar effektivitet och användbarhet.

En annan applikation är i stora projekt som kräver högpresterande datoranvändning. Vissa beräkningar är extremt komplexa, och de kräver användning av flera datorer som kan prata snabbt med varandra, eftersom ändringar i en kan förändra hela systemet. Till exempel körs simuleringarna som används för att testa teorier inom meteorologi ofta på datorkluster. Utan ett kluster kan beräkningen vara omöjlig att göra, eller så kan det ta mycket lång tid att bearbeta.

Cluster computing kan också användas för att fördela en arbetsbelastning i form av många små bitar av data, en teknik som kallas grid computing. I det här fallet kunde inte en enda dator hantera allt arbete, men många små datorer kan det. De olika @home-projekten använder denna teknik för att fördela en databearbetningsbelastning över ett enormt nätverk som inkluderar många hemdatorer som ställer upp för att utföra arbete när de är inaktiva.