Documente Academic
Documente Profesional
Documente Cultură
Cursul 03 Calcul Paralel&Distribuit
Cursul 03 Calcul Paralel&Distribuit
Distribuit
C O N F. D R. C R I S T I A N K E VO RC H I A N
FAC U LTAT E A D E M AT E M AT I C I I N F O R M AT I C
U N I V E R S I TAT E A B U C U R E T I
Teorema CAP
Paradigme de calcul
Putem identifica dou paradigme de calcul:
Calculul secvenial(1940)
Paralel i distribuit(1955)
Patru elemente importante marcheza ciclul de via al calculabilitii:
Arhitectura
Compilatoarele
Aplicaiile
Medii pentru problem-solving
Sisteme SISD
Este o main capabil s execute o singur instruciune
care opereaz un singur stream de date.
Instruciunile mainii SISD sunt procesate secvenial(de ici
denumirea de calculatoare secveniale)
Toate instruciunile i datele trebuie incarcate n memoria
primara. Viteza de procesare este limitat de rata de
transfer intern a informaiilor.
SSID este reprezentat de clasa IBM-PC, Macintosh i staii
de lucru.
Arhitectura SISD
Sisteme SIMD
Este o main multiprocesor capabil s execute aceiai instruciune pe toate
CPU dar opernd diferite stream-uri de date.
Masinile din aceast categorie sunt potrivite calculului tiinific din moment ce
efectueaz masive operatii cu vectori i matrici.
De exemplu o instruciune de tipul :
*
poate fi transferat tuturor elementelor de procesare(EP) cu datele organizate ca
vectori(A i B) divizai n multiple mulimi i unde fiecare EP poate procesa o
mulime de date.
Reprezentative pentru aceast categorie sunt sistemele Cray (masina cu
procesare vectorial) i Thinking Machine.
Arhitectura SIMD
Sisteme MISD
Arhitectura MISD
Sisteme MIMD
Un sistem MIMD este o main multiprocesor capabil
s execute multiple instruciuni pe multiple seturi de
date. Pentru fiecare EP(elemente de procesare)
instruciunile i datele sunt separatet n procesare n
modelul MIMD, iar de aici rezult caracterul general
unde pot fi folosite aceste masini.
Arhitectura MIMD
2. MIMD cu memorie-partajat
Toate EP au o memorie local.Sistemele de acest tip se mai numesc i LCMS(Loosely Coupled
Multiprocessor Systems). Comunicarea dintre EP este de tip reea(canalele de comunicare ntre
procesoare sau IPC(Interprocess Communication Chanell). Conexiunea EP-urilor poate fi configurat
de tip tree, mesh, cube,etc. Fiecare EP opereaz asincron. Dac comunicaia/sincronizarea
dintre task-uri este necesar se poate realiza prin schimbul de mesajedintre acestea.
Arhitectura MIMD este usor de programat dar este putin toleranta la erori si dificil de extins cu
respectarea memoriei distribuite. Erorile de la nivelul memoriei-partajate afecteaz ntregul sistem.
In varianta distribuit izolarea este mai uor de realizat, fapt care a facut sa-i creasca popularitatea.
Implementarea Paralelismului
Viteza de calcul este proporional cu rdcina ptrat a costului sistemului.
Creterea nu este niciodat linear.
Viteza unui sistem paralel crete dup logaritmul numrului de
procesoare(y=k*log(N))
Nivelele de Distribuire
Nivelul de baz-hardware, calculatoare i reele-constituie infrastructura,
managementul acestor componente se realizeaz de ctre sistemul de
operare care furnizeaz serviciile pentru comunicarea ntre procese(IPC),
managementul si programarea proceselor, managementul sistemului de
fisiere i device-urile locale.
Utilizarea standardelor la nivelul sistemului de operare i chiar la nivelul
hardware si networking. La nivelul sistemului de operare serviciile IPC sunt
implementate la virful stivei de protocoale de comunicatie,
TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Data Gram
Protocol)
Nivelul middleware grupeaz servicii pentru a crea un mediu unitar pentru
dezvoltarea i deployment-ul aplicaiilor distribuite.
La cel mai nalt nivel al stivei sistemului distribuit sunt plasate aplicaiile i
serviciile proiectate i dezvoltate sa utilizeze middleware-ul
AWS prin IaaS este un bun exemplu n acest sens, care permite
crearea de masini virtuale organizndu-le ntr-un cluster i realiznd
deployment-ul aplicaiilor n vrful stivei.
Obiecte Distribuite
o Programarea cu obiecte distribuite este un atribut n contextul utilizrii limbajelor de
programare C# i Java, semn al maturizrii acestei tehnologii.
o CORBA(Common Object Request Broker Arhitecture)-arhitectur introdus de OMG(Object
Management Grup) pentru a furniza interoperabilitate coss-language i cross-platform. O
componenta de baza a arhitecturii este ORB(Object Request Broker) o magistral central de
obiecte. Peste internet se utilizeaz protocolul Internet Inter-ORB(IIOP), care standardizeaz
interaciunea diverselor implementri ORB.
o DCOM/COM+ este soluia Microsoft la distribuia de obiecte. DCOM introduce o familie de
funcionaliti pentru distribuirea de obiecte n regim programabil nainte de tehnologia .NET i
care permite utilizarea COM dincolo de graniele proiectului. Arhitectura DCOM este
asemntoare CORBA. Un server de obiecte DCOM expune interfee reprezentnd diverse
comportamente ale obiectelor. Invocarea unei metode expuse de interfa implic obinerea
unui pointer de la interfat i utilizarea lui prin maparea la un pointer oferit de un obiect al
spatiului de adrese ale clientului. Solutia adoptata in industrie s-a transformat in Web Services.
V
mulumesc!