Blue Gene este un proiect de arhitectură masiv paralel conceput pentru a construi mai multe supercomputere și are ca scop atingerea vitezei de procesare a datelor de peste 1 petaflops . În acest moment, viteza de aproape 20 de petaflopi a fost stăpânită cu succes . Este un proiect comun al IBM (o divizie a Rochester MN și Centrul de Cercetare Thomas Watson ), Laboratorul Național Livermore , Departamentul de Energie al SUA (care finanțează parțial proiectul) și mediul academic. Există trei faze ale proiectului: Blue Gene/L, Blue Gene/P și Blue Gene/Q.
Proiectul a primit Medalia Națională a Tehnologiei și Inovației din SUA pe 18 septembrie 2009. Președintele Barack Obama a înmânat premiul pe 7 octombrie 2009 [1] .
În decembrie 1999, IBM a anunțat o inițiativă de cercetare de cinci ani, în valoare de 100 de milioane de dolari, pentru a construi calculatoare masiv paralele care să fie folosite pentru a studia fenomene biomoleculare, cum ar fi plierea proteinelor. Proiectul a avut două obiective principale: să ne îmbunătățim înțelegerea mecanismelor care stau la baza plierii proteinelor prin simulări la scară largă și să exploreze idei noi în arhitectura de mașini și software masiv paralelă.
Principalele domenii de studiu sunt:
Designul inițial pentru Blue Gene s-a bazat pe o versiune timpurie a arhitecturii Cyclops64 proiectată de Denney Monty. Lucrările inițiale de cercetare și dezvoltare au fost efectuate la Centrul de cercetare IBM TJ Watson.
La IBM, Alan Gahr a început să lucreze la extinderea arhitecturii QCDOC într-un supercomputer de uz general: patru rețele comutate intrasistem apropiate au fost înlocuite cu o rețea care a acceptat rutarea mesajelor de la orice nod la oricare altul și o intrare/ieșire paralelă. Departamentul de Energie a început să finanțeze dezvoltarea acestui sistem și a devenit cunoscut sub numele de Blue Gene/L (L for Light). Dezvoltarea sistemului original Blue Gene a continuat sub numele Blue Gene/C (C pentru Cyclops) și a fost redenumit ulterior Cyclops64.
Fiecare generație ulterioară a sistemului Blue Gene și-a primit propriul nume. Astfel, a doua generație de supercomputere (introdusă în 2007) s-a numit Blue Gene/P, a treia (introdusă în 2011) - Blue Gene/Q.
Blue Gene/L este primul computer din seria IBM Blue Gene dezvoltat în colaborare cu Livermore National Laboratory . Performanța sa maximă teoretică este de 360 de teraflopi , în timp ce performanța reală obținută în urma testului Linpack este de aproximativ 280 de teraflopi. După actualizarea din 2007, performanța reală a crescut la 478 teraflopi, cu o performanță maximă de 596 teraflopi. Blue Gene/C este un subset pentru arhitectura Cyclops64.
În noiembrie 2006, 27 de computere din lista TOP500 aveau arhitectura Blue Gene/L.
Supercomputerul Blue Gene/L a fost unic în următoarele moduri:
Arhitectura Blue Gene/L este o evoluție a arhitecturilor QCDSP și QCDOC. Fiecare nod de calcul Blue Gene/L sau I/O este un singur ASIC (Application Specific Integrated Circuit) integrat cu un cip de memorie DRAM. ASIC are două procesoare PowerPC 440 de 700 MHz încorporate (fiecare cu un coprocesor matematic (FPU) cu dublă precizie, un cache de subsistem cu un controler DRAM încorporat și o logică pentru a suporta mai multe subsisteme de comunicații. FPU dual a oferit fiecărui nod Blue Gene/L o performanță maximă teoretică de 5,6 GFlops. Procesoarele nu sunt conectate printr-un cache coerent.
Două noduri de calcul sunt plasate pe o singură placă de calcul, 16 plăci de calcul, plus nu mai mult de 2 noduri de I/O, sunt plasate pe o singură placă. Până la 32 de plăci se potrivesc într-un rack. Prin integrarea tuturor sistemelor necesare pe un singur cip și folosind elemente logice de putere redusă, fiecare nod de calcul sau I/O consumă energie redusă (aproximativ 17 wați, inclusiv costurile DRAM). Acest lucru permite ca până la 1024 de noduri de calcul (plus noduri I/O suplimentare) să fie împachetate foarte strâns într-un rack standard de 19 inchi, oferindu-i o putere rezonabilă și răcire cu aer. Măsurile de eficiență în termeni de flop-uri pe watt, flop-uri pe metru pătrat și flop-uri pe unitate de cost permit scalarea sistemului la performanțe foarte înalte. Cu atât de multe noduri, defecțiunile componentelor sunt inevitabile. Prin urmare, sistemul poate izola electric o serie de componente defectate pentru a continua să funcționeze normal.
Fiecare nod Blue Gene/L este conectat la trei rețele de comunicații paralele:
Nodurile I/O care rulează Linux asigură comunicarea cu nodurile de stocare și externe printr-o rețea Ethernet. Nodurile I/O se ocupă de operațiunile sistemului de fișiere ale nodurilor de calcul. În cele din urmă, o rețea Ethernet separată și privată oferă acces la orice nod pentru configurare, descărcare și diagnosticare.
Pentru a permite mai multor programe să ruleze simultan, sistemul Blue Gene/L trebuie împărțit în secțiuni de noduri izolate electronic. Numărul de noduri dintr-o partiție trebuie să fie un multiplu al unei puteri de 2, cel puțin 25 = 32 de noduri. Pentru a rula programul pe Blue Gene/L, partiția este mai întâi rezervată. Programul este apoi descărcat și rulat pe toate nodurile din partiție și niciun alt program nu poate accesa nodurile din partiție în timp ce partiția este în uz. După ce partiția este finalizată, nodurile sunt eliberate pentru a rula următoarele programe.
Nodurile de calcul Blue Gene / L folosesc cel mai ușor sistem de operare care acceptă un program de utilizator. Doar un subset de rutine POSIX sunt acceptate și doar un proces poate rula pe o gazdă în modul coprocesor la un moment dat, sau un proces pe un procesor în modul virtual. Programatorii trebuie să folosească fire de execuție verde pentru a simula paralelismul local. Dezvoltarea aplicațiilor se face de obicei în C, C++ sau Fortran folosind MPI pentru comunicare. De asemenea, este posibil să se dezvolte în unele limbaje de scripting, cum ar fi Ruby și Python, deoarece acestea sunt integrate în sistemul de operare al nodurilor de calcul.
Diagrama bloc a unui cip Blue Gene/L care conține două nuclee PowerPC 440
Unul dintre rafturile BlueGene/L
Proiectul Cyclops64 a fost demarat ca răspuns la dezvoltarea Earth Simulator - (un sistem dezvoltat de Agenția Japoneză de Explorare Aerospațială și Institutul Japonez de Cercetare Nucleară în 1997 pentru a studia efectul încălzirii globale și a rezolva problemele de geofizică).
Cyclops64 este un proiect comun al Departamentului de Energie al SUA (care finanțează parțial proiectul), al Departamentului de Apărare al SUA, al corporațiilor industriale (în special, IBM) și al academiilor.
Arhitectura a fost concepută de câștigătorul premiului Seymour Cray Denney Monti, care conduce în prezent proiectul.
Fiecare cip Cyclops64 pe 64 de biți rulează la 500 MHz și conține 80 de procesoare. Fiecare procesor are două fire și un coprocesor matematic (FPU). Fiecare fir este un nucleu RISC ordonat pe 64 de biți cu 32 KB de memorie suplimentară, folosind un subset de 60 de instrucțiuni din setul de instrucțiuni Power Architecture. Cinci procesoare partajează 32 KB de cache de instrucțiuni.
Procesoarele sunt conectate prin portul 96[ clarifica ] cu un comutator de matrice. Ei comunică între ei printr-o memorie partajată globală (memorie care poate fi scrisă și citită de toate firele de execuție) în SRAM.
Performanța maximă teoretică a cipului Cyclops64 este de 80 GFlops.
Două fire (două fire) funcționează pe un procesor, până la 80 de procesoare sunt plasate pe un cip. Se pune 1 cip pe placa, apoi se instaleaza pana la 48 de placi pe placa intermediara. Un suport se potrivește pentru 3 plăci intermediare. Sistemul poate include până la 96 de rafturi (12x8).
Adică, sistemul complet conține 13.824 de cipuri Cyclops64, constând din 1.105.920 de procesoare, care sunt capabile să ruleze 2.211.840 de fire paralele.
Cyclops64 își expune o mare parte din capacitatea sa de programare hardware, permițând programatorului să scrie software de performanță foarte înaltă și reglat fin. Punctul negativ este dificultatea programării sub Cyclops64
Cercetarea și dezvoltarea este în curs de desfășurare pentru că sistemul ar putea suporta TiNy-Threads (o bibliotecă de threading dezvoltată la Universitatea din Delaware) și POSIX Threads.
Pe 26 iunie 2007, IBM a introdus Blue Gene/P, a doua generație de supercomputere Blue Gene . Proiectat pentru a funcționa la performanță maximă de 1 petaflops . Blue Gene/P poate fi configurat pentru a obține performanțe de vârf peste 3 petaflopi. În plus, este de șapte ori mai eficient din punct de vedere energetic decât orice alt supercomputer . Blue Gene/P este realizat folosind un număr mare de cipuri mici, de putere redusă, care comunică prin cinci rețele dedicate.
Fiecare cip Blue Gene/P este format din patru nuclee de procesor PowerPC 450 tactate la 850 MHz. Un cip de 2 sau 4 GB RAM și interfețele de rețea formează nodul de calcul al supercomputerului. 32 de noduri de calcul sunt combinate într-un card (Compute Node card), la care vă puteți conecta de la 0 la 2 noduri I/O. Rack-ul de sistem deține 32 dintre aceste carduri.
Configurația Blue Gene/P cu o performanță de vârf de 1 petaflops reprezintă 72 de rack-uri de sistem care conțin 294.912 nuclee de procesor, unite într-o rețea optică de mare viteză. Configurația Blue Gene/P poate fi extinsă până la 216 rack-uri cu un total de 884.736 de nuclee de procesor pentru a obține performanțe de vârf de 3 petaflopi. Configurația standard a rack-ului de sistem Blue Gene/P conține 4.096 de nuclee de procesor [2] .
Raft unic
Rafturi
Placă așchiată
Blue Gene/Q este a treia generație a arhitecturii. Scopul dezvoltatorilor a fost să atingă pragul de 20 de petaflop în 2011. Blue Gene/Q este o continuare evolutivă a arhitecturilor Blue Gene/L și /P, rulând la o frecvență mai mare și consumând mai puțină energie pe flop de performanță.
BlueGene/Q este un sistem multi-core, pe 64 de biți, pe un cip construit pe tehnologia PowerPC (pentru a fi absolut specific, este o arhitectură PowerPC A2 cu patru cicluri ). Fiecare dintre cipuri conține 18 nuclee, care împreună însumează aproape un miliard și jumătate (1,47) de tranzistori. Pentru calculele efective sunt folosite 16 nuclee, unul rulează sistemul de operare, iar în cele din urmă ultimul nucleu este responsabil pentru fiabilitatea calculelor întregului sistem. La o frecvență de 1,6 GHz, fiecare cip este capabil să furnizeze 204,8 Gflops, consumând 55 de wați de putere. Desigur, controlerele pentru operațiuni de memorie și I/O fac, de asemenea, parte din cip. Blue Gene/Q conține 4 unități în virgulă mobilă, ceea ce ne oferă 4 operații efectuate într-un ciclu de ceas pe fiecare nucleu.
Potrivit angajaților IBM, sunt necesare 18 nuclee pentru fiabilitate. Dacă a fost înregistrată o defecțiune pe unul dintre nucleele procesorului, aceasta poate fi dezactivată și transferată pe „bench”. De fapt, detectarea și reconfigurarea unui nucleu „eronat” poate fi efectuată în orice etapă de producție sau asamblare a sistemului - nu numai atunci când cipul este deja testat, ci și în stadiile incipiente, de exemplu, instalarea cipulului într-un cluster de calcul. În cazul IBM Sequoia , aproximativ 100.000 de jetoane vor fi folosite pentru a ajunge la râvnitele 20 de petaflopi. Numărul imens de procesoare face ca sarcina de remapare a nucleelor să fie foarte importantă: IBM a calculat că pentru un anumit număr (100.000) de cipuri dintr-un supercomputer, în medie, 1 unitate de procesor va eșua la fiecare 3 săptămâni.
De asemenea, se știe că Blue Gene/Q acceptă memoria tranzacțională nu la nivel software, ci la nivel hardware [9] .
Costul Blue Gene/Q (folosind prețuri comerciale) este estimat de The Register la aproximativ 150 milioane USD per petaflop [10] .
Dintre cele mai puternice zece supercomputere de pe lista Top500 din noiembrie 2014, 4 sunt construite pe platforma Blue Gene/Q.
Supercomputer Sequoia de la Laboratorul Național Livermore
Supercomputer Mira la Laboratorul Național Argonne
Conform celei mai recente liste TOP500 (din noiembrie 2013), supercalculatoarele construite pe arhitectura Blue Gene încă nu își pierd pozițiile.
Evaluare | Locație | Sistem | Numărul de nuclee | Viteza maximă (TFLOPS/s) | Rată maximă (TFLOPS/s) | Consumul de energie (kW) |
---|---|---|---|---|---|---|
3 | Livermore IC (SUA) | Sequoia - BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 1572864 | 17173.2 | 20132.7 | 7890 |
5 | Argonne NL (SUA) | Mira - BlueGene/Q, Power BQC 16C 1.60GHz, IBM personalizat | 786432 | 8586,6 | 10066.3 | 3945 |
opt | Centrul de Cercetare Jülich (Germania) | JUQUEEN - BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 458752 | 5008.9 | 5872,0 | 2301 |
9 | Livermore IC (SUA) | Vulcan - BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 393216 | 4293,3 | 5033,2 | 1972 |
cincisprezece | SCC Siena, Bologna (Italia) | Fermi - BlueGene/Q, Power BQC 16C 1.60GHz, IBM personalizat | 163840 | 1788,9 | 2097,2 | 822 |
23 | Laboratorul Daresbury, Warrington (Marea Britanie) | Blue Joule - BlueGene/Q, Power BQC 16C 1,60GHz, IBM personalizat | 114688 | 1252,2 | 1468,0 | 575 |
27 | Universitatea din Edinburgh (Marea Britanie) | DiRAC - BlueGene/Q, Power BQC 16C 1.60GHz, IBM personalizat | 98304 | 1073,3 | 1258,3 | 493 |
38 | Institutul Politehnic Rensselaer (SUA) | BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 81920 | 894,4 | 1048,6 | 411 |
45 | Academia de Științe (Franța) | BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 65536 | 715,6 | 838,9 | 329 |
46 | Compania de cercetare și dezvoltare EDF, Paris (Franța) | Zumbrota - BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 65536 | 715,6 | 838,9 | 329 |
47 | Elveția națională SKZ (Elveția) | EPFL Blue Brain IV - BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 65536 | 715,6 | 838,9 | 329 |
48 | Victorian Life Sciences Computation Initiative (Australia) | Avoca - BlueGene/Q, Power BQC 16C 1.60GHz, IBM personalizat | 65536 | 715,6 | 838,9 | 329 |
57 | Organizația pentru Studiul Acceleratoarelor de înaltă energie (Japonia) | SAKURA - BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 49152 | 536,7 | 629,1 | 247 |
58 | Organizația pentru Studiul Acceleratoarelor de înaltă energie (Japonia) | HIMAWARI - BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 49152 | 536,7 | 629,1 | 247 |
67 | Argonne NL (SUA | Intrepid - Blue Gene/P Solution IBM | 163840 | 458,6 | 557,1 | 1260 |
77 | Livermore IC (SUA) | Dawn - Blue Gene/P Solution IBM | 147456 | 415,7 | 501,4 | 1134 |
87 | Rochester IBM (SUA) | BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 32768 | 357,8 | 419,4 | 164 |
88 | Rochester IBM (SUA) | BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 32768 | 357,8 | 419,4 | 164 |
89 | Universitatea din Toronto (Canada) | BGQ - BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 32768 | 357,8 | 419,4 | 164 |
216 | Argonne NL (SUA) | Vesta - BlueGene/Q, Power BQC 16C 1.60GHz, IBM personalizat | 16384 | 189,0 | 209,7 | 82 |
217 | Argonne NL (SUA) | Cetus - BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 16384 | 189,0 | 209,7 | 82 |
218 | Școala Politehnică Federală din Lausanne (Elveția) | CADMOS BG/Q - BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 16384 | 189,0 | 209,7 | 82 |
219 | Rochester IBM (SUA) | BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 16384 | 189,0 | 209,7 | 82 |
220 | IBM ITs im. Thomas Watson (SUA) | BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 16384 | 189,0 | 209,7 | 82 |
221 | Centrul interdisciplinar de modelare matematică și computerizată, Universitatea din Varșovia (Polonia) | BlueGene/Q, Power BQC 16C 1.600GHz, interconectare personalizată IBM | 16384 | 189,0 | 209,7 | 82 |
222 | Rochester IBM (SUA) | BlueGene/Q, Power BQC 16C 1,60 GHz, IBM personalizat | 16384 | 189,0 | 209,7 | 82 |
Cel mai rapid computer construit pe arhitectura Blue Gene este Sequoia. Acum este pe locul trei, dar în iunie 2012 a ocupat prima linie a ratingului TOP500. În ceea ce privește eficiența energetică, ocolește în continuare liderul (17808 kW) și medaliatul cu argint (8209).