Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
paralelné výpočty
* Definícia: Forma výpočtu, kde viacero procesorov vykonáva pokyny súbežne v rámci jedného zdieľaného pamätného priestoru alebo veľmi pevne spojené uzly. Cieľom je urýchliť vykonávanie jednej veľkej úlohy rozdelením na menšie nezávislé podložky.
* hardvér: Zvyčajne zahŕňa viacjadrové procesory, symetrické multiprocessingové (SMP) systémy alebo špecializovaný hardvér, ako je GPU, v jednom stroji alebo v malom klastri. Hardvér je všeobecne fyzicky blízko seba a komunikuje priamo prostredníctvom zdieľanej pamäte alebo vysokorýchlostných prepojení.
* pamäť: Zdieľaná pamäť je bežná. Procesory majú priamo prístup k rovnakým miestam pamäte. Odovzdávanie správ je tiež možné, ale menej bežné ako pri distribuovaných systémoch.
* komunikácia: Rýchle a efektívne v dôsledku vzájomných prepojení zdieľanej pamäte alebo vysokej šírky.
* Programovací model: Často využíva modely programovania zdieľanej pamäte (napr. OpenMP) alebo správy odovzdávajúce v jednom počítači (napr. MPI v rámci jedného servera). Zamerajte sa na efektívny prístup a synchronizáciu údajov.
* Focus: Cieľom je predovšetkým skrátiť čas vykonávania * výpočtovo intenzívnej úlohy.
Distribuované výpočty
* Definícia: Forma výpočtu, kde viac nezávislých počítačov (uzlov), pripojených cez sieť , spolupracujte na dosiahnutí spoločného cieľa. Tieto uzly majú svoj vlastný pamäťový priestor a operačné systémy. Cieľom je vyriešiť zložité problémy, ktoré sú príliš veľké na jeden stroj, alebo poskytovať služby geograficky rozptýleným spôsobom.
* hardvér: Zahŕňa sieť počítačov, ktorá by mohla byť čokoľvek od osobných počítačov po servery až po špecializovaný hardvér, často geograficky distribuované.
* pamäť: Každý uzol má svoju vlastnú nezávislú pamäť. Údaje sa musia explicitne odovzdávať medzi uzly.
* komunikácia: Spolieha sa na sieťovú komunikáciu (napr. TCP/IP, HTTP, fronty správ) na výmenu údajov a koordinovanie úloh. Táto komunikácia je zvyčajne pomalšia a náchylnejšia na latenciu a zlyhania ako v paralelných systémoch.
* Programovací model: Zamestnáva správy o odovzdávaní alebo distribuovanej zdieľanej pamäti (ktorá je implementovaná v sieti a predstavuje komplexné modely programovania. Zamerajte sa na toleranciu porúch, konzistentnosť údajov a sieťovú komunikáciu.
* Focus: Cieľom je zvýšiť *škálovateľnosť *, *dostupnosť *, *tolerancia porúch *a schopnosť spracovať veľké súbory údajov. Aj keď je zlepšenie výkonnosti cieľom, často je sekundárne k týmto ďalším obavám.
Kľúčové rozdiely v tabuľke:
| Funkcia | Paralelné výpočty Distribuované výpočty
| --------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------- |
| hardvér | Viacjadrový, SMP, GPU v jednom stroji Sieť nezávislých počítačov
| pamäť | Zdieľaná pamäť (bežná) alebo správa správy (menej bežné) Nezávislá pamäť na uzol
| komunikácia | Rýchla, zdieľaná pamäť alebo vysokorýchlostné prepojenia Pomalšie, sieťová komunikácia (TCP/IP, HTTP) |
| Programovanie | Zdieľaná pamäť (Openmp), MPI (jeden stroj) | Prejdenie správ (MPI, GRPC atď.), Distribuované rámce |
| Primárny cieľ | Znížte čas vykonávania jednej úlohy Zvýšte škálovateľnosť, dostupnosť, tolerancia porúch
| spojenie | Pevne spojené Voľne spojené
| zložitosť | Nižšie, najmä so zdieľanou pamäťou. | Vyššie, kvôli problémom siete, tolerancii porúch. |
Vplyv na škálovateľnosť výkonnosti
* Paralelné výpočtové škálovateľnosť:
* Výhody: Vynikajúca škálovateľnosť problémov, ktoré je možné ľahko rozdeliť a paralelizovať, najmä pri používaní architektúry zdieľanej pamäte. Rýchla komunikácia umožňuje efektívne zdieľanie a synchronizáciu údajov.
* Obmedzenia: Škálovateľnosť je obmedzená počtom jadier alebo procesorov v rámci jedného stroja. Zákon Amdahl výrazne ovplyvňuje výkon - časť kódu, ktorá sa nedá paralelizovať, nakoniec obmedzí celkové zrýchlenie. Šírka pásma pamäte sa tiež môže stať prekážkou, keď sa zvyšuje počet jadier. Prístup zdieľanej pamäte môže tiež zaviesť spor.
* Distribuovaná výpočtová škálovateľnosť:
* Výhody: Môže škálovať na oveľa väčšie problémy a súbory údajov, pretože nie je obmedzený zdrojmi jedného stroja. Horizontálne škálovanie je možné pridaním ďalších uzlov do siete. Tolerantnejšie voči zlyhaniam; Ak jeden uzol klesne, ostatní môžu pokračovať v prevádzke.
* Obmedzenia: Škálovateľnosť je obmedzená režijnou šírkou pásma, latencie a komunikácie. Prenos údajov medzi uzlami môže byť pomalý a drahý. Dosiahnutie silnej konzistentnosti medzi distribuovanými údajmi môže byť zložité a vplyv na výkon. Zložitosť riadenia distribuovaných systémov (tolerancia porúch, konzistentnosť údajov, koordinácia) môže významne zvýšiť vývojové a prevádzkové náklady. S rastom počtu uzlov môže byť významná koordinácia.
v súhrne:
* paralelné výpočty Vyniká pri urýchlení výpočtovo náročných úloh v jednom stroji alebo v malom, pevne spojenom klastri. Je ideálny, keď potrebujete najrýchlejší možný čas vykonávania pre konkrétny problém.
* Distribuované výpočty Vyniká pri riešení rozsiahlych problémov, poskytuje vysokú dostupnosť a spravuje geograficky rozptýlené údaje. Je ideálny, keď potrebujete spracovať masívne súbory údajov, budovať systémy odolné voči poruchám alebo poskytovať služby veľkému počtu používateľov na rôznych miestach.
Výber medzi paralelným a distribuovaným výpočtom (alebo kombináciou oboch) závisí od konkrétneho problému, ktorý sa snažíte vyriešiť, dostupných zdrojov a požadovaných výkonnostných charakteristík. Bežným prístupom je použitie paralelného výpočtu * v každom uzle distribuovaného systému na maximalizáciu využívania zdrojov. Napríklad distribuovaná databáza môže použiť viacjadrové procesory na paralelizáciu dopytov v každom databázovom serveri.