Supercomputació per Aplicacions Exigents

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Computació d'Altes Prestacions)
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
AC
Aquest curs cobreix l'explotació de la supercomputació per a una varietat d'aplicacions científiques i d'enginyeria. Els continguts abasten diversos dominis d'aplicació tant en les àrees numèriques com no numèriques.

Professorat

Responsable

  • Carlos Alvarez Martinez ( )

Altres

  • Daniel Jimenez Gonzalez ( )
  • Josep Larriba Pey ( )
  • Josep Ramon Herrero Zaragoza ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.15
Aprenentatge autònom
7.4

Competències

Competències Tècniques de cada especialitat

Computació avançada

  • CEE3.3 - Capacitat per entendre les necessitats computacionals de problemes de disciplines diferents de la informàtica i efectuar contribucions significatives en equips multidisciplinaris que facin servir la computació.

Computació d'altes prestacions

  • CEE4.2 - Capacitat d'analitzar, avaluar, dissenyar i optimitzar programari considerant l'arquitectura i de proposar noves tècniques d'optimització.

Específiques comunes

  • CEC3 - Capacitat per aplicar solucions innovadores i realitzar avanços en el coneixement que explotin els nous paradigmes de la Informàtica, particularment en entorns distribuïts.

Competències Tècniques Generals

Genèriques

  • CG1 - Capacitat per aplicar el mètode científic en l'estudi i anàlisi de fenòmens i sistemes en qualsevol àmbit de la Informàtica, així com en la concepció, disseny i implantació de solucions informàtiques innovadores i originals.
  • CG3 - Capacitat per al modelatge matemàtic, càlcul i disseny experimental en centres tecnològics i d'enginyeria d'empresa, particularment en tasques de recerca i innovació en tots els àmbits de la Informàtica.
  • CG5 - Capacitat per aplicar solucions innovadores i realitzar avenços en el coneixement que explotin els nous paradigmes de la Informàtica, particularment en entorns distribuïts.

Objectius

  1. L'estudiant ha de ser capaç de comprendre la complexitat dels diferents algorismes, identificar les parts computacionalment intensives d'una simulació o processament de dades, i decidir quines parts necessiten optimitzar i paralelizarse.
    Competències relacionades: CEE3.3, CG1, CG3,
  2. L'estudiant ha de ser capaç de dissenyar i implementar algorismes eficients de simulació paral·lela i processament de dades usant un model de programació paral·lel.
    Competències relacionades: CEC3, CEE4.2, CG1, CG5,
  3. L'estudiant ha de ser capaç d'avaluar els diferents compromisos (robustesa, cost computacional, escalabilitat) per a seleccionar un algoritme específic per a un problema de simulació o processament de dades
    Competències relacionades: CG1, CEE3.3,

Continguts

  1. Introducció
    - Introducció: descripció general
    - El mètode científic modern
    - Simulació i optimització
    - HPC vs. HTC
    - Simulacions numèriques
    - Límits de la paral·lelització
    - Evolució i límits dels sistemes HPC
  2. Introducció a les Simulacions numèriques
    - De models a algorismes
    - Discretització i PDE
    - Tipus de PDEs: el·líptiques, parabòliques, hiperbòliques
    - Del problema a les matemàtiques i la solució
    - Esquemes numèrics: Explicit vs Implicit
    - Diferències finites i elements finits
  3. Resolució directe de sistemes lineals d'equacions a gran escala
    - Sistemes triangulars i paral·lelització
    - Eliminació de Gauss
    - Factorització LU
    - Mètodes de particions
    - HPL
  4. Resolució iterativa de sistemes lineals d'equacions a gran escala
    - Mètodes directes vs iteratius
    - Jacobi
    - Paral·lelització de mètodes iteratius
    - Gauss-Seidel i SOR
    - Mètodes de Krylov i precondicionament: HPCG
    - Programari per mètodes numèrics: BLAS, LAPACK, etc.
  5. Casos pràctics de sistemes numèrics
    - Models de programació en paral·lel
    - Paral·lelisme i granularitat
    - Paral·lelisme de blocs
    - Resolució sistemes dispersos
  6. Introducció als problemes de ML
    - Introducció a les operacions comunes de les DNNs
    - Aplicacions de DNNs més comuns
    - Arquitectures per DNNs
    - Optimitzacions per DNNs
    - DNNs i precisió
    - Paral·lelisme en DNNs
  7. Alineació de seqüència
    Es tracta d'una forma d'ordenar les seqüències d'ADN, ARN o proteïna per identificar regions de semblança que poden ser conseqüència de relacions funcionals, estructurals o evolutius entre les seqüències.
    Les estratègies de cerca, puntuació i de paral·lelització són importants per superar aquest repte.
  8. Casos Pràctics
    - DNNs i precisió
    - Paral·lelisme en DNNs
    - Algorismes de Sequence Alignment
  9. Introducció al nucli de DBMSs i l'execució de consultes en aquests sistemes
    Aquest tema té com a objectiu comprendre les diferents capes de programari d'un DBMS i com interactuen, les diferents complexitats que encarnen i com la seva interacció determina el rendiment d'aquests SGBD.
  10. Aplicacions de Big Data i bases de dades de grafs
    Aquesta sessió té l'objectiu de presentar als estudiants el disseny d'aquests sistemes de base de dades Big Data i grafs, com es construeixen i com la seva estructura es veu influenciada per l'estructura de les seves diferents capes de programari.
  11. Benchmarking per a bases de dades
    El benchmarking és un dels problemes més importants en el disseny i l'evolució de la base de dades. Aquesta part del curs serà dissenyada per comprendre els diferents esforços realitzats en benchmarking dels EUA i Europa per a bases de dades relacionals i grafs.
  12. Casos pràctics de Big Data
    Casos pràctics de Big Data

Activitats

Activitat Acte avaluatiu


Introducció

Seguiu les conferències, estudieu els materials i les pràctiques.
  • Teoria: Introducció: descripció general El mètode científic modern Simulació i optimització HPC vs. HTC simulacions numèriques HPC = Algorismes + Arquitectura + Model de programació Límits de la paral·lelització Evolució i límits dels sistemes HPC
  • Aprenentatge autònom: Estudiar els continguts associats i treballar en les tasques.
Objectius: 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Part I: Aplicacions Numèriques

Seguiu les conferències, estudiï els materials i les pràctiques.
  • Teoria: 1. Introducció a les simulacions numèriques - De models a algorismes - Discretització i PDE - Tipus de PDE: el·líptica, parabòlica, hiperbòlica - Del problema a les matemàtiques i la solució - Problemes de valor inicial i valor límit - Esquemes numèrics: explícit vs. implícit - Diferències finites i elements finits 2. Resolució directa de sistemes lineals d’equacions a gran escala - Sistemes triangulars i paral·lelització - Eliminació de Gauss - Factorització LU - Mètodes de particionament - HPL 3. Resolució iterativa de sistemes lineals a gran escala d’equacions - Mètodes directes vs iteratius - Jacobi - Paral·lelització de mètodes iteratius - Gauss-Seidel i SOR - Mètodes i precondicionament de Krylov: HPCG - Programari per a mètodes numèrics: BLAS, LAPACK, etc.
Objectius: 1 2 3
Continguts:
Teoria
8h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Laboratori d'aplicacions numériques



Continguts:
Teoria
0h
Problemes
0h
Laboratori
8h
Aprenentatge dirigit
2h
Aprenentatge autònom
12h

Lliurable: assignació en aplicacions numèriques

Assignació per a la part d'Aplicacions Numèriques. Per ser lliurat en Racó.
Objectius: 1 2 3
Setmana: 6
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Part II: Aplicacions no numèriques: ML i Bioinformàtica

Segueix les classes magistrals, estudia els materials i pràctiques
  • Teoria: Principis dels problemes de ML - Introducció a les operacions comunes dels DNN - Aplicacions DNN més habituals - Arquitectures per a DNN - Optimitzacions per a DNN Alineació de seqüència
  • Aprenentatge autònom: Study the associated contents and work on the assignments.
Objectius: 1 2 3
Continguts:
Teoria
10h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Laboratori aplicacions no numèriques


  • Laboratori: Anàlisis amb profiling/timing, anàlisis de dependències i paral.lelització amb un model programació paral.lela.

Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Lliurable: Problema no numèric


Objectius: 1 2 3
Setmana: 10
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Part III: Problemes de Big Data

Segueix les classes magistrals, estudia els materials i pràctiques
  • Teoria: Introducció al nucli de DBMSs i l'execució de consultes en aquests sistemes Aplicacions de Big Data i bases de dades de grafs Benchmarking per a bases de dades
  • Aprenentatge autònom: Estudiar els continguts associats i treballar en les tasques.

Continguts:
Teoria
10h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Laboratori Big Data



Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Lliurable Big Data


Objectius: 1 2 3
Setmana: 15
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h

Metodologia docent

Durant el curs es realitzaran dos tipus d'activitats:

a) Activitats centrades en l'adquisició de coneixements teòrics.
b) Activitats centrades en l'adquisió de coneixements mitjançant experimentació amb la implementació i avaluació empírica al laboratori dels mecanismes explicats a nivell teòric.

Les activitats teòriques inclouen classes expositives participatives on s'expliquen els continguts bàsics del curs. Les activitats pràctiques inclouen seminaris de laboratori emprant l'ordinador portàtil de l'alumnes/a, on els alumnes implementen els mecanismes descrits a les classes expositives. Els seminaris requereixen d'una preparació prèvia mitjançant la lectura de l'enunciat i la documentació de suport, i una elaboració posterior de les conclusions obtingudes en un informe.

Mètode d'avaluació

El curs s'avaluarà amb una nota parcial per bloc de continguts (Numèrics, No numèrics i Big Data). Cada bloc de continguts tindrà el mateix pes a la nota final:

Nota = A1 / 3 + A2 / 3 + A3 / 3

on

Ai: = Nota del bloc i (i d'1 a 3)

i

- Cada part del curs té alguns lliurables curts i parcials (PD) i un lliurable del projecte final (FPD).

Bibliografia

Bàsica:

Complementaria:

Web links

Capacitats prèvies

Comprensió bàsica de les arquitectures paral·leles, inclosos els sistemes multiprocessador de memòria compartida i distribuïda.

Habilitats de programació útils d'algun model de programació paral·lela.