Stilling: Evisdom > Internett >

Hva er Distribuert programmering?

Distribuert programmering er en form for parallell programmering eller parallell databehandling. Parallell programmering innebærer datamaskiner og databehandling enheter innen datamaskiner jobber samtidig på et spesielt problem, som spår morgendagens vær. Den computing enheter kan være veldig nøye plassert og koordinert eller kan bli plassert fra hverandre. Når data enhetene fra hverandre, det kalles distribuert programmering. I et slikt scenario, svært ofte databehandling enhetene skiller seg fra hverandre, og operativsystemet og nettverksoppsett varierer også, noe som gjør programmeringen av databehandling aktiviteten spesielt utfordrende.

Når løse et problem i en distribuert måte, må programmet som skal splittes opp slik at deler av programmet kan kjøres på ulike computing enheter; disse delene kalles ofte "prosesser". Prosessene kjøres samtidig, men trenger å kommunisere innganger og resultater til hverandre. Hvis prosessene kjører på ulike maskinvare, for eksempel en del som kjører på Intel og en annen kjører på søn, så programmene må være kompilert og optimalisert annerledes.

En måte å løse et tilstrekkelig vanskelig problem er å bryte opp innspill deler, og har de forskjellige computing enheter arbeid på ulike deler med samme algoritme, det sett av regler eller tiltak for problemløsning. For eksempel vil knekke en genomet på 10. 000 par, de første tusen parene kunne bli tildelt den første databehandling enheten, den andre 1000 parene som er tildelt andre databehandling enheten og så videre, alle bruker samme algoritme. Med distribuert programmering er en fordel at de ulike enhetene databehandling kunne kjøre forskjellige algoritmer for å løse det samme problemet, og dermed fører til en vesentlig bedre løsning. Dette er som å løse et puslespill med noen folk sette sammen grensen, mens andre satt sammen biter av en bestemt farge.

Samordning av distribuert databehandling prosesser kan være en spesielt vanskelig oppgave. Noen computing enheter mislykkes eller kanskje bli avbrutt for å håndtere annet arbeid. Meldinger som inneholder innganger eller resultatet av beregningen kan mislykkes i å nå sine destinasjoner. Dersom programmene er skrevet i en naiv måte, så tapet av ett databehandling enhet eller noen meldinger kan føre til at hele settet av datamaskiner til å henge.

I distribuert programmering, kan en prosess være kontrollerende prosessen, i hovedsak å få arbeidet gjort av andre prosesser, eller kan alle prosesser arbeide i et peer-to-peer måte uten prosess å være "master. "Noen eksempler på problemer forsøkte med distribuert programmering med analyse av geologiske data for ressurser som olje, modellering av proteiner og biologiske molekyler, det sprengning av kodede meldinger, og militære simuleringer. SETI-prosjektet for å søke etter intelligent utenomjordisk liv fra radiomeldinger mottas av Jorden er kanskje en av de mest kjente eksemplene.

----------------------------------
Forholde Artikkelen:
----------------------------------