„Párhuzamos és Grid rendszerek - Záróvizsga tételkidolgozás” változatai közötti eltérés

Fape (vitalap | szerkesztései)
Új oldal, tartalma: „== Párhuzamos rendszerek alapfogalmai == === Flynn-féle architektúra modell === {| class="wikitable" border="1" |- | colspan="2" rowspan="2" | | colspan="2" align…”
 
 
(11 közbenső módosítás, amit 3 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
{{TODO}}
{{Vissza|Párhuzamos és Grid rendszerek}}
== Párhuzamos rendszerek alapfogalmai ==
== Párhuzamos rendszerek alapfogalmai ==


48. sor: 52. sor:
== Jellegzetes architektúrák ==  
== Jellegzetes architektúrák ==  


=== Architektúrák jellemzői ===  
=== Architektúrák jellemzői (1.ea/8.dia) ===  
* Processzorok eloszlása
* Processzorok eloszlása
* Homogén vagy heterogén
* Homogén vagy heterogén
55. sor: 59. sor:


=== Masszívan párhuzamos, szimmetrikus multiprocesszoros és vektorprocesszoros rendszerek jellemzői  ===  
=== Masszívan párhuzamos, szimmetrikus multiprocesszoros és vektorprocesszoros rendszerek jellemzői  ===  
???


=== Klaszter koncepció ===  
==== Masszívan párhuzamos rendszerek jellemzői (1.ea/12.dia) ====
* Sok processzor gyors belső hálózattal
* Elosztott memória
* Sok példányban fut az operációs rendszer
 
Típusai:
* Üzenetküldéses elosztott memóriás (MDM)
* Szimmetrikus multiprocesszoros (SMP)
* Elosztott közös memória (DSM)
 
===== Szimmetrikus multiprocesszoros (SMP) (1.ea/12.dia) =====
* Sok azonos processzor közös memóriával
* Egy operációs rendszerrel
* NUMA, ccNUMA
 
==== Vektorprocesszoros rendszerek jellemzői (1.ea/4.dia) ====
* Gyors műveletvégzés vektor jellegű adatokon
 
=== Klaszter koncepció (1.ea/36.dia) ===  
* Gyors hálózattal összekapcsolt gépek
* Gyors hálózattal összekapcsolt gépek
* Gyakran közös fájlrendszer
* Gyakran közös fájlrendszer
63. sor: 84. sor:
* Paraméter study, vagy párhuzamos alkalmazások
* Paraméter study, vagy párhuzamos alkalmazások


=== Metaszámítógépek ===
Típusai:
???
* Nagy rendelkezésre állást biztosító klaszter
* Terheléskiegyenlítő klaszter
* Számítási klaszter


=== Grid rendszerek  ===  
=== Metaszámítógépek (157) (?.ea/7dia) ===
???
Az alkalmazott absztrakciós réteg eltakarja az elosztott környezetből adódó problémák egy részét, de még számos korlátozás létezik.
 
=== Grid rendszerek (158-) (??./8.dia) ===
* Számítógépek erőforrásainak egy adott cél érdekében összefogott halmaza, melyet a felhasználó egységesen, egy egészként kezelve tud elérni a Grid bármely pontjáról.
* A kezdeti intézményi gridek regionális, nemzeti, ill. világméretű gridekké nőnek, melyek erőforrásait dinamikusan és gazdaságosan lehet elosztani.
* Adat, számítási és információs gridek.
 
Típusai:
* '''Általános grid''' modell: user~donor
** Az általános Grid modell jó, de nehezen implementálható
* '''Utility grid''' modell: user >> donor
** A donorok profi erőforrás biztosítók
** Mindenki használhatja az erőforrásokat saját problémáinak megoldására
* '''Desktop/volunteer grid''' modell: user << donor
** Akárki adhat hozzá erőforrást
** Heterogén erőforrások, melyek dinamikusan be és kilépnek.
** Egy vagy kevés projekt használhatja az erőforrásokat
** Egy PC hozzáadása egyszerű


== Párhuzamosítás, programozási modellek ==
== Párhuzamosítás, programozási modellek ==
216. sor: 256. sor:
* Jól, ha több lehetséges leképezést is megvizsgáltunk.
* Jól, ha több lehetséges leképezést is megvizsgáltunk.
* Ha figyelemmel voltunk a terheléskiegyenlítésre.
* Ha figyelemmel voltunk a terheléskiegyenlítésre.
== Grid és elosztott rendszerek ==
=== Hosszú távú ütemezők ===
==== Condor ====
* Elosztott, heterogén rendszerben működik.
* Alapvetően a szabad CPU ciklusok kihasználására tervezték.
* Képes egy működő feladatot áthelyezni az egyik gépről a másikra (migráció).
* Az ún. ClassAds mechanizmussal képes a rendszerben levő változó erőforrásokat az
* igényeknek megfelelően elosztani
*  Opportunista környezet.
===== ClassAds =====
* A rendszerben levő erőforrások különböző jellemzőkkel (teljesítmény, architektúra, op. rendszer, stb.) rendelkeznek.
* A job összeállításánál ezekre a jellemzőkre igényeket lehet előírni amit a Condor előírni, rendszer megpróbál kielégíteni. (Párosítja az igényt az erőforrással)
* A job összeállításánál lehetőség van preferenciák megadására, ami alapján a Condor rangsorolni fog és kiválasztja az igénynek leginkább megfelelő gépet.
* Így nincs szükség a batch rendszerekben megszokott sorokra. (Úgyis a rosszat választanánk)
===== Futtatás lépései =====
* A job összeállítása
* Job bejelentése a Condor-nak
* Job-ot a Condor futtatja az általa kiválasztott gép(eken), szükség átmozgatja egy másik gépre.
* Job befejeződik, a Condor e-mail-t küld a felhasználónak.
==== Sun Grid Engne (SUN) ====
* A Condor-hoz hasonló ütemező.
* Queue-kat definiál.
* Hangsúlyos a terhelés kiegyensúlyozása.
* Backup master ütemező
* Check-point.
* Migrálási lehetőség.
* Négy szerepkör:
** master, submit, exec, admin,
==== Egyéb ====
* Torque (Cluster Resources)
* LoadLeveler (IBM)
* Torque (Cluster Resources)
=== Elosztott fájlrendszerek ===
==== AFS (Andrew File System) ====
* Elosztott fájlrendszer, ami fájlok megosztására alkalmas lokális és távolsági hálózaton.
* Transzparens fájlhozzáférést biztosít.
* Az NFS-hez hasonló, annak alternatívájaként jött létre.
* Ma az OpenAFS számos UNIX, LINUX, WINX platformon elérhető.
* A fő cél az volt, hogy egyetemi korlátozott sávszélességű hálózaton hatékony fájlelérést tegyenek lehetővé.
===== AFS cella =====
* Egy AFS cella alá azok a szerverek tartoznak, melyek adminisztrációja közös, és az AFS felé egyetlen közös fájlrendszert alkotnak.
* Tipikusan az egy domain név alá tartozó gépek egy AFS cellát alkotnak.
* Általában a domain név valamilyen változata a cellanév.
* A munkaállomások a felhasználókról
===== Kötetek =====
* A diszkterületet az AFS további részekre, osztja ezek az AFS kötetek.
* Az AFS kötet egy tárolóegység ami a fájlok és katalógusok adatait tárolja.
* Az AFS kötettek fájlok formájában jelennek meg a befogadó operációs rendszerben, így azok könnyen átmozgathatók, akár másik gépre is.
===== Tokenek =====
* Az AFS nem használja a UNIX felhasználói azonosítóját (UID). Ha ezt tenné, akkor minden UNIX gépen azonos UID kiosztásnak kellene lennie, mint az NFS-nél.
* Az azonosításhoz AFS tokent alkalmaznak, ami egy egyedi azonosítást tesz lehetővé.
* Egy token adott ideig (24 óra) érvényes.
===== Cache menedzser =====
* A korlátozott sávszélesség miatt a működés központi eleme a cache, ahova az éppen  használt fájlok letöltődnek.
* A cache menedzser feladata a cache-ben tárolt információk frissítése, karbantartása.
* Amennyiben a cache-ben tárolt fájlrészlet változik, úgy azt vissza kel tölteni a szervere.
* Ha a szerveren változik meg a fájl, akkor arról CallBack  technikával értesít minden cache-t.
===== Védelem =====
* A védelmi mechanizmus némileg eltér az alap UNIX védelmi rendszertől.
* A UNIX 3x3-as védelmétől pontosabban szabályozható ACL (Access Control List) segítségével.
===== Processzek =====
* Venus: AFS kliens által futtatott processz.
* Vice: AFS szerver által futtatott processz.
===== Fájl műveletek =====
* A kliens munkaállomás a szerverrel csak az open/close műveletek kiszolgálásakor kommunikál.
* A fájl megnyitásakor a Venus a teljes fájlt a cachebe tölti, és a fájl lezárásakor írja azt vissza.
* Az adatok olvasását/írását a lokális másolaton a kernel végzi.
* A Venus a katalógusokat és a szimbólikus linkeket is a lokális gyorsítótárban tárolja.
* A fenti gyorsítótárazási mechanizmus alól a katalógusok módosítása a kivétel, aminek a végrehajtásáért a közvetlenül szerver a felelős.
===== Megvalósítás =====
* A kliens oldali programok a szokásos módon, rendszerhívással  kezelik az állományokat.
* A távoli fájlok megnyitásakor Venus processzhez jut a kérés, amit az lebont az útnév alapján.
* Az alacsonyszintű I/O kezelését a befogadó operációs rendszer végzi. A gyorsítótár a lokális gép diszkjén jön létre.
===== AFS előnyei =====
* Gyorsítótárazásból fakadó előnyök:
** Lényegesen csökkenti a hálózati forgalmat.
** Alacsonyabb sávszélességnél is jól használható.
* Helyfüggetlenség:
** Az AFS a földrajzi helyet a szerver oldalon rendeli fájlnévhez. Így a névtér helyfüggetlen.
* Skálázhatóság:
** A rendszer tervezési fázisában igen nagyra (~10000 kliens) tervezték. A kliens/szerver arányt pedig 200:1-re. Mindkét értéket túlteljesíti.
* Single systems image (SSI):
** Egy fájlszerver kialakítása lényegesen egyszerűbb, mint NFS-sel.
* Fokozott biztonság:
** Kerberos használata, ACL használata
* Fájlok egyszerű megosztása
* Egyszerű rendszer menedzsment
* Robosztus
* Replika lehetőség.
===== AFS hátrányai =====
* Minden munkaállomásra installálni kell.
* Háttérszerver komplexitása.
* Tokenek érvényességének lejártából fakadó gondok.
==== Lustre ====
* Objektum-orientált elosztott fájlrendszer.
* Jól skálázható.
* Nagyméretű klaszterekhez, és nagy fájlokhoz tervezték
===== Lustre architektúra =====
* Három fő funkcionális egysége van:
** Metadata szerver (MDS), ami a fájl neveket, katalógusokat, védelmi kódokat és egyéb metaadatot tárol.
** Object storage szerverek (OSS), melyek az adatokat tárolják.
** Kliens ami az adatokat felhasználja, létrehozza.
* Az adatok logikai kötetmenedzsmenttel ellátott RAID tárolókban tárolódnak, amit az OSS és az MDS dedikált módon használ.
* Jelenleg egy módosított ext3 fájlrendszer a logikai tároló, de a SUN dolgozik a ZFS beépítésén.
* Amikor egy kliens fájlt akar elérni, először az MDS-ben meg kell keresnie.
* A fájl egyes darabjai több OSS-en tárolódhatnak, ami a kliens és az OSS között szűk keresztmetszet kialakulását gátolja.
* A kliensek nem módosítják közvetlenül az OSS-ben tárolt adatokat, hanem ezt a OSSre bízzák, szemben a GFS megoldásával.
* Ez a módszer növeli a megbízhatóságot és a hibatűrést.
==== ZFS (Zettabyte File System) ====
* 128 Bit - extra nagy kapacitás
* Pool elvű tárolók – elosztott sávszélesség és kapacitás
* Tranzakció kezelés – Copy on Write
* Snapshots (ro) és klónozás
* Adat integritás – Adat ellenőrző összeg
=== Grid rendszerek osztályozása ===
==== Grid koncepció ====
* Számítógépek erőforrásainak egy adott cél érdekében összefogott halmaza, melyet a felhasználó egységesen, egy egészként kezelve tud elérni a Grid bármely pontjáról.
* A Grid szóhasználat szándékosan utal az elektromos hálózatra (power grid).
* A kezdeti intézményi gridek regionális, nemzeti, ill. világméretű gridekké nőnek, melyek erőforrásait dinamikusan és gazdaságosan lehet elosztani.
* Adat, számítási és információs gridek.
===== Osztályozás =====
* Erőforrás donorok= D
* Erőforrás felhasználók = U
====== A Utility Gridek jellemzői ======
* A donorok profi erőforrás biztosítók (7/24 órás üzemmód)
* Hasonló erőforrások
* Mindenki használhatja az erőforrásokat saját problémáinak megoldására
* Aszimmetrikus kapcsolat a donorok és felhasználók között ( U >> D )
* pl: EGEE, CERN LHC, Open Science Grid
====== A Desktop Grid jellemzői ======
* Akárki adhat hozzá erőforrást
* Heterogén erőforrások, melyek dinamikusan be és kilépnek.
* Egy vagy kevés projekt használhatja az erőforrásokat
* Az erőforrások klienseket futtatnak: Hozzáértés csak szerver oldalon szükséges
* Aszimmetrikus reláció a donorok és felhasználók között  ( U << D )
* Előny:
** Egy PC hozzáadása egyszerű
** Installálni, karbantartani egy DG szervert sokkal egyszerűbb
* Típusai
** Global Desktop Grid
*** Cél hogy erőforrásokat gyűjtsön össze tudományos kihívások megoldására
*** Példa: BOINC (SETI@home)
** Local Desktop Grid
*** Célja, hogy egyszerűen összegyűjthetővé tegye a közeli erőforrásokat (egyetem)
==== Jogosultság delegációja ====
===== Grid biztonság =====
Biztonság alatt sokszor eltérő dolgokat értünk:
* Azonosítás/Feljogosítás/Jogok delegálása
** Az alkalmazást futtató felhasználó ne tudja jogosulatlanul használni az erőforrásokat
* Alkalmazás és köztesréteg biztonság
** Az alkalmazásokban való bizalom
** Köztesrétegben való bizalom
* Adatbiztonság
** A rendszerbe bevit/keletkező adatok csak a jogosultak számára legyenek elérhetők
** Az adatátviteli csatornák ne "csöpögjenek"
* Igen jelentős erőforráshalmaz áll jelenleg a felhasználók rendelkezésére.
===== Azonosítás, feljogosítás =====
* Azonosítás: valóban az-e akinek mondja magát
** X.509 tanúsítvánnyal (analógia: személyi igazolvány)
** PKI felhasználásával
* Feljogosítás: mely erőforrásokat használhat.
** komplex elosztott rendszerrel történik (VOMS) (lista, hogy mit kölcsönözhetek).
** erőforrás specifikus
** seite-onként eltérő lehet
** virtuális szervezetek
===== Jogok delegálása =====
* Proxy tanúsítvány:
** Rövidlejáratú és korlátozott felhasználású
** X.509 tanúsítvány (X.509 CGSI kiterjesztéssel)
** Speciális tanúsítvány, amit egy normál végfelhasználó vagy egy másik proxy ír alá
** Támogatja a delegációt (valaki nevében eljárni)
* Delegálás: második szintű proxy tanúsítvánnyal
** A távoli szerver generál proxy tanúsítványt egy új privát/publikus kulccsal, amit elküld a klienshez.
** A kliens aláírja a proxy tanúsítványt visszaküldi a szervernek.
* Így a távoli processz a kliens nevében eljárhat.
** a távoli szerver megszemélyesíti a felhasználót
=== Cloud rendszerek ===
==== Cloud rendszerek ====
* Még nagy a bizonytalanság, többen mást gondolnak róla.
* A hálózati felhőből on-line igénybe venni
** számítási, tárolási kapacitást
** alkalmazást
** egyéb erőforrást
* Lényegében Web 2.0 kiterjesztve ?
==== Softare as a Service (SaaS) ====
* Szoftver alkalmazás igénybevétele web felületen on-line módon
** Clarizen
*** teljes projektmenedzsment
** Google Docs
** SalesForce
** Office 360
==== Infrastructure/ Hardware as a Service (Iaas /HaaS) ====
* Amazon EC2
* HP
==== Platform as a Service (PaaS) ====
* Google App Engine
* Ms Azure
* Force.vom
* Amazon S3, SQS
[[Kategória:Mérnök informatikus MSc]]