Skip to main content

Hvad er distribueret programmering?

Distribueret programmering er en form for parallel programmering eller parallel computing.Parallel programmering involverer computere og computerenheder inden for computere, der arbejder samtidig med et bestemt problem, såsom at forudsige morgendagsvejr.Beregningsenhederne kan være meget tæt placeret og koordineret eller kan placeres fra hinanden.Når computerenhederne er fra hinanden, kaldes det distribueret programmering.I et sådant scenarie adskiller sig meget ofte computerenhederne fra hinanden, og operativsystemet og netværksopsætningen adskillerOpdel op, så dele af programmet kan køre på de forskellige computerenheder;Disse dele kaldes ofte processer.Processerne kører samtidig, men er nødt til at kommunikere input og resultater til hinanden.Hvis processerne kører på forskellige hardware, såsom en del, der kører på Intel og en anden, der kører på solen, skal programmerne udarbejdes og optimeres forskelligt.

En måde at løse et tilstrækkeligt vanskeligt problem er at nedbryde inputdelene, og få de forskellige computerenheder til at fungere på de forskellige dele ved hjælp af den samme algoritme, sæt regler eller trin til problemløsning.For at knække et genom på 10.000 par kunne de første 1.000 par for eksempel tildeles til den første computerenhed, den anden 1.000 par, der er tildelt den anden computerenhed og så videre, alle ved hjælp af den samme algoritme.Med distribueret programmering er en fordel, at de forskellige computerenheder kunne køre forskellige algoritmer for at løse det samme problem, hvilket således fører til en markant bedre løsning.Dette svarer til at løse et puslespil med nogle mennesker, der samler grænsen, mens andre sammensætter stykker af en bestemt farve.

Koordinering af de distribuerede computerprocesser kan være en særlig vanskelig opgave.Nogle computerenheder kan mislykkes eller kan blive afbrudt for at håndtere andet arbejde.Meddelelser, der indeholder input eller resultaterne af beregningen, kan ikke nå deres destinationer.Hvis programmerne er skrevet på en NA #239; ve måde, kan tabet af en computerenhed eller nogle meddelelser medføre, at hele sæt computere hænger.

I distribueret programmering kan en proces være kontrolprocessen, i det væsentlige at fåarbejde udført af de andre processer, eller alle processer kunne fungere på en peer-to-peer måde uden nogen proces som mester.Nogle eksempler på problemer, der er forsøgt med distribueret programmering, inkluderer analyse af geologiske data for ressourcer såsom petroleum, modellering af proteiner og biologiske molekyler, knækningen af kodede meddelelser og militære simuleringer.SETI-projektet til at søge efter intelligent ekstra-terrestrisk liv fra de radiomeddelelser, der er modtaget af Jorden, er måske et af de mest kendte eksempler.