This is an old revision of the document!
= WLoHC = Workflow Layer of Heterogeneous Computing
* 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.
* low-level/high-level mixture programming
* 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
Persoane interesate si cu cunostinte de baza la: * tendinte evolutie hardware * calcul eterogen * calcul distribuit * controlul fluxului de executie procese/date
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
* 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
* cunostinte OpenCL/ CUDA/ Stream * cunostinte aprofundate arhitectura GPU/CPU * cunostinte bune alte limbaje programare Java/Python…
* 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
|----------------| |-----------| | Java Workflow |-----------| Job List |------| |----------------| |-----------| | | | ----------------- | Scheduller | eg. MPI - C ----------------- - - Nod<====-====>Nod --- CPU / GPU - OpenCL - interogare componente/monitorizare
* MPI http://www.mcs.anl.gov/research/projects/mpich2/ http://en.wikipedia.org/wiki/MPICH http://en.wikipedia.org/wiki/Message_Passing_Interface * OpenCL http://en.wikipedia.org/wiki/OpenCL http://www.khronos.org/opencl/ http://developer.apple.com/mac/library/documentation/Performance/Conceptual/OpenCL_MacProgGuide/OpenCL_MacProgGuide.pdf http://developer.amd.com/zones/OpenCLZone/Pages/default.aspx http://www.nvidia.com/object/cuda_opencl_new.html * CUDA & STREAM http://en.wikipedia.org/wiki/CUDA http://www.amd.com/US/PRODUCTS/TECHNOLOGIES/STREAM-TECHNOLOGY/Pages/stream-technology.aspx http://www.nvidia.com/object/cuda_home_new.html * Articole Stiintifice HPC, Calcul Eterogen http://www.gpucomputing.net/ * Altele http://www.redhat.com/rhel/ http://www.fixstars.com/en/products/ydel/cuda/