Vés al contingut

Supercomputació per Aplicacions Exigents

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

Altres

Hores setmanals

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

Competències

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.
  • 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
    0h

    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
    0h

    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
    0h

    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àsic

    Complementari

    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.