Enginyeria i Arquitectura La Salle
 
 
contacte mapa web
català castellano english
Cercar  
   Qui Som      Nous Alumnes      Enginyeria      Arquitectura      Postgraus      Business Engineering School      Campus      Serveis a Empreses      Recerca    
ECTS-Label - Enginyeria i Arquitectura La Salle
Software paral·lel (5 Crèdits)

Professor Titular Professor/s
Albert Fornells Herrera
Albert Fornells Herrera
Albert Fornells Herrera

Prerequisits recomanables
  Aquesta assignatura no presenta cap prerequisit recomanable.
 
Corequisits
  Aquesta assignatura no presenta cap corequisit.
 
Incompatibilitats
  Aquesta assignatura no presenta cap incompatibilitat.
 
Coneixements previs
  Programació en C
 
Descripció assignatura
  Formar a l’alumne en una metodologia de disseny de software paral•lel, tot familiaritzant-lo amb els llenguatges de programació que actualment s’usen en el món del paral•lelisme. L’enfocament del curs es basa en una aproximació pràctica al disseny paral•lel, a fi i efecte que l’estudiant sigui capaç de resoldre els problemes reals del mercat. La metodologia de disseny ens portarà a l’estudi del disseny d’algorismes, l’anàlisi del rendiment i la construcció de programes. Es donarà la descripció de les diferents eines existents tot presentant exemples reals d’aplicació.
 
Coneixements
  Els objectius de l’assignatura es poden resumir en els següents punts:

• Capacitat d'anàlisi i síntesi
• Capacitat d'organitzar i planificar
• Coneixements generals bàsics sobre l'àrea d'estudi
• Habilitats de gestió de la informació (habilitat per buscar i analitzar informació provenent de fonts diverses)
• Resolució de problemes
• Presa de decisions
• Coneixements bàsics i fonamentals de l'àmbit de formació
• Coneixements en alguna especialitat de formació
• Capacitat de crítica i autocrítica
• Treball en equip
• Capacitat de treballar en un equip interdisciplinar
• Capacitat d'aplicar els coneixements a la pràctica
• Habilitats d'investigació
• Capacitat d'aprendre
• Capacitat per adaptar-se a noves situacions
• Capacitat per generar noves idees (creativitat)
• Lideratge
• Habilitat per treballar de forma autònoma
• Disseny i gestió de projectes
• Preocupació per la qualitat i millora contínua
• Motivació per assolir nous reptes
 
Continguts
  L’assignatura es divideix en dues parts, una teòrica on s’exposen els fonaments metodològics per tal de desenvolupar programes paral•lels, i una segona part on es posen en pràctica els coneixements anteriors mitjançant un conjunt d’eines de programació.

PART I: METODOLOGIA DE DISSENY DE SOFTWARE PARAL•LEL

1. ELS COMPUTADORS PARAL.LELS I LA COMPUTACIÓ EN PARAL•LEL
1.1. El paral•lelisme i la computació
1.2. Un model de màquina paral•lela
1.3. Un model de programació paral•lela
1.4. Exemples d'algorismes paral•lels

2. EL DISSENY D'ALGORISMES PARAL•LELS
2.1. El disseny metodològic
2.2. Particionat
2.3. Esquema de comunicacions
2.4. Agglomeration
2.5. Mapping
2.6. Exemple: Un model per a l'estudi atmosfèric
2.7. Exemple: Floorplanning
2.8. Exemple: Química computacional

3. UNA BASE QUANTITATIVA PER AL DISSENY PARAL•LEL
3.1. Definició de rendiment
3.2. Aproximacions a la modelització del rendiment
3.3. El desenvolupament de models de rendiment
3.4. Anàlisi de l'escalabilitat dels dissenys
3.5. Estudis experimentals
3.6. Avaluació d'implementacions
3.7. Un model fiable per calcular el cost de les comunicacions Entrada/Sortida
3.8. Cerca de camins mínims

4. EL DISSENY PARAL•LEL MODULAR
4.1. Revisió del disseny modular seqüencial
4.2. Modularitat i computació paral•lela
4.3. Anàlisi del rendiment
4.4. Exemple: Convolució
4.5. Exemple: Espai de tuples
4.6. Exemple: Multiplicació de matrius

PART II: EINES DE PROGRAMACIÓ I ANÀLISI DEL RENDIMENT

5. PARALLEL VIRTUAL MACHINE (PVM)
5.1. Introducció
5.2. Característiques bàsiques PVM
5.3. Funcions de llibreria
5.4. Exemples sobre llenguatge C
5.5. Consideracions addicionals
5.6. Debugging
5.7. Annex sintàctic

6. MESSAGE PASSING INTERFACE (MPI)
6.1. El model de programació MPI
6.2. Les bases del MPI
6.3. Operacions globals
6.4. Comunicacions asíncrones
6.5. Modularitat
6.6. Altres característiques del MPI
6.7. Aspectes de rendiment
6.8. Exemple: Model del sistema Terra

7. HIGH PERFORMANCE FORTRAN (HPF)
7.1. Data Parallelism
7.2. Fortran 90
7.3. Distribució de dades
7.4. Concurrència
7.5. Modularitat: enllaç entre els diferents mòduls
7.6. Altres característiques del HPF
7.7. Aspectes de rendiment
7.8. Exemple: Eliminació Gaussiana
 
Metodologia
  La metodologia emprada en aquesta assignatura separa les classes en dos tipus: les teòriques i les pràctiques.

El professor imparteix al llarg del curs els conceptes teòrics de l’assignatura mitjançant classes magistrals. En aquestes classes el professor també resol exercicis d’aplicació directa dels conceptes explicats. La proporció del temps dedicat a cada una d’aquestes tasques durant les classes magistrals és aproximadament del 75% a explicació i l’altra 25% a resolució de problemes a la pissarra.

Al final de cada tema el professor planteja exercicis perquè siguin resolts pels alumnes de manera individual o en grup. Durant aquest temps amb l’ajuda del professor l’alumne pot realitzar exercicis per posteriorment acabar-los a casa i entregar-los al professor opcionalment.

Les hores pràctiques són unes 60 hores extres al llarg del curs fora de les hores dedicades a classe on es posen en pràctica els coneixements adquirits durant les classes teòriques. Els alumnes formen grups de dues persones per tal de realitzar treballs on es requereix un bon domini i comprensió de la teoria explicada a classe per poder dissenyar, implementar, simular i avaluar aplicacions reals a partir d’especificacions definides pel professor. Opcionalment l’alumne pot proposar treballs de carrega i dificultat igual o superior sobre un tema que sigui del seu interès i d’aquesta manera motivar-lo més en la seva realització. Sovint aquests treballs estan destinats a proporcionar un valor afegit als treballs/projectes finals de carrera, ja que es permet donar una visió no explicada durant la carrera al treball/projecte final de carrera com són els algorismes paral•lels. Tots els treballs són avaluats mitjançant una demostració pràctica i una entrevista amb el professor per tal d’avaluar el grau de cooperació entre els integrants del grup.
Els millors treballs es presenten a classe i comporta una puntuació extra com recompensa pel treball i esforç dedicat als membres del grup.

Per millorar el rendiment de l’alumne, se’ls ofereix la possibilitat de fer consultes personalitzades sobre l’assignatura, tant a nivell de matèria, com tot el que involucra a la mateixa (forma d’estudi, planificació de les hores d’estudi, dissenys pràctics, correcció de problemes proposats...).
 
Avaluació
  L’assignatura es divideix en dos parts clarament diferenciades: una part teòrica i una part pràctica. Cada una d’aquestes parts s’avaluen per separat i s’han d’aprovar per separat per poder aprovar l’assignatura.

Si s’aproven les dues parts, la nota final de l’assignatura és la suma ponderada de la nota de Teoria (40%) i de la nota de Pràctiques (60%). En cas de suspendre la teoria, la nota global de l’assignatura és la de Teoria si s’han presentat les pràctiques. En cas de no presentar-se a alguna part (teoria o pràctica) la nota de l’assignatura és NP. La nota màxima a la convocatòria extraordinària és de 8.

Avaluació de la part teòrica:
A. Exàmens
D. Treballs fets a casa
J. Participació a classe

La nota de la part teòrica s’obté del examen realitzat a final de curs. A l’examen cal posar en pràctica els coneixements teòrics adquirits al llarg del curs. Els treballs realitzats a classe, així com la participació de l’alumne en el transcurs de la classe ajuden a complementar aquesta nota, incrementant fins a 1 punt addicional la nota de teoria.

Només és possible presentar-se a l’examen teòric de la convocatòria extraordinària si la part pràctica està lliurada i aprovada.

Avaluació de la Part Pràctica:
D. Treballs fets a casa
F. Informes/treballs fets en grup
G. Treballs pràctics amb ordinador
I. Presentacions

La nota de la part pràctica s’avalua a partir d’un treball pràctica que ha de lliurar l’alumne a final de curs. La seva avaluació estarà en funció de la qualitat, metodologia, funcionalitat, comprensió i claredat de la seva exposició. El millor treball és premiat amb un 1 addicional sobre la nota de la part pràctica.

Nota final= 60%(Nota Pràctica + 1 punt opcional)+ 40% (Nota Teòrica + punt opcional)
 
Objectius
  • Capacitat d'anàlisi i síntesi [A,C,D,F,I]
• Capacitat d'organitzar i planificar [F,G]
• Coneixements generals bàsics sobre l'àrea d'estudi [A,C,D,F,I,J,L]
• Habilitats de gestió de la informació (habilitat per buscar i analitzar informació provenent de fonts diverses) [D,G]
• Resolució de problemes [A,D,G,L]
• Presa de decisions [A,F]
• Coneixements bàsics i fonamentals de l'àmbit de formació [A,C,D,F,I,J,L]
• Coneixements en alguna especialitat de formació [A,C,D,F,I,J,L]
• Capacitat de crítica i autocrítica [D,I,J,L]
• Treball en equip [F]
• Capacitat de treballar en un equip interdisciplinar [F]
• Capacitat d'aplicar els coneixements a la pràctica [D,G]
• Habilitats d'investigació [D,G]
• Capacitat d'aprendre [D,F,G]
• Capacitat per adaptar-se a noves situacions [D,F,G,L]
• Capacitat per generar noves idees (creativitat) [D,J,L]
• Lideratge [F,I]
• Habilitat per treballar de forma autònoma [D]
• Disseny i gestió de projectes [D,F,G]
• Preocupació per la qualitat i millora contínua [D,F,G]
• Motivació per assolir nous reptes [D,F,G]
 
Bibliografia
  • Ian Foster, "Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering". Addison-Wesley 1995
• Gary W. Sabot (Editor), "High Performance Computing. Problem Solving with Parallel and Vector Architectures". Addison-Wesley 1995
• Joseph Jaja, "An Introduction to Parallel Algorithms". Addison-Wesley 1992.
 
Material complementari
  • Michael J. Quinn, "Parallel Computing: Theory and Practice". McGraw Hill 1994.
• Kay Hwang, "Advanced Computer Architecture: Parallelism, Scalability and Programmability". McGraw Hill 1993.
   © 2009 Tots els drets reservats. Web desenvolupada per "Centre de Serveis Informàtics" - Powered by Polymita Technologies - Avís legal