ECTS-Label - Enginyeria i Arquitectura La Salle | | |
| | Software paral·lel (5 Crèdits)
| |
|
|
| |
Aquesta assignatura no presenta cap prerequisit recomanable. |
| |
| |
Aquesta assignatura no presenta cap corequisit. |
| |
| |
Aquesta assignatura no presenta cap incompatibilitat. |
| |
| |
Programació en C |
| |
| |
Formar a lalumne en una metodologia de disseny de software parallel, tot familiaritzant-lo amb els llenguatges de programació que actualment susen en el món del parallelisme. Lenfocament del curs es basa en una aproximació pràctica al disseny parallel, a fi i efecte que lestudiant sigui capaç de resoldre els problemes reals del mercat. La metodologia de disseny ens portarà a lestudi del disseny dalgorismes, lanàlisi del rendiment i la construcció de programes. Es donarà la descripció de les diferents eines existents tot presentant exemples reals daplicació. |
| |
| |
Els objectius de lassignatura 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 |
| |
| |
Lassignatura es divideix en dues parts, una teòrica on sexposen els fonaments metodològics per tal de desenvolupar programes parallels, i una segona part on es posen en pràctica els coneixements anteriors mitjançant un conjunt deines de programació.
PART I: METODOLOGIA DE DISSENY DE SOFTWARE PARALLEL
1. ELS COMPUTADORS PARAL.LELS I LA COMPUTACIÓ EN PARALLEL
1.1. El parallelisme i la computació
1.2. Un model de màquina parallela
1.3. Un model de programació parallela
1.4. Exemples d'algorismes parallels
2. EL DISSENY D'ALGORISMES PARALLELS
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 PARALLEL
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 PARALLEL MODULAR
4.1. Revisió del disseny modular seqüencial
4.2. Modularitat i computació parallela
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 |
| |
| |
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 lassignatura mitjançant classes magistrals. En aquestes classes el professor també resol exercicis daplicació directa dels conceptes explicats. La proporció del temps dedicat a cada una daquestes tasques durant les classes magistrals és aproximadament del 75% a explicació i laltra 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 lajuda del professor lalumne 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 despecificacions definides pel professor. Opcionalment lalumne pot proposar treballs de carrega i dificultat igual o superior sobre un tema que sigui del seu interès i daquesta 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 parallels. Tots els treballs són avaluats mitjançant una demostració pràctica i una entrevista amb el professor per tal davaluar 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 lalumne, sels ofereix la possibilitat de fer consultes personalitzades sobre lassignatura, tant a nivell de matèria, com tot el que involucra a la mateixa (forma destudi, planificació de les hores destudi, dissenys pràctics, correcció de problemes proposats...). |
| |
| |
Lassignatura es divideix en dos parts clarament diferenciades: una part teòrica i una part pràctica. Cada una daquestes parts savaluen per separat i shan daprovar per separat per poder aprovar lassignatura.
Si saproven les dues parts, la nota final de lassignatura é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 lassignatura és la de Teoria si shan presentat les pràctiques. En cas de no presentar-se a alguna part (teoria o pràctica) la nota de lassignatura é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 sobté del examen realitzat a final de curs. A lexamen cal posar en pràctica els coneixements teòrics adquirits al llarg del curs. Els treballs realitzats a classe, així com la participació de lalumne 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 lexamen 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 savalua a partir dun treball pràctica que ha de lliurar lalumne 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) |
| |
| |
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] |
| |
| |
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. |
| |
| |
Michael J. Quinn, "Parallel Computing: Theory and Practice". McGraw Hill 1994.
Kay Hwang, "Advanced Computer Architecture: Parallelism, Scalability and Programmability". McGraw Hill 1993. |
|
|
Carregant...
|