Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
paralelné výpočty
* Definícia: Typ výpočtu, kde viac procesorov alebo jadier v jednom stroji Pracujte súčasne na rôznych častiach toho istého problému. Zameriava sa na skrátenie času potrebného na vyriešenie problému vydelením pracovného zaťaženia.
* Kľúčové charakteristiky:
* Zdieľaná pamäť (zvyčajne): Paralelné systémy často používajú zdieľanú pamäť, čo znamená, že všetky procesory majú prístup k rovnakému pamäťovému priestoru. To umožňuje ľahké zdieľanie údajov a komunikáciu medzi procesormi. Zdieľaná pamäť však môže byť prekážkou.
* tesné spojenie: Procesory sú pevne spojené, čo znamená, že často komunikujú a majú nízku latenciu.
* homogénne prostredie (zvyčajne): Procesory sú často podobné alebo identické, pokiaľ ide o architektúru a schopnosti.
* Jeden operačný systém: Zvyčajne beží na jednej inštancii operačného systému.
* Umiestnenie: Fyzicky umiestnené v blízkosti seba, často v rovnakom počítači alebo stojane.
* Príklady:
* Viacrstvové procesory vo vašom stolnom počítači.
* GPU (grafické spracovateľské jednotky) pre vedecké simulácie alebo strojové učenie.
* Servery zdieľanej pamäte.
Distribuované výpočty
* Definícia: Typ výpočtu, v ktorom viac nezávislých počítačov (uzly alebo stroje) spolupracuje na spoločnej úlohe alebo súbore úloh. Tieto stroje sú fyzicky oddelené a komunikujú v sieti.
* Kľúčové charakteristiky:
* Distribuovaná pamäť: Každý počítač (uzol) má svoj vlastný súkromný pamäťový priestor. Dáta sa musia explicitne prenášať medzi uzly pomocou odovzdávania správ.
* voľné spojenie: Uzly sú voľne spojené, čo znamená, že môžu komunikovať menej často a mať vyššiu latenciu v porovnaní s paralelnými systémami.
* heterogénne prostredie (často): Uzly môžu byť rôznorodé z hľadiska hardvéru, operačných systémov a sieťového pripojenia.
* Viaceré operačné systémy: Každý uzol zvyčajne prevádzkuje svoju vlastnú inštanciu operačného systému.
* Umiestnenie: Geograficky rozptýlené, môže byť cez miestnosť, budovu alebo dokonca svet.
* Príklady:
* Platformy cloud computingu (AWS, Azure, Google Cloud).
* Cluster Computing (skupiny sieťových počítačov pracujúcich spolu).
* Výpočty siete (geograficky distribuované zdroje).
* Siete peer-to-peer.
Kľúčové rozdiely sú zhrnuté:
| Funkcia | Paralelné výpočty Distribuované výpočty
|---------------------|------------------------------------|-----------------------------------------------|
| procesory | Viac jadier v jednom stroji Viaceré nezávislé stroje (uzly)
| pamäť | Zdieľaná pamäť (zvyčajne) Distribuovaná pamäť (každý uzol má svoj vlastný)
| spojenie | Tesné spojenie Voľné spojenie
| Umiestnenie | Tesná blízkosť Geograficky rozptýlené
| komunikácia | Prístup k zdieľanej pamäte alebo odovzdávanie správ Odovzdávanie správ (sieťová komunikácia)
| homogenity | Zvyčajne homogénne Často heterogénny
| operačný systém | Jedna inštancia Viaceré prípady
Vplyv na škálovateľnosť
* Paralelné výpočtové škálovateľnosť:
* obmedzený počtom jadier/procesorov v jednom stroji: Nakoniec ste obmedzení fyzickými obmedzeniami stroja. Rozšírenie zvyčajne zahŕňa nákup výkonnejšieho hardvéru s viacerými jadrami, čo môže byť veľmi drahé.
* zdieľaná pamäť prekážky: Keď sa počet procesorov zvyšuje, tvrdenie o zdieľanej pamäti sa môže stať významným prekážkou, čo obmedzuje škálovateľnosť. Techniky ako ukladanie do vyrovnávacej pamäte a NUMA (nejednotný prístup pamäte) to môžu pomôcť zmierniť to.
* Amdahl zákon: Amdahlov zákon uvádza, že zrýchlenie programu využívajúci viacero procesorov je obmedzené podielom programu, ktorý je možné paralelizovať. Ak je významná časť programu vo svojej podstate sekvenčná, pridanie ďalších procesorov bude mať zníženie výnosov.
* dobré pre: Výpočtovo intenzívne úlohy, ktoré sa dajú ľahko rozdeliť na menšie nezávislé úlohy a sú vhodné pre architektúry zdieľanej pamäte.
* Distribuovaná výpočtová škálovateľnosť:
* horizontálne škálovateľné: Do systému môžete ľahko pridať ďalšie uzly, aby ste zvýšili jeho výkonový výkon. Toto sa často nazýva „škálovanie“.
* tolerancia porúch: Ak zlyhá jeden uzol, systém môže pokračovať v prevádzke za predpokladu, že pracovné zaťaženie je možné prerozdeliť do iných uzlov.
* Zvládne veľké súbory údajov: Vhodný na spracovanie a ukladanie rozsiahlych súborov údajov, ktoré by bolo nepraktické manipulovať na jednom stroji.
* Latencia siete: Komunikácia medzi uzlami v sieti predstavuje latenciu, ktorá môže obmedziť výkon, najmä pre aplikácie, ktoré si vyžadujú častú výmenu údajov. Stratégie, ako je dátová lokalita (spracovanie údajov blízko miesta, kde sú uložené) sú rozhodujúce.
* zložitosť: Distribuované systémy sú zložitejšie na navrhovanie, implementáciu a správu kvôli problémom, ako sú konzistentnosť údajov, tolerancia porúch a bezpečnosť.
* dobré pre: Aplikácie, ktoré možno rozdeliť na nezávislé úlohy, ktoré je možné vykonávať na rôznych počítačoch, ako sú webové servery, potrubia spracovania údajov a simulácie rozsiahleho rozsahu.
Stručne povedané:
* Paralelné výpočty uprednostňuje rýchlosť a účinnosť v jednom stroji. Jeho škálovateľnosť je obmedzená hardvérovými obmedzeniami a zdieľanou pamäťou.
* Distribuované výpočty uprednostňuje škálovanie na spracovanie väčších pracovných zaťažení a objemov údajov, s inherentnou toleranciou porúch. Jeho škálovateľnosť je obmedzená latenciou siete a zložitosťou riadenia distribuovaného systému.
Výber medzi paralelným a distribuovaným výpočtom do značnej miery závisí od konkrétneho problému, ktorý sa snažíte vyriešiť, dostupných zdrojov a požadovanej úrovne škálovateľnosti a tolerancie porúch. Často sa používajú hybridné prístupy, ktoré kombinujú paralelné spracovanie v každom uzle distribuovaného systému.