Skip to main content

Vad är en distribuerad algoritm?

En distribuerad algoritm är en specifik typ av algoritm som används på datorprogramvara som måste använda olika, sammankopplade processorer.Den distribuerade algoritmen ansvarar för att köra olika delar av algoritmen samtidigt, var och en på en annan processor.Processorerna måste sedan kommunicera med varandra för att programvaran ska köras korrekt.

För att förstå den distribuerade algoritmen, är det enklaste att undersöka vad en typisk algoritm är.En algoritm är en definierad process som beskriver från början för att avsluta stegen som måste vidtas för att slutföra den önskade processen eller lösa ett problem.Till exempel skulle en algoritm för att maila ett brev gå något i linje med:

1.Få kuvert
2.Öppet kuvert
3.Infoga bokstav
4.Stäng kuvertet
5.Bifoga stämpel

Detta skulle fortsätta tills processen har slutförts.Vissa steg kan grenas till andra steg.Dessa skulle berätta för personen vad han skulle göra om han inte kunde slutföra ett av huvudstegen och så småningom skulle leda honom tillbaka till den ursprungliga algoritmen.Det viktiga är att algoritmen så småningom måste ha ett slut oavsett vilken väg personen tar för att nå den.

Tekniskt kan allt som är en definierad process vara en algoritm, till exempel exemplet ovan för att skicka ett brev.En datoralgoritm är en algoritm utformad för att berätta för datorn vad man ska göra.Det har en början och ett slutsteg med flera steg däremellan.Det hjälper datorn att utföra en åtgärd och instruerar den vad man ska göra om något går fel.Om en fil datorn behöver saknas kan den instruera den att hoppa över det steget eller utföra ett alternativt steg på sin plats.

Skillnaden mellan en algoritm och en distribuerad algoritm är helt enkelt att den distribuerade algoritmen är utformad för att köras på separata processorer medan en vanlig datoralgoritm inte skulle vara.Varje processor utför en annan del av den övergripande algoritmen samtidigt och skickar sedan in resultaten.

Det finns flera problem som uppstår när du använder distribuerade algoritmer.En av processorerna kunde misslyckas, vilket fick den delen av algoritmen att sluta fungera.Det kan också finnas ett kommunikationsproblem mellan processorer som skulle hindra den distribuerade algoritmen från att nå slutet av processen.Många programmerare studerar distribuerade algoritmer för att ta reda på sätt att övervinna dessa problem och se till att algoritmen är klar även om det finns ett tekniskt fel.