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
DAC
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.

Professors

Responsable

  • Daniel Jimenez Gonzalez ( )

Altres

  • Carlos Alvarez Martinez ( )
  • Josep Larriba Pey ( )

Hores setmanals

Teoria
4
Problemes
0
Laboratori
0
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: CG1, CG3, CEE3.3,
  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: CG1, CEE4.2, CEC3, 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
    • Reptes en Ciència i Enginyeria
    • HPC = Algorismes + Arquitectura + Model de Programació
    • Aplicacions numèriques i no numèriques
    • Ordinadors paral·leles
  2. Introducció a les Simulacions numèriques
    • De models a algorismes
    • Discretització i PDE
    • Diferències finites i elements finits
    • Tipus de PDEs: el·líptiques, parabòliques, hiperbòliques
    • Problemes de valor inicial i de valor límit
    • Esquemes numèrics: Explicit vs Implicit
    • Programari numèric: de BLAS, LAPACK, etc.
  3. Resolució de sistemes lineals d'equacions a gran escala
    • Mètodes directes vs iteratius
    • Fonamentals kernels interiors i formats de matriu
    • Preconditioning
    • Particionament i reordenació
  4. Casos Pràctics
    - Models de programació en paral·lel
    - Paral·lelisme i granularitat
    - Paral·lelisme de blocs
  5. 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. Les sessions inclouran discussions i preparació de treballs per part dels estudiants.
  6. 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. Aquestes sessions seran la base per a aquells estudiants que seleccionin aquesta part del curs per a la tasca pràctica.
  7. 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.
  8. 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.
  9. Dinàmica molecular
    Se trata de una simulación por ordenador de movimientos físicos de átomos y moléculas. Las técnicas de corte pueden ser importantes para reducir la complejidad de cálculo de este reto.
  10. Acoblament de proteïnes.
    Es tracta d'un mètode que prediu l'orientació preferent d'una molècula a un segon quan està unida entre si per formar un complex estable. Hi ha diversos enfocaments que poden augmentar la precisió, però també la complexitat d'aquests mètodes.

Activitats

Activitat Acte avaluatiu


Introducció

Seguiu les conferències, estudieu els materials i les pràctiques.
  • Teoria: Visió de conjunt • Reptes en Ciència i Enginyeria • HPC = Algorismes + Arquitectura + Model de Programació • Aplicacions numèriques i no numèriques • Ordinadors paral·leles • Models de programació en paral·lel
  • 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

Numerical: Environment and Brief explanation of the tools to be used



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

Numerical: Programació paral.lela a blocs. Implementació i anàlisi.



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Numerical: Paral.lelització a blocs de complexitat mitja.



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Part I: Aplicacions Numèriques

Seguiu les conferències, estudiï els materials i les pràctiques.
  • Teoria: 1. Introduction to Numerical Simulations • From Models to Algorithms • Discretization and PDEs • Finite differences and Finite Elements • Types of PDEs: Elliptic, Parabolic, Hyperbolic • Initial-value and Boundary-value Problems • Numerical schemes: Explicit vs. Implicit • Stencils: Common Patterns • Sparse Matrices and their Applications • Numerical Software: From BLAS and LAPACK to Trilinos and PETSC 2. Solving Large-Scale Linear Systems of Equations • Direct vs Iterative Methods • Fundamental Inner kernels and Matrix Formats • Preconditioning • Multigrid Methods • Hierarchy of discretizations • V-cycle iterations • Partitioning and Reordering • Local and global approaches: From RCM and MMD to ParMetis and PT-SCOTCH 3. Practical Cases . Computational Fluid Dynamics (CFD) . Wave Propagation
Objectius: 1 2 3
Continguts:
Teoria
10h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
30h

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
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Part II-a) Aplicacions no numèriques: Gestió Big Data

Seguiu les conferències, estudiï els materials i les pràctiques.
  • Teoria: 1. Introduction to the kernel of DBMSs and the execution of queries in such systems (1 week). This topic has the objective to understand the different software layers of a DBMS and how they interact, the different complexities that they incarnate and how their interaction determines the performance of such DBMSs. The sessions will be including discussions and the preparation of papers by the students. 2. Big data kernels and graph databases (1 week). This session has the objective to introduce the students to the design of such Big-data and graph database systems, how they are built and how their performance is influenced by the structure of their different software layers. This sessions will be the base for those students who select this part of the course for the practical assignment. 3. Benchmarking for Databases (1 week). Benchmarking is one of the most important issues in Database design and evolution. This part of the course will be designed to understand the different efforts being carried in benchmarking from the USA and Europe for relational and graph databases. This sessions will be the base for those students who select this part of the course for the practical assignment.
Objectius: 1 2 3
Continguts:
Teoria
16h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
26h

Entregable: Problema en gestió Big Data

Problema del mòdul de gestió Big Data. Es lliurarà a Racó o per correu electrònic.
Objectius: 1 2 3
Setmana: 10
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Part II-b) Aplicacions no numèriques: Bioinformàtica

Segueix les classes magistrals, estudia els materials i pràctiques
  • Teoria: In the Bioinformatic part we will work with three important challenges: Sequence Alignment, Molecular Dynamics and Protein-Protein Docking. 1) Sequence Alignment (1 week): [is a way of arranging the sequences of DNA, RNA, or protein to identify regions of similarity that may be a consequence of functional, structural, or evolutionary relationships between the sequences.] Search, scoring and parallel strategies are important to overcome this challenge. 2) Molecular dynamics (1 week): [is a computer simulation of physical movements of atoms and molecules.] Cutoff techniques may be important to reduce the computing complexity of this challenge. 3) Protein-Protein Docking (1 week): [is a method which predicts the preferred orientation of one molecule to a second when bound to each other to form a stable complex.] There are serveral approaches that may increase the accuracy but also de complexity ot those methods.
  • 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

Bioinformàtica: Anàlisi i paral.lelització d'una aplicació bioinformàtica


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

Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Bioinformàtica: Entorn i eines d'acceleració hardware



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Bioinformàtica: Acceleració d'una aplicació de bioinformàtica



Teoria
0h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Lliurable: Problema en Bio-Informática

Problema del mòdul de Bio-informàtica. A entregar en el Racó.
Objectius: 1 2 3
Setmana: 13
Tipus: entrega
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 un conjunt de tasques i un projecte final.

Grau = A1 / 3 + A2 / 3 + 0.A3 / 3

on

Ai: = Assignació i (i d'1 a 3)

Bibliografia

Bàsica:

  • Finite Element Analysis: From concepts to applications - David S. Burnett, Addison-Wesley, 1987. ISBN: 0-201-10806-2
  • Numerical methods for engineers - Chapra, Steven C; Canale, Raymond P, McGraw-Hill, 2006. ISBN: 0071244298
    http://cataleg.upc.edu/record=b1274310~S1*cat
  • Iterative methods for sparse linear systems - Saad, Yousef, SIAM, 2003. ISBN: 0898715342
    http://cataleg.upc.edu/record=b1235160~S1*cat
  • Parallel programming in C with MPI and OpenMP - Quinn, Michael J, McGraw-Hill, 2003. ISBN: 0071232656
    http://cataleg.upc.edu/record=b1236051~S1*cat
  • A Multigrid tutorial - Briggs, William L; Henson, Van Emde; McCormick, S. F, Society for Industrial and Applied Mathematics, cop. 2000. ISBN: 0898714621
    http://cataleg.upc.edu/record=b1200088~S1*cat
  • The Ten Most Wanted Solutions in Protein Bioinformatics - Anna Tramontano , Chapman and Hall/CRC, 2005 . ISBN: 978-1-58488-491-0
  • Graph Data Management: Techniques and Applications - Sherif Sakr, Eric Pardede, IGI Global, 2011. ISBN: 9781613500538
  • Transaction processing : concepts and techniques - Gray, Ji; Reuter, Andrea, Morgan Kaufmann, cop. 1992. ISBN: 1558601902
    http://cataleg.upc.edu/record=b1075600~S1*cat

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.