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

Google+TwitterFacebook

Prezentare generală

Calcul de inainta performanta Programul de master în Calcul de Înaltă Performanţă şi Analiza Volumelor Mari de Dateare o durată de 2 ani (4 semestre) şi oferă, atât absolvenţilor de informatică şi calculatoare, cât şi celor proveniţi din alte domenii, posibilitatea de a se forma ca specialişti în calcul şi analiză de date de înaltă performanţă. Acest masterat urmăreşte să dezvolte nu numai competenţe academice şi de cercetare, dar şi să asigure baza de cunoştinţe necesare practicii informatice.

Dacă nu cu mulţi ani în urmă Calculul de înaltă performanţa (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 încă destul de dificilă. Este foarte greu de specificat ce se urmăreşte de la un sistem distribuit şi cu atât mai greu de verificat că o aplicaţie distribuită respectă specificaţia respectivă.

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ă. Această productivitate se poate obţine prin calificarea specialiştilor IT şi prin dezvoltarea de instrumente, frameworks şi modele care permit simplificarea acestui tip de software.

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. Ştiinţele, ingineria şi tehnologiile produc fluxuri de date tot mai mari, astfel încât datele cu scară de mărime de tip petabyte şi exabyte sunt tot mai comune. În domeniile ştiinţifice, astfel de date apar în parte datorită faptului că teoriile standard se orientează pe studiul condiţiilor extreme şi pe de altă parte datorită faptului că ştiinţa a devenit tot mai mult exploratorie. În comerţ, datele masive apar tot mai mult datorită faptului că activitatea se desfăşoară online şi pentru că modelele de business tind să furnizeze servicii tot mai personalizate.

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. Există diverse clasificări prin care în categoria big data sunt incluse fie date nestructurate de tipuri particulare, fie tranzacţii şi alte tipuri structurate.

Big Data Analytics reprezintă procese de examinare a unor cantităţi uriaşe de date de tipuri diferite, pentru a descoperi şabloane ascunse, neidentificate şi 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.

Potenţialele probleme pe care diversele tipuri de organizaţii le pot avea în legătură cu analiza volumelor mari de date au la bază lipsa competenţelor în acest domeniu a personalului intern şi costurile mari a angajării profesioniştilor în acest domeniu. Prin urmare, s-a constatat necesitatea lărgirii bazei de specialişti în acest domeniu prin programe de studiu dedicate.

Prin această specializare se pune un accent deosebit pe dezvoltarea de competenţe de aplicare a calculului de înaltă performanţă în diferite arii de cercetare. Este un lucru cunoscut astăzi, faptul că, în numeroase domenii care folosesc calcul-intensiv, precum fizica, chimia şi biologia (şi nu numai) folosirea calcului paralel de înaltă performanţă este o necesitate; multe din aplicaţiile din aceste domenii neputând fi rezolvate fără ajutorul unui software de înaltă performanţă.

Analiza volumelor mari de date, structurate sau nestructurate, pe lângă aplicarea unor tehnici specifice, impune şi folosirea unui calcul performant bazat pe programare paralelă şi distribuită.

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ătoarele competenţe profesionale care le vor permite inserţia rapidă pe piaţa muncii:

  • dezvoltator de aplicaţii software performante care necesită tehnici ale programării paralele şi distribuite;
  • consultant în tehnici de analiza a volumelor mari de date;
  • dezvoltator de sisteme soft şi consultant în dezvoltarea de soft;
  • asistent de cercetare în domeniu;
  • programator ştiinţific.

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, facultate dispune şi de infrastructura necesara specifică programului de master Calcul de Înaltă Performanta şi Analiza Volumelor Mari de Date. Astfel, în prezent facultatea se poate lăuda cu:

  • 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;
  • de asemenea, Universitatea Babeş-Bolyai este în curs de achiziţie a unui cluster/centru de calcul de înaltă performanţă cu aproximativ 2000 de core-uri prin intermediul programului de infrastructură MADECIP în care Facultatea de Matematică şi Informatică este parte. Acest cluster va putea fi folosit de către toate facultăţile universităţi, implicit şi de către studenţii facultăţii care urmează masterul HPC.

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 Performances care 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:

  • modele de calcul paralel şi distribuit, dezvoltarea de programe paralele corecte prin construcţie, tehnici de construcţie a programelor paralele care implică un grad ridicat de productivitate şi robusteţe;
  • metode inteligente de analiză a datelor, analiza conceptelor formale, descoperirea cunoştinţelor, aplicaţii ale tehnicilor de analiză a datelor în bioinformatică, gestiunea şi analiza inteligentă a datelor medicale.

În cadrul Facultăţii de Matematică şi Informatică, există grupul de cercetare High Performance Computing (HPC) având o activitate de cercetare remarcabilă, concretizată publicaţii ştiinţifice de prestigiu. Un număr de 9 cadre didactice implicate în programul de master Calcul de Înaltă Performanta şi Analiza Volumelor Mari de Date, sunt membrii ai grupului de cercetare HPC. Grupul de cercetare HPC are o colaborare strânsă cu laboratorul de cercetare LIFO, din cadrul Universităţii din Orleans (Franţa), reprezentat de Prof. Dr. Frederic Loulergue, care face parte, de asemenea, din lista cadrelor didactice implicate în programul de master HPC.

Evidenţiem mai jos câteva dintre temele de cercetare aflate în curs de investigare:

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 va 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 se urmăreşte: 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ţă.

Pe aceste direcţii evidenţiem următoarele teme cercetare considerate:

  • 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.
  • problema 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.
  • îmbună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.

În concluzie, printre punctele tari ale acestui program de master subliniem:

  • 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.
  • Programarea paralelă şi distribuită are multiple aplicaţii în domenii diverse ale calcului ştiinţific, folosirea ei conducând la creşterea performanţei în diferite domenii de activitate. Este acum utilizată în aproape toate domeniile, studierea aprofundată a acestui domeniu reprezentând azi o necesitate.
  • Creşterea continuă a volumului de date care trebuie investigate, interogate şi transformate a impus dezvoltarea foarte rapidă a tehnicilor de analiză de tip Big Data.
  • Evoluţia rapidă şi natura profesională a domeniului de Calcului de înaltă performanţă şi a analizei datelor necesită o evaluare şi revizuire continuă a curriculei.
  • Toţi studenţii care urmează un program de Calcul de Înaltă Performanţă şi Analiza Volumelor Mari de Date (High Performance Computing) vor învaţa să integreze teoria cu practica.
  • Adaptarea pregătirii academice de specialitate la cerinţele actuale şi alinierea programelor de studiu cu cele ale universităţilor de prestigiu din ţară şi străinătate sunt principalele argumente ale programului supus acreditării.
  • Programul de Master combină pregătirea ştiinţifică cu cea profesională în cadrul paradigmei scientist-practitioner. Aşadar studenţii sunt pregătiţi atât în vederea continuării cu studiile doctorale cât şi în vederea inserării pe piaţa muncii. Pregătirea este făcută la standarde internaţionale; aşadar, inserarea pe piaţa muncii şi/sau academică este posibilă în spaţiul european şi/sau american.
  • Existenţa unor colaborări cu universităţi din străinătate în domeniul studiat facilitează posibilele schimburi de studenţi (ex. Universitatea din Orleans).
  • Colaborările existente cu firme de prestigiu cu competenţe în domeniul studiat (e. IBM, HP, Microsoft) facilitează accesul studenţilor la desfăşurarea practicii în condiţii optime, folosind tehnologii de actualitate.
  • Practica studenţilor şi cercetarea asociată acestui program de master va fi facilitată de infrastructura de calcul de mare performanţă care va fi achiziţionată de către universitatea noastră în 2014 (prin programul de infrastructura MADECIP).

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:

  • Programarea paralelă şi distribuită are multiple aplicaţii în domenii diverse ale calcului ştiinţific folosirea ei conducând la creşterea performanţei în diferite domenii de activitate.
  • Creşterea continuă a volumului de date care trebuie investigate, interogate şi transformate a impus dezvoltarea foarte rapidă a tehnicilor de analiză de tip Big Data.
  • Toţi studenţii care urmează programul HPC vor învăţa să integreze teoria cu practica.
  • Evoluţia rapidă şi natura profesională a domeniului de Calculul de înaltă performanţă şi analiza volumelor mari de date necesită o evaluare şi revizuire continuă a curriculei.

Planul de învăţământ este proiectat conform paradigmei scientist-practitioner, având atât cursuri cu caracter teoretic, cât şi practic. El este gândit astfel încât să acopere aspectele teoretice, aplicative şi practice ale celor mai importante paradigme ale calculului de înaltă performanţă. Disciplinele propuse în planul de învăţământ urmăresc în special legarea tehnicilor Calcului de Înaltă Performanţă şi Analiza Volumelor Mari de Date de proiecte, aplicaţii din lumea reală (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), dar şi din diverse domenii ale cercetării ştiinţifice (de exemplu: fizica moleculară, ştiinţe biologice şi medicină, bioinformatică, industrie, lingvistică şi finanţe).

Sunt propuse cursuri de cunoştinţe fundamentale în programare, arhitecturi software şi analiza de date, urmate de cursuri care să ofere un grad mai ridicat de specializare. Cursurile opţionale oferă o gamă largă de variante prin care se permite studierea aplicabilităţii programării paralele şi distribuite şi a tehnicilor de analiză a datelor în diferite domenii (fizica, bioinformatică, calcul neconvenţional, inginerie software, lingvistică) .

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 şi Workflow Systems 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, General-Purpose GPU programming, Resource-Aware Computing, Descoperirea cunoştinţelor în reţele de mare întindere îşi propun studierea unor tehnici corespunzătoare diferitelor arhitecturi prin care se poate asigura calculul de înaltă performanţă, dar a unor tehnici avansate de descoperirea cunoştinţelor din date de dimensiuni mari.

De asemenea, sunt propuse cursuri opţionale precum Vizualizarea ştiinţifică a datelor, Aritmetică modulară şi criptografie, Data Mining, Calcul neconvenţional în rezolvarea problemelor din lumea reală, Algoritmi distribuiţi şi tehnici avansate în sisteme distribuite sau Modele de optimizare prin care să se ofere studenţilor cunoştinţe avansate şi în domeniul analizei şi vizualizării datelor şi în programarea distribuită. În oferta de cursuri opţionale sunt şi cursuri care asigură competenţe în domenii ştiinţifice aplicative precum fizica şi biologia în care se pot aplica cu succes cunoştinţele fundamentale şi specializate dobândite. Dintre aceste cursuri amintim Bioinformatica şi Calculul proprietăţilor moleculare.

Cunoştinţele pe care studenţii le pot acumula în urma cursurilor opţionale le vor fi utile în dezvoltarea unor sisteme complexe pentru modelarea problemelor din lumea reală sau din diferite domenii ştiinţifice în care sunt necesare calcule de înaltă performanţă (atât ca performanţă-timp dar şi cu un grad ridicat de acurateţe).

Caracterul practic al programului de master rezidă din cel puţin următoarele:

  1. multe cursuri conţin prezentarea unor domenii de aplicare ale programării paralele şi distribuite, a tehnicilor de analiză datelor de volum mare cât şi a mai multor studii de caz;
  2. activităţile cu studenţii includ şi realizarea de sisteme software concrete, obiective ale unor proiecte individuale sau în echipă.

Una dintre traiectoriile posibile ale absolvenţilor acestui program este cercetarea ştiinţifică, existând cel puţin două direcţii posibile: cercetare specializată în programare paralelă şi distribuită, analiza datelor de volum mare sau în domenii conexe (doctorat) sau proiecte de cercetare interdisciplinare (membru al unei astfel de echipe, programator ştiinţific). Există două discipline dedicate iniţierii în cercetarea ştiinţifică: Metodologia cercetării ştiinţifice de informatică şi Proiect de cercetare în Calcul de Înaltă Performanţă< şi Analiza Volumelor Mari de Date.

Cursuri

Anul 1, semestrul 1
Disciplina Cadru didactic
Paradigme de programare Prof. dr. Parv Bazil
Sisteme de operare pentru arhitecturi paralele si distribuite Lect. dr. Darius Bufnea
Modelarea formala a proceselor concurente Lect. dr. Adrian Sterca
Metode avansate de analiza datelor Prof. dr. Horia F. Pop
Anul 1, semestrul 2
Disciplina Cadru didactic
Programare functionala paralela pentru analiza volumelor mari de date Prof. dr. Frédéric Loulergue
Modele în programarea paralelă Conf. dr. Virginia Niculescu
Programare GPGPU Conf. dr. Rares Boian
Curs opţional 1
Anul 2, semestrul 3
Disciplina Cadru didactic
Metodologia cercetării ştiinţifice de informatică Prof. dr. Militon Frenţiu
Sisteme workflow Conf. dr. Virginia Niculescu
Resource-aware computing Conf. dr. Florin Craciun
Curs opţional 2
Anul 2, semestrul 4
Disciplina Cadru didactic
Proiect de cercetare în calcul de inalta performanta si analiza volumelor mari de date Conf. dr. Virginia Niculescu
Grid, Cluster şi Cloud Computing Lect. dr. Sergiu Adrian Darabant
Descoperirea cunoştinţelor în reţele de mare întindere Lect .dr. Christian Sacarea
Elaborarea lucrării de disertaţie
Curs opţional 3
Discipline oferite pentru curs opţional 1
Disciplina Cadru didactic
Vizualizarea datelor stiintifice Lect. dr. Vasile Prejmerean
Modele de optimizare Conf. dr. Nicolae Popovici
Discipline oferite pentru curs opţional 2
Disciplina Cadru didactic
Data Mining Conf. dr. Andreica Anca
Aritmetica modulara si criptografie Prof. dr. Septimiu Crivei
Bioinformatica Prof. dr. Nicolae Dragoş
Discipline oferite pentru curs opţional 3
Disciplina Cadru didactic
Algoritmi distribuiţi şi tehnici avansate în sisteme distribuite Conf. dr. Rares Boian
Calcul neconventional în rezolvarea problemelor din lumea reală Conf. dr. Mihai Oltean
Calculul proprietatilor moleculare Prof. dr. Vasile Chiș
Metode de simulări stohastice în fizica statistică cu aplicaţii interdisciplinare Prof. dr. Néda Zoltán

Observaţie: Planul de învăţământ prezentat mai sus este valabil pentru promoţia înmatriculată în anul universitar următor aprobării specializării de masterat de către Senatul Universităţii Babeş-Bolyai. Pentru informaţii actualizate despre planul de învăţământ al specializării, vă rugăm să consultaţii rubrica Învăţământ ≫ Planuri de învăţământ de pe pagina de Internet a Facultăţii de Matematică şi Informatică.

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