• Document: Curs 1. Programare Paralela si Distribuita
  • Size: 333.42 KB
  • Uploaded: 2018-12-05 18:35:16
  • Status: Successfully converted


Some snippets from your converted document:

Curs 1 Programare Paralela si Distribuita 1 Con3nutul cursului (realizat si pe baza pe h9p://grid.cs.gsu.edu/~tcpp/curriculum/?q=home) Teore%c Prac%c •  No3uni introduc3ve: arhitecturi, •  Java threads (low level API) concurenta, paralelism •  C++ (C++11) threads •  Etape in dezvoltarea programelor paralele •  High-level API: pachete Java-> •  Evaluarea performantei programelor java.u3l.concurrent packages. paralele •  OpenMP (C++) •  Modele de programare paralela –  Diferenta intre cele bazate pe •  MPI –Message Passing Interface memorie partajata si memorie –  exemplificari C, C++ distribuita •  CUDA (C++) •  Paradigme : –  Master-slaves –  Task-Farm –  Work-Pool –  Divide & Impera –  Pipeline 2 Bibliografie •  Ian Foster. Designing and Building Parallel Programs, Addison-Wesley 1995. •  Michael McCool, Arch Robinson, James Reinders, Structured Parallel Programming: Pa9erns for Efficient Computa3on,” Morgan Kaufmann,, 2012 . •  Berna L. Massingill, Timothy G. Ma9son, and Beverly A. Sanders,Addison A Pa9ern Language for Parallel Programming. Wesley Sohware Pa9erns Series, 2004. •  Grama, A. Gupta, G. Karypis, V. Kumar. Introduc3on to Parallel Compu3ng, Addison Wesley, 2003. •  D. Grigoras. Calculul Paralel. De la sisteme la programarea aplica3ilor. Computer Libris Agora, 2000. •  V. Niculescu. Calcul Paralel. Proiectare si dezvoltare formala a programelor paralele. Presa Univ. Clujana, 2006. •  B. Wilkinson, M. Allen, Parallel Programming Techniques and Applica3ons Using Networked Worksta3ons and Parallel Computers, Pren3ce Hall, 2002 •  Williams Anthony. C++ Concurrency in Ac3on PRACTICAL MULTITHREADING. Manning Publisher.2012. •  Tutoriale Java: h9p://docs.oracle.com/javase/tutorial/essen3al/concurrency/further.html •  C++11 h9p://en.cppreference.com/w/ •  ThreadingBuildingBlock: h9ps://www.threadingbuildingblocks.org/ •  OpenMP: h9p://openmp.org/ •  MPI: h9p://www.mpi-forum.org/ 3 Evaluare •  Laborator (30%) –  Exerci3i laborator –  Programe folosind Java/C++ threads, OpenMP, MPI •  Seminar(10%) –  prezenta, par3cipare ac3va •  Par3al(Scris) 20% •  Examen –  Prac3c() 40% 4 Procesare Paralela •  Un calculator paralel este un calculator (sistem) care foloseste mul%ple elemente de procesare simultana intr-o maniera coopera%va pentru a rezolva o problema computa%onala. •  Procesarea Paralela include tehnici si tehnologii care fac posibil calculul in paralel –  Hardware, retele, SO, biblioteci, limbaje, compilatoare, algoritmi … •  Paralelismul este natural. •  PERFORMANTA –  Parallelism is very much about performance! 5 Calcul Serial vs. Paralel (images from Introduc%on to Parallel Compu%ng Blaise Barney ) 6 It would appear that we have reached the limits of what it is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound preCy silly in 5 years. (John von Neumann, 1949) 7 Limite ale programarii seriale •  Viteza de transmisie – •  Viteza luminii (30 cm/nanosecond), limita de transmisie pe fir de cupru (9 cm/nanosecond). •  Limitarea miniaturizarii – numar de trazistori pe chip. –  Legea lui Moore: numărul de tranzistori care pot fi plasa3 pe un singur circuit integrat (per square inch chip) se dubleaza la fiecare 2 ani. –  Dar impune costuri mari. •  Limitari economice 8 Istoric •  Cresterea perfor

Recently converted files (publicly available):