<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fape</id>
	<title>VIK Wiki - Felhasználó közreműködései [hu]</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fape"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Fape"/>
	<updated>2026-05-17T10:45:31Z</updated>
	<subtitle>Felhasználó közreműködései</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek_-_Z%C3%A1r%C3%B3vizsga_t%C3%A9telkidolgoz%C3%A1s&amp;diff=167129</id>
		<title>Párhuzamos és Grid rendszerek - Záróvizsga tételkidolgozás</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek_-_Z%C3%A1r%C3%B3vizsga_t%C3%A9telkidolgoz%C3%A1s&amp;diff=167129"/>
		<updated>2013-06-02T07:06:56Z</updated>

		<summary type="html">&lt;p&gt;Fape: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TODO}}&lt;br /&gt;
&lt;br /&gt;
== Párhuzamos rendszerek alapfogalmai ==&lt;br /&gt;
&lt;br /&gt;
=== Flynn-féle architektúra modell ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | Adat (Data)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Egy (Single)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Több (Multiple)&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | Utasítás&amp;lt;br /&amp;gt;(Instructions)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Egy (Single)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Serial machine (SISD)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Vektor processzor (SIMD)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Több (Multiple)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Pipelines (MISD)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Multiprocesszor (MIMD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Idealizált párhuzamos gép modellje  ===&lt;br /&gt;
* Több processzor egyazon problémán dolgozik.&lt;br /&gt;
* Minden processzornak saját memóriája és címtartománya van. &lt;br /&gt;
* Üzenetekkel koordinálnak és adatokat is tudnak átadni.&lt;br /&gt;
* A lokális memória elérése gyorsabb.&lt;br /&gt;
* Az átviteli sebesség független a csatorna forgalmától.&lt;br /&gt;
&lt;br /&gt;
=== Teljesítményméréshez kapcsolódó fogalmak ===&lt;br /&gt;
* Sebességnövekedés (Speed Up):  &amp;lt;math&amp;gt;S_n=\frac{T_s}{T_n}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;S_n&amp;lt;/math&amp;gt;: N processzorral elért sebességnövekedés, &lt;br /&gt;
** &amp;lt;math&amp;gt;T_s&amp;lt;/math&amp;gt;: futási idő soros végrehajtás esetén, &lt;br /&gt;
** &amp;lt;math&amp;gt;T_n&amp;lt;/math&amp;gt;: futási idő N processzor esetén&lt;br /&gt;
* Hatékonyság (Efficiency): &amp;lt;math&amp;gt;E_n = \frac{S_n}{N}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;E_n&amp;lt;/math&amp;gt;: N processzorral elért hatékonyság &lt;br /&gt;
** &amp;lt;math&amp;gt;S_n&amp;lt;/math&amp;gt;: N processzorral elért sebességnövekedés&lt;br /&gt;
** &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;: processzorok száma&lt;br /&gt;
* Redundancia (Redundancy): &amp;lt;math&amp;gt;r = \frac{C_p}{C_s}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;: párhuzamos program redundanciája&lt;br /&gt;
** &amp;lt;math&amp;gt;C_p&amp;lt;/math&amp;gt;: párhuzamos program műveleteinek száma&lt;br /&gt;
** &amp;lt;math&amp;gt;C_s&amp;lt;/math&amp;gt;: soros program műveleteinek száma&lt;br /&gt;
* Amdahl-féle felső határ, N processzorral elértető sebességnövekedés felső határa: &amp;lt;math&amp;gt;S_a = \frac{1}{s+\frac{1-s}{N}}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;: a feladat nem párhuzamosítható része&lt;br /&gt;
** &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;: processzorok száma&lt;br /&gt;
** Az &amp;lt;math&amp;gt;\frac{1-s}{N}&amp;lt;/math&amp;gt;  tagot elhagyva: &amp;lt;math&amp;gt;Sa &amp;lt; \frac{1}{s}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jellegzetes architektúrák == &lt;br /&gt;
&lt;br /&gt;
=== Architektúrák jellemzői === &lt;br /&gt;
* Processzorok eloszlása&lt;br /&gt;
* Homogén vagy heterogén&lt;br /&gt;
* A kapcsolat késleltetése és sávszélessége&lt;br /&gt;
* Topológia: Háló, gyűrű, fa, hiperkocka, teljes összeköttetés&lt;br /&gt;
&lt;br /&gt;
=== Masszívan párhuzamos, szimmetrikus multiprocesszoros és vektorprocesszoros rendszerek jellemzői  === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Klaszter koncepció === &lt;br /&gt;
* Gyors hálózattal összekapcsolt gépek&lt;br /&gt;
* Gyakran közös fájlrendszer&lt;br /&gt;
* CPU vagy tárolási kapacitás növelése&lt;br /&gt;
* Paraméter study, vagy párhuzamos alkalmazások&lt;br /&gt;
&lt;br /&gt;
=== Metaszámítógépek === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Grid rendszerek  === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
== Párhuzamosítás, programozási modellek ==&lt;br /&gt;
&lt;br /&gt;
=== Elosztott memória, üzenetküldés, közös memória ===&lt;br /&gt;
* Elosztott memória használatának előnyei&lt;br /&gt;
** Skálázható&lt;br /&gt;
** Költségkímélő&lt;br /&gt;
** A redundancia növelésével növekedhet a megbízhatóság&lt;br /&gt;
** Speciális feldolgozó eszközökkel is együttműködik&lt;br /&gt;
* Elosztott memória használatának hátrányai&lt;br /&gt;
** Kommunikáció igényes&lt;br /&gt;
** Nem minden algoritmus párhuzamosítható így&lt;br /&gt;
** A meglevő soros programokat és a közös memóriát használó alkalmazásokat át kell dolgozni&lt;br /&gt;
** Jó speed up értékeket nehéz elérni&lt;br /&gt;
** Nehéz nyomkövethetőség&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamos programozási nyelvek és jellemzői === &lt;br /&gt;
* Linda – közös memória modell, Tuple Space.&lt;br /&gt;
** Egyszerű modell, de implementációs nehézségek vannak, főleg az üzenetküldéses architektúrákon.&lt;br /&gt;
* Express – elosztott memória modell 160 C-ből és fortranból hívható rutin.&lt;br /&gt;
* PVM – elosztott memória modell 70 C-ből és fortranból hívható rutin.&lt;br /&gt;
** &amp;quot;Szegények&amp;quot; szuperkomputere:  a szabad CPU kapacitások összegyűjthetők a munkaállomásokról és a PC-ről&lt;br /&gt;
* MPI- szabványos, a gyártók által elfogadott, speciális hw. környezetet is támogató fejl. környezet.&lt;br /&gt;
** nem igényli a virtuális gép előzetes felépítését,mert a teljes kommunikációs séma az alkalmazáshoz szerkesztődik.&lt;br /&gt;
* OpenMp&lt;br /&gt;
** Szálakkal történő párhuzamosítás macerás.&lt;br /&gt;
** Nyelvi kiterjesztés&lt;br /&gt;
** A programozó a funkcionalitásra koncentrálhat.&lt;br /&gt;
** A párhuzamosítás csak lehetőség.&lt;br /&gt;
** Shared memóriás párhuzamosítás&lt;br /&gt;
** Ipari szabvány&lt;br /&gt;
* Cn nyelv&lt;br /&gt;
** Standard Ansi C + 2 új kulcsszó (poly és mono)&lt;br /&gt;
* Cuda&lt;br /&gt;
** GPU&lt;br /&gt;
*** A programozható vertex és fragment shaderek beépítésével általános célú eszközzé vált.&lt;br /&gt;
*** Vektorprocesszor (SIMD), de pipeline egységek is vannak benne (MISD).&lt;br /&gt;
** Ún. thread modell (SIMT)&lt;br /&gt;
** A szálak ütemezésével nem kell a programozónak foglalkozni.&lt;br /&gt;
** Elrejti a konkrét architektúrát&lt;br /&gt;
** Támogatja a heterogén feldolgozás (CPU+GPU)&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamosítási stratégiák === &lt;br /&gt;
* Kényszerű&lt;br /&gt;
** A program soros változatát futtatjuk párhuzamosan különböző adatokkal.&lt;br /&gt;
** Csak akkor kielégítő módszer, ha a soros változat elviselhető futási idejű.&lt;br /&gt;
* Ciklusok párhuzamosítása&lt;br /&gt;
** Akkor alkalmazható, ha az egyes iterációk függetlenek egymástól&lt;br /&gt;
* Felosztó párhuzamosítás (master / slave)&lt;br /&gt;
** Egy felügyelő taszk fut az egyik node-on&lt;br /&gt;
** Akkor alkalmazható, ha a felügyelő program feladatai egyszerűbbek mint a többi taszk feladatai.&lt;br /&gt;
** Ha a taszkok függetlenek egymástól, akkor jól skálázható a taszkok számának változtatásával.&lt;br /&gt;
* Egymást követő&lt;br /&gt;
** Minden node a következő node-nak adja tovább a részben feldolgozott adatot.&lt;br /&gt;
** Akkor használható, ha a soros része a feldolgozásnak lényegesen rövidebb, mint a párhuzamos rész.&lt;br /&gt;
** Rendszerint minden node azonos kódot futtat.&lt;br /&gt;
** Különösen alkalmas a gyűrű topológiához.&lt;br /&gt;
* Régiók párhuzamosítása&lt;br /&gt;
** Az adatfüggőség régiókba lokalizálható.&lt;br /&gt;
** Akkor használható, soros végrehajtási idő nagyobb mint a párhuzamos.&lt;br /&gt;
** Rendszerint nagy kommunikációigényű.&lt;br /&gt;
** Legbonyolultabb.&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamos algoritmusok tervezése === &lt;br /&gt;
* Nem egyszerű.&lt;br /&gt;
* Kreativitást igényel.&lt;br /&gt;
* Számos iterációt tartalmaz.&lt;br /&gt;
* Nincs egyszerű recept.&lt;br /&gt;
* Vannak betartható, ajánlott lépések, módszerek.&lt;br /&gt;
&lt;br /&gt;
=== Taszk/csatorna modell jellemzői === &lt;br /&gt;
* minden taszk szekvenciális programot futtat &lt;br /&gt;
* minden taszknak van saját memóriája&lt;br /&gt;
* taszkok csatornákkal kapcsolódnak,&lt;br /&gt;
* a csatornák üzenetsorokat valósítanak meg&lt;br /&gt;
* taszkok konkurensek, van lokális memóriájuk &lt;br /&gt;
* küldés aszinkron, fogadás szinkron&lt;br /&gt;
* csatornához in/out portokkal csatlakoznak&lt;br /&gt;
* taszkok tetszőlegesen rendelhetők össze a processzorokkal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A modell közvetlenül hozzárendelhető az idealizált számítógéphez.&lt;br /&gt;
* A taszk egy soros kódot reprezentál.&lt;br /&gt;
* A csatorna processzorok közötti kommunikációt valósít meg.&lt;br /&gt;
* A taszk működése független a taszkprocesszor összerendeléstől, taszkok számától.&lt;br /&gt;
* Moduláris felépítést tesz lehetővé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Az üzenet egy adott taszknak szól, ezért kevésbé absztrakt, mint a csatorna.&lt;br /&gt;
* Az általános üzenetküldéses modell szerint nem lehet dinamikusan új taszkot létrehozni. (Több megvalósításban lehet.)&lt;br /&gt;
* Egy processzor csak egy taszkot futtathat. (Több megvalósításban ez sem korlát.)&lt;br /&gt;
&lt;br /&gt;
=== PCAM módszertan === &lt;br /&gt;
==== Particionálás ====&lt;br /&gt;
Sok kis részfeladatokra osztás. NEM veszi figyelembe a fizikai gép HW/SW adottságait.  Párhuzamosítható részek felderítése.&lt;br /&gt;
* Domén dekompozíció: &lt;br /&gt;
** Adat vagy paramétertér felosztása. Az adat lehet input, output, vagy közbülső adat. &lt;br /&gt;
* Funkcionális dekompozíció: &lt;br /&gt;
** Az algoritmus felosztása olyan részekre, melyek párhuzamosíthatók. &lt;br /&gt;
** Alapvetően a feladat funkcióiból adódik. &lt;br /&gt;
** Az adatokra is figyelni kell. &lt;br /&gt;
** Tipikus példa, amikor az adatok particionálása nem járható: keresés fában. – funkcionálisan viszont bontható&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a particionálás? =====&lt;br /&gt;
* Jól, ha particionálással kapott taszkok száma nagyságrendileg több mint a proc. száma.&lt;br /&gt;
* Jól, ha redundancia mentes.&lt;br /&gt;
* Jól ha a taszkok mérete hasonló.&lt;br /&gt;
* Jól, ha a probléma méretével a taszkok száma is nő.&lt;br /&gt;
&lt;br /&gt;
==== Kommunikáció megtervezése ==== &lt;br /&gt;
Részfeladatok közötti adatcsere és szinkronizációs séma kialakítása.&lt;br /&gt;
* Kis környezetű (local) és globális&lt;br /&gt;
** a taszkok csak kis környezetükben (szomszéd), vagy sok másik taszkkal is kommunikálnak.&lt;br /&gt;
* Strukturált és nem strukturált&lt;br /&gt;
** rács, gyűrű, ... vagy más&lt;br /&gt;
* Statikus és dinamikus&lt;br /&gt;
** végrehajtás közben változik&lt;br /&gt;
* Szinkron vagy aszinkron&lt;br /&gt;
** koordináció hiánya&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a kommunikáció? ===== &lt;br /&gt;
* Jól, ha közel azonos számú kommunikációt végez minden taszk.&lt;br /&gt;
* Jól, ha a taszkok csak lokális környezetükkel kommunikálnak.&lt;br /&gt;
* Jól, ha kommunikáció konkurensen párhuzamosan zajlik. &lt;br /&gt;
* Különböző taszkok konkurensen kommunikálnak.&lt;br /&gt;
&lt;br /&gt;
==== Agglomeráció ==== &lt;br /&gt;
Részfeladatok nagyobb egységekbe gyűjtése a hatékonyságnövelés érdekében. A tényleges párhuzamos gép kommunikációs adottságait is figyelembe véve a részfeladatokat nagyobb egységekbe gyűjtjük.&lt;br /&gt;
Agglomeráció szükségessége:&lt;br /&gt;
* A kommunikáció &amp;quot;költséges&amp;quot;&lt;br /&gt;
* A kommunikáció szükségtelen szinkronizációt okoz&lt;br /&gt;
* Térfogat-felület effektus (számítás/kommunikáció arány)&lt;br /&gt;
* Flexibilitás megtartása&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült az agglomeráció? ===== &lt;br /&gt;
* Jól, ha jelentősen növekedett a lokális kommunikáció&lt;br /&gt;
* Jól, ha a skálázhatóság nem romlott.&lt;br /&gt;
* Jól, ha az összevont taszkok mérete közel azonos.&lt;br /&gt;
* Jól, ha a probléma méretével növekszik a taszkok száma.&lt;br /&gt;
* Jól, ha a már nem vonhatók össze feladatok anélkül, hogy a skálázhatóság vagy a terheléskiegyenlíthetőség ne romlana.&lt;br /&gt;
&lt;br /&gt;
==== Leképezés ==== &lt;br /&gt;
Tényleges HW/SW környezet figyelembe vétele, leképezés a fizikai gépre. A részfeladatok processzorhoz/ feldolgozó elemhez rendelése.  Jelentősen befolyásolhatja a terheléskiegyenlítést, ütemezési algoritmust.&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a leképezés? ===== &lt;br /&gt;
* Jól, ha nem keletkezett szűk keresztmetszet a programban.&lt;br /&gt;
* Jól, ha több lehetséges leképezést is megvizsgáltunk.&lt;br /&gt;
* Ha figyelemmel voltunk a terheléskiegyenlítésre.&lt;br /&gt;
&lt;br /&gt;
== Grid és elosztott rendszerek ==&lt;br /&gt;
&lt;br /&gt;
=== Hosszú távú ütemezők ===&lt;br /&gt;
&lt;br /&gt;
==== Condor ====&lt;br /&gt;
* Elosztott, heterogén rendszerben működik.&lt;br /&gt;
* Alapvetően a szabad CPU ciklusok kihasználására tervezték.&lt;br /&gt;
* Képes egy működő feladatot áthelyezni az egyik gépről a másikra (migráció).&lt;br /&gt;
* Az ún. ClassAds mechanizmussal képes a rendszerben levő változó erőforrásokat az&lt;br /&gt;
* igényeknek megfelelően elosztani&lt;br /&gt;
*  Opportunista környezet.&lt;br /&gt;
&lt;br /&gt;
===== ClassAds =====&lt;br /&gt;
* A rendszerben levő erőforrások különböző jellemzőkkel (teljesítmény, architektúra, op. rendszer, stb.) rendelkeznek.&lt;br /&gt;
* 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)&lt;br /&gt;
* 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.&lt;br /&gt;
* Így nincs szükség a batch rendszerekben megszokott sorokra. (Úgyis a rosszat választanánk)&lt;br /&gt;
&lt;br /&gt;
===== Futtatás lépései =====&lt;br /&gt;
* A job összeállítása&lt;br /&gt;
* Job bejelentése a Condor-nak&lt;br /&gt;
* Job-ot a Condor futtatja az általa kiválasztott gép(eken), szükség átmozgatja egy másik gépre.&lt;br /&gt;
* Job befejeződik, a Condor e-mail-t küld a felhasználónak.&lt;br /&gt;
&lt;br /&gt;
==== Sun Grid Engne (SUN) ==== &lt;br /&gt;
* A Condor-hoz hasonló ütemező.&lt;br /&gt;
* Queue-kat definiál.&lt;br /&gt;
* Hangsúlyos a terhelés kiegyensúlyozása.&lt;br /&gt;
* Backup master ütemező&lt;br /&gt;
* Check-point.&lt;br /&gt;
* Migrálási lehetőség.&lt;br /&gt;
* Négy szerepkör:&lt;br /&gt;
** master, submit, exec, admin,&lt;br /&gt;
&lt;br /&gt;
==== Egyéb ====&lt;br /&gt;
* Torque (Cluster Resources)&lt;br /&gt;
* LoadLeveler (IBM)&lt;br /&gt;
* Torque (Cluster Resources)&lt;br /&gt;
&lt;br /&gt;
=== Elosztott fájlrendszerek ===&lt;br /&gt;
&lt;br /&gt;
==== AFS (Andrew File System) ==== &lt;br /&gt;
* Elosztott fájlrendszer, ami fájlok megosztására alkalmas lokális és távolsági hálózaton.&lt;br /&gt;
* Transzparens fájlhozzáférést biztosít.&lt;br /&gt;
* Az NFS-hez hasonló, annak alternatívájaként jött létre.&lt;br /&gt;
* Ma az OpenAFS számos	 UNIX, LINUX, WINX platformon elérhető.&lt;br /&gt;
* 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é.&lt;br /&gt;
&lt;br /&gt;
===== AFS cella =====&lt;br /&gt;
* 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.&lt;br /&gt;
* Tipikusan az egy domain név alá tartozó gépek egy AFS cellát alkotnak. &lt;br /&gt;
* Általában a domain név valamilyen változata a cellanév.&lt;br /&gt;
* A munkaállomások a felhasználókról&lt;br /&gt;
&lt;br /&gt;
===== Kötetek =====&lt;br /&gt;
* A diszkterületet az AFS további részekre, osztja ezek az AFS kötetek. &lt;br /&gt;
* Az AFS kötet egy tárolóegység ami a fájlok és katalógusok adatait tárolja. &lt;br /&gt;
* 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.&lt;br /&gt;
===== Tokenek =====&lt;br /&gt;
* 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. &lt;br /&gt;
* Az azonosításhoz AFS tokent alkalmaznak, ami egy egyedi azonosítást tesz lehetővé. &lt;br /&gt;
* Egy token adott ideig (24 óra) érvényes.&lt;br /&gt;
&lt;br /&gt;
===== Cache menedzser =====&lt;br /&gt;
* 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.&lt;br /&gt;
* A cache menedzser feladata a cache-ben tárolt információk frissítése, karbantartása.&lt;br /&gt;
* Amennyiben a cache-ben tárolt fájlrészlet változik, úgy azt vissza kel tölteni a szervere.&lt;br /&gt;
* Ha a szerveren változik meg a fájl, akkor arról CallBack  technikával értesít minden cache-t.&lt;br /&gt;
&lt;br /&gt;
===== Védelem =====&lt;br /&gt;
* A védelmi mechanizmus némileg eltér az alap UNIX védelmi rendszertől. &lt;br /&gt;
* A UNIX 3x3-as védelmétől pontosabban szabályozható ACL (Access Control List) segítségével.&lt;br /&gt;
&lt;br /&gt;
===== Processzek =====&lt;br /&gt;
* Venus: AFS kliens által futtatott processz. &lt;br /&gt;
* Vice: AFS szerver által futtatott processz.&lt;br /&gt;
&lt;br /&gt;
===== Fájl műveletek =====&lt;br /&gt;
* A kliens munkaállomás a szerverrel csak az open/close műveletek kiszolgálásakor kommunikál. &lt;br /&gt;
* 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. &lt;br /&gt;
* Az adatok olvasását/írását a lokális másolaton a kernel végzi. &lt;br /&gt;
* A Venus a katalógusokat és a szimbólikus linkeket is a lokális gyorsítótárban tárolja. &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
===== Megvalósítás =====&lt;br /&gt;
* A kliens oldali programok a szokásos módon, rendszerhívással  kezelik az állományokat. &lt;br /&gt;
* A távoli fájlok megnyitásakor Venus processzhez jut a kérés, amit az lebont az útnév alapján. &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
===== AFS előnyei =====&lt;br /&gt;
* Gyorsítótárazásból fakadó előnyök:&lt;br /&gt;
** Lényegesen csökkenti a hálózati forgalmat.&lt;br /&gt;
** Alacsonyabb sávszélességnél is jól használható.&lt;br /&gt;
* Helyfüggetlenség:&lt;br /&gt;
** Az AFS a földrajzi helyet a szerver oldalon rendeli fájlnévhez. Így a névtér helyfüggetlen.&lt;br /&gt;
* Skálázhatóság:&lt;br /&gt;
** 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.&lt;br /&gt;
* Single systems image (SSI):&lt;br /&gt;
** Egy fájlszerver kialakítása lényegesen egyszerűbb, mint NFS-sel.&lt;br /&gt;
* Fokozott biztonság:&lt;br /&gt;
** Kerberos használata, ACL használata&lt;br /&gt;
* Fájlok egyszerű megosztása&lt;br /&gt;
* Egyszerű rendszer menedzsment&lt;br /&gt;
* Robosztus&lt;br /&gt;
* Replika lehetőség.&lt;br /&gt;
&lt;br /&gt;
===== AFS hátrányai =====&lt;br /&gt;
* Minden munkaállomásra installálni kell.&lt;br /&gt;
* Háttérszerver komplexitása.&lt;br /&gt;
* Tokenek érvényességének lejártából fakadó gondok.&lt;br /&gt;
&lt;br /&gt;
==== Lustre ====&lt;br /&gt;
* Objektum-orientált elosztott fájlrendszer.&lt;br /&gt;
* Jól skálázható.&lt;br /&gt;
* Nagyméretű klaszterekhez, és nagy fájlokhoz tervezték&lt;br /&gt;
&lt;br /&gt;
===== Lustre architektúra =====&lt;br /&gt;
* Három fő funkcionális egysége van:&lt;br /&gt;
** Metadata szerver (MDS), ami a fájl neveket, katalógusokat, védelmi kódokat és egyéb metaadatot tárol.&lt;br /&gt;
** Object storage szerverek (OSS), melyek az adatokat tárolják. &lt;br /&gt;
** Kliens ami az adatokat felhasználja, létrehozza. &lt;br /&gt;
* 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.&lt;br /&gt;
* Jelenleg egy módosított ext3 fájlrendszer a logikai tároló, de a SUN dolgozik a ZFS beépítésén. &lt;br /&gt;
* Amikor egy kliens fájlt akar elérni, először az MDS-ben meg kell keresnie.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Ez a módszer növeli a megbízhatóságot és a hibatűrést.&lt;br /&gt;
&lt;br /&gt;
==== ZFS (Zettabyte File System) ====&lt;br /&gt;
* 128 Bit - extra nagy kapacitás&lt;br /&gt;
* Pool elvű tárolók – elosztott sávszélesség és kapacitás&lt;br /&gt;
* Tranzakció kezelés – Copy on Write&lt;br /&gt;
* Snapshots (ro) és klónozás&lt;br /&gt;
* Adat integritás – Adat ellenőrző összeg&lt;br /&gt;
&lt;br /&gt;
=== Grid rendszerek osztályozása ===&lt;br /&gt;
&lt;br /&gt;
==== Grid koncepció ==== &lt;br /&gt;
* 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.&lt;br /&gt;
* A Grid szóhasználat szándékosan utal az elektromos hálózatra (power grid).&lt;br /&gt;
* 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.&lt;br /&gt;
* Adat, számítási és információs gridek.&lt;br /&gt;
&lt;br /&gt;
===== Osztályozás =====&lt;br /&gt;
* Erőforrás donorok= D&lt;br /&gt;
* Erőforrás felhasználók = U&lt;br /&gt;
&lt;br /&gt;
====== A Utility Gridek jellemzői ======&lt;br /&gt;
* A donorok profi erőforrás biztosítók (7/24 órás üzemmód) &lt;br /&gt;
* Hasonló erőforrások &lt;br /&gt;
* Mindenki használhatja az erőforrásokat saját problémáinak megoldására&lt;br /&gt;
* Aszimmetrikus kapcsolat a donorok és felhasználók között ( U &amp;gt;&amp;gt; D )&lt;br /&gt;
* pl: EGEE, CERN LHC, Open Science Grid&lt;br /&gt;
&lt;br /&gt;
====== A Desktop Grid jellemzői ======&lt;br /&gt;
* Akárki adhat hozzá erőforrást&lt;br /&gt;
* Heterogén erőforrások, melyek dinamikusan be és kilépnek.&lt;br /&gt;
* Egy vagy kevés projekt használhatja az erőforrásokat&lt;br /&gt;
* Az erőforrások klienseket futtatnak: Hozzáértés csak szerver oldalon szükséges&lt;br /&gt;
* Aszimmetrikus reláció a donorok és felhasználók között  ( U &amp;lt;&amp;lt; D )&lt;br /&gt;
* Előny:&lt;br /&gt;
** Egy PC hozzáadása egyszerű&lt;br /&gt;
** Installálni, karbantartani egy DG szervert sokkal egyszerűbb&lt;br /&gt;
* Típusai&lt;br /&gt;
** Global Desktop Grid&lt;br /&gt;
*** Cél hogy erőforrásokat gyűjtsön össze tudományos kihívások megoldására&lt;br /&gt;
*** Példa: BOINC (SETI@home)&lt;br /&gt;
** Local Desktop Grid&lt;br /&gt;
*** Célja, hogy egyszerűen összegyűjthetővé tegye a közeli erőforrásokat (egyetem)&lt;br /&gt;
&lt;br /&gt;
==== Jogosultság delegációja ====&lt;br /&gt;
&lt;br /&gt;
===== Grid biztonság =====&lt;br /&gt;
Biztonság alatt sokszor eltérő dolgokat értünk:&lt;br /&gt;
* Azonosítás/Feljogosítás/Jogok delegálása&lt;br /&gt;
** Az alkalmazást futtató felhasználó ne tudja jogosulatlanul használni az erőforrásokat&lt;br /&gt;
* Alkalmazás és köztesréteg biztonság&lt;br /&gt;
** Az alkalmazásokban való bizalom&lt;br /&gt;
** Köztesrétegben való bizalom&lt;br /&gt;
* Adatbiztonság&lt;br /&gt;
** A rendszerbe bevit/keletkező adatok csak a jogosultak számára legyenek elérhetők&lt;br /&gt;
** Az adatátviteli csatornák ne &amp;quot;csöpögjenek&amp;quot;&lt;br /&gt;
* Igen jelentős erőforráshalmaz áll jelenleg a felhasználók rendelkezésére.&lt;br /&gt;
&lt;br /&gt;
===== Azonosítás, feljogosítás =====&lt;br /&gt;
* Azonosítás: valóban az-e akinek mondja magát&lt;br /&gt;
** X.509 tanúsítvánnyal (analógia: személyi igazolvány)&lt;br /&gt;
** PKI felhasználásával&lt;br /&gt;
* Feljogosítás: mely erőforrásokat használhat.&lt;br /&gt;
** komplex elosztott rendszerrel történik (VOMS) (lista, hogy mit kölcsönözhetek).&lt;br /&gt;
** erőforrás specifikus&lt;br /&gt;
** seite-onként eltérő lehet&lt;br /&gt;
** virtuális szervezetek&lt;br /&gt;
&lt;br /&gt;
===== Jogok delegálása =====&lt;br /&gt;
* Proxy tanúsítvány: &lt;br /&gt;
** Rövidlejáratú és korlátozott felhasználású&lt;br /&gt;
** X.509 tanúsítvány (X.509 CGSI kiterjesztéssel)&lt;br /&gt;
** Speciális tanúsítvány, amit egy normál végfelhasználó vagy egy másik proxy ír alá&lt;br /&gt;
** Támogatja a delegációt (valaki nevében eljárni)&lt;br /&gt;
* Delegálás: második szintű proxy tanúsítvánnyal&lt;br /&gt;
** A távoli szerver generál proxy tanúsítványt egy új privát/publikus kulccsal, amit elküld a klienshez.&lt;br /&gt;
** A kliens aláírja a proxy tanúsítványt visszaküldi a szervernek.&lt;br /&gt;
* Így a távoli processz a kliens nevében eljárhat.&lt;br /&gt;
** a távoli szerver megszemélyesíti a felhasználót&lt;br /&gt;
&lt;br /&gt;
=== Cloud rendszerek ===&lt;br /&gt;
&lt;br /&gt;
==== Cloud rendszerek ====&lt;br /&gt;
* Még nagy a bizonytalanság, többen mást gondolnak róla.&lt;br /&gt;
* A hálózati felhőből on-line igénybe venni&lt;br /&gt;
** számítási, tárolási kapacitást&lt;br /&gt;
** alkalmazást&lt;br /&gt;
** egyéb erőforrást&lt;br /&gt;
* Lényegében Web 2.0 kiterjesztve ?&lt;br /&gt;
&lt;br /&gt;
==== Softare as a Service (SaaS) ====&lt;br /&gt;
* Szoftver alkalmazás igénybevétele web felületen on-line módon&lt;br /&gt;
** Clarizen&lt;br /&gt;
*** teljes projektmenedzsment&lt;br /&gt;
** Google Docs&lt;br /&gt;
** SalesForce&lt;br /&gt;
** Office 360&lt;br /&gt;
&lt;br /&gt;
==== Infrastructure/ Hardware as a Service (Iaas /HaaS) ====&lt;br /&gt;
* Amazon EC2&lt;br /&gt;
* HP&lt;br /&gt;
&lt;br /&gt;
==== Platform as a Service (PaaS) ====&lt;br /&gt;
* Google App Engine&lt;br /&gt;
* Ms Azure&lt;br /&gt;
* Force.vom&lt;br /&gt;
* Amazon S3, SQS&lt;/div&gt;</summary>
		<author><name>Fape</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek_-_Z%C3%A1r%C3%B3vizsga_t%C3%A9telkidolgoz%C3%A1s&amp;diff=167128</id>
		<title>Párhuzamos és Grid rendszerek - Záróvizsga tételkidolgozás</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek_-_Z%C3%A1r%C3%B3vizsga_t%C3%A9telkidolgoz%C3%A1s&amp;diff=167128"/>
		<updated>2013-06-02T07:03:37Z</updated>

		<summary type="html">&lt;p&gt;Fape: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Párhuzamos rendszerek alapfogalmai ==&lt;br /&gt;
&lt;br /&gt;
=== Flynn-féle architektúra modell ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | Adat (Data)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Egy (Single)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Több (Multiple)&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | Utasítás&amp;lt;br /&amp;gt;(Instructions)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Egy (Single)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Serial machine (SISD)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Vektor processzor (SIMD)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Több (Multiple)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Pipelines (MISD)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Multiprocesszor (MIMD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Idealizált párhuzamos gép modellje  ===&lt;br /&gt;
* Több processzor egyazon problémán dolgozik.&lt;br /&gt;
* Minden processzornak saját memóriája és címtartománya van. &lt;br /&gt;
* Üzenetekkel koordinálnak és adatokat is tudnak átadni.&lt;br /&gt;
* A lokális memória elérése gyorsabb.&lt;br /&gt;
* Az átviteli sebesség független a csatorna forgalmától.&lt;br /&gt;
&lt;br /&gt;
=== Teljesítményméréshez kapcsolódó fogalmak ===&lt;br /&gt;
* Sebességnövekedés (Speed Up):  &amp;lt;math&amp;gt;S_n=\frac{T_s}{T_n}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;S_n&amp;lt;/math&amp;gt;: N processzorral elért sebességnövekedés, &lt;br /&gt;
** &amp;lt;math&amp;gt;T_s&amp;lt;/math&amp;gt;: futási idő soros végrehajtás esetén, &lt;br /&gt;
** &amp;lt;math&amp;gt;T_n&amp;lt;/math&amp;gt;: futási idő N processzor esetén&lt;br /&gt;
* Hatékonyság (Efficiency): &amp;lt;math&amp;gt;E_n = \frac{S_n}{N}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;E_n&amp;lt;/math&amp;gt;: N processzorral elért hatékonyság &lt;br /&gt;
** &amp;lt;math&amp;gt;S_n&amp;lt;/math&amp;gt;: N processzorral elért sebességnövekedés&lt;br /&gt;
** &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;: processzorok száma&lt;br /&gt;
* Redundancia (Redundancy): &amp;lt;math&amp;gt;r = \frac{C_p}{C_s}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;: párhuzamos program redundanciája&lt;br /&gt;
** &amp;lt;math&amp;gt;C_p&amp;lt;/math&amp;gt;: párhuzamos program műveleteinek száma&lt;br /&gt;
** &amp;lt;math&amp;gt;C_s&amp;lt;/math&amp;gt;: soros program műveleteinek száma&lt;br /&gt;
* Amdahl-féle felső határ, N processzorral elértető sebességnövekedés felső határa: &amp;lt;math&amp;gt;S_a = \frac{1}{s+\frac{1-s}{N}}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;: a feladat nem párhuzamosítható része&lt;br /&gt;
** &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;: processzorok száma&lt;br /&gt;
** Az &amp;lt;math&amp;gt;\frac{1-s}{N}&amp;lt;/math&amp;gt;  tagot elhagyva: &amp;lt;math&amp;gt;Sa &amp;lt; \frac{1}{s}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jellegzetes architektúrák == &lt;br /&gt;
&lt;br /&gt;
=== Architektúrák jellemzői === &lt;br /&gt;
* Processzorok eloszlása&lt;br /&gt;
* Homogén vagy heterogén&lt;br /&gt;
* A kapcsolat késleltetése és sávszélessége&lt;br /&gt;
* Topológia: Háló, gyűrű, fa, hiperkocka, teljes összeköttetés&lt;br /&gt;
&lt;br /&gt;
=== Masszívan párhuzamos, szimmetrikus multiprocesszoros és vektorprocesszoros rendszerek jellemzői  === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Klaszter koncepció === &lt;br /&gt;
* Gyors hálózattal összekapcsolt gépek&lt;br /&gt;
* Gyakran közös fájlrendszer&lt;br /&gt;
* CPU vagy tárolási kapacitás növelése&lt;br /&gt;
* Paraméter study, vagy párhuzamos alkalmazások&lt;br /&gt;
&lt;br /&gt;
=== Metaszámítógépek === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Grid rendszerek  === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
== Párhuzamosítás, programozási modellek ==&lt;br /&gt;
&lt;br /&gt;
=== Elosztott memória, üzenetküldés, közös memória ===&lt;br /&gt;
* Elosztott memória használatának előnyei&lt;br /&gt;
** Skálázható&lt;br /&gt;
** Költségkímélő&lt;br /&gt;
** A redundancia növelésével növekedhet a megbízhatóság&lt;br /&gt;
** Speciális feldolgozó eszközökkel is együttműködik&lt;br /&gt;
* Elosztott memória használatának hátrányai&lt;br /&gt;
** Kommunikáció igényes&lt;br /&gt;
** Nem minden algoritmus párhuzamosítható így&lt;br /&gt;
** A meglevő soros programokat és a közös memóriát használó alkalmazásokat át kell dolgozni&lt;br /&gt;
** Jó speed up értékeket nehéz elérni&lt;br /&gt;
** Nehéz nyomkövethetőség&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamos programozási nyelvek és jellemzői === &lt;br /&gt;
* Linda – közös memória modell, Tuple Space.&lt;br /&gt;
** Egyszerű modell, de implementációs nehézségek vannak, főleg az üzenetküldéses architektúrákon.&lt;br /&gt;
* Express – elosztott memória modell 160 C-ből és fortranból hívható rutin.&lt;br /&gt;
* PVM – elosztott memória modell 70 C-ből és fortranból hívható rutin.&lt;br /&gt;
** &amp;quot;Szegények&amp;quot; szuperkomputere:  a szabad CPU kapacitások összegyűjthetők a munkaállomásokról és a PC-ről&lt;br /&gt;
* MPI- szabványos, a gyártók által elfogadott, speciális hw. környezetet is támogató fejl. környezet.&lt;br /&gt;
** nem igényli a virtuális gép előzetes felépítését,mert a teljes kommunikációs séma az alkalmazáshoz szerkesztődik.&lt;br /&gt;
* OpenMp&lt;br /&gt;
** Szálakkal történő párhuzamosítás macerás.&lt;br /&gt;
** Nyelvi kiterjesztés&lt;br /&gt;
** A programozó a funkcionalitásra koncentrálhat.&lt;br /&gt;
** A párhuzamosítás csak lehetőség.&lt;br /&gt;
** Shared memóriás párhuzamosítás&lt;br /&gt;
** Ipari szabvány&lt;br /&gt;
* Cn nyelv&lt;br /&gt;
** Standard Ansi C + 2 új kulcsszó (poly és mono)&lt;br /&gt;
* Cuda&lt;br /&gt;
** GPU&lt;br /&gt;
*** A programozható vertex és fragment shaderek beépítésével általános célú eszközzé vált.&lt;br /&gt;
*** Vektorprocesszor (SIMD), de pipeline egységek is vannak benne (MISD).&lt;br /&gt;
** Ún. thread modell (SIMT)&lt;br /&gt;
** A szálak ütemezésével nem kell a programozónak foglalkozni.&lt;br /&gt;
** Elrejti a konkrét architektúrát&lt;br /&gt;
** Támogatja a heterogén feldolgozás (CPU+GPU)&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamosítási stratégiák === &lt;br /&gt;
* Kényszerű&lt;br /&gt;
** A program soros változatát futtatjuk párhuzamosan különböző adatokkal.&lt;br /&gt;
** Csak akkor kielégítő módszer, ha a soros változat elviselhető futási idejű.&lt;br /&gt;
* Ciklusok párhuzamosítása&lt;br /&gt;
** Akkor alkalmazható, ha az egyes iterációk függetlenek egymástól&lt;br /&gt;
* Felosztó párhuzamosítás (master / slave)&lt;br /&gt;
** Egy felügyelő taszk fut az egyik node-on&lt;br /&gt;
** Akkor alkalmazható, ha a felügyelő program feladatai egyszerűbbek mint a többi taszk feladatai.&lt;br /&gt;
** Ha a taszkok függetlenek egymástól, akkor jól skálázható a taszkok számának változtatásával.&lt;br /&gt;
* Egymást követő&lt;br /&gt;
** Minden node a következő node-nak adja tovább a részben feldolgozott adatot.&lt;br /&gt;
** Akkor használható, ha a soros része a feldolgozásnak lényegesen rövidebb, mint a párhuzamos rész.&lt;br /&gt;
** Rendszerint minden node azonos kódot futtat.&lt;br /&gt;
** Különösen alkalmas a gyűrű topológiához.&lt;br /&gt;
* Régiók párhuzamosítása&lt;br /&gt;
** Az adatfüggőség régiókba lokalizálható.&lt;br /&gt;
** Akkor használható, soros végrehajtási idő nagyobb mint a párhuzamos.&lt;br /&gt;
** Rendszerint nagy kommunikációigényű.&lt;br /&gt;
** Legbonyolultabb.&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamos algoritmusok tervezése === &lt;br /&gt;
* Nem egyszerű.&lt;br /&gt;
* Kreativitást igényel.&lt;br /&gt;
* Számos iterációt tartalmaz.&lt;br /&gt;
* Nincs egyszerű recept.&lt;br /&gt;
* Vannak betartható, ajánlott lépések, módszerek.&lt;br /&gt;
&lt;br /&gt;
=== Taszk/csatorna modell jellemzői === &lt;br /&gt;
* minden taszk szekvenciális programot futtat &lt;br /&gt;
* minden taszknak van saját memóriája&lt;br /&gt;
* taszkok csatornákkal kapcsolódnak,&lt;br /&gt;
* a csatornák üzenetsorokat valósítanak meg&lt;br /&gt;
* taszkok konkurensek, van lokális memóriájuk &lt;br /&gt;
* küldés aszinkron, fogadás szinkron&lt;br /&gt;
* csatornához in/out portokkal csatlakoznak&lt;br /&gt;
* taszkok tetszőlegesen rendelhetők össze a processzorokkal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A modell közvetlenül hozzárendelhető az idealizált számítógéphez.&lt;br /&gt;
* A taszk egy soros kódot reprezentál.&lt;br /&gt;
* A csatorna processzorok közötti kommunikációt valósít meg.&lt;br /&gt;
* A taszk működése független a taszkprocesszor összerendeléstől, taszkok számától.&lt;br /&gt;
* Moduláris felépítést tesz lehetővé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Az üzenet egy adott taszknak szól, ezért kevésbé absztrakt, mint a csatorna.&lt;br /&gt;
* Az általános üzenetküldéses modell szerint nem lehet dinamikusan új taszkot létrehozni. (Több megvalósításban lehet.)&lt;br /&gt;
* Egy processzor csak egy taszkot futtathat. (Több megvalósításban ez sem korlát.)&lt;br /&gt;
&lt;br /&gt;
=== PCAM módszertan === &lt;br /&gt;
==== Particionálás ====&lt;br /&gt;
Sok kis részfeladatokra osztás. NEM veszi figyelembe a fizikai gép HW/SW adottságait.  Párhuzamosítható részek felderítése.&lt;br /&gt;
* Domén dekompozíció: &lt;br /&gt;
** Adat vagy paramétertér felosztása. Az adat lehet input, output, vagy közbülső adat. &lt;br /&gt;
* Funkcionális dekompozíció: &lt;br /&gt;
** Az algoritmus felosztása olyan részekre, melyek párhuzamosíthatók. &lt;br /&gt;
** Alapvetően a feladat funkcióiból adódik. &lt;br /&gt;
** Az adatokra is figyelni kell. &lt;br /&gt;
** Tipikus példa, amikor az adatok particionálása nem járható: keresés fában. – funkcionálisan viszont bontható&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a particionálás? =====&lt;br /&gt;
* Jól, ha particionálással kapott taszkok száma nagyságrendileg több mint a proc. száma.&lt;br /&gt;
* Jól, ha redundancia mentes.&lt;br /&gt;
* Jól ha a taszkok mérete hasonló.&lt;br /&gt;
* Jól, ha a probléma méretével a taszkok száma is nő.&lt;br /&gt;
&lt;br /&gt;
==== Kommunikáció megtervezése ==== &lt;br /&gt;
Részfeladatok közötti adatcsere és szinkronizációs séma kialakítása.&lt;br /&gt;
* Kis környezetű (local) és globális&lt;br /&gt;
** a taszkok csak kis környezetükben (szomszéd), vagy sok másik taszkkal is kommunikálnak.&lt;br /&gt;
* Strukturált és nem strukturált&lt;br /&gt;
** rács, gyűrű, ... vagy más&lt;br /&gt;
* Statikus és dinamikus&lt;br /&gt;
** végrehajtás közben változik&lt;br /&gt;
* Szinkron vagy aszinkron&lt;br /&gt;
** koordináció hiánya&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a kommunikáció? ===== &lt;br /&gt;
* Jól, ha közel azonos számú kommunikációt végez minden taszk.&lt;br /&gt;
* Jól, ha a taszkok csak lokális környezetükkel kommunikálnak.&lt;br /&gt;
* Jól, ha kommunikáció konkurensen párhuzamosan zajlik. &lt;br /&gt;
* Különböző taszkok konkurensen kommunikálnak.&lt;br /&gt;
&lt;br /&gt;
==== Agglomeráció ==== &lt;br /&gt;
Részfeladatok nagyobb egységekbe gyűjtése a hatékonyságnövelés érdekében. A tényleges párhuzamos gép kommunikációs adottságait is figyelembe véve a részfeladatokat nagyobb egységekbe gyűjtjük.&lt;br /&gt;
Agglomeráció szükségessége:&lt;br /&gt;
* A kommunikáció &amp;quot;költséges&amp;quot;&lt;br /&gt;
* A kommunikáció szükségtelen szinkronizációt okoz&lt;br /&gt;
* Térfogat-felület effektus (számítás/kommunikáció arány)&lt;br /&gt;
* Flexibilitás megtartása&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült az agglomeráció? ===== &lt;br /&gt;
* Jól, ha jelentősen növekedett a lokális kommunikáció&lt;br /&gt;
* Jól, ha a skálázhatóság nem romlott.&lt;br /&gt;
* Jól, ha az összevont taszkok mérete közel azonos.&lt;br /&gt;
* Jól, ha a probléma méretével növekszik a taszkok száma.&lt;br /&gt;
* Jól, ha a már nem vonhatók össze feladatok anélkül, hogy a skálázhatóság vagy a terheléskiegyenlíthetőség ne romlana.&lt;br /&gt;
&lt;br /&gt;
==== Leképezés ==== &lt;br /&gt;
Tényleges HW/SW környezet figyelembe vétele, leképezés a fizikai gépre. A részfeladatok processzorhoz/ feldolgozó elemhez rendelése.  Jelentősen befolyásolhatja a terheléskiegyenlítést, ütemezési algoritmust.&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a leképezés? ===== &lt;br /&gt;
* Jól, ha nem keletkezett szűk keresztmetszet a programban.&lt;br /&gt;
* Jól, ha több lehetséges leképezést is megvizsgáltunk.&lt;br /&gt;
* Ha figyelemmel voltunk a terheléskiegyenlítésre.&lt;br /&gt;
&lt;br /&gt;
== Grid és elosztott rendszerek ==&lt;br /&gt;
&lt;br /&gt;
=== Hosszú távú ütemezők ===&lt;br /&gt;
&lt;br /&gt;
==== Condor ====&lt;br /&gt;
* Elosztott, heterogén rendszerben működik.&lt;br /&gt;
* Alapvetően a szabad CPU ciklusok kihasználására tervezték.&lt;br /&gt;
* Képes egy működő feladatot áthelyezni az egyik gépről a másikra (migráció).&lt;br /&gt;
* Az ún. ClassAds mechanizmussal képes a rendszerben levő változó erőforrásokat az&lt;br /&gt;
* igényeknek megfelelően elosztani&lt;br /&gt;
*  Opportunista környezet.&lt;br /&gt;
&lt;br /&gt;
===== ClassAds =====&lt;br /&gt;
* A rendszerben levő erőforrások különböző jellemzőkkel (teljesítmény, architektúra, op. rendszer, stb.) rendelkeznek.&lt;br /&gt;
* 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)&lt;br /&gt;
* 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.&lt;br /&gt;
* Így nincs szükség a batch rendszerekben megszokott sorokra. (Úgyis a rosszat választanánk)&lt;br /&gt;
&lt;br /&gt;
===== Futtatás lépései =====&lt;br /&gt;
* A job összeállítása&lt;br /&gt;
* Job bejelentése a Condor-nak&lt;br /&gt;
* Job-ot a Condor futtatja az általa kiválasztott gép(eken), szükség átmozgatja egy másik gépre.&lt;br /&gt;
* Job befejeződik, a Condor e-mail-t küld a felhasználónak.&lt;br /&gt;
&lt;br /&gt;
==== Sun Grid Engne (SUN) ==== &lt;br /&gt;
* A Condor-hoz hasonló ütemező.&lt;br /&gt;
* Queue-kat definiál.&lt;br /&gt;
* Hangsúlyos a terhelés kiegyensúlyozása.&lt;br /&gt;
* Backup master ütemező&lt;br /&gt;
* Check-point.&lt;br /&gt;
* Migrálási lehetőség.&lt;br /&gt;
* Négy szerepkör:&lt;br /&gt;
** master, submit, exec, admin,&lt;br /&gt;
&lt;br /&gt;
==== Egyéb ====&lt;br /&gt;
* Torque (Cluster Resources)&lt;br /&gt;
* LoadLeveler (IBM)&lt;br /&gt;
* Torque (Cluster Resources)&lt;br /&gt;
&lt;br /&gt;
=== Elosztott fájlrendszerek ===&lt;br /&gt;
&lt;br /&gt;
==== AFS (Andrew File System) ==== &lt;br /&gt;
* Elosztott fájlrendszer, ami fájlok megosztására alkalmas lokális és távolsági hálózaton.&lt;br /&gt;
* Transzparens fájlhozzáférést biztosít.&lt;br /&gt;
* Az NFS-hez hasonló, annak alternatívájaként jött létre.&lt;br /&gt;
* Ma az OpenAFS számos	 UNIX, LINUX, WINX platformon elérhető.&lt;br /&gt;
* 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é.&lt;br /&gt;
&lt;br /&gt;
===== AFS cella =====&lt;br /&gt;
* 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.&lt;br /&gt;
* Tipikusan az egy domain név alá tartozó gépek egy AFS cellát alkotnak. &lt;br /&gt;
* Általában a domain név valamilyen változata a cellanév.&lt;br /&gt;
* A munkaállomások a felhasználókról&lt;br /&gt;
&lt;br /&gt;
===== Kötetek =====&lt;br /&gt;
* A diszkterületet az AFS további részekre, osztja ezek az AFS kötetek. &lt;br /&gt;
* Az AFS kötet egy tárolóegység ami a fájlok és katalógusok adatait tárolja. &lt;br /&gt;
* 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.&lt;br /&gt;
===== Tokenek =====&lt;br /&gt;
* 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. &lt;br /&gt;
* Az azonosításhoz AFS tokent alkalmaznak, ami egy egyedi azonosítást tesz lehetővé. &lt;br /&gt;
* Egy token adott ideig (24 óra) érvényes.&lt;br /&gt;
&lt;br /&gt;
===== Cache menedzser =====&lt;br /&gt;
* 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.&lt;br /&gt;
* A cache menedzser feladata a cache-ben tárolt információk frissítése, karbantartása.&lt;br /&gt;
* Amennyiben a cache-ben tárolt fájlrészlet változik, úgy azt vissza kel tölteni a szervere.&lt;br /&gt;
* Ha a szerveren változik meg a fájl, akkor arról CallBack  technikával értesít minden cache-t.&lt;br /&gt;
&lt;br /&gt;
===== Védelem =====&lt;br /&gt;
* A védelmi mechanizmus némileg eltér az alap UNIX védelmi rendszertől. &lt;br /&gt;
* A UNIX 3x3-as védelmétől pontosabban szabályozható ACL (Access Control List) segítségével.&lt;br /&gt;
&lt;br /&gt;
===== Processzek =====&lt;br /&gt;
* Venus: AFS kliens által futtatott processz. &lt;br /&gt;
* Vice: AFS szerver által futtatott processz.&lt;br /&gt;
&lt;br /&gt;
===== Fájl műveletek =====&lt;br /&gt;
* A kliens munkaállomás a szerverrel csak az open/close műveletek kiszolgálásakor kommunikál. &lt;br /&gt;
* 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. &lt;br /&gt;
* Az adatok olvasását/írását a lokális másolaton a kernel végzi. &lt;br /&gt;
* A Venus a katalógusokat és a szimbólikus linkeket is a lokális gyorsítótárban tárolja. &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
===== Megvalósítás =====&lt;br /&gt;
* A kliens oldali programok a szokásos módon, rendszerhívással  kezelik az állományokat. &lt;br /&gt;
* A távoli fájlok megnyitásakor Venus processzhez jut a kérés, amit az lebont az útnév alapján. &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
===== AFS előnyei =====&lt;br /&gt;
* Gyorsítótárazásból fakadó előnyök:&lt;br /&gt;
** Lényegesen csökkenti a hálózati forgalmat.&lt;br /&gt;
** Alacsonyabb sávszélességnél is jól használható.&lt;br /&gt;
* Helyfüggetlenség:&lt;br /&gt;
** Az AFS a földrajzi helyet a szerver oldalon rendeli fájlnévhez. Így a névtér helyfüggetlen.&lt;br /&gt;
* Skálázhatóság:&lt;br /&gt;
** 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.&lt;br /&gt;
* Single systems image (SSI):&lt;br /&gt;
** Egy fájlszerver kialakítása lényegesen egyszerűbb, mint NFS-sel.&lt;br /&gt;
* Fokozott biztonság:&lt;br /&gt;
** Kerberos használata, ACL használata&lt;br /&gt;
* Fájlok egyszerű megosztása&lt;br /&gt;
* Egyszerű rendszer menedzsment&lt;br /&gt;
* Robosztus&lt;br /&gt;
* Replika lehetőség.&lt;br /&gt;
&lt;br /&gt;
===== AFS hátrányai =====&lt;br /&gt;
* Minden munkaállomásra installálni kell.&lt;br /&gt;
* Háttérszerver komplexitása.&lt;br /&gt;
* Tokenek érvényességének lejártából fakadó gondok.&lt;br /&gt;
&lt;br /&gt;
==== Lustre ====&lt;br /&gt;
* Objektum-orientált elosztott fájlrendszer.&lt;br /&gt;
* Jól skálázható.&lt;br /&gt;
* Nagyméretű klaszterekhez, és nagy fájlokhoz tervezték&lt;br /&gt;
&lt;br /&gt;
===== Lustre architektúra =====&lt;br /&gt;
* Három fő funkcionális egysége van:&lt;br /&gt;
** Metadata szerver (MDS), ami a fájl neveket, katalógusokat, védelmi kódokat és egyéb metaadatot tárol.&lt;br /&gt;
** Object storage szerverek (OSS), melyek az adatokat tárolják. &lt;br /&gt;
** Kliens ami az adatokat felhasználja, létrehozza. &lt;br /&gt;
* 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.&lt;br /&gt;
* Jelenleg egy módosított ext3 fájlrendszer a logikai tároló, de a SUN dolgozik a ZFS beépítésén. &lt;br /&gt;
* Amikor egy kliens fájlt akar elérni, először az MDS-ben meg kell keresnie.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Ez a módszer növeli a megbízhatóságot és a hibatűrést.&lt;br /&gt;
&lt;br /&gt;
==== ZFS (Zettabyte File System) ====&lt;br /&gt;
* 128 Bit - extra nagy kapacitás&lt;br /&gt;
* Pool elvű tárolók – elosztott sávszélesség és kapacitás&lt;br /&gt;
* Tranzakció kezelés – Copy on Write&lt;br /&gt;
* Snapshots (ro) és klónozás&lt;br /&gt;
* Adat integritás – Adat ellenőrző összeg&lt;br /&gt;
&lt;br /&gt;
=== Grid rendszerek osztályozása ===&lt;br /&gt;
&lt;br /&gt;
==== Grid koncepció ==== &lt;br /&gt;
* 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.&lt;br /&gt;
* A Grid szóhasználat szándékosan utal az elektromos hálózatra (power grid).&lt;br /&gt;
* 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.&lt;br /&gt;
* Adat, számítási és információs gridek.&lt;br /&gt;
&lt;br /&gt;
===== Osztályozás =====&lt;br /&gt;
* Erőforrás donorok= D&lt;br /&gt;
* Erőforrás felhasználók = U&lt;br /&gt;
&lt;br /&gt;
====== A Utility Gridek jellemzői ======&lt;br /&gt;
* A donorok profi erőforrás biztosítók (7/24 órás üzemmód) &lt;br /&gt;
* Hasonló erőforrások &lt;br /&gt;
* Mindenki használhatja az erőforrásokat saját problémáinak megoldására&lt;br /&gt;
* Aszimmetrikus kapcsolat a donorok és felhasználók között ( U &amp;gt;&amp;gt; D )&lt;br /&gt;
* pl: EGEE, CERN LHC, Open Science Grid&lt;br /&gt;
&lt;br /&gt;
====== A Desktop Grid jellemzői ======&lt;br /&gt;
* Akárki adhat hozzá erőforrást&lt;br /&gt;
* Heterogén erőforrások, melyek dinamikusan be és kilépnek.&lt;br /&gt;
* Egy vagy kevés projekt használhatja az erőforrásokat&lt;br /&gt;
* Az erőforrások klienseket futtatnak: Hozzáértés csak szerver oldalon szükséges&lt;br /&gt;
* Aszimmetrikus reláció a donorok és felhasználók között  ( U &amp;lt;&amp;lt; D )&lt;br /&gt;
* Előny:&lt;br /&gt;
** Egy PC hozzáadása egyszerű&lt;br /&gt;
** Installálni, karbantartani egy DG szervert sokkal egyszerűbb&lt;br /&gt;
* Típusai&lt;br /&gt;
** Global Desktop Grid&lt;br /&gt;
*** Cél hogy erőforrásokat gyűjtsön össze tudományos kihívások megoldására&lt;br /&gt;
*** Példa: BOINC (SETI@home)&lt;br /&gt;
** Local Desktop Grid&lt;br /&gt;
*** Célja, hogy egyszerűen összegyűjthetővé tegye a közeli erőforrásokat (egyetem)&lt;br /&gt;
&lt;br /&gt;
==== Jogosultság delegációja ====&lt;br /&gt;
&lt;br /&gt;
===== Grid biztonság =====&lt;br /&gt;
Biztonság alatt sokszor eltérő dolgokat értünk:&lt;br /&gt;
* Azonosítás/Feljogosítás/Jogok delegálása&lt;br /&gt;
** Az alkalmazást futtató felhasználó ne tudja jogosulatlanul használni az erőforrásokat&lt;br /&gt;
* Alkalmazás és köztesréteg biztonság&lt;br /&gt;
** Az alkalmazásokban való bizalom&lt;br /&gt;
** Köztesrétegben való bizalom&lt;br /&gt;
* Adatbiztonság&lt;br /&gt;
** A rendszerbe bevit/keletkező adatok csak a jogosultak számára legyenek elérhetők&lt;br /&gt;
** Az adatátviteli csatornák ne &amp;quot;csöpögjenek&amp;quot;&lt;br /&gt;
* Igen jelentős erőforráshalmaz áll jelenleg a felhasználók rendelkezésére.&lt;br /&gt;
&lt;br /&gt;
===== Azonosítás, feljogosítás =====&lt;br /&gt;
* Azonosítás: valóban az-e akinek mondja magát&lt;br /&gt;
** X.509 tanúsítvánnyal (analógia: személyi igazolvány)&lt;br /&gt;
** PKI felhasználásával&lt;br /&gt;
* Feljogosítás: mely erőforrásokat használhat.&lt;br /&gt;
** komplex elosztott rendszerrel történik (VOMS) (lista, hogy mit kölcsönözhetek).&lt;br /&gt;
** erőforrás specifikus&lt;br /&gt;
** seite-onként eltérő lehet&lt;br /&gt;
** virtuális szervezetek&lt;br /&gt;
&lt;br /&gt;
===== Jogok delegálása =====&lt;br /&gt;
* Proxy tanúsítvány: &lt;br /&gt;
** Rövidlejáratú és korlátozott felhasználású&lt;br /&gt;
** X.509 tanúsítvány (X.509 CGSI kiterjesztéssel)&lt;br /&gt;
** Speciális tanúsítvány, amit egy normál végfelhasználó vagy egy másik proxy ír alá&lt;br /&gt;
** Támogatja a delegációt (valaki nevében eljárni)&lt;br /&gt;
* Delegálás: második szintű proxy tanúsítvánnyal&lt;br /&gt;
** A távoli szerver generál proxy tanúsítványt egy új privát/publikus kulccsal, amit elküld a klienshez.&lt;br /&gt;
** A kliens aláírja a proxy tanúsítványt visszaküldi a szervernek.&lt;br /&gt;
* Így a távoli processz a kliens nevében eljárhat.&lt;br /&gt;
** a távoli szerver megszemélyesíti a felhasználót&lt;br /&gt;
&lt;br /&gt;
=== Cloud rendszerek ===&lt;br /&gt;
&lt;br /&gt;
==== Cloud rendszerek ====&lt;br /&gt;
* Még nagy a bizonytalanság, többen mást gondolnak róla.&lt;br /&gt;
* A hálózati felhőből on-line igénybe venni&lt;br /&gt;
** számítási, tárolási kapacitást&lt;br /&gt;
** alkalmazást&lt;br /&gt;
** egyéb erőforrást&lt;br /&gt;
* Lényegében Web 2.0 kiterjesztve ?&lt;br /&gt;
&lt;br /&gt;
==== Softare as a Service (SaaS) ====&lt;br /&gt;
* Szoftver alkalmazás igénybevétele web felületen on-line módon&lt;br /&gt;
** Clarizen&lt;br /&gt;
*** teljes projektmenedzsment&lt;br /&gt;
** Google Docs&lt;br /&gt;
** SalesForce&lt;br /&gt;
** Office 360&lt;br /&gt;
&lt;br /&gt;
==== Infrastructure/ Hardware as a Service (Iaas /HaaS) ====&lt;br /&gt;
* Amazon EC2&lt;br /&gt;
* HP&lt;br /&gt;
&lt;br /&gt;
==== Platform as a Service (PaaS) ====&lt;br /&gt;
* Google App Engine&lt;br /&gt;
* Ms Azure&lt;br /&gt;
* Force.vom&lt;br /&gt;
* Amazon S3, SQS&lt;/div&gt;</summary>
		<author><name>Fape</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek_-_Z%C3%A1r%C3%B3vizsga_t%C3%A9telkidolgoz%C3%A1s&amp;diff=167127</id>
		<title>Párhuzamos és Grid rendszerek - Záróvizsga tételkidolgozás</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek_-_Z%C3%A1r%C3%B3vizsga_t%C3%A9telkidolgoz%C3%A1s&amp;diff=167127"/>
		<updated>2013-06-02T06:47:40Z</updated>

		<summary type="html">&lt;p&gt;Fape: Új oldal, tartalma: „== Párhuzamos rendszerek alapfogalmai ==  === Flynn-féle architektúra modell ===  {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; |- | colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; |  | colspan=&amp;quot;2&amp;quot; align…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Párhuzamos rendszerek alapfogalmai ==&lt;br /&gt;
&lt;br /&gt;
=== Flynn-féle architektúra modell ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | Adat (Data)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Egy (Single)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Több (Multiple)&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | Utasítás&amp;lt;br /&amp;gt;(Instructions)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Egy (Single)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Serial machine (SISD)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Vektor processzor (SIMD)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Több (Multiple)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Pipelines (MISD)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Multiprocesszor (MIMD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Idealizált párhuzamos gép modellje  ===&lt;br /&gt;
* Több processzor egyazon problémán dolgozik.&lt;br /&gt;
* Minden processzornak saját memóriája és címtartománya van. &lt;br /&gt;
* Üzenetekkel koordinálnak és adatokat is tudnak átadni.&lt;br /&gt;
* A lokális memória elérése gyorsabb.&lt;br /&gt;
* Az átviteli sebesség független a csatorna forgalmától.&lt;br /&gt;
&lt;br /&gt;
=== Teljesítményméréshez kapcsolódó fogalmak ===&lt;br /&gt;
* Sebességnövekedés (Speed Up):  &amp;lt;math&amp;gt;S_n=\frac{T_s}{T_n}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;S_n&amp;lt;/math&amp;gt;: N processzorral elért sebességnövekedés, &lt;br /&gt;
** &amp;lt;math&amp;gt;T_s&amp;lt;/math&amp;gt;: futási idő soros végrehajtás esetén, &lt;br /&gt;
** &amp;lt;math&amp;gt;T_n&amp;lt;/math&amp;gt;: futási idő N processzor esetén&lt;br /&gt;
* Hatékonyság (Efficiency): &amp;lt;math&amp;gt;E_n = \frac{S_n}{N}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;E_n&amp;lt;/math&amp;gt;: N processzorral elért hatékonyság &lt;br /&gt;
** &amp;lt;math&amp;gt;S_n&amp;lt;/math&amp;gt;: N processzorral elért sebességnövekedés&lt;br /&gt;
** &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;: processzorok száma&lt;br /&gt;
* Redundancia (Redundancy): &amp;lt;math&amp;gt;r = \frac{C_p}{C_s}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;: párhuzamos program redundanciája&lt;br /&gt;
** &amp;lt;math&amp;gt;C_p&amp;lt;/math&amp;gt;: párhuzamos program műveleteinek száma&lt;br /&gt;
** &amp;lt;math&amp;gt;C_s&amp;lt;/math&amp;gt;: soros program műveleteinek száma&lt;br /&gt;
* Amdahl-féle felső határ, N processzorral elértető sebességnövekedés felső határa: &amp;lt;math&amp;gt;S_a = \frac{1}{s+\frac{1-s}{N}}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;: a feladat nem párhuzamosítható része&lt;br /&gt;
** &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;: processzorok száma&lt;br /&gt;
** Az &amp;lt;math&amp;gt;\frac{1-s}{N}&amp;lt;/math&amp;gt;  tagot elhagyva: &amp;lt;math&amp;gt;Sa &amp;lt; \frac{1}{s}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Jellegzetes architektúrák == &lt;br /&gt;
&lt;br /&gt;
=== Architektúrák jellemzői === &lt;br /&gt;
* Processzorok eloszlása&lt;br /&gt;
* Homogén vagy heterogén&lt;br /&gt;
* A kapcsolat késleltetése és sávszélessége&lt;br /&gt;
* Topológia: Háló, gyűrű, fa, hiperkocka, teljes összeköttetés&lt;br /&gt;
&lt;br /&gt;
=== Masszívan párhuzamos, szimmetrikus multiprocesszoros és vektorprocesszoros rendszerek jellemzői  === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Klaszter koncepció === &lt;br /&gt;
* Gyors hálózattal összekapcsolt gépek&lt;br /&gt;
* Gyakran közös fájlrendszer&lt;br /&gt;
* CPU vagy tárolási kapacitás növelése&lt;br /&gt;
* Paraméter study, vagy párhuzamos alkalmazások&lt;br /&gt;
&lt;br /&gt;
=== Metaszámítógépek === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
=== Grid rendszerek  === &lt;br /&gt;
???&lt;br /&gt;
&lt;br /&gt;
== Párhuzamosítás, programozási modellek ==&lt;br /&gt;
&lt;br /&gt;
=== Elosztott memória, üzenetküldés, közös memória ===&lt;br /&gt;
* Elosztott memória használatának előnyei&lt;br /&gt;
** Skálázható&lt;br /&gt;
** Költségkímélő&lt;br /&gt;
** A redundancia növelésével növekedhet a megbízhatóság&lt;br /&gt;
** Speciális feldolgozó eszközökkel is együttműködik&lt;br /&gt;
* Elosztott memória használatának hátrányai&lt;br /&gt;
** Kommunikáció igényes&lt;br /&gt;
** Nem minden algoritmus párhuzamosítható így&lt;br /&gt;
** A meglevő soros programokat és a közös memóriát használó alkalmazásokat át kell dolgozni&lt;br /&gt;
** Jó speed up értékeket nehéz elérni&lt;br /&gt;
** Nehéz nyomkövethetőség&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamos programozási nyelvek és jellemzői === &lt;br /&gt;
* Linda – közös memória modell, Tuple Space.&lt;br /&gt;
** Egyszerű modell, de implementációs nehézségek vannak, főleg az üzenetküldéses architektúrákon.&lt;br /&gt;
* Express – elosztott memória modell 160 C-ből és fortranból hívható rutin.&lt;br /&gt;
* PVM – elosztott memória modell 70 C-ből és fortranból hívható rutin.&lt;br /&gt;
** &amp;quot;Szegények&amp;quot; szuperkomputere:  a szabad CPU kapacitások összegyűjthetők a munkaállomásokról és a PC-ről&lt;br /&gt;
* MPI- szabványos, a gyártók által elfogadott, speciális hw. környezetet is támogató fejl. környezet.&lt;br /&gt;
** nem igényli a virtuális gép előzetes felépítését,mert a teljes kommunikációs séma az alkalmazáshoz szerkesztődik.&lt;br /&gt;
* OpenMp&lt;br /&gt;
** Szálakkal történő párhuzamosítás macerás.&lt;br /&gt;
** Nyelvi kiterjesztés&lt;br /&gt;
** A programozó a funkcionalitásra koncentrálhat.&lt;br /&gt;
** A párhuzamosítás csak lehetőség.&lt;br /&gt;
** Shared memóriás párhuzamosítás&lt;br /&gt;
** Ipari szabvány&lt;br /&gt;
* Cn nyelv&lt;br /&gt;
** Standard Ansi C + 2 új kulcsszó (poly és mono)&lt;br /&gt;
* Cuda&lt;br /&gt;
** GPU&lt;br /&gt;
*** A programozható vertex és fragment shaderek beépítésével általános célú eszközzé vált.&lt;br /&gt;
*** Vektorprocesszor (SIMD), de pipeline egységek is vannak benne (MISD).&lt;br /&gt;
** Ún. thread modell (SIMT)&lt;br /&gt;
** A szálak ütemezésével nem kell a programozónak foglalkozni.&lt;br /&gt;
** Elrejti a konkrét architektúrát&lt;br /&gt;
** Támogatja a heterogén feldolgozás (CPU+GPU)&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamosítási stratégiák === &lt;br /&gt;
* Kényszerű&lt;br /&gt;
** A program soros változatát futtatjuk párhuzamosan különböző adatokkal.&lt;br /&gt;
** Csak akkor kielégítő módszer, ha a soros változat elviselhető futási idejű.&lt;br /&gt;
* Ciklusok párhuzamosítása&lt;br /&gt;
** Akkor alkalmazható, ha az egyes iterációk függetlenek egymástól&lt;br /&gt;
* Felosztó párhuzamosítás (master / slave)&lt;br /&gt;
** Egy felügyelő taszk fut az egyik node-on&lt;br /&gt;
** Akkor alkalmazható, ha a felügyelő program feladatai egyszerűbbek mint a többi taszk feladatai.&lt;br /&gt;
** Ha a taszkok függetlenek egymástól, akkor jól skálázható a taszkok számának változtatásával.&lt;br /&gt;
* Egymást követő&lt;br /&gt;
** Minden node a következő node-nak adja tovább a részben feldolgozott adatot.&lt;br /&gt;
** Akkor használható, ha a soros része a feldolgozásnak lényegesen rövidebb, mint a párhuzamos rész.&lt;br /&gt;
** Rendszerint minden node azonos kódot futtat.&lt;br /&gt;
** Különösen alkalmas a gyűrű topológiához.&lt;br /&gt;
* Régiók párhuzamosítása&lt;br /&gt;
** Az adatfüggőség régiókba lokalizálható.&lt;br /&gt;
** Akkor használható, soros végrehajtási idő nagyobb mint a párhuzamos.&lt;br /&gt;
** Rendszerint nagy kommunikációigényű.&lt;br /&gt;
** Legbonyolultabb.&lt;br /&gt;
&lt;br /&gt;
=== Párhuzamos algoritmusok tervezése === &lt;br /&gt;
* Nem egyszerű.&lt;br /&gt;
* Kreativitást igényel.&lt;br /&gt;
* Számos iterációt tartalmaz.&lt;br /&gt;
* Nincs egyszerű recept.&lt;br /&gt;
* Vannak betartható, ajánlott lépések, módszerek.&lt;br /&gt;
&lt;br /&gt;
=== Taszk/csatorna modell jellemzői === &lt;br /&gt;
* minden taszk szekvenciális programot futtat &lt;br /&gt;
* minden taszknak van saját memóriája&lt;br /&gt;
* taszkok csatornákkal kapcsolódnak,&lt;br /&gt;
* a csatornák üzenetsorokat valósítanak meg&lt;br /&gt;
* taszkok konkurensek, van lokális memóriájuk &lt;br /&gt;
* küldés aszinkron, fogadás szinkron&lt;br /&gt;
* csatornához in/out portokkal csatlakoznak&lt;br /&gt;
* taszkok tetszőlegesen rendelhetők össze a processzorokkal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A modell közvetlenül hozzárendelhető az idealizált számítógéphez.&lt;br /&gt;
* A taszk egy soros kódot reprezentál.&lt;br /&gt;
* A csatorna processzorok közötti kommunikációt valósít meg.&lt;br /&gt;
* A taszk működése független a taszkprocesszor összerendeléstől, taszkok számától.&lt;br /&gt;
* Moduláris felépítést tesz lehetővé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Az üzenet egy adott taszknak szól, ezért kevésbé absztrakt, mint a csatorna.&lt;br /&gt;
* Az általános üzenetküldéses modell szerint nem lehet dinamikusan új taszkot létrehozni. (Több megvalósításban lehet.)&lt;br /&gt;
* Egy processzor csak egy taszkot futtathat. (Több megvalósításban ez sem korlát.)&lt;br /&gt;
&lt;br /&gt;
=== PCAM módszertan === &lt;br /&gt;
==== Particionálás ====&lt;br /&gt;
Sok kis részfeladatokra osztás. NEM veszi figyelembe a fizikai gép HW/SW adottságait.  Párhuzamosítható részek felderítése.&lt;br /&gt;
* Domén dekompozíció: &lt;br /&gt;
** Adat vagy paramétertér felosztása. Az adat lehet input, output, vagy közbülső adat. &lt;br /&gt;
* Funkcionális dekompozíció: &lt;br /&gt;
** Az algoritmus felosztása olyan részekre, melyek párhuzamosíthatók. &lt;br /&gt;
** Alapvetően a feladat funkcióiból adódik. &lt;br /&gt;
** Az adatokra is figyelni kell. &lt;br /&gt;
** Tipikus példa, amikor az adatok particionálása nem járható: keresés fában. – funkcionálisan viszont bontható&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a particionálás? =====&lt;br /&gt;
* Jól, ha particionálással kapott taszkok száma nagyságrendileg több mint a proc. száma.&lt;br /&gt;
* Jól, ha redundancia mentes.&lt;br /&gt;
* Jól ha a taszkok mérete hasonló.&lt;br /&gt;
* Jól, ha a probléma méretével a taszkok száma is nő.&lt;br /&gt;
&lt;br /&gt;
==== Kommunikáció megtervezése ==== &lt;br /&gt;
Részfeladatok közötti adatcsere és szinkronizációs séma kialakítása.&lt;br /&gt;
* Kis környezetű (local) és globális&lt;br /&gt;
** a taszkok csak kis környezetükben (szomszéd), vagy sok másik taszkkal is kommunikálnak.&lt;br /&gt;
* Strukturált és nem strukturált&lt;br /&gt;
** rács, gyűrű, ... vagy más&lt;br /&gt;
* Statikus és dinamikus&lt;br /&gt;
** végrehajtás közben változik&lt;br /&gt;
* Szinkron vagy aszinkron&lt;br /&gt;
** koordináció hiánya&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a kommunikáció? ===== &lt;br /&gt;
* Jól, ha közel azonos számú kommunikációt végez minden taszk.&lt;br /&gt;
* Jól, ha a taszkok csak lokális környezetükkel kommunikálnak.&lt;br /&gt;
* Jól, ha kommunikáció konkurensen párhuzamosan zajlik. &lt;br /&gt;
* Különböző taszkok konkurensen kommunikálnak.&lt;br /&gt;
&lt;br /&gt;
==== Agglomeráció ==== &lt;br /&gt;
Részfeladatok nagyobb egységekbe gyűjtése a hatékonyságnövelés érdekében. A tényleges párhuzamos gép kommunikációs adottságait is figyelembe véve a részfeladatokat nagyobb egységekbe gyűjtjük.&lt;br /&gt;
Agglomeráció szükségessége:&lt;br /&gt;
* A kommunikáció &amp;quot;költséges&amp;quot;&lt;br /&gt;
* A kommunikáció szükségtelen szinkronizációt okoz&lt;br /&gt;
* Térfogat-felület effektus (számítás/kommunikáció arány)&lt;br /&gt;
* Flexibilitás megtartása&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült az agglomeráció? ===== &lt;br /&gt;
* Jól, ha jelentősen növekedett a lokális kommunikáció&lt;br /&gt;
* Jól, ha a skálázhatóság nem romlott.&lt;br /&gt;
* Jól, ha az összevont taszkok mérete közel azonos.&lt;br /&gt;
* Jól, ha a probléma méretével növekszik a taszkok száma.&lt;br /&gt;
* Jól, ha a már nem vonhatók össze feladatok anélkül, hogy a skálázhatóság vagy a terheléskiegyenlíthetőség ne romlana.&lt;br /&gt;
&lt;br /&gt;
==== Leképezés ==== &lt;br /&gt;
Tényleges HW/SW környezet figyelembe vétele, leképezés a fizikai gépre. A részfeladatok processzorhoz/ feldolgozó elemhez rendelése.  Jelentősen befolyásolhatja a terheléskiegyenlítést, ütemezési algoritmust.&lt;br /&gt;
&lt;br /&gt;
===== Hogy sikerült a leképezés? ===== &lt;br /&gt;
* Jól, ha nem keletkezett szűk keresztmetszet a programban.&lt;br /&gt;
* Jól, ha több lehetséges leképezést is megvizsgáltunk.&lt;br /&gt;
* Ha figyelemmel voltunk a terheléskiegyenlítésre.&lt;/div&gt;</summary>
		<author><name>Fape</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek&amp;diff=167126</id>
		<title>Párhuzamos és Grid rendszerek</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek&amp;diff=167126"/>
		<updated>2013-06-02T05:58:18Z</updated>

		<summary type="html">&lt;p&gt;Fape: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{GlobalTemplate|Infoszak|ParhuzamosEsGridRendszerek}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Tárgyfelelős: Dr. Szeberényi Imre&lt;br /&gt;
* Tárgyhonlap: http://bagira.iit.bme.hu/~szebi/parh_grid_msc.html&lt;br /&gt;
&lt;br /&gt;
==ZH kérdések==&lt;br /&gt;
&lt;br /&gt;
* Flynn féle architektúramodell&lt;br /&gt;
* Sorolj fel pár hosszútávú ütemezőt és jellemezd őket&lt;br /&gt;
* Milyen GRID modellek vannak és jellemzőik&lt;br /&gt;
* jogosultság delegáció gLite rendszerben&lt;br /&gt;
* mi a szerepe VO-k nak.&lt;br /&gt;
* milyen környezetben (SMP,MPP,Cluster) használható az [[OpenMP]]&lt;br /&gt;
* SMP, MPP, Cluster jellemzése&lt;br /&gt;
* Proxy tanúsítvány működése infrastruktúra [[GRIDekben]]&lt;br /&gt;
* milyen hozzáférési módokat nyújt a gLite SRM?&lt;br /&gt;
* Cloud vs. GRID hasonlóságok és különbségek&lt;br /&gt;
* Micsoda a SaaS, PaaS, [[IaaS]]&lt;br /&gt;
* Dasein API rövid jellemzése&lt;br /&gt;
&lt;br /&gt;
==Vizsgák==&lt;br /&gt;
* [[ParhuzamosEsGridRendszerekVizsga20110525|Vizsga 2011.05.25.]]&lt;br /&gt;
&lt;br /&gt;
==Záró vizsga==&lt;br /&gt;
* [[Párhuzamos_és_Grid_rendszerek_záróvizsga_tétel_kidolgozás|Záróvizsga tétel kidolgozás]]&lt;br /&gt;
&lt;br /&gt;
-- [[FaPe|FaPe]] - 2011.05.30.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoszak]]&lt;/div&gt;</summary>
		<author><name>Fape</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek&amp;diff=167125</id>
		<title>Párhuzamos és Grid rendszerek</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=P%C3%A1rhuzamos_%C3%A9s_Grid_rendszerek&amp;diff=167125"/>
		<updated>2013-06-02T05:54:08Z</updated>

		<summary type="html">&lt;p&gt;Fape: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{GlobalTemplate|Infoszak|ParhuzamosEsGridRendszerek}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Tárgyfelelős: Dr. Szeberényi Imre&lt;br /&gt;
* Tárgyhonlap: http://bagira.iit.bme.hu/~szebi/parh_grid_msc.html&lt;br /&gt;
&lt;br /&gt;
==ZH kérdések==&lt;br /&gt;
&lt;br /&gt;
* Flynn féle architektúramodell&lt;br /&gt;
* Sorolj fel pár hosszútávú ütemezőt és jellemezd őket&lt;br /&gt;
* Milyen GRID modellek vannak és jellemzőik&lt;br /&gt;
* jogosultság delegáció gLite rendszerben&lt;br /&gt;
* mi a szerepe VO-k nak.&lt;br /&gt;
* milyen környezetben (SMP,MPP,Cluster) használható az [[OpenMP]]&lt;br /&gt;
* SMP, MPP, Cluster jellemzése&lt;br /&gt;
* Proxy tanúsítvány működése infrastruktúra [[GRIDekben]]&lt;br /&gt;
* milyen hozzáférési módokat nyújt a gLite SRM?&lt;br /&gt;
* Cloud vs. GRID hasonlóságok és különbségek&lt;br /&gt;
* Micsoda a SaaS, PaaS, [[IaaS]]&lt;br /&gt;
* Dasein API rövid jellemzése&lt;br /&gt;
&lt;br /&gt;
==Vizsgák==&lt;br /&gt;
* [[ParhuzamosEsGridRendszerekVizsga20110525|Vizsga 2011.05.25.]]&lt;br /&gt;
&lt;br /&gt;
==Záró vizsga==&lt;br /&gt;
* [[Párhuzamos_és_Grid_rendszerek_zarovizsga_tetel_kidolgozás|Záróvizsga tétel kidolgozás]]&lt;br /&gt;
&lt;br /&gt;
-- [[FaPe|FaPe]] - 2011.05.30.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoszak]]&lt;/div&gt;</summary>
		<author><name>Fape</name></author>
	</entry>
</feed>