User Tools

Site Tools


Sidebar

contrib:rsoc:dhc

This is an old revision of the document!


= WLoHC = Workflow Layer of Heterogeneous Computing

Nume și descriere proiect

* Prin definirea logica a relațiilor Proces-Date si maximizarea potențialului unei rețele de calculatoare, se poate ajunge la obținerea unor rezultate satisfăcătoare in timp util. * Luăm in considerare un algoritm care este prea complex pentru a fi executat pe un singur procesor fie el multicore. * In cadrul unei rețele sa presupunem ca majoritatea nodurilor beneficiază de o arhitectură multicore mixta (CPU+GPU). * Putem astfel recolta întreaga putere a unui rețele (având în vedere ca problema poate fi împărţită) prin calcul paralel/distribuit/eterogen.Aplicatia se vrea a fi un layer prin care poate duce la o rezolvare a acestei probleme.

Categorie aplicație

* low-level/high-level mixture programming

Obiective

* crearea/modificarea unui workflow pentru controlul fluxului de executie * crearea/adaptarea unui layer pentru distribuirea calcului local in functie de hardware * extragerea de informatii hardware din fiecare sistem nod si centralizarea sa la server * rezvolrea cel putin a unei probleme real world folosind modelul creat/ statistici referitoare le eficienta

Grup țintă

Persoane interesate si cu cunostinte de baza la: * tendinte evolutie hardware * calcul eterogen * calcul distribuit * controlul fluxului de executie procese/date

Limbaje de programare/biblioteci/aplicații/framework-uri folosite

Datorita multitudinii de optiuni in calculul eterogen si a distributiei acestuia in retea parte din optiunile enumerate pot fi schimbate inainte sau de-a lungul proiectului: * Programare C/C++ si/sau Java * OpenCL ( INTEL/AMD/NVIDIA/ATI ) - C99 derivat * BPEL pentru descrierea fluxului (incert) * posibil MPI / Open MPI

Cerințe necesare

* cunostinte bune programare C/C++ * cunostinte bune notiuni calcul paralel/distribuit (ex programare MPI/WCF/RMI) * cunostinte de baza calcul eterogen * cunostinte de baza arhitectura CPU-GPU

Cerințe recomandate

* cunostinte OpenCL/ CUDA/ Stream * cunostinte aprofundate arhitectura GPU/CPU * cunostinte bune alte limbaje programare Java/Python…

Sisteme de calcul recomandate

* Preferabil laptop * Dual Core CPU (Intel/AMD) * 2GB RAM * Placa video discreta cu suport STREAM sau CUDA. Atentie suport dx10 != suport CUDA/STREAM ATI - seria HD4 minim cu exceptii NVIDIA - seria 8 minim cu exceptii == Cunoștințe/abilități dobândite == * diferente arhitecturi CPU-GPU * programare arhitecturi eterogene * aprecierea problemelor ce pot fi rezolvate cu CPU/GPU * teamwork/comunicare * proiect orientat catre cercetare/ multe din tehnologiile in discutie inca in stadiu de dezvoltare == Roadmap == * Interviu + Test: 29 iunie - 1 iulie * Rezultate: 1-2 iulie * 5-6 iulie: Trunchi Comun (prezentari – 2 zile) prezentare generala proiect / planificare / stabilire program prezentare arhitecturi CPU/GPU/Cell, tendinte tehnologice, proiecte cercetare tehnologii openMPI/OpenMP,CUDA vs STREAM vs OPENCL, Java, diverse framework-uri * 7-9 iulie: Impartire/ Specializare Modul (prezentari – 3 zile) impartire indivizi pe module, aprofundare / specializare * (1) Java workflow design / Job Generator / Java → C / aplicatie OpenCL * (2) Scheduler MPI / OpenCL/ monitorizare * (1) Distributie locala openCL CPU/GPU * Deadline 1 Java workflow design / Job Generator: 15 iulie Scheduller alfa: 16 iulie Distributie locala openCL CPU/GPU: 16 iulie * Deadline 2 Scheduller beta: 20 iulie Aplicatie OpenCL - Algoritm fractali OpenCL: 21 iulie Unificare si testare: 21-22 iulie

Draft arhitectură (componente principale)
 |----------------|           |-----------|
 | Java Workflow  |-----------| Job List  |------|
 |----------------|           |-----------|      |
                                                 |
                                                 |
                                             -----------------
                                            |   Scheduller   | eg. MPI - C
                                             -----------------
                                                    -
                                                    -  
                                            Nod<====-====>Nod --- CPU / GPU     - OpenCL
                                                               - interogare componente/monitorizare
                                            
Resurse disponibile
contrib/rsoc/dhc.1275289765.txt.gz · Last modified: 2010/05/31 10:09 by 10.38.236.130