Distribueret computing

Distribueret computing  er en måde at løse tidskrævende beregningsproblemer ved hjælp af flere computere , oftest kombineret til et parallelt computersystem . [1] Distribueret databehandling er også anvendelig i distribuerede kontrolsystemer. [2]

Sekventielle beregninger i distribuerede systemer udføres under hensyntagen til den samtidige løsning af mange problemer. Et træk ved distribuerede multiprocessor-computersystemer , i modsætning til lokale supercomputere , er muligheden for ubegrænset stigning i ydeevnen på grund af skalering. [2] :550 Løst koblede, heterogene computersystemer med en høj grad af distribution skelnes i en separat klasse af distribuerede systemer - et gitter .

Historie

Arbejdet med distribueret databehandling med et meget anvendt formål - til militære formål, nemlig automatisering af hemmelig kommunikation og behandling af efterretningsoplysninger, er blevet udført intensivt i USA siden 1960'erne . Udviklingen af ​​distribuerede computerteknologier og oprettelsen af ​​distribuerede informationssystemer i USA efter ordre fra US Defense Advanced Research Projects Agency , typer væbnede styrker og tjenester (agenturer) i strukturen af ​​det amerikanske forsvarsministerium blev udført af forskningsenheder i virksomheder og universiteter: [3]

Som en del af det igangværende grundforsknings- , forsknings- og udviklingsarbejde blev de tilsvarende software- og hardwaresystemer udviklet til de allerede eksisterende lavniveau (maskinorienterede) programmeringssprog , speciel software med kryptografisk beskyttelse osv. [3]

I 1973 skrev John Schoch og John Hupp fra Californiens Xerox PARC forskningscenter et program, der ville logge ind på PARC LAN om natten og tvinge kørende computere til at udføre beregninger [4] .

I 1977, på NETI (NSTU, Novosibirsk), ved Institut for Computerteknik, under ledelse af V. I. Zhiratkov, blev et distribueret computersystem udviklet fra tre computere "Minsk-32" med original hardware og software, der understøtter protokoller fra fysiske, kanal- og netværksniveauer og sikring af udførelse af parallelle opgaver. Den ene maskine var på Computing Center på Novosibirsk State Technical University, og de to andre var på Computing Center for Institut for Matematik i den sibiriske gren af ​​det russiske videnskabsakademi. Kommunikation mellem NSTU og Institut for Matematik i den sibiriske gren af ​​det russiske videnskabsakademi blev leveret via en radiokanal ved hjælp af retningsbestemte antenner. Systemet blev testet under løsning af optimeringsproblemer inden for økonomi ved hjælp af storblokparallelisering.

I 1978 arbejdede den sovjetiske matematiker Viktor Glushkov på problemet med makro -pipelinet distribueret computing. Han foreslog en række principper for fordeling af arbejde mellem processorer . [2] :320 Baseret på disse principper udviklede han ES-2701 computeren .

I 1988 skrev Arjen Lenstra og Mark Menes et program til at faktorisere lange tal. For at fremskynde processen kunne programmet køres på flere maskiner, som hver behandlede sit eget lille fragment. [4] .

I 1994 foreslog David Gidi ideen om at organisere et massivt distribueret computerprojekt, der bruger frivillige computere (den såkaldte frivillige computere ) - SETI@Home [5] . Den videnskabelige plan for projektet, udviklet af David Gidi og Craig Kasnoff fra Seattle, blev præsenteret på den femte internationale konference om bioastronomi i juli 1996 [6] .

I januar 1996 startede GIMPS-projektet til at søge efter Mersenne-primtal , også ved at bruge almindelige brugeres computere som et frivilligt computernetværk.

Den 28. januar 1997 blev RSA Data Security-konkurrencen lanceret for at løse problemet med hacking ved blot at opregne en 56-bit RC5 informationskrypteringsnøgle . Takket være en god teknisk og organisatorisk forberedelse blev projektet, organiseret af non-profit-fællesskabet distributed.net , hurtigt bredt kendt [4] .

Den 17. maj 1999 startede SETI@home på basis af Grid , og i begyndelsen af ​​2002 blev udviklingen af ​​den åbne platform BOINC (Berkeley Open Infrastructure for Network Computing) afsluttet ved University of California i Berkeley, udviklet siden april 2000 , oprindeligt for SETI@Home , men det første på platformen BOINC blev et Predictor@home-projekt, der blev lanceret den 9. juni 2004.

Ledelse af computerjob

Problemet med at fordele forskellige beregningsopgaver inden for et distribueret system refererer til problemet med beslutningstagning under usikkerhed . Dette problem overvejes i teorien om beslutningstagning og i teorien om usikkerhed .

Distribuerede operativsystemer

Et distribueret OS, ved dynamisk og automatisk at allokere arbejde til forskellige maskiner i systemet til behandling, tvinger et sæt netværksforbundne maskiner til at behandle information parallelt. Brugeren af ​​et distribueret OS har generelt ikke kendskab til den maskine, hvorpå hans arbejde udføres. [en]

Et distribueret OS eksisterer som et enkelt operativsystem på tværs af et computersystem. Hver computer på et netværk, der kører et distribueret OS, udfører en del af funktionerne i dette globale OS. Et distribueret OS forener alle computere på et netværk i den forstand, at de arbejder tæt sammen med hinanden for effektivt at bruge alle ressourcerne i et computernetværk.

Som et resultat kan et netværks-OS ses som et sæt operativsystemer på individuelle computere, der udgør netværket. Forskellige computere på netværket kan køre det samme eller forskellige operativsystemer. For eksempel kan alle computere på et netværk køre det samme UNIX -operativsystem . En mere realistisk mulighed er et netværk, der kører forskellige operativsystemer, for eksempel kører nogle af computerne UNIX, nogle kører NetWare, og resten kører Windows NT og Windows 98 . Alle disse operativsystemer fungerer uafhængigt af hinanden i den forstand, at hver af dem træffer uafhængige beslutninger om at skabe og afslutte deres egne processer og administrere lokale ressourcer. Men under alle omstændigheder skal operativsystemerne på computere, der opererer på netværket, omfatte et gensidigt aftalt sæt kommunikationsprotokoller for at organisere samspillet mellem processer, der kører på forskellige computere på netværket, og dele disse computeres ressourcer mellem netværksbrugere.

Hvis operativsystemet på en enkelt computer tillader det at arbejde på et netværk og kan dele dets ressourcer og/eller bruge ressourcerne fra andre computere på netværket, så kaldes et sådant operativsystem på en enkelt computer også et netværks-OS.

Således bruges udtrykket "netværksoperativsystem" i to betydninger: som et sæt OS af alle computere på netværket og som operativsystemet på en enkelt computer, der kan arbejde på netværket. Af denne definition følger det, at sådanne operativsystemer som for eksempel Windows NT, NetWare, Solaris, HP-UX er netværksoperativsystemer, da de alle har de midler, der gør det muligt for deres brugere at arbejde på et netværk.

Se også

Noter

  1. 1 2 Andrew Tanenbaum , Martin van Steen. distribuerede systemer. Principper og paradigmer = Andrew S. Tanenbaum, Maarten van Steen. "Distribuerede systemer. Principper og paradigmer". - St. Petersborg: Piter, 2003. - 877 s. — (Klassikere inden for datalogi). - ISBN 5-272-00053-6 .
  2. 1 2 3 Dictionary of Cybernetics / Redigeret af akademiker V. S. Mikhalevich . - 2. - Kiev: Hovedudgave af den ukrainske sovjetiske encyklopædi opkaldt efter M. P. Bazhan, 1989. - 751 s. - (C48). — 50.000 eksemplarer.  - ISBN 5-88500-008-5 .
  3. 12 Erklæring fra Dr. Stephen J. Lukasik, direktør, Advanced Research Projects Agency . / Forsvarsministeriets bevillinger for regnskabsåret 1972. - 30. april 1971. - S. 736-737 - 1090 s.
  4. 1 2 3 Med verden på en snor: Supercomputer "Popular Mechanics magazine" . Adgangsdato: 10. juni 2011. Arkiveret den 29. december 2009.
  5. Computeren i videnskabens tjeneste - Interview med SETI@Home og BOINC-direktør David P. Anderson Arkiveret 2011-08-30.
  6. Ilyin Yu. SETI for udenjordisk intelligens: 24 timer på jagt efter \\[[MEMBRANA]], 12. marts 2003 (utilgængeligt link) . Hentet 30. august 2011. Arkiveret fra originalen 7. oktober 2011.