Skip to main content

Co je distribuované programování?

Distribuované programování je jedna forma paralelního programování nebo paralelního výpočtu.Paralelní programování zahrnuje počítače a výpočetní jednotky v počítačích pracujících souběžně na konkrétním problému, jako je předpovídání zítřků počasí.Výpočetní jednotky mohou být velmi úzce umístěny a koordinovány nebo mohou být umístěny od sebe.Když jsou výpočetní jednotky od sebe, nazývá se distribuované programování.V takovém scénáři se výpočetní jednotky často od sebe velmi liší a operační systém a nastavení sítě se také liší, takže programování výpočetní aktivity obzvláště náročné.rozdělit se tak, aby části programu mohly běžet na různých výpočetních jednotkách;Tyto části se často nazývají procesy.Procesy běží současně, ale musí si navzájem komunikovat vstupy a výsledky.Pokud procesy běží na různých hardwarech, jako je jedna část běžící na Intel a další běžící na slunci, musí být programy kompilovány a optimalizovány odlišně., a nechte různé výpočetní jednotky pracovat na různých částech pomocí stejného algoritmu, sady pravidel nebo kroků pro řešení problémů.Například pro prasknutí genomu 10 000 párů by mohlo být prvních 1 000 párů přiřazeno k první výpočetní jednotce, druhý 1 000 párů přiřazených druhé výpočetní jednotce atd. Všechny používají stejný algoritmus.S distribuovaným programováním je jednou z výhod, že různé výpočetní jednotky by mohly spustit různé algoritmy k vyřešení stejného problému, což vedlo k výrazně lepšímu řešení.To se podobá řešení skládačky, přičemž někteří lidé spojují hranici, zatímco jiní sestavují kusy konkrétní barvy.

Koordinace distribuovaných výpočetních procesů může být obzvláště obtížným úkolem.Některé výpočetní jednotky mohou selhat nebo mohou být přerušeny, aby zvládly další práci.Zprávy obsahující vstupy nebo výsledky výpočtu mohou dosáhnout jejich cílů.Pokud jsou programy psány způsobem, pak ztráta výpočetní jednotky nebo některých zpráv může způsobit zavěšení celé sady počítačů.Práce prováděná ostatními procesy, nebo by všechny procesy mohly fungovat tak, aby peer-to-peer mohly fungovat, aniž by to byl žádný proces.Některé příklady problémů pokusů o distribuované programování zahrnují analýzu geologických údajů pro zdroje, jako je ropa, modelování proteinů a biologické molekuly, praskání kódovaných zpráv a vojenské simulace.Projekt SETI pro vyhledávání inteligentního mimozemského života z rozhlasových zpráv obdržených společností Země je možná jedním z nejznámějších příkladů.