Enginyeria en Informàtica (3371)
Taller de Software II(12484)
Descripció
El cost computacional dels algoritmes determinen si una aplicació serà factible. Durant la seva implementació cal maximitzar l'ús dels recursos i distribuir la càrrega computacional entre diferents nodes.
Objectiu
Analitzar les tecnologies de computació paral·lela des de diferents perspectives: l'arquitectura del computador, la paral·lelització d'algoritmes, el sistema de comunicacions i l'avaluació de prestacions.
Mètode d'Avaluació
Prova escrita a partir del contingut teòric (50 per cent) i l'entrega d'un projecte de pràctiques (50 per cent).
Temari
Tema 1: Arquitectura de computadors paral·lels
Tema 2: Models de programació paral·lela
Estrategies de desenvolupament: Compiladors, llenguatges, missatges actius,
memòria compartida i OO
Disseny d'algoritmes: Particionament, communicació, aglutinament i mapejat
Paradigmes de programació: Client/servidor, SPMD, pipelining, subdivisió i models hibrids.
Tema 3: Entorns de programació paral·lela
Mecanismes primaris: Semàfors, sockets i RPC
Entorns amb memòria compartida: memòria compartida pura i memòria compartida
virtual
Entorns amb memòria distribuida: MPI, PVM i Java distribuit
Tema 4: Xarxes i sistemes de missatges
Mecanismes tradicionals: Nivells OSI i TCP/IP/Ethernet
Sistemes de missatges: Estructures de dades, llistes i Tx/Rx
Baixa latencia: Myrinet, Memory Channel i CAN bus
Cadenes de Markov: M/M/1, M/M/m i sistemes de cues
Xarxes de Petri: Model, propietats i anàlisi
Organització
Els alumnes han de realitzar les pràctiques durant les hores assignades i respectar els periodes de
lliurament. Els continguts teòrics s'organitzen en unitats didàctiques accessibles des de campus
global i s'exposen amb transparències durant les sessions de laboratori.
Pràctiques
P1 - Impacte de la gerarquia de memòria en el temps d'execució d'un algoritme
P2 - Imptacte del planificador de tasques en la periodicitat del temps d'execució
P3 - Les prestacions d'un programa SIMD en funció de l'estructura de dades
P4 - Prestacions de l'intercanvi de missatges amb sockets TCP, UDP, UNIX i memòria compartida
P5- Projecte d'implementació d'un algoritme paral·lel amb MPI
Bibliografia
RAJKUMAR BUYYA:
High Performance Cluster Computing, Prentice Hall.
ANDRE S. TANENBAUM:
Computer Networks, Prentice Hall.
RANDAL L. SCHWARTZ, TOM PHOENIX:
Learning Perl (3rd Edition), O'Reilly&Associates.
W. RICHARD STEVENS:
Network Programming, Volume 1: Networking APIs, Prentice Hall.
Observacions
L'entrega de les pràctiques de laboratori dins dels terminis és obligatori per aprovar l'assignatura.