Versija 5 nuo 2009-02-17 22:56:56

Išvalyti žinutę
Locked History Actions

cluster

Cluster

Cluster

Sankaupa


Apibrėžimas

Cluster (Sankaupa) - tai grupė tarpusavyje sujungtų kompiuterių, kurie labai glaudžiai bendradarbiauja, todėl galima laikyti, kad tai vienas didelis ir našus kompiuteris. Šio "kompiuterio" komponentai vienas su kitu dažniausiai sujungiami sparčiuoju vietiniu tinklu ( LAN ), kas leidžia būti daug našesniu ir spartesniu kompiuteriumi už vieną atskirą tokių pačių charakteristikų kompiuterį.


Paaiškinimai

Istorija

Sankaupų istorija yra gana miglota, nes ne kokia garsi kompiuterių gamintoja tai išrado, o, turbūt, patys pirkėjai, klientai, kuriems ėmė trūkti vieno kompiuterio galimybių, kad būtų patenkintos užgaidos bei įgyvendintos užduotys. Nors paties pirmojo "cluster'io" atsiradimo data nežinoma, tačiau oficialiai paskelbto ir aprašyto sankaupos dokumento atsiradimo data yra 1967 m., kai IBM kompiuterių architektas Gene Amdahl paviešino teoriją apie paralelinį kompiuterių darbą - Amdahl's Law. Šis dokumentas aprašė matematiškai įrodytą darbo našumo padidėjimą, kai taikoma paralelinė architektūra. Tai buvo pirmasis oficialus pranešimas, davęs Pasauliui idėja apie kompiuterių apjungimą į bendrą grupę ir nukreipiant juos vienam darbui.

Kategorijos

Našiosios sankaupos

Našiosios sankaupos (HA - High-Availability) visų pirma įgyvendinamos tam, kad pagerintų "claster'ių" teikiamų paslaugų kokybę ir patikimumą. Šios sankaupos turi keletą šalutinių mazgų, kurie yra naudojami tik tada, kai atsiranda sistemos komponentų darbo sutrikimų ar gedimų. Dažniausias ir minimalus tokių mazgų skaičius HA sankaupose yra 2 mazgai. Būtent šių mazgų "pertekliaus" dėka, galima greitai eliminuoti sistemos dalį, kurioje įvyko gedimas. HA sankaupos dažniausiai naudojamos duomenų bazėms, bylų dalybai tinkle, verslo programoms ir pardavimo servisams, tokiems kaip elektroninio verslo svetainės ar internetinis bankas. Kaip ir minėjau, pats optimaliausias HA sankaupos dydis – du darbo mazgai.

Tačiau yra daug sankaupų, kurios reikalauja kur kas daugiau mazgų. Šitoks mazgų konfigūravimas yra skirstomas į modelius:

  • aktyvus/aktyvus – visas srautas yra perduodamas kitam mazgui, jei paėmęs užduotį nebeveikia arba, jei einamasis mazgas per daug apkrautas. Tai įmanoma tik tada, kai visuose mazguose yra instaliuota identiška programinė įranga;

  • aktyvus/pasyvus – perduoda užduotis pasyviajam elementui, kai aktyvusis nebepajėgia apdoroti užduoties. Šitoks modelis dažniausiai reikalauja ir papildomos aparatinės įrangos;

  • N+1 – nustatomas vienas papildomas mazgas, kuris stebi tinkle, kuris mazgas sustojo. Mazgo programinė įranga turi būti universali, kad galėtų perimti užduotis ir kaip pirminis mazgas, ir kaip darbo mazgas.

  • N+M – sankaupa naudojama tada, kai turime grupę iš N aktyvių darbo mazgų ir grupę iš M pasyvių darbo mazgų. Tuomet įvykus klaidai grupėje N užduotį perima grupė M.

  • N į 1 – yra vienas papildomas darbo mazgas, kuris perima visas užduotis iš grupės, sudarytos iš n mazgų, tol, kol grupės darbas bus atstatytas (perkrovimas, sistemos gedimo pašalinimas).

  • N į N – tai kombinuotos aktyvus/aktyvus ir N+M sankaupos. Yra dvi grupės po N mazgų, kurie veikia aktyvus/aktyvus modeliu. Sugedus ar nepajėgiant apdoroti užduoties, ji yra perduodama kitai grupei, taip kaip perduodama N+M modelyje.

Apkrovos reguliavimo sankaupa

Apkrovos reguliavimo sankaupa (Load-Balancing cluster) ypatinga tuo, kad apkrova yra tolygiai paskirstoma galiniams taškams. Sankaupa susideda iš n darbo mazgų ir vieno ar daugiau valdančiųjų elementų. Apkrovimo balanso "klasteriai" dažniausiai taikomi serverinėse, kai vienam serveriui būna pernelyg didelis apkrovimas. Sukuriamas virtualus serveris, kuris paėmęs užduotį perduoda kitam, mažiausiai apkrautam serveriui. Taip pat labiausiai apkrautas serveris gali dalį savo užduočių perduoti į mažiausiai apkrautą serverį. Tokiu būdu sutrumpinamas užduoties vykdymo laikas.

  • cluster1.jpg

    1 pav. Apkrovos reguliavimo sankaupos schema

Spartaus įvykdymo sankaupa

Spartaus įvykdymo sankaupos tapatinamos su superkompiuteriais. Tai "claster'iai", kurie užduotis išskaido į daug mažų užduočių ir paskirsto jas tarp darbo mazgų. Tokios sankaupos dažniausiai naudojamos sudėtingiems skaičiavimams atlikti. Užduočių skaidymui ir perkėlimui į kitus darbo mazgus naudojama MPI biblioteka.

MPI standartas

MPI (Message Passing Interface) - standartas, naudojamas paskirstytosios atminties lygiagrečiuosiuose kompiuteriuose. Jį sudarant buvo pasitelktos kitų programavimo bibliotekų (PVM, Chameleon, PARMACS) ypatybės bei įvertinti naujausi teoriniai siūlymai. Svarbesnės MPI ypatybės:

  1. MPI - biblioteka, o ne programavimo kalba. Ji tik apibrėžia paprogramių vardus, parametrus ir jų funkcine paskirtį. Šias paprogrames galima naudoti Fortran 77 ir C kalbomis parašytose programose. Vartotojas programą rašo standartine programavimo kalba ir tik kompiliuodamas prijungia MPI biblioteką.
  2. MPI realizuotas išreikštinis duomenų siuntimo modelis. Apibrėžtos ne tik būtinosios programavimo priemonės, be kurių negalime užrašyti lygiagrečiojo algoritmo. MPI leidžia atlikti skaičiavimus su heterogeniškais kompiuteriais.
  3. MPI standartas apibrėžia tik funkcinę paprogramės paskirtį, bet nereglamentuoja jos realizacijos. Todėl skirtingų tipų kompiuterių gamintojai gali šias paprogrames realizuoti efektyviausiu šiam kompiuteriui būdu.
  4. MPI standartu parašyta programa be pakeitimų gali būti perkelta iš vieno tipo kompiuterio į kito tipo kompiuterį. Tai ypač svarbu kuriant matematinių algoritmų bibliotekas.


Naudota literatūra

  1. http://en.wikipedia.org/wiki/Computer_cluster

  2. http://www.wiki.kobra.ktu.lt/index.php/Pagrindinis/Klasteris

  3. http://perftuning.com/pdf/EWClustering.pdf