Projekt Onyxsus

OPOZORILO!

Ta prispevek ni primeren za navdušence nad Microsoftovo novo reinkarnacijo operacijskega sistema, tokrat poimenovano Vista, kjer je filozofija ta, da se računalnik čim bolj ukvarja z nepomembnimi opravili in zabava z grafiko.

Superračunalniki so bili nekoč domena prestiža, univerz ter nekaterih velikih podjetji in raziskovalnih ustanov.

Danes ima vsako manjše podjetje praktično krajevno distribuiran manjši superračunalnik, le da se tega ne zaveda in nima enostavne tehnologije, ki bi ta superračunalnik virtualizirala, oziroma ga naredila uporaben za domača strežniška opravila. In tako mora kljub vsemu še vedno kupovati omare s strežniki in diskovnimi polji.

O čem govorim?

Priznali ali ne, danes so osebni računalniki, ki ležijo na mizah povprečnega uporabnika v službah tako zmogljivi, da je preprosto greh (NE)izkoriščati tako moč samo za pisanje dopisov in računovodske programe.

Skratka, prisiljeni smo kupovati osebne računalnike, kjer ima število jeder procesorja potenco DVA, pri čemer je obremenitev enega jedra povprečno zanemarljiva, ostali pa so tam samo zaradi lepšega, kjer ima računalnik 2 GB pomnilnika, pri čemer je vse nad 1 GB (običajno pa nad 512 MB) neizkoriščeno in pač samo zaseda režo v računalniku, kjer ima računalnik 1GB ali celo 10 GB hitro povezavo v lokalno omrežje, pri čemer je povprečni pretok podatkov na omrežnem vmesniku neprimerljivo nižji, kjer ima računalnik 400 GB diskovnega prostora in od tega je zasedenega 2 GB ali morda kakšen bajt več (tu niso všteti tisti, ki prek P2P omrežji pretočijo celotno letno produkcijo Hollywooda na lokalni disk).

Ideja, ki se je lahko upravičeno bojijo vsi proizvajalci superračunalnikov in strežniških sistemov pa je, da bi se del resursov teh osebnih računalnikov, ki tečejo V LERU, smiselno povezal v zaključeno celoto in bi se skupina osebnih računalnikov potem obnašala hkrati tudi kot zmogljiv virtualni superračunalnik (strežniška farma) in virtualno diskovno polje.

Uporabnik osebnega računalnika tako sploh ne bi občutil, da je njegov računalnik dejansko tudi del večjega sistema, ki ga lahko podjetje potem uporablja kot centralni zmogljivi strežnik (strežnike) za praktično vse informacijsko podprte funkcije v podjetju.

Ključne tehnologije, ki omogočajo, da se to dejansko da implementirati v praksi so:

1. VEČJEDERNI PROCESORJI

Večjederni procesorji na osebnih računalnikih omogočajo, da se nameni za te potrebe namensko posamezno jedro ali več jeder, pri čemer eno jedro še vedno skrbi za sam uporabniški operacijski sistem osebnega računalnika. Tako je zagotovljeno nemoteno delo osebnega računalnika, hkrati pa so odzivni časi, oziroma časi obdelav dela, ki je namenjen superračunalniku predvidljivi in vnaprej znani.

2. HITRE in RELATIVNO CENENE KOMUNIKACIJE v LANu

Kadar superračunalnik sestavljajo lokalno porazdeljeni in med seboj povezani manjši računalniki so končne performanse takšne konfiguracije neposredno odvisne od hitrosti lokalnega omrežja, ki povezuje računalnike. Današnja ethernet preklopna (switching) tehnologija s histrostmi 1 GB, 10 GB in prihodnjih 100 GB na bakru ali še bolje optičnih vlaknih to seveda zlahka omogoča.

3. DISKOVNA POLJA

Uporaba diskovnih polj je bila sprva domena strežnikov, kjer se je več diskov povezalo prek namenskega krmilnika tako, da se je kombinacija obnašala kot velik disk, ki pa je imel tudi redundanco, tako da ni prišlo do uničenja podatkov pri okvari posameznega diska.

Sedaj je ta tehnologija dostopna tudi že na osebnih računalnikih, saj večina matičnih plošč omogoča povezavo večih diskov vsaj v način RAID 0 (dva ali več diskov povezanih skupaj, da se obnašajo kot eden večji disk) ali pa RAID 1 oziroma zrcaljene, kjer se pari diskov povežejo tako, da se vsi podatki zapišejo hkrati vsaj na dva diska, pri čemer se količina razpoložljivega prostora razpolovi, hkrati pa taka konfiguracija običajno brez izgube podatkov preživi strojno okvaro diska.

Za superračunalnik, ki je predmet tega prispevka, je ključna po mojem mnenju tehnologija iSCSI, ki omogoča, da se diske poveže v diskovno polje kar prek TCP/IP protokola in ethernet LAN omrežja. Preprosto povedano, ta tehnologija zapakira blokovno orientirane diskovne ukaze SCSI v TCP/IP promet prek lokalnega omrežja.

4. VIRTUALIZACIJA

Virtualizacija je danes praktično tema številka ena v računalništvu. Program za virtualizacijo, kot je recimo VMWare, skirje računalniško strojno opremo, na kateri teče in omogoča, da več programskih strežnikov potem teče na takšni platformi znotraj virtualnega strežnika, ki prevzame vso komunikacijo s strojno opremo. Tako je strojna oprema bistveno bolje izkoriščena, saj program za virtualizacijo dinamično dodeljuje potrebne reusrse glede na potrebo posameznih programskih strežnikov (web, aplikacijski, elektronska pošta, datotečni ….) .

5. MINIMALIZACIJA PORABE ELEKTRIČNE ENERGIJE

Kadar so osebni računalniki oziroma njihovi resursi del mreže večjega virtualiziranega in krajevno porazdeljenega računalniškega sistema, potem je seveda potrebno zagotoviti, da je njihova poraba med delovanjem minimalna, hkrati pa zagotoviti tudi učinkovit prehod v stanje pripravljenosti (in nazaj v polno delovanje) kadar resursi niso potrebni (recimo ponoči ali izven denlovnega časa).

Tu verjetno nima smisla omenjati tehnologije, ki se uporablja v prenosnikh za zmanjšanje porabe. Verjetno ni nobenega razloga, da se isto tehnologijo ne uporabi tudi v osebnih računalnikih.

PREDNOSTI TAKEGA KRAJEVNO PORAZDELJENEGA VIRTUALIZIRANEGA RAČUNALNIŠKEGA SISTEMA

Za ceno, ki bi morala biti bistveno nižja od klasičnih strežniških omar, dobimo veliko računalniško moč, izraba strojne opreme osebnih računalnikov in omrežja se bistveno poveča, takšna konfiguracija seveda omogoča znano redundanco na področju diskovnih polj, ki preživi hkratno okvaro večih diskov ali v takem primeru izpad posameznih računalnikov, ki so povezani v mrežo, distribuirana obdelava omogoča, da isto nalogo izvajata dva procesorja in potem nadzorni sistem recimo logično vzame rezultat hitrejšega, ali pa celo isto nalogo da v obdelavo večim procesorjem in tako lahko primerja celo pravilnost obdelave. Odvisno pač, ali se zahtevajo zelo velike hitrosti, ali pa recimo brezhibna zanesljivost v delovanju.

REALIZACIJA

Kot rečeno, strojna oprema že obstaja pod mizami in v komunikacijskih omarah.

Za realizacijo je torej potrebna večinoma programska oprema in sistem za nadzor, ki vse skupaj poveže v delujočo celoto ter skrbi za nemoteno delovanje.

Na osebnih računalnikih mora teči čim bolj optimizirana programska oprema (nekakšen agent), ki skrbi za komunikacijo z nadzornim sistemom in obdelavo podatkov oziroma posameznih programskih niti ter delo z diskom.

Nadzorni sistem mora voditi popis vseh resursov (osebnih računalnikov ter komunikacijske opreme), ki sestavljajo krajevno distribuiran sistem, da lahko inteligentno izrablja vse sisteme (optimizacije in prilagodljivost), upravljati mora z diskovnim poljem, ki ga sestavljajo diski osebnih računalnikov, skrbeti za dodeljevanje nalog oziroma programskih niti posameznim procesorjem (nekakšna preklopna distribucija računalniških nalog, ki so večji program razbit na manjše dele), omogočati mora virtualizacijo strojne opreme tako, da je potem nameščanje programske opreme znotraj sistema čim lažje in nenazadnje skrbeti za optimizacijo celotnega sistema oziroma sprotno prilagajanje spremembam v konfiguraciji.

V prid takšni tehnologiji govori dejstvo, da je že sedaj večina strežniških programov kot so spletni strežniki, poštni strežniki, datotečni strežniki in podobno pisani večnitno, kar pomeni, da se program razscepi v več ločenih zaključenih opravil, ki strežejo zahtevam uporabnikov strežnika in ostalim opravilom. Tako je distribucija posameznih niti na ločene procesorje logična nadgradnja.

In v primeru, če komu uspe v doglednem času napisati programsko opremo, ki bo dejansko sposobna iz mreže osebnih računalnikov narediti uporaben, zgoraj opisan računalniški sistem in ga prej ne pokupijo velikani kot so IBM, prosim, da se ta ne imenuje ONYXSUS, ker bom užaljen.

Če se sprašujete, kaj se zgodi, če tajnica pomotoma ugasne računalnik, ki je del superračunalnika in kaj potem, če električarji vržejo dol celotno napajanje pač preprosto niste pravi, da bi vam uspelo in ne razumete, o čem pišem.

Osebni računalniki imajo lahko blokiran gumb za ugašanje, obstajajo brezprekinitveni napajalniki in nenazadnje morate zagotoviti, da bo redundanca delovala tako, da tudi če se pol računalnikov v mreži hipno ugasne, sistem ŠE VEDNO DELUJE. To je bistvo redundnace, ki deluje pravilno in ni samo marketinška floskula.

Če vas je strah, da bo tajnica prišla do občutljivih podatkov na disku, ki so del mrežnega namiznega superračunalnika, naj vas ne bo.

Že Microsoftovi operacijski sistemi omogočajo močno enkripcijo podatkov na disku, če pa vam ukradejo prav vse računalnike in razbijejo zaščito, se pa morate preprosto vprašati, ali se ne bi raje ukvarjali s čim drugim, recimo vzrejo ekološkega korenja?

Da pa si lažje predstavljamo kakšna je moč in mišice takšnega sistema, vzemimo podjetje z 200 osebnimi računalniki (po vseh merilih gre za manjše podjetje) in sicer:

Socialna varianta PC

Dvojederni procesor
1 GB RAM
80 GB SATA disk
1GB ethernet adapter na 1GB LAN za mrežni superračunalnik se nameni 1 jedro (skupaj 200 jedrni superračunalnik), 512 MB pomnilnika (skupaj 100 GB pomnilnika), 60 GB (skupaj 12 Tera bajtov)

Močnejša varianta PC

Dvojedrni procesor
2 GB RAM
2 x 250 GB disk
1 x 1GB ethernet
1 x 10GB ethernet

Za distribuiran sistem se nameni 1 jedro (skupaj 200 jedrni superračunalnik, pripravljen za virtualizacijo), 1 GB pomnilnika (skupaj 200 GB pomnilnika), namenski 250 GB (skupaj 50 Tera bajtov), namensko 10 GB ethernet omrežje namenjeno samo potrebam sistema.

Kljub potrebnim redundancam so to danes impresivne številke in kakšna bi bila cena takšnega strežnika oziroma omare strežnikov ne upam računati.

Sedaj lahko samo upam, da ne bo kakšen profesor na bivšem FER dal tole nalogo distribuirano med študente, da mu napišejo program in nadzorni sistem, sam pa potem pobral patente in dolarje, na dr. Onyxa pa preprosto kar pozabil (nič bati, ne bo, ker česa takega niso sposobni).

Za konec morda motiv, komur uspe to idejo spraviti v življenje, bo bila računska moč in diskovni prostor take firme z 200 zaposlenimi in eno nadzorno linux črno škatlo (BLACK BOX) velikosti 40×20 cm večja, kot je računalniška moč večine povpečnih slovenskih podjetji.

Microsoft in IBM pa v jok in na drevo, delnice pa v limito proti nič USD.

Povezave:
Self made superračunalnik (Vrana)
www.cpushare.com

Tole pa je šokantno (povezavo dobil šele po zaključku redakcije, ko je bil članek že objavljen). Koliko ljudi se že trudi s to idejo, pa še vedno nimam v Big Bangu na polici z računalniki črne škatle (LITTLE BLACK BOX), ki bi mojo firmo z 200 poceni dvojedrnimi PC, povezanimi v LAN, spremenila v namizni superračunalnik.

List of distributed computing projects
Grid computing

Advertisements

7 komentarjev to “Projekt Onyxsus”

  1. nakladac Says:

    kekec, si že slišal za projekt SETI ?

    🙂

  2. dronyx Says:

    Kaj je to SNETI?

  3. dr. Onyx Says:

    Problem projekta SETI je, da išče nezemljane v Vesolju, NE NAJDE PA NEZEMLJANOV, KI ŽIVIJO NA ZEMLJI. Po podatkih tajnih služb je največja koncentracija nezemljanov na Manhattnu v NYC, kjer je razmerje 1:850.000. Ali je kdo gledal filma Man in Black?

  4. Grid Says:

    Zadevi se reče grid computing, ja. In, surprise surprise!, zadeva niti ni tako nova, ti pa misliš, da si nas zdaj topogledno razsvetlil? Idiota!

  5. dr. Onyx Says:

    @Grid
    Če zadeva ni nova mi povej ime proizvajalca, ki dela takšno črno škatlo in kakšna je cena? Samo vprašam. MORON!

  6. Fave Says:

    Ja res je Grid. Tako zadevo bo uporabljal LHC v Cernu. Samo oni bodo superračunalnike iz celega sveta povezali skupaj. Uporabljali bodo pa za obdelavo podatkov. Tudi IJS je v to vključen.

  7. Fave Says:

    Pravzaprav jo poizkusno uporabljajo že kar nekaj časa.

Oddajte komentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

Komentirate prijavljeni s svojim WordPress.com računom. Odjava / Spremeni )

Twitter picture

Komentirate prijavljeni s svojim Twitter računom. Odjava / Spremeni )

Facebook photo

Komentirate prijavljeni s svojim Facebook računom. Odjava / Spremeni )

Google+ photo

Komentirate prijavljeni s svojim Google+ računom. Odjava / Spremeni )

Connecting to %s


%d bloggers like this: