Un nano-supercomputer
Un nano-computer este un computer semnificativ mai mic decât un microcomputer, sistemele de calcul cu care fiecare dintre noi este obișnuit, fie că vorbim despre o unitate desktop sau laptop.
Un nano-supercomputer este un sistem de calcul cu dimensiuni semnificativ mai mici decât un supercomputer, dar care folosește una dintre topologiile logic-funcționale ale supercomputerelor.
Ținând cont că tehnica nano-supercomputerelor este un subiect nou din punct de vedere tehnic, îndrăznesc a spune că e chiar inedit, vreau să vă povestesc despre cum funcționează și cum se construiește un astfel de supercomputer mai de grabă rudimentar, și chiar dacă în acest caz avem de-a face cu un nano-supercomputer, principiile tehnicii supercomputerelor sunt, în general, aceleași.
În continuare, ca punct inițial al prezentării, vom vedea că topologiile logic-funcționale sunt modele de conectare a unităților de procesare, în speță computere sau microprocesoare. Astfel, vom începe frumoasa noastră prezentare cu fundamentul unui nano-supercomputer, respectiv celula super-computațională care, la rândul ei, este formată din noduri computaționale, adică din nano-computere.
Pentru exemplul nano-supercomputerului Corvina-1 (da, i-am dat și un nume, chiar dacă nu este decât un model virtual, neimplementat) s-ar putea folosi nano-computerul Raspberry Pi, versiunea A (fără LAN) sau B (cu LAN și 256 MB RAM), un sistem de calcul de mici dimensiuni, cu următoarele proprietăți:
- CPU ARM 11
- 128 sau 256 MB RAM
- Conectivitate USB 2.0
- 10BaseT 10Mbps LAN (RJ45)
- Suport card SD, pentru OS.
După cum spuneam, mai multe astfel de nano-computere se vor organiza sub forma unor entități funcțional-logice numite celule super-computaționale, despre care vom vorbi în continuare.
1. Celula super-computațională de tip 1
De departe, luând în considerare caracteristicile nano-computerului Raspberry Pi, cea mai simplă celulă super-computațională este cea în care pentru conectivitatea dintre computere vom folosi un hub USB cu mai multe porturi (în schema de mai jos sunt reprezentate doar patru, dar pot fi și șapte sau alți multipli de 2n-1, unde n<=7), hub USB comandat de un nano-computer, în timp ce interconectarea între celule se poate face folosind portul de rețea (RJ45) al standardului de rețea ethernet 10BaseT, cu o viteză de transfer de până la 10 Mb per secundă conectat sub formă de stea la un router Ethernet, ca în schemă.

Schema de principiu a unui supercomputer bazat pe nano-computerul Raspberry Pi, cu celule super-computaționale de tip 1, bazate pe structuri USB
Evident, două astfel de celule super-computaționale se pot conecta și direct, cum se poate vedea și în schemă, folosind un cablu inversat RX/ TX pentru Ethernet.
Avantaje:
- facil de implementat;
- facil de înțeles;
- facil de comandat;
- viteză mare de conectare între noduri (nano-computere), de până la 480 Mb per secundă.
Dezavantaje:
- transferurile prin USB vor solicita intens memoria RAM, sarcina computațională fiind îngreunată sau întreruptă în timpul transferului de date;
- O astfel de arhitectură nu este optimizată pentru ceva anume (procesare rapidă sau lucrul cu bucăți de date dinamice cu schimbare rapidă) fiind, de aceea, cel mai puțin performantă dintre celulele super-computaționale.
2. Celula super-computațională de tip 2
Ca și celula super-computațională de tip 1, și celula super-computațională de tip 2 are o structură ierarhică în care un nod (nano-computer) numit Stăpân (Master) comandă funcționarea nodurilor adiacente numite Sclavi (Slave) conectate la același router Ethernet, în timp ce interconectivitatea între celulele super-computaționale este realizată prin intermediul router-ului.

Celulă super-computațională de tip 2, cu o structură de tip Stăpân/ Sclav (Master/ Slave) printr-un router Ethernet
Avantaje:
- fiabilitate crescută;
- structură orientată spre procesare;
Dezavantaje:
- cost mai ridicat din cauza faptului că este necesară folosirea multor routere Ethernet;
- fiind orientată spre procesare, nu este optimă pentru transferul de date între noduri (din cauza vitezei de transfer de doar 10 MBps).
3. Celulă super-computațională de tip 3
La fel ca și celulele super-computaționale de tip 1 și 2, și celula super-computațională de tip 3 are o structură ierarhică de tip Stăpân/ Sclav care controlează nodurile adiacente conectate la router, deosebirea fiind că nodul (nano-supercomputerul) Stăpân asigură conectivitatea celulei super-computaționale.

Celulă super-computațională de tip 3, cu o structură de tip Stăpân/ Sclav (Master/ Slave) printr-un router Ethernet, conectivitatea între celule fiind făcută prin nodul Stăpân
Avantaje:
- structură specializată pentru procesare și adaptare rapidă;
- fiabilitate crescută;
Dezavantaje:
- cost mai crescut;
- management mai dificil.
4. Celulă super-computațională de tip 4
Spre deosebire de tipurile celulelor super-computaționale precedente, acest tip de celulă super-computațională nu este ierarhică, niciunul dintre nodurile de procesare nu este Stăpân pe celulă, fiecare nod având obligația să funcționeze conform unor reguli clar definite.
În acest tip de celulă super-computațională, comunicația dintre celule este asigurată de un router, structura fiind optimizată pentru procesare.

Celulă super-computațională de tip 4, având o structură de tip non-Master/Slave, în acest caz funcționarea corectă a nodurilor fiind dată de o aplicație software ce rulează în fiecare nod (nano-computer)
Avantaje:
- numărul de noduri de procesare este identic cu numărul de noduri din rețeaua computațională, deci nu se „pierde” nimic pentru management.
Dezavantaje:
- software semnificativ mai complex;
- neoptimizat pentru transferul unor seturi mari de date;
5. Celulă super-computațională de tip 5
Celula super-computațională de tip 5, este o structură hibridă ce înglobează într-o singură entitate două celule super-computaționale de tipuri diferite, de exemplu o celulă computațională de tip 1, cu o celulă computațională de tip 4 sau o celulă computațională de tip 2 sau 3 combinată cu o celulă de tip 1.
Pentru exemplificare, vom vorbi despre combinația de celule super-computaționale de tip 1 și 2. Astfel, într-o celulă super-computațională de tip 5, partea de comunicare între noduri se face printr-un router în care un nod este Stăpân și comandă funcționarea rețelei, prin router, însă în același timp același nod Stăpân comandă transferul de seturi de date prin comanda unui hub USB.

Celulă super-computațională de tip 5, având o dublă structură de tip Stăpân/ Sclav (Master/Slave), atât la nivel de comenzi (galben) transmise prin rețea, cât și la nivel de date (albastru închis) transmise prin USB, în acest caz datele fiind schimbate rapid, prin USB, în cadrul celulei super-computaționale, între noduri, respectiv lent între celule, prin Ethernet
O astfel de celulă super-computațională, deși complexă, are avantajul că elimină multe dintre neajunsurile modelelor secundare.
Avantaje:
- auto-optimizare dinamică pentru procesare sau transfer de seturi de date;
Dezavantaje:
- complexitate hardware și software crescută;
- complexitatea structurii este limitată la 127 de dispozitive conectate direct, conform specificațiilor USB;
- preț crescut.
Sigur, aceasta nu este o prezentare exhaustivă și ne vom opri aici cu prezentarea celulelor super-computaționale, întrucât există și alte tipuri posibile de conectări, cu avantaje și dezavantaje, eu dorind doar să evidențiez mecanismul combinărilor funcțional-logice.
Evident, în funcție de tipul constructiv al celulelor, conectarea se poate face, după cum am văzut, prin USB (la 480 Mbps) sau LAN 10BaseT (10 Mbps), sau combinat, desigur, respectând topologia USB care nu coincide cu cea Ethernet.
Astfel, cu titlu exemplificativ, o posibilă schemă de conectare a nodurilor și celulelor super-computaționale de tip 5 poate fi ca în figura următoare, unde nodurile computaționale sunt montate câte 127 pe un hub USB și grupate în celule super-computaționale de câte 8 noduri (mai puțin ultima, care are doar 7 noduri), astfel încât să se elimine neajunsurile lipsei de conectivitate USB între noduri:

Ghirlandă de celule super-computaționale conectate într-o structură cu 127 de noduri conectate pe un singur hub USB, cu nodurile grupate câte 8 într-o celulă (mai puțin ultima, în care sunt doar 7 noduri)
De asemenea, plecând de la acele structuri destul de simple numite celule super-computaționale, problema realizării unui supercomputer ieftin este mai de grabă o chestie de granularitate și performanță, decât de implementare fizică propriu-zisă, de exemplu structurile de mai sus putând fi grupate diverse structuri (arborescente, liniare), pentru optimizarea funcționării sistemului.
Firește, plecând de la schema anterioară putem granulariza supercomputerul în mod diferit:
- câte 7 pe un hub USB, hub-uri neconectate între ele, câte 8 pe router (structura asta e foarte interesant de studiat).
- câte 15 pe un hub USB, hub-uri neconectate între ele, câte 8 pe un router;
- câte 15 pe un hub USB, hub-uri neconectate între ele, câte 16 pe un router;
- câte 15 pe un hub USB, hub-uri neconectate între ele, câte 32 pe un router;
…
- câte 31 pe un hub USB, hub-uri neconectate între ele, câte 16 pe un router;
- câte 31 pe un hub USB, hub-uri neconectate între ele, câte 32 pe un router;
- câte 31 pe un hub USB, hub-uri neconectate între ele, câte 64 pe un router;
…
Da, imaginația combinată cu niște caracteristici tehnice este limita!
Cu speranța că v-a plăcut articolul, închei spunând că apariția pe piață a nano-computerului Raspberry Pi le va permite tuturor universităților să-și facă mici laboratoare de nano-supercomputing, chiar și în România, un astfel de supercomputer de complexitate și performanță medie putând costa cam cât un server oarecare. Imaginați-vă, doar, că fiecare universitate din România ar putea avea propriul laborator de informatică a supercomputerelor, dotat cu un supercomputer didactic!
Poate sunt doar un visător, dar cred sincer că un nano-computer poate deschide porți nebănuite pentru utilizarea supercomputerelor.
Voi ce părere aveți?
A inteles tot:))…apropo imi iau zilele astea un computer d-ala tanculet…la vre-o 8000 ron!:))
Se poate procesor mai bun la el, și sursă mai țeapănă.
L-am luat:)….megge super….aprope ca merge singur!:)
Da, perfect. De unde? =))
Se pare că i-ai dat o speranţă mică de viaţă din moment ce ai plasat subiectul direct în muzeul tehnic, alături de aerodina lenticulară. 😀
Ca nespecialist, aş avea observaţia că USB este prea puţin fiabil pentru o conectare de anvergura celei descrise de tine. Fire wire este mai stabil şi consumă mai puţini ciclii de procesor, iar faţă de USB 2.0, diferenţa de cost este de mai puţin de 1 dolar per unitate. Apoi, un fire wire pe 64 de biţi te duce la 800Mbps. E drept, dublarea vitezei pe fire wire înzeceşte costul.
Aşa, la bunul simţ, fie în versiunea USB 2.0, fie fire wire, ai avea o proporţie mare de timpi de aşteptare. Dacă vrei sincronizare mai bună, cred că fiber channel e mai potrivit. Ar înlocui inclusiv legătura RJ-45.
De ce susţin soluţia pe fibră optică? Am observat cum erau interconectate două invertoare de mare putere. Pentru eliminarea oricărui defazaj, tehnicienii au recurs la sincronizarea lor prin fibră optică, în ciuda faptului că era numai un cuplu master-slave, iar programul de coordonare avea doar 100 de treceri pe secundă.
Nu e musai în Muzeu, ci în secțiunea Noțiuni Teoretice de informatică. Un articol de o asemenea manieră își are mai greul locul pe un blog generalist. Și nu, nu știu dacă se va face, nu cred, eu doar am propus realizarea unui supercomputer educativ, în niciun caz în arhitectura actuală nu ar avea performanțele unui supercomputer ci de interes este modul de interconectare a celulelor supercomputaționale.
Raspberry Pi nu are nici Firewire, nici fibră optică, nici Gigabit Ethernet, cel puțin în varianta actuală.