Temele examen PPC

Dec 29th, 2010 | By | Category: Paralelism și concurență
Tema 1: Concurență şi paralelism
Istorie şi necesitate. Apariția programărilor concurente şi paralele. Motivarea pentru concurență şi paralelism. Concepte de bază: executare secvențială, concurentă şi paralelă; procese şi procesoare; determinism; sincronizare; excludere mutuală; comunicare.
Tema 2: Interacțiunea proceselor concurente. Excluderea reciprocă
Enunțul problemei excluderii reciproce. Încercările Dijkstra pentru soluționarea problemei de excludere reciprocă.  Algoritmii Dekker şi Peterson.
Tema 3: Programare multi‐threading utlizînd Java/.Net Framework
Primitive şi tehnici de programare multi‐threading utilizând Java/.Net Framework. Stările unui fir de execuție. Lansarea, suspendarea şi oprirea unui fir de execuție. Clase pentru realizarea cooperării.
Tema 4: Interacțiunea proceselor concurente. Semafoare
Tehnici esențiale de sincronizare utilizând semafoarele: Signaling, Rendez‐vous, Mutex, Multiplex, Barrier.
Tema 5: Mecanisme pentru realizarea interacțiunii proceselor concurente
Comunicarea prin canale. Clase Java şi .Net pentru comunicarea dintre fire.
Arhitectura Remote Methode Invocation (Java RMI). Mecanisme RMI. Modelul obiectual distribuit. Serializare. Obiecte exportabile prin RMI. Rezolvarea claselor RMI. Clase şi interfețe RMI.
Arhitectura .Net Remoting (.Net Framework). Configurare mediu .Net Remoting.  Mecanisme .Net Remoting pentru serializare şi transportare date. (Serializarea/Deserializarea obiectelor utilizând .Net Framework) Servicii Web şi .Net Remoting. Clase IChannel. Interacțiune asincronă utilizînd .Net Remoting.
Tema 6: Analiza şi modelarea concurenței
Specificarea concurenței în UML. Problemele clasice – modele de concurență. Problema Producător – Consumator. Jocul vieții. Problema filozofilor chinezi. Problema Cititori – Scriitori.
Aplicarea şabloanelor de proiectare GoF la soluționarea problemelor clasice de concurență (problemele Readers‐Writers şi Barbershop).
Tema 7: Principii aspect‐orientate pentru concurență
Programarea aspect‐orientată (Aspect‐oriented programming, AOP). Beneficiile şi complexitatea programării AOP. Modele Joint Point şi primitivele construcțiilor de limbaj (pointcut, advice). Principiile proiectării aspect orientate. Instrumentar Java şi .Net pentru AOP.
Realizarea mecanismelor de sincronizare şi planificare utilizând programarea Aspect‐orientată. Studiu de caz: soluționarea problemei Readers‐Writers utilizând AspectJ.
Tema 8: Arhitecturi de înaltă performanță
Evoluția arhitecturală. Parametrii arhitecturii de calcul. Clasificarea lui Flynn. Extinderea clasificarii lui Flynn. Clasificarea lui Shore. Clasificarea lui Duncan şi altele. Notația structurală a lui Hockney şi Jesshope.
Rețele de interconectare şi organizarea memoriei la sistemele multiprocesor. Operații primitive pentru transferul de informații. Rețele de interconectare: inel, stea, arbore, plasă, hipercub, multinivel. Memoria întrețesută. Memoria partajată. Memoria distribuita.
PRAM – un model teoretic pentru calculul paralel. Procesoare vectoriale. Procesoare superscalare. Arii de procesoare. Arhitecturi bazate pe flux de date. Arhitecturi sistolice. Sisteme multiprocesor.
Tema 9: Algoritmi paraleli
Multiplicare matrice‐vector. Formularea problemei. Algoritmii secvențiali. Principii de partiționare 1D şi 2D. Multiplicarea matricei cu un vector prin partiționarea datelor în rînduri. Detecția dependențelor. Multiplicarea matricei cu un vector prin partiționarea datelor în coloane. Multiplicarea matricei cu un vector prin partiționarea datelor în blocuri de date. Multiplicare matrice‐matrice. Algoritmul secvențial. Multiplicarea matricelor utilizînd scheme în linii. Algoritmii de multiplicare Fox, Cannon şi DNS.
Algoritmi paraleli de sortare: Bubble şi Quicksort. Sortare Quicksort pentru maşină CRCW PRAM. Quicksort realizat pe principii transfer de mesaje. Algoritmi paraleli pentru graf: Dijkstra şi Floyd.
  • http://ciorba.name Ciorbă Dumitru

    Succese tuturor!

  • Grajdean Serghei

    Dl.Ciorba, temele acestea cuprind tot materialul studiat in timpul semestrului. Nu ar trebui sa avem intrebari doar din a doua jumatatea a semestrului?

    • http://ciorba.name Ciorbă Dumitru

      Cei care au note pozitive la examenul intermediar, vor avea de răspuns la întrebări doar din a doua jumătate.

  • Alex

    “De 10 inveti, 10 primesti” – foarte bun sloganul :-)

    • http://ciorba.name Ciorbă Dumitru

      Mulțumesc.

  • http://www.facebook.com/ec.developer Evgheni Chiriliuc

    Super imagine :) ))
    Succese tuturor studentilor d-stra :)

    • http://ciorba.name Ciorbă Dumitru

      Eugen, mulțumesc! Dacă vor munci vor avea și succese. Obligator!