Hvad er en distribueret algoritme?
En distribueret algoritme er en bestemt type algoritme, der bruges på computersoftware, der skal bruge forskellige sammenkoblede processorer. Den distribuerede algoritme er ansvarlig for at køre forskellige dele af algoritmen på samme tid, hver på en anden processor. Processorerne skal derefter kommunikere med hinanden for, at softwaren kan køre korrekt.
For at forstå den distribuerede algoritme er det nemmest at undersøge, hvad en typisk algoritme er. En algoritme er en defineret proces, der skitserer fra start til slut de trin, der skal tages for at afslutte den ønskede proces eller løse et problem. F.eks. Vil en algoritme til mailing af et brev gå noget i retning af:
1. Hent konvolutten
2. Åbn konvolutten
3. Indsæt brev
4. Luk konvolutten
5. Fastgør stempel
Dette fortsætter, indtil processen er afsluttet. Visse trin kan forgrene sig til andre trin. Disse ville fortælle personen, hvad han skal gøre, hvis han ikke kunne gennemføre et af de vigtigste trin og til sidst ville føre ham tilbage til den originale algoritme. Det vigtige er, at algoritmen til sidst skal have en ende, uanset hvilken vej personen tager for at nå den.
Teknisk set kan alt, hvad der er en defineret proces, være en algoritme, såsom ovenstående eksempel til mailing af et brev. En computeralgoritme er en algoritme designet til at fortælle computeren, hvad de skal gøre. Det har et begyndelse og et slutningstrin med flere trin imellem. Det hjælper computeren med at udføre en handling og instruerer den, hvad den skal gøre, hvis noget går galt. Hvis en fil, som computeren har brug for, mangler, kan den muligvis instruere den til at springe dette trin over eller udføre et alternativt trin på sin plads.
Forskellen mellem en algoritme og en distribueret algoritme er simpelthen, at den distribuerede algoritme er designet til at køre på separate processorer, mens en almindelig computeralgoritme ikke ville være det. Hver processor udfører en anden del af den samlede algoritme på samme tid og sender derefter resultaterne.
Der er flere problemer, der opstår, når du bruger distribuerede algoritmer. En af processorerne kunne mislykkes, hvilket får den del af algoritmen til at stoppe med at fungere. Der kan også være et kommunikationsproblem mellem processorer, som ville forhindre den distribuerede algoritme i at nå slutningen af processen. Mange programmerere studerer distribuerede algoritmer for at finde ud af måder at løse disse problemer og sikre, at algoritmen er afsluttet, selvom der er en teknisk fejl.