Distribuerad databehandling

Distribuerad beräkning  är ett sätt att lösa tidskrävande beräkningsproblem med hjälp av flera datorer , oftast kombinerade till ett parallellt beräkningssystem . [1] Distribuerad beräkning är också tillämplig i distribuerade styrsystem. [2]

Sekventiella beräkningar i distribuerade system utförs med hänsyn till den samtidiga lösningen av många problem. En egenskap hos distribuerade multiprocessorberäkningssystem , i motsats till lokala superdatorer , är möjligheten till obegränsad ökning av prestanda på grund av skalning. [2] :550 Löst kopplade, heterogena datorsystem med hög distributionsgrad särskiljs i en separat klass av distribuerade system - ett rutnät .

Historik

Arbete med distribuerad databehandling med ett mycket tillämpat syfte - för militära ändamål, nämligen automatisering av hemlig kommunikation och bearbetning av underrättelseinformation, har bedrivits intensivt i USA sedan 1960 -talet . Utvecklingen av distribuerad datorteknik och skapandet av distribuerade informationssystem i USA på order av US Defense Advanced Research Projects Agency , typer av väpnade styrkor och tjänster (byråer) i strukturen för det amerikanska försvarsdepartementet utfördes av forskningsenheter i företag och universitet: [3]

Som en del av det pågående grundforsknings- , forsknings- och utvecklingsarbetet utvecklades motsvarande mjuk- och hårdvarusystem för de redan existerande lågnivå (maskinorienterade) programmeringsspråken , specialprogramvara med kryptografiskt skydd, etc. [3]

År 1973 skrev John Schoch och John Hupp från Kaliforniens Xerox PARC - forskningscenter ett program som skulle logga in på PARC LAN på natten och tvinga löpande datorer att utföra beräkningar [4] .

1977, vid NETI (NSTU, Novosibirsk), vid Institutionen för datateknik, under ledning av V. I. Zhiratkov, utvecklades ett distribuerat datorsystem från tre datorer "Minsk-32" med original hårdvara och mjukvara som stöder protokoll för fysiska nivåer, kanal- och nätverksnivåer, och säkerställa utförandet av parallella uppgifter. En maskin var vid Computing Center vid Novosibirsk State Technical University, och de andra två var vid Computing Center vid Institute of Mathematics av ​​den sibiriska grenen av den ryska vetenskapsakademin. Kommunikation mellan NSTU och Mathematics Institute of the Siberian Branch of Russian Academy of Sciences tillhandahölls via en radiokanal med hjälp av riktade antenner. Systemet testades samtidigt som det löste optimeringsproblem inom det ekonomiska området med hjälp av parallellisering med stora block.

1978 arbetade den sovjetiske matematikern Viktor Glushkov med problemet med makrobaserad distribuerad datoranvändning. Han föreslog ett antal principer för att fördela arbete mellan processorer . [2] :320 Baserat på dessa principer utvecklade han ES-2701- datorn .

1988 skrev Arjen Lenstra och Mark Menes ett program för att faktorisera långa tal. För att påskynda processen kunde programmet köras på flera maskiner som var och en bearbetade sitt eget lilla fragment. [4] .

1994 föreslog David Gidi idén att organisera ett massivt distribuerat datorprojekt som använder volontärdatorer (den så kallade frivilliga datorn ) - SETI@Home [5] . Den vetenskapliga planen för projektet, utvecklad av David Gidi och Craig Kasnoff från Seattle, presenterades vid den femte internationella konferensen om bioastronomi i juli 1996 [6] .

I januari 1996 startade GIMPS-projektet för att söka efter Mersenne-primtal , som också använde vanliga användares datorer som ett frivilligt datornätverk.

Den 28 januari 1997 lanserades RSA Data Security-tävlingen för att lösa problemet med hackning genom att helt enkelt räkna upp en 56-bitars RC5 informationskrypteringsnyckel . Tack vare goda tekniska och organisatoriska förberedelser blev projektet, organiserat av den ideella communityn distributed.net , snabbt allmänt känt [4] .

Den 17 maj 1999 startade SETI@home på basis av Grid , och i början av 2002 slutfördes utvecklingen av den öppna plattformen BOINC (Berkeley Open Infrastructure for Network Computing) vid University of California i Berkeley, utvecklad sedan april 2000 , ursprungligen för SETI@Home , men det första på plattformen BOINC blev ett Predictor@home-projekt som lanserades den 9 juni 2004.

Datorjobbhantering

Problemet med att fördela olika beräkningsuppgifter inom ett distribuerat system syftar på problemet med beslutsfattande under osäkerhet . Detta problem beaktas i teorin om beslutsfattande och i teorin om osäkerhet .

Distribuerade operativsystem

Ett distribuerat OS, genom att dynamiskt och automatiskt allokera arbete till olika maskiner i systemet för bearbetning, tvingar en uppsättning nätverksanslutna maskiner att behandla information parallellt. Användaren av ett distribuerat OS har generellt sett ingen kunskap om den maskin på vilken hans arbete utförs. [ett]

Ett distribuerat operativsystem existerar som ett enda operativsystem över ett datorsystem. Varje dator i ett nätverk som kör ett distribuerat operativsystem utför en del av funktionerna i detta globala operativsystem. Ett distribuerat operativsystem förenar alla datorer i ett nätverk i den meningen att de arbetar i nära samarbete med varandra för att effektivt använda alla resurser i ett datornätverk.

Som ett resultat kan ett nätverksoperativsystem ses som en uppsättning operativsystem för enskilda datorer som utgör nätverket. Olika datorer i nätverket kan köra samma eller olika operativsystem. Till exempel kan alla datorer i ett nätverk köra samma UNIX- operativsystem . Ett mer realistiskt alternativ är ett nätverk som kör olika operativsystem, till exempel kör några av datorerna UNIX, vissa kör NetWare och resten kör Windows NT och Windows 98 . Alla dessa operativsystem fungerar oberoende av varandra i den meningen att var och en av dem fattar oberoende beslut om att skapa och avsluta sina egna processer och hantera lokala resurser. Men i vilket fall som helst måste operativsystemen för datorer som arbetar på nätverket innehålla en ömsesidigt överenskommen uppsättning kommunikationsprotokoll för att organisera interaktionen mellan processer som körs på olika datorer i nätverket och dela resurserna på dessa datorer mellan nätverksanvändare.

Om operativsystemet på en enskild dator tillåter den att arbeta på ett nätverk och kan dela sina resurser och/eller använda resurserna från andra datorer i nätverket, kallas ett sådant operativsystem för en enskild dator också ett nätverksoperativsystem.

Således används termen "nätverksoperativsystem" i två betydelser: som en uppsättning av OS för alla datorer i nätverket och som operativsystemet för en enda dator som kan fungera i nätverket. Av denna definition följer att sådana operativsystem som till exempel Windows NT, NetWare, Solaris, HP-UX är nätverksoperativsystem, eftersom de alla har de medel som gör att deras användare kan arbeta i ett nätverk.

Se även

Anteckningar

  1. 1 2 Andrew Tanenbaum , Martin van Steen. distribuerade system. Principer och paradigmer = Andrew S. Tanenbaum, Maarten van Steen. "Distribuerade system. Principer och paradigm". - St. Petersburg: Piter, 2003. - 877 s. — (Datavetenskapens klassiker). - ISBN 5-272-00053-6 .
  2. 1 2 3 Dictionary of Cybernetics/Redigerad av akademikern V. S. Mikhalevich . - 2:a. - Kiev: Huvudupplagan av den ukrainska sovjetiska encyklopedin uppkallad efter M. P. Bazhan, 1989. - 751 s. - (C48). — 50 000 exemplar.  - ISBN 5-88500-008-5 .
  3. 12 uttalande av Dr. Stephen J. Lukasik, direktör, Advanced Research Projects Agency . / Försvarsdepartementets anslag för räkenskapsåret 1972. - 30 april 1971. - S. 736-737 - 1090 sid.
  4. 1 2 3 Med världen på ett snöre: Superdator "Popular Mechanics magazine" . Tillträdesdatum: 10 juni 2011. Arkiverad 29 december 2009.
  5. Datorn i vetenskapens tjänst - Intervju med SETI@Home och BOINC-direktören David P. Anderson Arkiverad 2011-08-30.
  6. Ilyin Yu. SETI för utomjordisk intelligens: 24 timmar på jakt efter \\[[MEMBRANA]], 12 mars 2003 (otillgänglig länk) . Hämtad 30 augusti 2011. Arkiverad från originalet 7 oktober 2011.