Tipus A
|
Codi |
Competències Específiques |
|
Recerca |
|
AR2 |
Aplicar els coneixements de matemàtiques a l’enginyeria informàtica. |
|
AR6 |
Aplicar metodologies per a l'enginyeria del software |
|
AR8 |
Analitzar, dissenyar i desenvolupar arquitectures de computadors. |
Tipus B
|
Codi |
Competències Transversals |
|
Comú |
Tipus C
|
Codi |
Competències Nuclears |
|
Comú |
Objectius |
Competències |
Conèixer les arquitectures dels multiprocessadors de propòsit general. |
AR2 AR6 AR8
|
|
|
Comprendre el funcionament de les tècniques de sincronització als Multiprocessadors de Memòria Compartida (MMC). |
AR2 AR6 AR8
|
|
|
Comprendre el procés general de paral·lelització d'algorismes i els seus principis de disseny. |
AR2 AR6
|
|
|
Comprendre el procés específic de paral·lelització d'algorismes als MMC i els seus principis de disseny. |
AR2 AR6
|
|
|
Comprendre el funcionament dels algorismes de coherència de caché als MMC. |
AR8
|
|
|
Conèixer el model estàndard de programació OpenMP. |
AR6
|
|
|
Dissenyar i implementar programes paral·lels sobre MMC utilitzant OpenMP. |
AR6
|
|
|
Tema |
Subtema |
Introducció |
Arquitectures paral•leles de propòsit general: motivació i conceptes bàsics. Estructures de multiprocessador. Arquitectura dels multiprocessadors de memòria compartida. Xarxes d'interconnexió. |
Paral•lelització de bucles als MMC |
Bucles paral•lels DOALL. Planificació temporal de bucles paral•lels. Anàlisi de dependències. Generació de bucles DOALL. Transformacions per suportar paral•lelització. Normalització de bucles. Substitució i expansió escalar. Copiat de variables. Intercanvi de bucles. Alineació de bucles. |
Paral•lelització de programes als MMC |
Introducció. Tècniques de sincronització. Primitives atòmiques. Semàfors. Barreres. Procés general de paral•lelització. Balanceig de càrrega i temps d'espera. Identificació de concurrència i paral•lelisme. Assignació estàtica i dinàmica. Granularitat de tasques. Reducció de comunicació i serialització. Explotació de localitat temporal i espacial. Reducció de sobrecàrrega, retard i contenció. Tècniques d'optimització. |
Coherència de caché als MMC |
Introducció. Coherència de memòria. Protocols de “snooping” de bus. Protocol MESI. |
OpenMP |
Introducció. Conceptes bàsics. Model de programació. Directives de programació. Exemples. |
Metodologies :: Proves |
|
Competències |
(*) Hores a classe |
Hores fora de classe |
(**) Hores totals |
Activitats Introductòries |
|
1 |
0 |
1 |
|
Sessió Magistral |
|
19 |
19 |
38 |
Resolució de problemes, exercicis a l'aula ordinària |
|
10 |
10 |
20 |
Pràctiques a través de TIC en aules informàtiques |
|
15 |
15 |
30 |
Treballs |
|
0 |
10 |
10 |
Resolució de problemes, exercicis |
|
0 |
10 |
10 |
|
Atenció personalitzada |
|
1 |
0 |
1 |
|
Proves objectives de preguntes curtes |
|
1 |
0 |
1 |
Proves pràctiques |
|
3 |
0 |
3 |
|
(*) En el cas de docència no presencial, són les hores de treball amb suport vitual del professor. (**) Les dades que apareixen a la taula de planificació són de caràcter orientatiu, considerant l’heterogeneïtat de l’alumnat |
Metodologies
|
Descripció |
Activitats Introductòries |
Presentació de l’assignatura: motivació, objectius, metodologia docent i avaluació. |
Sessió Magistral |
Exposició dels continguts de l’assignatura. |
Resolució de problemes, exercicis a l'aula ordinària |
Resolució de problemes simples relacionats amb els conceptes teòrics. Resolució de problemes i exercicis de la col•lecció d’exàmens. |
Pràctiques a través de TIC en aules informàtiques |
Utilització pràctica del model de programació OpenMP. |
Treballs |
Realització autònoma en grups de dos estudiants d’un treball pràctic de paral•lelització d’un algorisme seqüencial mitjançant OpenMP. Elaboració d’un informe escrit. Avaluació final pel professor. |
Resolució de problemes, exercicis |
Resolució autònoma individual de problemes i exercicis de la col•lecció d’exàmens. Correcció personalitzada pel professor en horari de consultes. |
|
Pràctiques a través de TIC en aules informàtiques |
Treballs |
Resolució de problemes, exercicis |
|
Descripció |
Resolució de dubtes teòrics i pràctics |
|
|
Descripció |
Pes |
Treballs |
Treballs pràctics de paral•lelització d'algorismes seqüencials en grups de dos estudiants. |
30% |
Proves objectives de preguntes curtes |
Resolució de problemes curts relacionats amb els conceptes teòrics |
40% |
Proves pràctiques |
Resolució d’un problema de paral•lelització d’un algorisme seqüencial mitjançant OpenMP. |
30% |
|
Altres comentaris i segona convocatòria |
Els treballs pràctics i les proves s'han d'aprovar per separat. |
Bàsica |
|
-http://www.openmp.org/specs, OpenMP C and C++ Application Program Interface. Version 1.0, OpenMP Architecture Review Board, 1998
-Culler, D.; Singh, J. P.; Gupta, A., Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann, 1997
-Zima, H.; Chapman, B., Supercompilers for parallel and vector computers (2a. ed.), ACM Press, 1992 |
Complementària |
|
Hwang, K., Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill, 1993
-Hennessy, J.L.; Patterson, D.A., Computer Architecture: A Quantitative Approach (2a. ed.), Morgan Kaufmann, 1996 |
|