Calcul distribuit

Calculul distribuit  este o modalitate de a rezolva probleme de calcul consumatoare de timp folosind mai multe computere , cel mai adesea combinate într-un sistem de calcul paralel . [1] Calculul distribuit este aplicabil și în sistemele de control distribuit. [2]

Calculele secvențiale în sistemele distribuite sunt efectuate ținând cont de rezolvarea simultană a multor probleme. O caracteristică a sistemelor de calcul multiprocesor distribuite , spre deosebire de supercalculatoarele locale , este posibilitatea creșterii nelimitate a performanței datorită scalării. [2] :550 Sistemele de calcul eterogene , slab cuplate, cu un grad ridicat de distribuție, se disting într-o clasă separată de sisteme distribuite - o grilă .

Istorie

Lucrările privind calcularea distribuită cu un scop foarte aplicat - în scopuri militare, și anume, automatizarea comunicațiilor secrete și procesarea informațiilor de informații, au fost desfășurate intens în Statele Unite încă din anii 1960 . Dezvoltarea tehnologiilor de calcul distribuite și crearea sistemelor de informații distribuite în Statele Unite , prin ordinul Agenției pentru Proiecte de Cercetare Avansată a Apărării din SUA , tipuri de forțe și servicii (agenții) armate în structura Departamentului de Apărare al SUA au fost realizate de către unități de cercetare ale companiilor și universităților: [3]

Ca parte a cercetării fundamentale , cercetării și dezvoltării în curs de desfășurare, au fost dezvoltate sisteme software și hardware corespunzătoare pentru limbajele de programare de nivel scăzut (orientate pe mașină) deja existente , software special cu protecție criptografică etc. [3]

În 1973, John Schoch și John Hupp de la centrul de cercetare Xerox PARC din California au scris un program care să se conecteze la LAN PARC pe timp de noapte și să forțeze computerele care rulează să efectueze calcule [4] .

În 1977, la NETI (NSTU, Novosibirsk), la Departamentul de Inginerie Calculatoare, sub conducerea lui V. I. Zhiratkov, a fost dezvoltat un sistem de calcul distribuit din trei computere „Minsk-32” cu hardware și software original care acceptă protocoale ale fizic, canal și rețea și asigurarea executării sarcinilor paralele. O mașină se afla la Centrul de Calcul al Universității Tehnice de Stat din Novosibirsk, iar celelalte două se aflau la Centrul de Calcul al Institutului de Matematică din Filiala Siberiană a Academiei Ruse de Științe. Comunicarea dintre NSTU și Institutul de Matematică al Filialei Siberiei a Academiei Ruse de Științe a fost asigurată prin intermediul unui canal radio folosind antene direcționale. Sistemul a fost testat în timp ce se rezolvă probleme de optimizare din domeniul economiei folosind paralelizarea cu blocuri mari.

În 1978, matematicianul sovietic Viktor Glushkov lucra la problema calculului distribuit macro -pipeline. El a propus o serie de principii pentru distribuirea muncii între procesoare . [2] :320 Pe baza acestor principii, el a dezvoltat computerul ES-2701 .

În 1988, Arjen Lenstra și Mark Menes au scris un program de factorizare a numerelor lungi. Pentru a accelera procesul, programul ar putea fi rulat pe mai multe mașini, fiecare procesând propriul fragment mic. [4] .

În 1994, David Gidi a propus ideea organizării unui proiect masiv de calcul distribuit care să folosească calculatoare voluntare (așa-numitul calcul voluntar ) - SETI@Home [5] . Planul științific al proiectului, dezvoltat de David Gidi și Craig Kasnoff din Seattle, a fost prezentat la a cincea Conferință Internațională de Bioastronomie în iulie 1996 [6] .

În ianuarie 1996, proiectul GIMPS de căutare a numerelor prime Mersenne a început , folosind, de asemenea, computerele utilizatorilor obișnuiți ca o rețea de calcul voluntară.

Pe 28 ianuarie 1997, competiția RSA Data Security a fost lansată pentru a rezolva problema hackingului prin simpla enumerare a unei chei de criptare a informațiilor RC5 pe 56 de biți . Datorită unei bune pregătiri tehnice și organizatorice, proiectul, organizat de comunitatea non-profit distributed.net , a devenit rapid cunoscut [4] .

Pe 17 mai 1999, SETI@home a început pe baza Grid , iar la începutul anului 2002, dezvoltarea platformei deschise BOINC (Berkeley Open Infrastructure for Network Computing) a fost finalizată la Universitatea din California din Berkeley, dezvoltată din aprilie 2000. , inițial pentru SETI@Home , dar primul de pe platforma BOINC a devenit un proiect Predictor@home lansat pe 9 iunie 2004.

Gestionarea locurilor de muncă de calcul

Problema distribuirii diferitelor sarcini de calcul în cadrul unui sistem distribuit se referă la problema luării deciziilor în condiții de incertitudine . Această problemă este luată în considerare în teoria luării deciziilor și în teoria incertitudinii .

Sisteme de operare distribuite

Un sistem de operare distribuit, prin alocarea dinamică și automată a muncii diferitelor mașini din sistem pentru procesare, forțează un set de mașini conectate în rețea să proceseze informații în paralel. Utilizatorul unui sistem de operare distribuit, în general, nu are cunoștințe despre mașina pe care își desfășoară activitatea. [unu]

Un sistem de operare distribuit există ca un singur sistem de operare într-un sistem de calcul. Fiecare computer dintr-o rețea care rulează un sistem de operare distribuit îndeplinește o parte din funcțiile acestui sistem de operare global. Un sistem de operare distribuit reunește toate computerele dintr-o rețea în sensul că acestea lucrează în strânsă cooperare între ele pentru a utiliza eficient toate resursele unei rețele de calculatoare.

Ca rezultat, un sistem de operare de rețea poate fi văzut ca un set de sisteme de operare ale computerelor individuale care alcătuiesc rețeaua. Diferite computere din rețea pot rula aceleași sisteme de operare sau diferite. De exemplu, toate computerele dintr-o rețea ar putea rula același sistem de operare UNIX . O opțiune mai realistă este o rețea care rulează diferite sisteme de operare, de exemplu, unele computere rulează UNIX, altele rulează NetWare, iar restul rulează Windows NT și Windows 98 . Toate aceste sisteme de operare funcționează independent unele de altele, în sensul că fiecare dintre ele ia decizii independente cu privire la crearea și terminarea propriilor procese și gestionarea resurselor locale. Dar, în orice caz, sistemele de operare ale calculatoarelor care funcționează în rețea trebuie să includă un set de protocoale de comunicație convenite de comun acord pentru a organiza interacțiunea proceselor care rulează pe diferite computere din rețea și a partaja resursele acestor calculatoare între utilizatorii rețelei.

Dacă sistemul de operare al unui singur computer îi permite să funcționeze într-o rețea și poate să-și partajeze resursele și/sau să folosească resursele altor computere din rețea, atunci un astfel de sistem de operare al unui singur computer este numit și sistem de operare de rețea.

Astfel, termenul „sistem de operare în rețea” este folosit în două sensuri: ca un set de sisteme de operare a tuturor calculatoarelor din rețea și ca sistem de operare al unui singur computer care poate funcționa în rețea. Din această definiție, rezultă că astfel de sisteme de operare, cum ar fi, de exemplu, Windows NT, NetWare, Solaris, HP-UX, sunt sisteme de operare în rețea, deoarece toate au mijloace care le permit utilizatorilor să lucreze în rețea.

Vezi și

Note

  1. 1 2 Andrew Tanenbaum , Martin van Steen. sisteme distribuite. Principles and Paradigms = Andrew S. Tanenbaum, Maarten van Steen. „Sisteme distribuite. Principii și paradigme”. - Sankt Petersburg: Piter, 2003. - 877 p. — (Clasice ale informaticii). - ISBN 5-272-00053-6 .
  2. 1 2 3 Dicționar de cibernetică / Editat de academicianul V. S. Mikhalevich . - al 2-lea. - Kiev: Ediția principală a Enciclopediei sovietice ucrainene numită după M. P. Bazhan, 1989. - 751 p. - (C48). — 50.000 de exemplare.  - ISBN 5-88500-008-5 .
  3. 12 Declarația dr. Stephen J. Lukasik, director, Agenția pentru proiecte de cercetare avansată . / Credite Departamentul Apărării pentru anul fiscal 1972. - 30 aprilie 1971. - P. 736-737 - 1090 p.
  4. 1 2 3 With the world on a string: Supercomputer „Popular Mechanics magazine” . Data accesării: 10 iunie 2011. Arhivat la 29 decembrie 2009.
  5. The Computer in the Service of Science - Interviu cu SETI@Home și directorul BOINC David P. Anderson Arhivat 30-08-2011.
  6. Ilyin Yu. SETI pentru inteligența extraterestră: 24 de ore în căutarea \\[[MEMBRANA]], 12 martie 2003 (link inaccesibil) . Preluat la 30 august 2011. Arhivat din original la 7 octombrie 2011.