Logo UAB

Computació d'Altes Prestacions

Codi: 102777 Crèdits: 6
2024/2025
Titulació Tipus Curs
2502441 Enginyeria Informàtica OB 3
2502441 Enginyeria Informàtica OT 4

Professor/a de contacte

Nom:
Anna Barbara Sikora
Correu electrònic:
anna.sikora@uab.cat

Idiomes dels grups

Podeu consultar aquesta informació al final del document.


Prerequisits

Encara que no hi ha prerequisits formalment establerts i és responsabilitat de la pròpia assignatura proporcionar als i les alumnes un mitjà per adquirir els coneixements descrits a l’apartat de continguts de l’assignatura, és recomanable: un bon coneixement de programació, del funcionament d'un computador, dels diferents tipus d’arquitectures, de com funciona un sistema operatiu, de com s’envien missatges per la xarxa (Enginyeria del software, Estructura de computadors, Arquitectura de computadors, Sistemes Operatius, Xarxes, Arquitectures Avançades).


Objectius

L'objectiu d'aquesta assignatura és conèixer els sistemes de còmput d’altes prestacions i paral·lels, sistemes multiprocessador i multicomputador, paradigmes de programació paral·lela, aprendre a desenvolupar les aplicacions amb pas de missatges o memòria compartida i analitzar els prestacions d’execució d’aquestes aplicacions.

Els conceptes teòrics sobre paradigmes de programació, pas de missatges i memòria compartida es reforça amb les sessions de pràctiques en les que els i les alumnes aprenen a programar utilitzant llenguatges de programació paral·lela.

Tots el components descrits en aquesta assignatura han de permetre a l'alumne comprendre el funcionament dels sistemes d’altes prestacions i paral·lels i, fins a cert punt, ser capaç de realitzar un disseny senzill d’una aplicació paral·lela i avaluar les seves prestacions.


Competències

    Enginyeria Informàtica
  • Adquirir hàbits de pensament.
  • Capacitat d'analitzar i avaluar arquitectures de computadores, incloent plataformes paral·leles i distribuïdes, així com desenvolupar i optimitzar software per a les mateixes.
  • Capacitat de dissenyar i implementar software de sistema i de comunicacions.
  • Capacitat per a analitzar, avaluar, seleccionar i configurar plataformes hardware per al desenvolupament i execució d'aplicacions i serveis informàtics.
  • Comunicació.
  • Concebre i desenvolupar sistemes o arquitectures informàtiques centralitzades o distribuïdes integrant hardware, software i xarxes.

Resultats d'aprenentatge

  1. Analitzar els models, paradigmes i llenguatges de programació paral·lela disponibles per a determinar el que millor s'adequa a les necessitats de l'aplicació.
  2. Analitzar les característiques de les aplicacions que requereixin d'altes prestacions.
  3. Aplicar els conceptes de sistemes operatius i xarxes per a desenvolupar els components software necessaris per a gestionar el sistema de còmput d'altes prestacions i les comunicacions involucrades en aquests sistemes.
  4. Avaluar i predir el rendiment de diferents plataformes de còmput d'altes prestacions per a l'execució d'aplicacions.
  5. Avaluar la funcionalitat i el rendiment de les aplicacions paral·leles/distribuïts desenvolupades.
  6. Avaluar les prestacions de les arquitectures d'altes prestacions, així com la funcionalitat de les aplicacions.
  7. Comunicar eficientment, oralment o per escrit, coneixements, resultats i habilitats, tant en entorns professionals com davant de públics no experts.
  8. Configurar plataformes hardware i entorns de programació per al desenvolupament i execució d'aplicacions d'altes prestacions.
  9. Desenvolupar aplicacions paral·leles basades en els paradigmes existents.
  10. Desenvolupar el pensament científic.
  11. Desenvolupar la capacitat d'anàlisi, síntesi i prospectiva.
  12. Determinar les plataformes més adequades per a cada tipus d'aplicació.
  13. Dissenyar, implementar i integrar els mòduls software dels nivells de sistema i comunicacions considerant les prestacions dels mateixos.
  14. Fer un ús eficient de les TIC en la comunicació i la transmissió d'idees i resultats.
  15. Identificar els diferents tipus d'arquitectures de còmput d'altes prestacions, incloent sistemes paral·lels i distribuïts.
  16. Identificar els nivells de software que ha de comprendre un sistema de còmput d'altes prestacions.
  17. Proposar solucions informàtiques basades en sistemes de còmput d'altes prestacions que integrin tant l'arquitectura dels components hardware del sistema, així com la interconnexió dels mateixos, i el disseny del software necessari.
  18. Seleccionar el sistema de còmput d'altes prestacions més adequat per a satisfer les necessitats d'un tipus d'aplicación o usuari determinat.

Continguts

Tema 1: Introducció a sistemes d’altes prestacions.

Introducció als sistemes d’altes prestacions,  sistemes paral·lels, multiprocessadors i multicomputadors. Execució d’aplicacions paral·leles en sistemes d’altes prestacions.

Tema 2: Classificació de paral·lelisme

SIMD (Single Instruction, Multiple Data), MIMD (Multiple Instruction, Multiple Data). Models d'aplicacions paral·leles.

Tema 3: Algorismes paral·lels

Definició d’algorismes paral·lels. Exemples d’algorismes paral·lels. Desenvolupament d’algorismes paral·lels.

Tema 4: Programació paral·lela

Paradigmes de programació paral·lela. Aplicacions basades en pas de missatges. Estàndard MPI (Message Passing Interface).  Aplicacions basades en memòria compartida. Estàndard OpenMP (Open Multiprocessing) i CUDA (Compute Unified Device Architecture). Aplicacions híbrides (MPI+OpenMP).  Desenvolupament d’aplicacions utilitzant MPI, OpenMP, CUDA i programació híbrida.

Tema 5: Arquitectura de Supercomputadors

Particularitats de l'arquitectura de supercomputadors. Xarxes d'Interconnexió. Infrastructura física i costos.

Tema 6: Anàlisis de prestacions

Anàlisis de prestacions de sistemes paral·lels. Avaluació de prestacions de sistemes paral·lels. Exemples d’eines d’avaluació de prestacions.


Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Problemes (Resolució d'exercicis ) 7 0,28 1, 2, 5, 7, 10, 11, 14, 17
Pràctica (Resolució de les pràctiques de laboratori) 15 0,6 1, 2, 4, 5, 6, 9, 11, 12, 13, 15, 17, 18
Teoria 12 0,48 1, 2, 3, 5, 8, 11, 15, 16, 18
Tipus: Autònomes      
Estudi autònom 30 1,2 1, 2, 3, 12, 15, 16, 18
Preparació de problemes 15 0,6 1, 2, 5, 7, 10, 11, 14, 17
Preparació de pràctiques 40 1,6 1, 2, 4, 5, 6, 8, 9, 11, 12, 13, 15, 17, 18
Recerca 15 0,6 1, 3, 5, 8, 11, 12, 14, 15, 16

En el desenvolupament de l'assignatura es podran diferenciar quatre tipus d’activitats docents:

  • Classes teòriques: exposició a la pissarra de la part teòrica de cada tema del programa.  L'estructura típica d'una classe magistral d'aquest tipus serà la següent: en primer lloc es farà una introducció on es presentaran breument els objectius de l'exposició i els continguts a tractar. A continuació es desgranaran els continguts objecte d’estudi, incloent exposicions narratives, desenvolupaments formals que proporcionin els fonaments teòrics, i intercalant exemples, que il·lustrin l'aplicació dels continguts exposats. Finalment, el/la professor/a exposarà les conclusions dels continguts. Durant tot el curs hi hauran avaluacions continuades del grups de temes.
  • Classes pràctiques de problemes. Tots els temes aniran acompanyats d'una relació de problemes que l'alumne ha d'intentar resoldre. En aquest sentit, i a mida que l'alumne vagi progressant i aprofondint en els seus coneixements, aquests problemes seran poc a poc més complexos. Les classes pràctiques seran el fòrum natural en el qual es podrà discutir en comú el desenvolupament del treball pràctic, aportant els coneixements que li falten a l'estudiant per portar-lo endavant. La missió de les classes pràctiques és fer de pont entre les classes  teòriques i classes en laboratori, que promourà la capacitat d'anàlisi i síntesi, el raonament crític, i que entrenarà l'estudiant en la resolució de problemes. Aquells que el/la professor/a consideri de major interès o en els que els/les alumnes trobin major dificultat seran corregits a la pissarra. Abans del començament de cada temari de problemes el/la professor/a podrà proposar una llista d’exercicis que els/les alumnes hauran de resoldre. 
  • Classes al laboratori. La part pràctica dels temes teòrics quedarà completada amb sessions al laboratori, on l'alumne desenvoluparà una sèrie de programes i haurà d'intentar resoldre un problema concret que rebrà al començar el temari. Els programes desenvolupats s’hauran d’entregar a la classe en les dates específicades. Les pràctiques es desenvoluparan en grups de dos alumnes. Les classes inclouen 9 sessions al laboratori, de 2 hores de durada, on l’alumne realitzarà el desenvolupament dels programes.
  • Realització de treballs. Durant el curs, els/les estudiants (en grups) realitzaràn diversos treballs. D'una banda, cada grup (de 5-6 persones) desenvoluparà un treball de recerca (un treball científic) sobre un tema relacionat amb l'assignatura. Amb aquest exercici es busca que els/les estudiants siguin capaços de buscar, analitzar i resumir informació disponible (busqueda d'informació, divulgació científica - llibres o articles) relacionada amb als conceptes que són tractats a l'assignatura. D'altra banda, hi haurà un conjunt d'exercicis bàsics, curts i pràctics relacionats amb teoria i classes pràctiques de problemes. Cada grup (de 2 persones) solucionarà aquests exercicis i farà el lliurament amb la data corresponent. Amb aquest exercici es busca que l'estudiant sigui capaç de resoldre de forma teòrica als conceptes treballats a teoria i després pogui aplicar-los al cas pràctic de laboratori. 

Aquest plantejament del treball està orientat a promoure un aprenentatge actiu i a desenvolupar les competències de capacitat d'organització iplanificació, comunicació oral i escrita, treball en equip i raonament crític. La qualitat dels exercicis realitzats, de la seva presentació i del seu funcionament es valorarà especialment.

Es preveuen dues sortides per visitar diferents centres de còmput.

Competències transversals:

Com s'ha mencionat abans, l'assignatura inclou com activitat docent la realització d'un treball de recerca especial. Consta de la recerca sobre un tema relacionat amb l'assignatura i la seva presentació (p.e. una presentació sobre una divulgació científica). El treball està orientat a desenvolupar la capacitat d'anàlisi, síntesi i prospectiva i el pensament científic dels estudiants (competència T01, resultats d'aprenentage T01.02 i T01.03). Els estudiants disposaràn de guies que descriuen com fer una recerca del tema escollit. Durant el semestre es faràn reunions amb els grups per discutir i avaluar l'evolució del treball.

La gestió de la docència de l'assignatura es farà a través del Campus Virtual (https://cv2008.uab.cat/), que servirà per poder veure els materials, gestionar els grups de pràctiques, fer els lliuraments corresponents, veure les notes, comunicar-vos amb els professors, etc.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Control individual parcial 1 20% 2 0,08 1, 2, 11, 15
Control individual parcial 2 20% 2 0,08 1, 3, 9, 11, 12, 16, 17, 18
Entrega de pràctica 1 8% 1 0,04 1, 3, 4, 6, 8, 9, 11, 13, 16, 17
Entrega de pràctica 2 13,5% 1 0,04 1, 3, 4, 6, 8, 9, 11, 13, 16, 17
Entrega de pràctica 3 13,5% 1 0,04 1, 3, 4, 5, 6, 8, 9, 11, 13, 16, 17
Realització d'exercicis pràctics 15% 8 0,32 1, 4, 5, 9, 11, 12, 18
Treball de recerca 10% 1 0,04 1, 2, 6, 7, 10, 11, 12, 14, 15, 16, 18

L'objectiu del procés d'avaluació és verificar que l'alumne ha assolit els coneixements i habilitats definits en els objectius de l'assignatura, així com les competències.

S’avaluaran quatre tipus d’activitats de manera independent on la suma ponderada d’elles donarà la nota final. Aquestes cinc activitats són:

  1. Teoria (T)
  2. Resolució de les pràctiques de laboratori (PL)
  3. Treball de recerca (TR)
  4. Realització d'exercicis pràctics (EXER).

La part de Teoria (T) s’avaluarà amb dos controls parcials individuals durant tot el curs. La nota final de Teoria sortirà de la suma ponderada dels dos controls (0.5*Control 1 + 0.5*Control 2). Hi haurà una segona oportunitat per recuperar aquesta part el dia que tenim assignat a la setmana d'exàmens de recuperació de juny. Es podran recuperar per separat les parts que no hagin estat superades en els controls parcials de teoría. La nota mínima per aprovar aquesta part de Teoria és >= 5. A la recuperació només es pot recuperar els examens suspesos, no es pot pujar la nota obtinguda (en el cas d'aprovar la part de Teoria). La nota màxima que es pot obtenir a la recuperació és un 7.

La part de Resolució de pràctiques de laboratori (PL) s’avaluarà de manera grupal. Té tres lliuraments. La nota final sortirà de la suma ponderada dels tres lliuraments (X0*Lliurament 1 + X1*Lliurament 2 + X2*Lliurament 3, X0 + X1 + X2 = 1). Hi haurà 3 proves curtes i escrites de validació individual de les pràctiques en l'horari de classe (la tercera prova en l'horari establert per la coordinació pels segons parcials). Nota pràctiques (PL) = Laboratori * Validació. Per aprovar les PL la nota mínima haurà de ser >=5. En el cas necessari, es pot recuperar la prova de validació. L'assistència és obligatoria.

La part de Treball de Recerca (TR) s’avaluarà de manera grupal (5-6 persones). Cada grup tindrà un tema de recerca assignat sobre el que haurà de fer búsqueda, anàlisi, resum, crítica i presentació. Aquest treball es discutirà amb els membres del grup en hores de seguiment indicades i posteriorment es farà un lliurament al CV amb la data indicada. La nota de cada membre del grup es determinarà per la qualitat de la revisó i participació en la discussió. Només hi ha una única oportunitat (no es pot recuperar aquesta part). En conseqüència, en cas de que un alumne no tingui nota del treball, no podrà optar a l'excel·lent a la nota final de l'assignatura.

Els exercicis pràctics (EXER) es faran en grups de 2 persones i consistiran en treballar problemes de programació molt concrets, curts i relacionats amb els que es trobaran a les pràctiques de laboratori. Es vol que cada estudiant estudiï la resolució d'un conjunt de problemes concrets de forma aïllada al cas més general de la pràctica. El valor d'aquests exercicis és del 15% de la nota final i donada la seva naturalesa i objectiu no són recuperables. 

La nota final de l'assignatura serà la suma ponderada de les notes de cadascuna de les quatre activitats: 40% de Teoria, 10% de Treball de Recerca, 15% Resolució d'exercicis pràctics i 35% de Resolució de pràctiques de laboratori. El resultat haurà de ser >= 5.

En cas de nosuperar l'assignatura perno arribar a la puntuació mínima en algun dels apartats (Teoria o Pràctiques de Laboratori), tot i que al fer la mitjana ponderada la nota final fos igual o superior a 5 la nota que es posarà a l'expedient serà de 4,5. 

En cas de que la mitjana no arribi a 5 la nota que figurarà a l'expedient serà la nota mitjana obtinguda numèricament.

Si l'alumne entrega qualsevol activitat, s’entén que es presenta a l'assignatura i serà avaluat/da. Si no entrega cap activitat, llavors es pot considerar No avaluable.

Atorgar una qualificació de matrícula d’honor és decisió del professorat responsable de l’assignatura. La normativa de la UAB indica que les MH només es podran concedir a estudiants que hagin obtingut una qualificació final igual o superior a 9.00. Es pot atorgar fins a un 5% de MH del total d'estudiants matriculats.

Les dates d'avaluació continuada i lliurament de treballs es publicaran al campus virtual i poden estar subjectes a possibles canvis de programació per motius d'adaptació a possibles incidències; sempre s'informarà al campus virtual sobre aquests canvis ja que s’entén que el CV  és el mecanisme habitual d'intercanvi d'informació entre el professorat i els/les estudiants.

Per a cada activitat d’avaluació, s’indicarà un lloc, data i hora de revisió en la que l'estudiant podrà revisar l’activitat amb el/la professor/a. En aquest context, es podran fer reclamacions sobre la nota de l’activitat, que seran avaluades pel professorat responsable de l’assignatura. Si l'estudiant no es presenta a aquesta revisió, no esrevisarà posteriorment aquesta activitat.

RESUM

Si ( (T>=5) i (PL>=5) aleshores

       NF= 0.40*T + 0.1*TR + 0.15*EXER + 0.35*PL 

       Si  (NF>=5) aleshores APROVAT

       Sino SUSPES

Sino SUSPES

Estudiants repetidors: Els alumnes repetidors o repetidores que tinguin aprovades les pràctiques de laboratori poden demanar la convalidació d'aquesta part de l'assignatura. La resta d'activitats d'avaluació hauran de fer-les en les mateixes condicions que els/les altres estudiants.

Avaluació Única: Aquesta assignatura NO PREVEU AVALUACIÓ ÚNICA.

Nota sobre plagis:

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, les irregularitats comeses per un o una estudiant que puguin conduir a una variació de la qualificació en una activitat avaluable es qualificaran amb un zero (0). Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de recuperar-la en el mateix curs. Aquestes irregularitats inclouen, entre d'altres:

  • la còpia total o parcial d'una pràctica, informe, o qualsevol altra activitat d'avaluació;
  • deixar copiar;
  • presentar un treball de grup no fet íntegrament pels i les membres del grup (aplicat a tots els i les membres, no solament als que no han treballat);
  • presentar com a propis materials elaborats per un tercer, encara que siguin traduccions o adaptacions, i en general treballs amb elements no originals i exclusius de l'estudiant;
  • l'ús no autoritzat de la IA (p. ex, Copilot, ChatGPT o equivalents);
  • tenirdispositius de comunicació (com telèfons mòbils, smart watches, bolígrafs amb càmera, etc.) accessibles durant les proves d'avaluació teorico-pràctiques individuals (exàmens);
  • parlar amb companys o companyes durant les proves d'avaluació teorico-pràctiques individuals (exàmens);
  • copiar o intentar copiar d'altres alumnes durant les proves d'avaluació teorico-pràctiques (exàmens);
  • usar o intentar usar escrits relacionats amb la matèria durant la realització de les proves d'avaluació teorico-pràctiques (exàmens), quan aquests nohagin estat explícitament permesos. 

En cas de no superar l'assignatura degut a que alguna de les activitats d'avaluació no arriba a la nota mínima requerida, la nota numèrica de l'expedient serà el valor menor entre 4.5 i la mitjana ponderada de les notes. Amb les excepcions de que s'atorgarà la qualificació de "No Avaluable" als i les estudiants que no participin en cap de les activitats d'avaluació, i de que la nota numèrica de l'expedient serà el valor menor entre 3.0 i la mitjana ponderada de les notes en cas que l'estudiant hagi comès irregularitats en un acte d'avaluació (i per tant no serà possible l'aprovat per compensació). En edicions futures d'aquesta assignatura, a l'estudiant que hagi comès irregularitats en un acte d'avaluació no se li convalidarà cap de les activitats d'avaluació realitzades. 

En resum: copiar, deixar copiar o plagiar(o l'intent de) en qualsevol de lesactivitats d'avaluació equival a un SUSPENS, no compensable i sense convalidacions de parts de l’assignatura en cursos posteriors.


Bibliografia

  • Parallel Programming Concepts and Practice. Bertil Schmidt, Jorge González-Domínguez, Christian Hundt, Moritz Schlarb. Morgan Kaufmann, 2018
  • An Introduction to Parallel Programming, 2nd edition. Peter S. Pacheco. Morgan Kaufmann. 2018
  • Programming Massively Parallel Processors, A Hands-on Approach. David B. Kirk, Wen-mei W. Hwu. Morgan Kaufmann. 3th Edition. 2018
  • Computer Architecture. A quantitative approach. John L. Hennessy, David A. Patterson. Morgan Kaufmann. 6a edición. 2018
  • Introduction to Parallel Computing. A. Grama et alter. Addison Wesley, Second Edition, 2003.
  • Parallel Program Development For Cluster Computing: Methodology, Tools and Integrated  Environments. Edited by J. C. Cunha, P. Kacsuk, S. C. Winter. Nova Science Publishers, Inc., 2001.

Programari

OpenMP

MPI

CUDA

gestor de cues (SLURM)

eines per a avaluació de rendiment (perf, TAU, nvcc)

connexió remota amb laboratori (e.g. MobaTex, Eclipse, Visual Studio, etc.)


Llista d'idiomes

Nom Grup Idioma Semestre Torn
(PLAB) Pràctiques de laboratori 431 Espanyol segon quadrimestre matí-mixt
(PLAB) Pràctiques de laboratori 432 Català segon quadrimestre matí-mixt
(TE) Teoria 430 Espanyol segon quadrimestre matí-mixt