Ce sunt supercomputerele

Ce sunt supercomputerele?

0 Shares
0
0
0

Un supercomputer este un computer cu un nivel ridicat de performanta, prin comparatie cu un computer cu scop general. Performanta unui supercomputer este masurata in mod obisnuit in operatiuni cu punct flotant pe secunda (FLOPS), in loc de milioane de instructiuni pe secunda (MIPS). Din 2017, exista supercomputere care pot efectua peste o suta de cvintilioane de FLOPS per secunda (petaFLOPS).

Din Noiembrie 2017, toate cele mai rapide 500 de supercomputere din lume functioneaza cu sisteme de operare bazate pe Linux. Cercetari suplimentare se desfasoara in China, Statele Unite, Uniunea Europeana, Taiwan si Japonia, pentru a construi supercomputere mai rapide, mai puternice si tehnologic superioare.

Supercomputerele joaca un rol important in domeniul stiintelor computationale si sunt utilizate pentru o gama larga de sarcini intensive din punct de vedere al calculului computerizat in diverse domenii, inclusiv mecanica cuantica, prognoza meteo, cercetarea climei, explorarea petrolului si a gazelor, modelarea moleculara (calcularea structurilor si proprietatilor a compusilor chimici, a macromoleculelor biologice, a polimerilor si a cristalelor) si a simularilor fizice (cum ar fi simularile momentelor timpurii ale universului, aerodinamica avioanelor si a navelor spatiale, detonarea armelor nucleare si fuziunea nucleara). Ele au fost esentiale in domeniul criptanalizei.

Supercomputerele au fost introduse in anii 1960, iar timp de cateva decenii, cele mai rapide au fost construite de Seymour Cray la Control Data Corporation (CDC), Cray Research si de companiile ulterioare care ii poarta numele sau monograma. Primele astfel de masini au fost modele conventionale extrem de ajustate, care erau mult mai rapide decat contemporanele lor cu scop general.

Seymour Cray

De-a lungul deceniului, s-au adaugat cantitati din ce in ce mai mari de paralelism, unul-patru procesoare fiind tipice. Din anii ’70, procesoarele vectoriale care opereaza pe tablouri mari de date au ajuns sa domine. Un exemplu notabil este Cray-1, un supercomputer de mare succes in 1976. Calculatoarele vectoriale au ramas designul dominant in anii ’90. De atunci si pana astazi, supercomputere masive, cu zeci de mii de procesoare off-the-raft, au devenit norma.

SUA a fost de mult timp lider in domeniul supercomputerelor, mai intai prin dominarea aproape neintrerupta a modelelor Cray, iar mai tarziu printr-o varietate de companii tehnologice. Japonia a facut progrese majore in domeniu in anii 1980 si 1990, iar China a devenit si ea, tot mai activa in domeniu. In Noiembrie 2018, cel mai rapid supercomputer din lista de supercomputere din TOP 500 este “Summit” din Statele Unite, cu un punctaj de referinta LINPACK de 143,5 PFLOPS, urmat de Sierra, de aproximativ 48,860 PFLOPS. SUA detine cinci dintre primele 10 supercomputere, iar China are doua. In Iunie 2018, toate supercomputerele de pe lista combinata, au rupt bariera de 1 exaFLOPS.

Istorie

In 1960, UNIVAC a construit Computerul de Cercetare Atomica Livermore (LARC), considerat astazi printre primele supercomputere, pentru Centrul de Cercetare si Dezvoltare al Marinei SUA. Acesta a folosit memoria cu tambur de mare viteza, in detrimentul tehnologiei nou-aparute a unitatii de disc (hard-discul de mai tarziu, cel putin asa cum il cunoastem noi astazi).

De asemenea, printre primele supercomputere a fost si IBM 7030 Stretch. IBM 7030 a fost construit de IBM pentru laboratorul national Los Alamos, care in 1955 a solicitat un computer de 100 de ori mai rapid decat orice computer existent, de la vremea aceea. IBM 7030 a utilizat tranzistoare, memorie nucleara magnetica, instructiuni prin pipeline, date predefinite printr-un controler de memorie si a inclus unitati de disc de pionierat, cu acces aleatoriu. IBM 7030 a fost finalizat in 1961 si, in ciuda faptului ca nu a ideplinit provocarea cresterii de o suta de ori a performantei, a fost achizitionat de catre laboratorul national Los Alamos. Clientii din Anglia si Franta au cumparat, de asemenea, computerul, iar acesta  a devenit baza pentru IBM 7950 Harvest, un supercomputer construit pentru criptanaliza.

Al treilea proiect de pionierat al supercomputerului la inceputul anilor 1960 a fost “Atlas” de la Universitatea din Manchester, construit de catre o echipa condusa de Tom Kilburn. El a proiectat Atlasul in asa fel incat sa aiba un spatiu de memorie de pana la un milion de expresii de 48 de biti, dar pentru ca stocarea magnetica cu o astfel de capacitate nu a putut fi controlata, memoria de baza a Atlasului a fost de doar 16.000 de cuvinte, un tambur oferind memorie pentru inca 96.000 de cuvinte .

Sistemul de operare Atlas a schimbat datele sub forma de pagini intre miezul magnetic si tambur. Sistemul de operare Atlas a introdus, de asemenea, distribuirea timpului la supercomputare, astfel incat mai multe programe sa poata fi executate simultan pe supercomputer. Atlas a reprezentat o cooperare intre Ferranti si Universitatea Manchester si a fost proiectat sa functioneze la viteze de procesare apropiindu-se de un microsecunda pe instructie, deci aproximativ un milion de instructiuni pe secunda.

CDC 6600, proiectat de Seymour Cray, a fost terminat in 1964 si a marcat trecerea de la germaniu la tranzistoarele de siliciu. Tranzistoarele de siliciu puteau rula mai repede, iar problema de supraincalzire a fost rezolvata prin introducerea de tehnologie frigorifica, la proiectarea supercomputerului. Astfel, CDC6600 a devenit cel mai rapid computer din lume. Avand in vedere ca 6600 a depasit toate celelalte computere contemporane de aproximativ 10 ori, a fost supranumit un “supercomputer” si a definit piata supercomputig-ului, sute de astfel de calculatoare fiind vandute cu 8 milioane de dolari fiecare.

Cray a parasit CDC in 1972 pentru a-si forma propria companie, Cray Research. Dupa patru ani de la parasirea CDC, Cray a livrat Cray-1 de 80 MHz in 1976, care a devenit unul dintre cele mai de succes supercomputere din istorie. Cray-2 a fost lansat in 1985. Avea opt unitati centrale de procesare (CPU), racire lichida si fluorinert lichid de racire electronica, care era inglobat in arhitectura supercomputerului. A ajuns pana la 1,9 gigaFLOPS si a fost al doilea cel mai rapid din lume (la acea vreme) dupa supercomputerul M-13 de la Moscova.

ILLIAC IV

Proiecte de paralelism masiv

Singurul computer care a contestat serios performantele lui Cray-1 in anii ’70, a fost ILLIAC IV. Aceasta masina a fost primul exemplu de realizare a unui adevarat computer masiv paralel, in care multe procesoare puteau lucra impreuna pentru a rezolva diferite parti ale unei singure probleme mai mari. Spre deosebire de sistemele vectoriale, care au fost proiectate pentru a rula un singur flux de date cat mai repede posibil, in acest concept, computerul proceseaza in schimb parti separate ale datelor procesoarelor diferite si apoi recombina rezultatele.

Proiectarea ILLIAC a fost finalizata in 1966 cu 256 de procesoare si oferea o viteza de pana la 1 GFLOPS, comparativ cu varful Cray-1 din anii ’70 de 250 MFLOPS. Cu toate acestea, problemele de dezvoltare au dus la construirea a doar 64 de procesoare, iar sistemul nu putea functiona niciodata mai repede de 200 MFLOPS, fiind in acelasi timp mult mai mare si mai complex decat modelul de la Cray. O alta problema a fost aceea ca scrierea software-ului pentru sistem a fost dificila, iar obtinerea performantelor maxime din acesta, a constituit o problema serioasa.

Dar succesul partial al ILLIAC IV a fost vazut pe scara larga ca indicand calea catre viitorul supercomputing-ului. Cray a sustinut acest lucru, prin faimoasa sa replica: „Daca ati ara un camp, ce v-ar folosi mai degraba? Doi boi puternici sau 1024 de pui?”

Dar la inceputul anilor 1980, mai multe echipe lucrau la proiecte paralele cu mii de procesoare , in special masina de conectare (CM) care s-a dezvoltat in urma cercetarilor de la MIT. CM-1 a utilizat pana la 65.536 de microprocesoare personalizate simplificate, conectate impreuna intr-o retea, pentru a partaja date. Au urmat mai multe versiuni actualizate; supercomputerul CM-5 este un computer masiv de procesare paralel, capabil de multe miliarde de operatii aritmetice pe secunda.

Sistemele cu un numar masiv de procesoare abordeaza in general, una dintre cele doua cai. In abordarea calculului de retea, puterea de procesare a multor calculatoare, organizate ca domenii administrative distribuite, diverse, este folosita oportunist, ori de cate ori este disponibil un computer. Intr-o alta abordare, un numar mare de procesoare sunt utilizate in apropiere unul de celalalt, de ex. intr-un cluster de calculatoare. Intr-un astfel de sistem centralizat paralel masiv, viteza si flexibilitatea interconectarii devin foarte importante, iar supercomputerele moderne au folosit diverse abordari, de la sisteme tip Infini-band imbunatatite, pana la interconectari tridimensionale cu torus. Utilizarea procesoarelor multi-core combinate cu centralizarea este o directie emergenta, de ex. ca in sistemul Cyclops64.

Pe masura ce pretul, performanta si eficienta energetica a procesoarelor grafice de uz general (GPGPU) s-au imbunatatit, anumite supercomputere precum Tianhe-I si Nebulae, au inceput sa se bazeze pe ele. Cu toate acestea, alte sisteme, cum ar fi computerul K, continua sa foloseasca procesoare conventionale, cum ar fi proiectele bazate pe SPARC. Calculatoarele de inalta performanta au un ciclu de viata preconizat de aproximativ trei ani inainte de a necesita o actualizare.

Sisteme de operare

De la sfarsitul secolului XX, sistemele de operare ale supercomputerelor au suferit transformari majore, bazate pe modificarile arhitecturii supercomputerului. In timp ce sistemele de operare timpurii erau adaptate la fiecare supercomputer pentru a obtine viteza, tendinta a fost sa se renunte la sistemele de operare interne, prin adaptarea software-ului generic, cum ar fi sistemul de operare Linux.

Din moment ce supercomputerele masive paralele moderne, de obicei, separa calculele de alte servicii prin utilizarea mai multor tipuri de noduri, acestea ruleaza de obicei sisteme de operare diferite pe noduri diferite, de ex. folosind un nucleu mic si eficient, cum ar fi CNK sau CNL pe nodurile de calcul, dar un sistem mai mare, cum ar fi un derivat Linux pe server si noduri de I / O.

0 Shares
You May Also Like