„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 | ||
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]] | |||