Bio sam na linku koji je post-ovao Dragi Tata, i Micro$oft je zaista pokušao na bedan način da zavara javnost. Da, skinuo sam Word dokumenat koji se nalazi na tom linku (imam ja OpenOffice pod linux-om
). Naime, taj tip cluster-a obezbeđuje kontinuitet servisa (mada to i nije cluster u smislu Beowulf cluster-a), u slučaju da neki kompjuter otkaže. Naime, ako imamo dva kompjutera koji su npr. DB serveri, tada ako crkne jedan, njegov posao preuzima drugi! Pa, to nema nikakve veze sa paralelnošću, to je čak suprotno od toga, to je sekvencijalnost. To je nešto najjednostavnije i najbesmislenije što sam ikad pročitao. Ne mogu da verujem da ljudi daju pare za ovo. Pa to se može za vrlo kratko vreme napraviti preko soketa, na sledeći način:
1) jedan master i jedan slave - replika
2) provera aktivnosti master-a preko soketa (ništa lakše). Čim master otkaže, istog trenutka, sekunde, stotinke slave zna za to i odmah preuzima rad.
To što mikrosoft "prodaje" nema nikakve veze sa paralelnim izvršavanjem koda, iz prostog razloga, jer kad otkaže jedan, preuzima drugi. Znači tu uvek radi samo jedan kompjuter i nema ni govora o paralelnom izvršavanju. Osim toga jedino izvorni kod OpenSource DBMS-a bi mogao da se preradi da se izvršava paralelno na više kompjutera, iz prostog razloga, jer je izvorni kod javno raspoloživ. Nikada ne bi mogao ni jedan mikrosoftov proizvod da se preradi da radi na više kompjutera paralelno jer oni imaju CloseSource politiku.
Zašto je dobro paralelno izvršavanje? Pa iz prostog razloga što više procesora paralelno rešava isti problem. Ali ti procesori se nalaze svaki na drugom kompjuteru. Svaki od tih kompjutera ima svoju memoriju u slučaju MPI-ja(valjda najbolja varijanta). Znači svaki od kompjutera/nodova daje maksimum. Više kompjutera koji paralelno rešavaju isti problem, mogu rešiti taj problem neuporedivo brže od jednog kompjutera.
Uzmimo sledeći primer u obzir:
Imamo klijente koji dolaze paralelno na naš server i zahtevaju neke kompleksne izveštaje.
U slučaju widnowsa:
To sve opslužuje jedan server, a kad on crkne (bilo zato što je crko hardver ili zato što se pojavio "invalid instruction, sa stek dump-om" ili zato što se pojavio "plavi ekran smrti" ), sve preuzima onaj drugi. To je zaista veliko opterećenje za samo jedan kompjuter, tako da će mnogi klijenti čekati, naravno samo ako takvih klijenata ima mnogo i ako su izveštaji zaista kompleksni i ako postoje jako kompleksni proračuni i obrade.
Slučaj Linux Beowulf cluster-a:
dolaze klijenti sa svojim kompleksnim zahtevima i upućuju ih serveru. Zatim server prosleđuje zahtev koji se raspodeljuje na nodove(kompjutere koji pripadaju cluster-u, kojih može biti jako mnogo). Oni te zahteve obrađuju paralelno. Ovo je prva varijanta. Druga varijanta, bi bila da server prosleđuje sve samo jednom nodu, nodu koji je najmanje opterećen. Izbor varijante zavisi od problema. Prvu varijantu Linux Beowulf klastera je inače teže napraviti. ide u nedogled. Dok se ti bavi