Temele pentru examenul intermediar: PPC

Oct 10th, 2010 | By

Un student are de învățat multe de la un profesor, dar și mai multe trebuie să învețe singur. Examenul este un punct necesar de reper de auto-evaluare atît pentru student, cît și pentru profesor. Astfel eu la fel sunt dezinteresat ca studenții mei să primească note slabe, căci insuccesul lor este un insucces mai mare pentru mine.



Comunicarea dintre fire utilizînd canale (.Net)

Oct 6th, 2010 | By

Comunicarea este necesară pentru transmitere de date dintre entități comunicante. Când entitățile aparțin aceluiași spațiu de adrese (process), o putem realiza prin variabile „globale” și partajate, iar când entitățile sunt localizate în diverse procese (ce ar putea rula pe diverse calculatoare) o realizăm prin canale. Canalele reprezintă un concept de comunicare ce corespunde modelului orientat pe conexiune și este realizat în diverse modalități: sockets, streams, etc.



Mobilitatea codului în aplicaţiile distribuite

Dec 13th, 2009 | By

Este bine şi normal cînd în cercetările efectuate de profesori sunt implicaţi studenţii şi masteranzii săi. Doar astfel se crează o atmosferă de studiu şi de cercetare propice pentru apariţia unor specialişti calificaţi şi cu viziuni mult mai largi. Majoritatea studenţilor mei îmi urmează “interesele” în cercetare. Şi deoarece domeniile care mă preocupă sunt diverse, fiecare îşi găseşte facil tema sa .



Apeluri asincrone realizate în Java

Oct 10th, 2009 | By

În ceea ce urmează aş dori să prezint o soluţie care ar putea să fie o alternativă în cazul în care se doreşte evitarea utilizării unor arhitecturi prea “grandioase” pentru un “banal” apel asincron de metodă. Structura acesteia cuprinde elementele prezentate în diagrama de mai jos. Entităţile din structura prezentată în cazul unui apel asincron
[continue reading...]



Clasificarea calculatoarelor paralele

Jan 22nd, 2009 | By

Astăzi direcţia esenţială de mărire a productivităţii sistemelor de calcul cuprinde, în special, dezvoltările de noi arhitecturi paralele. La momentul actual sunt publicate sute de arhitecturi ale calculatoarelor cu un tip sau altul de prelucrări paralele. Astfel avem calculatoare vectoriale, conveier şi masiv-paralele, masive sistolice, calculatoare dataflow, sisteme multiprocesor, hipercuburi de procesoare speciale (sau mai puţin speciale), clustere sau constelaţii, etc.
Clasificarea calculatoarelor paralele ne-ar permite o mai bună înţelegere a acestora. Dar care ar fi criteriile de grupare? Nu cred că cineva ne va da un răspuns univoc. Astăzi există mai multe clasificări, care ar oferi suficiente posibilităţi de descriere exhaustivă a calculatoarelor paralele. Despre unele din ele am vorbit la prelegerea “Arhitecturi de înaltă performanţă”, iar o parte a prezentării cu titlul “Clasificarea calculatoarelor paralele” public în acest post.



La ce foloseşte comunicarea dintre procese?

Jan 16th, 2009 | By

La ce foloseşte comunicarea dintre procese şi cum ea poate fi realizată? Este o întrebare banală, dar cînd încerci să răspunzi succint la ea iţi dai seama că ce vorbeşti este o simplă bălăceală de termeni strict aplicabili doar unui context.

Mi-am propus ca studenţilor mei să prezint comunicarea prin prisma scop-paradigmă-mecanism, pentru ai face să înţeleagă că comunicarea nu este un scop în sine, ci o formă a procesului de “cunoaştere” şi că ea poate influenţa chiar arhitectura sistemului de calcul (în una din prezentările viitoare voi plasa algoritmul Canon de multiplicare paralelă a două matrice unde topologia sistemului de comunicare primează).
În continuare, public o parte a prezentării mele de la cursul Programare Paralelă şi Concurentă, unde tema “discuţiei” a fost “Comunicarea dintre procesele concurente/paralele”



Probleme clasice de concurenţă

Nov 24th, 2008 | By

Problemele clasice – modele de concurență. Problema Producător – Consumator. Jocul vieții. Problema filozofilor chinezi. Problema Cititori – Scriitori.



Excluderea reciprocă, sincronizarea şi semafoarele

Sep 15th, 2008 | By

Enunțul problemei excluderii reciproce. Încercările Dijkstra pentru soluționarea problemei de excludere reciprocă. Algoritmii Dekker şi Peterson.



Paralelism software şi hardware: necesitate şi aplicații

Sep 14th, 2008 | By

Motivarea pentru concurență şi paralelism. Concepte de bază: executare secvențială, concurentă şi paralelă; procese şi procesoare; determinism; sincronizare; excludere mutuală; comunicare.