Skip to main content

Vad är distribuerad programmering?

Distribuerad programmering är en form av parallell programmering eller parallell datoranvändning.Parallell programmering involverar datorer och datorenheter inom datorer som arbetar samtidigt med ett visst problem, till exempel att förutsäga morgondagens väder.Computing -enheterna kan vara mycket nära belägna och samordnade eller kan vara belägna.När datorenheterna är isär kallas den distribuerad programmering.I ett sådant scenario skiljer sig mycket ofta datorenheterna från varandra, och operativsystemet och nätverksinställningen skiljer sig också åt, vilket gör programmering av datoraktiviteten särskilt utmanande.

När man löser ett problem på ett distribuerat sätt måste programmet varaDela upp så att delar av programmet kan köras på de olika datorenheterna;Dessa delar kallas ofta processer.Processerna körs samtidigt men måste kommunicera ingångar och resultat till varandra.Om processerna körs på olika hårdvara, till exempel en del som körs på Intel och en annan som körs på solen, måste programmen sammanställas och optimeras annorlunda.

Ett sätt att lösa ett tillräckligt svårt problem är att bryta upp ingångsdelarna, och låt de olika datorenheterna fungera på de olika delarna med samma algoritm, uppsättningen av regler eller steg för problemlösning.För att knäcka ett genom på 10 000 par kunde till exempel de första 1 000 paren tilldelas den första datorenheten, de andra 1 000 par som tilldelats den andra datorenheten och så vidare, alla med samma algoritm.Med distribuerad programmering är en fördel att de olika datorenheterna kan köra olika algoritmer för att lösa samma problem, vilket leder till en betydligt bättre lösning.Detta liknar att lösa ett pussel med vissa människor som sammanställer gränsen medan andra sätter ihop delar av en viss färg.

Koordination av de distribuerade datorprocesserna kan vara en särskilt svår uppgift.Vissa datorenheter kan misslyckas eller kan avbrytas för att hantera annat arbete.Meddelanden som innehåller ingångarna eller resultaten från beräkningen kan misslyckas med att nå sina destinationer.Om programmen är skrivna på ett NA #239; VE -sätt, kan förlusten av en datorenhet eller vissa meddelanden orsaka att hela uppsättningen av datorer hänger.

I distribuerad programmering kan en process vara kontrollprocessen, i huvudsak fåArbetet som utförts av de andra processerna, eller alla processer kan fungera på ett peer-to-peer-sätt utan att någon process är befälhavaren.Några exempel på problem som försökts med distribuerad programmering inkluderar analys av geologiska data för resurser som petroleum, modellering av proteiner och biologiska molekyler, sprickbildning av kodade meddelanden och militära simuleringar.Seti-projektet för att söka efter intelligent utomjordiskt liv från de radiomeddelanden som erhållits av jorden är kanske ett av de mest kända exemplen.