Calcul de înaltă performanţă şi analiza volumelor mari de date

Google+TwitterFacebook

High Performance Computing and Big Data Analytics

Calcul de inainta performantaDacă nu cu mulţi ani în urmă Calculul de înaltă performanţă (High Performance Computing) era considerat un domeniu de cercetare pe care doar centre de cercetare şi laboratoare foarte puternice îl puteau aborda, acum este abordat şi în industria IT de tip mainstream (de largă utilizare). Acest lucru a fost impus şi de evoluţia extraordinar de rapidă a arhitecturilor, ajungându-se la putere mare de calcul fără costuri extrem de mari, dar şi de schimbări de paradigmă care au impus folosirea reţelelor, a arhitecturilor multicore şi de tip cluster, a unităţilor de procesare specializate (GPU, Xeon Phi) pentru creşterea performanţei de calcul cu aplicaţii în domenii diverse.

Aceste arhitecturi – paralele şi/sau distribuite – care asigură o putere mare de calcul reprezintă astăzi regula, şi nu excepţia. Proiectarea şi analiza software-ului corespunzător care să asigure folosirea lor eficientă este esentială.

Scopul prezentului program de masterat este de a oferi studenţilor o pregătire solidă în acest domeniu prin prezentarea într-un mod unitar a unor principii, paradigme şi modele care permit crearea de programe cu performanţă sporită (high performance). Analiza evoluţiei şi integrării software-ului de înaltă performanţă în dezvoltarea de tip mainstream a condus la concluzia că asigurarea productivităţii în dezvoltarea software-ului de înaltă performanţă este esenţială.

Determinarea valorii informaţiei stocate, găsirea locului său potrivit în reprezentarea cunoştinţelor şi a acţiunilor corespunzătoare au importanţă enormă. Pentru aceasta o convergenţă a domeniilor Programării Paralele şi Distribuite cu alte domenii, precum Ingineria Software sau Inteligenţa Artificiala, este esenţială. De la aplicaţii în domenii precum cyber-securitatea, sănătate, mediu, până la aplicaţii în timp real bazate pe interfeţe prietenoase, precum cele pentru smartphones, toate analizele şi cercetarea necesită a se baza pe calcule cu un grad ridicat de performanţă.

Big data reprezintă o nouă eră în explorarea şi utilizarea datelor. Analiza acestor date permite cercetătorilor şi altor utilizatori diverşi să evalueze volume mari de date şi alte surse de date precum date transferate prin Internet, informaţii de tip log de pe serverele Web, raporturi de activitate de pe reţelele de socializare, date ce detaliază apelurile de pe telefoane mobile, înregistrări de tranzacţii de vânzări, sau date captate prin senzori.

Big Data Analytics reprezintă procese de examinare a unor cantităţi uriaşe de date de tipuri diferite, pentru a descoperi şabloane ascunse, neidentificate ş/sau alte informaţii utile. Aceste informaţii pot furniza avantaje în competiţia dintre organizaţii şi pot produce beneficii economice, precum eficientizarea activităţilor specifice.

Tehnologiile legate de big data analytics includ Hadoop, MapReduce şi bazele de date NoSQL. Aceste tehnologii constituie partea centrală a unui framework software de tip open-source, care facilitează procesarea unor seturi uriaşe de date stocate în sisteme clusterizate.

Programul de master Calcul de Înaltă Performanţă şi Analiza Volumelor Mari de Date este organizat conform unor criterii academice naţionale şi internaţionale, respectând însă şi standardele profesionale ale industriei de software din România. Absolvenţii acestui Program de Master vor avea următoare competenţe profesionale care le vor permite inserţia rapidă pe piaţa muncii.

Baza materială

cluster HPCPe lângă dotarea firească specifică tuturor programelor de învăţământ/cercetare de care dispune Facultatea de Matematică şi Informatică: laboratoare cu dotări de vârf, servere multi-core, acces la Internet Gigabit, biblioteci ale facultăţii însumând peste 100.000 de titluri, parteneriate privind accesul la soft licenţiat cu firme mari din domeniu precum Microsoft sau Oracle, facultatea dispune şi de infrastructura necesara specifică programului de master Calcul de Înaltă Performanta şi Analiza Volumelor Mari de Date:

  • Centrul UBB de Calcul de Inaltă Performanţă: 68 noduri, 1360 core-uri, 12 unitati NVidia Tesla K40, 6 unitati Intel PHI (http://hpc.cs.ubbcluj.ro/);
  • un cluster NextScale cu 90 de core-uri folosit activ în procesele de educaţiei/cercetare în cadrul prezentului master;
  • un mini-cluster didactic cu 15 staţii a 6 core-uri fiecare, cluster folosit în special de către studenţii prezentei secţii de master pentru a-şi însuşi principalele cunoştinţe legate de arhitectura hardware/software a unui cluster, precum şi principalele deprinderi necesare pentru a construi, instala, menţine şi exploata la parametri optimi un cluster.

Colaborări internaţionale

Departamentul de Informatică al Facultăţii de Matematică şi Informatică are în derulare un program de colaborare, pe temele propuse pentru studiu în cadrul specializarii de master, cu Universitatea din Orleans (Département Informatique, Faculté des Sciences, Université d’Orléans), atât la nivel de schimb de studenţi dar şi la nivel de cercetare. La universitatea din Orleans exista două specializari de master în domenii conexe specializării propuse:

  • VIP – Visualization, Images and Performancescare are cursuri comune cu Polytech’Orléans. Nucleul acestui program este constituit de cursuri de programare paralelă şi distribuită, şi de procesare de imagini;
  • MoCaHP – Modelling and High Performance Computing.

Persoana de contact de la Universitatea din Orleans este Prof. Frédéric Loulergue care este implicat în programul de master prin susţinerea unui curs din anul I, semestrul II.

De asemenea, prin intermediul programului Erasmus este posibil schimbul de studenţi, existând posibilitatea ca studenţi romani să înceapă primul an de master la specializarea Calculul de înaltă performanţă şi analiza volumelor mari de date (High Performance Computing and Big Data Analytics) şi să-şi continue apoi studiile masterale la Universitatea din Orleans la una dintre specializările amintite anterior. Acest lucru este posibil datorită compatibilităţii dintre programele de studii.

Cercetarea ştiinţifică

Printre direcţiile de cercetare susţinute de acest program de master amintim următoarele:

Programare paralelă fundamentală: Pentru asigurarea productivităţii şi a fiabilităţii în dezvoltarea aplicaţiilor paralele se impune folosirea unor modele cu nivel de abstractizare înalt, care să asigure o dezvoltare simplă şi corectă prin construcţie a programelor paralele. Se are în vedere realizarea unor frameworkuri specifice care să deservească realizării unor implementări eficiente şi robuste ale unor modele rezultate din analiza unor domenii aplicative specifice. Mergând mai departe se poate studia definirea şi realizarea unor limbaje specifice (Domain Specific Languages) pentru domeniile evidenţiate.

Optimizarea modelelor: Atât modelele matematice, dar mai ales modelele numerice şi algoritmii de calcul paralel şi distribuit necesită optimizare pentru minimizarea resurselor folosite şi diminuarea timpului de execuţie.

Simulare şi Vizualizare: Simularea proceselor şi fenomenelor necesită rezolvarea unor calcule matematice complexe, ale căror durată se poate măsura uneori în zile. Unele simulări şi mai ales vizualizarea rezultatelor, implică şi ele calcule numerice masive care pot fi accelerate semnificativ rulându-le pe platforme GPU. Simularea fenomenelor naturale poate impune şi folosirea unor tehnici de realitate virtuală, direcţie de cercetare pe care grupul o prevede, de asemenea.

Procesare de imagini şi realitate virtuală: Simulările performante impun vizualizări cu grad ridicat de acurateţe care presupun procesări de imagini şi de semnal (multimedia streaming, multimedia processing). Preluarea inputurilor în timp real necesită un control eficient al traficului în reţelele implicate (network traffic control).

În ceea ce priveşte aplicarea tehnicilor de analiza a volumelor mari de date directiile de cercetare sustinute de acest master urmaresc folosirea tehnicilor de tip data mining, tehnici din domeniul inteligenţei artificiale, tehnici de regăsire şi clasificare a informaţiei. Toate acestea se impun a fi îmbinate cu tehnici de procesare paralelă pentru stăpânirea complexităţii şi obţinerea unui grad ridicat de performanţă.

  • Modelarea volumelor mari de date necesită abordări statistice, dar şi abordări ce privesc stocarea, accesarea şi căutare rapidă a datelor. Acestea impun modele speciale de organizare a datelor stocate, algoritmi de căutare rapidă, tehnici de analiza ştiinţifică a datelor şi data mining.
  • Analiza determinării, procesării şi reprezentării cunoştinţelor din reţele de mare întindere; acestea necesită capacităţi computaţionale apreciabile precum şi algoritmi eficienţi, de înaltă performanţă.
  • Paralelizarea algoritmilor deja existenţi, respectiv găsirea unor algoritmi noi pentru eficientizarea căutării şi extragerii automate a cunoştinţelor Aceştia sunt impuşi de volumul extrem de mare de cunoştinţe stocat într-un set oarecare de date şi complexităţii structurii acestor cunoştinţe.
  • Imbunătăţirea metodelor existente de reprezentare a cunoştinţelor care să devină un suport pentru achiziţionarea de noi cunoştinţe, de luare a deciziilor sau de raţionament în cazul unui utilizator uman. In cazul seturilor foarte mari de date, conexiunile care se pot stabili între cunoştinţe este de asemenea foarte mare.

Plan de învățământ

Prin curriculumul propus, acest program îmbină cercetarea cu practica profesională, satisfăcând atât standardele UBB, de universitate orientată pe cercetare avansată, cât şi standardele industriei IT. În baza competenţelor formate în cadrul programului, absolvenţii vor putea fie să se încadreze rapid în câmpul muncii, fie să-şi continue performant pregătirea la nivel de cercetare în cadrul Programelor Doctorale.

Construcţia acestui program de masterat pleacă de la principiile enunţate de ACM, relative la Calculul de înaltă performanţă şi analiza volumelor mari de date:

Cursurile fundamentale: Paradigme de programare, Modele în programarea paralelă, Metode avansate de analiză a datelor, Modelare formală a concurenţei, Sisteme de operare pentru arhitecturi paralele şi distribuite acoperă cunoştinţele fundamentale legate de modelarea sistemelor complexe, de programare şi utilizarea componentelor de calcul, în particular a celor de înaltă performanţă, de exploatare şi vizualizarea datelor masive, în formalizarea şi modelarea calcului, în definirea şi implementarea proceselor specifice. Cursurile teoretice sunt menite să ofere suportul necesar înţelegerii domeniului programării paralele şi distribuite dar şi al analizei datelor de dimensiuni mari.

Cursurile specializate: Grid, Cluster şi Cloud Computing, GPU programming, Resource-Aware Computing, Descoperirea cunoştinţelor în reţele de mare întindere, Vizualizarea ştiinţifică a datelor, îşi propun studierea unor tehnici corespunzătoare diferitelor sisteme prin care se poate asigura calculul de înaltă performanţă, dar a unor tehnici avansate de analiza a datelor de dimensiuni mari.

De asemenea, pentru acoperirea cat a larga a domeniilor conexe sunt propuse cursuri opţionale precum Data Streaming, Aritmetică modulară şi criptografie, Data Mining, Metode statistice, sau Modele de optimizare.

Anul I, semestrul 1
Paradigme de programare
Sisteme de operare pentru arhitecturi paralele si distribuite
Modelarea formala a proceselor concurente
Metode avansate de analiza datelor
Metodologia cercetării ştiinţifice de informatică
Anul I, semestrul 2
Modele în programarea paralelă
Grid, Cluster şi Cloud Computing
Vizualizarea stiintifica a datelor
Curs opţional 1
Anul II, semestrul 1
Procesare si Aplicatii Big Data
Programare pe arhitecturi GPU si distribuite
Curs opţional 2
Curs opţional 3
Anul II, semestrul 2
Practică în specialitate
Proiect de cercetare în calcul de inalta performanta si analiza volumelor mari de date
Elaborarea lucrării de disertaţie
Curs opțional 1 (anul I, semestrul 2)
Descoperirea cunoştinţelor în reţele de mare întindere
Modele de optimizare
Calculul proprietatilor moleculare
Sisteme multiagent
Fluxuri de date
Curs opțional 2 (anul I, semestrul 3)
Sisteme workflow
Bioinformatica
Metode statistice computationale
Modelare matematica
Curs opțional 3 (anul II, semestrul 3)
Resource-aware computing
Instruire automata
Aritmetica modulara si criptografie
Data mining

Responsabil specializare

Conf. univ. dr. Virginia NICULESCU,
E-mail: vniculescu[at]cs.ubbcluj.ro

Facultatea de Matematică și Informatică, str. M. Kogălniceanu, nr. 1, Cluj-Napoca
Telefon: 0264 405327, Fax: 0264 591906
E-mail: math[at]math.ubbcluj.ro
Web: http://www.cs.ubbcluj.ro

Google+TwitterFacebook