Skip to main content

Co je distribuovaný algoritmus?

Distribuovaný algoritmus je specifický typ algoritmu používaného v počítačovém softwaru, který musí používat různé propojené procesory.Distribuovaný algoritmus je zodpovědný za provozování různých částí algoritmu současně, každý na jiném procesoru.Procesory musí poté spolu komunikovat, aby software správně spustil.Algoritmus je definovaný proces, který nastiňuje od začátku do dokončení kroků, které musí být provedeny k dokončení požadovaného procesu nebo vyřešení problému.Například algoritmus pro poštu dopisu by šel něco podél:

1.Získejte obálku

2.Otevřená obálka

3.Vložte písmeno
4.Close Envelope
5.Připojte razítko

To by pokračovalo, dokud nebude proces dokončen.Některé kroky se mohou odbočit do jiných kroků.Tito by osobě řekli, co dělat, kdyby nedokázal dokončit jeden z hlavních kroků a nakonec by ho vedl zpět k původnímu algoritmu.Důležité je, že algoritmus musí mít nakonec ukončení bez ohledu na to, jakou cestu se dostane k dosažení.

Technicky cokoli, co je definovaný proces, může být algoritmus, například výše uvedený příklad pro poštu dopisu.Počítačový algoritmus je algoritmus navržený tak, aby počítačovému sdělení, co má dělat.Má začátek a koncový krok s několika kroky mezi nimi.Pomáhá počítači provést akci a instruuje ji, co dělat, když se něco pokazí.Pokud soubor, který počítač potřebuje, může ho nařídit, aby tento krok přeskočil nebo provedl alternativní krok na svém místě.

Rozdíl mezi algoritmem a distribuovaným algoritmem je jednoduše to, že distribuovaný algoritmus je navržen tak, aby běžel na samostatných procesorech, zatímco běžný počítačový algoritmus by nebyl.Každý procesor provádí současně jinou část celkového algoritmu a poté výsledky odesílá.

Při použití distribuovaných algoritmů existuje několik problémů.Jeden z procesorů by mohl selhat, což způsobilo, že tato část algoritmu přestala fungovat.Mohl by také existovat komunikační problém mezi procesory, který by zabránil distribuovanému algoritmu dosáhnout konce procesu.Mnoho programátorů studuje distribuované algoritmy, aby zjistilo způsoby, jak tyto problémy překonat a zajistit, aby byl algoritmus dokončen, i když dojde k technické chybě.