Datos Identificativos 2013/14
Asignatura (*) Optimización do Procesamento Paralelo Código 614111630
Titulación
Enxeñeiro en Informática
Descriptores Ciclo Período Curso Tipo Créditos
1º e 2º Ciclo 1º cuadrimestre
Todos Optativa 4
Idioma
Castelán
Galego
Inglés
Prerrequisitos
Departamento Electrónica e Sistemas
Coordinación
Touriño Dominguez, Juan
Correo electrónico
juan.tourino@udc.es
Profesorado
López Taboada, Guillermo
Ramos Garea, Sabela
Touriño Dominguez, Juan
Correo electrónico
guillermo.lopez.taboada@udc.es
sabela.ramos.garea@udc.es
juan.tourino@udc.es
Web http://campusvirtual.udc.es/moodle/
Descrición xeral Preténdese introducir ao alumno en técnicas de programación de arquitecturas multiprocesador empregando diversos paradigmas, realizando prácticas nun entorno real mediante a programación de supercomputadores ubicados no CESGA (Centro de Supercomputación de Galicia).

Se pretende introducir al alumno en técnicas de programación de arquitecturas multiprocesador utilizando diversos paradigmas, realizando prácticas en un entorno real mediante la programación de supercomputadores ubicados en el CESGA (Centro de Supercomputación de Galicia).

Competencias do título
Código Competencias da titulación
A1 Aprender de maneira autónoma novos coñecementos e técnicas avanzadas axeitadas para a investigación, o deseño e o desenvolvemento de sistemas e servizos informáticos.
A3 Concibir e planificar o desenvolvemento de aplicacións informáticas complexas ou con requisitos especiais.
A8 Concibir, despregar, organizar e xestionar un servizo informático complexo.
B2 Resolver problemas de forma efectiva.
B3 Aplicar un pensamento crítico, lóxico e creativo.
B5 Traballar de forma colaborativa.
B11 Razoamento crítico.
B12 Capacidade para a análise e a síntese.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
Concebir e planificar a paralelización de aplicacións con requisitos especiais. A3
A8
B2
B5
Analizar críticamente o rendemento dunha aplicación en supercomputación. A8
B3
B11
B12
C6
Resolver problemas de paralelización de forma crítica e efectiva. A3
A8
B2
B12
Aplicar o paralelismo ao desenvolvemento de aplicacións complexas e con gran demanda de recursos computacionais. A1
A3
B2
B12
C6
C8

Contidos
Temas Subtemas
Paradigmas de programacion de computadores MIMD Revisión das arquitecturas MIMD
Programación en arquitecturas de memoria compartida
Programación en arquitecturas de memoria distribuida
Paralelizadores automáticos
Programación con paso de mensaxes: MPI (Message-Passing Interface) Características xerais de MPI
Comunicacións punto a punto
Comunicacións colectivas
Tipos de datos derivados
Topoloxías virtuais
Prácticas nun clúster do CESGA

Programación orientada ao paralelismo de datos: HPF (High-Performance Fortran) Introducción á linguaxe Fortran 90
Características xerais de HPF
Directivas de distribución e aliñamento de datos
Construccións e directivas para expresar paralelismo
Funcións intrínsecas
Prácticas nun clúster do CESGA

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Actividades iniciais 4 4 8
Sesión maxistral 20 20 40
Prácticas de laboratorio 5 40 45
Solución de problemas 2 0 2
 
Atención personalizada 5 0 5
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Actividades iniciais Presentación e introducción para alumnos que non cursaron AEC sobre fundamentos de computación paralela.
Sesión maxistral Exposición oral do material de traballo da asignatura complementada co uso de medios audiovisuais e a introdución de algunhas preguntas dirixidas aos estudantes, coa finalidade de transmitir coñecementos e facilitar a aprendizaxe.
Prácticas de laboratorio Sesións de cómo compilar/executar traballos en MPI e HPF e presentación das prácticas obrigatorias a realizar. Consultas sobre a estratexia a implementar nas prácticas propostas, así como discusión sobre novos problemas a abordar (practicas optativas).
Solución de problemas Actividades adicionais grupais para a resolución de problemas relacionados co desenvolvemento das prácticas.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Descrición
O traballo nas dúas prácticas obrigatorias é individual e pode supor abordar o problema dende moitos puntos de vista. Para solucionar os problemas xurdidos é preciso plantexar estas cuestións ao profesor de prácticas tanto en horario de titorías como a través de correo electrónico.

Avaliación
Metodoloxías Descrición Cualificación
Prácticas de laboratorio Que as prácticas obrigatorias sexan correctas e estén completas supón superar a asignatura. As melloras introducidas sobre o mínimo especificado permitirían subir a calificación a Notable. O realizar unha práctica optativa e participar en actividades e discusións adicionais permite optar a sobresaliente. Estos criterios rixen para a convocatoria ordinaria (Febreiro). En Setembro/Decembro será potestativo para o profesor a valoración das melloras presentadas así coma das prácticas optativas. 100
 
Observacións avaliación

- A avaliación do profesorado realizarase a través das enquisas de avaliación docente, a cubrir por tódolos alumnos matriculados na asignatura.

Fontes de información
Bibliografía básica Ellis, T.M.R., Philips, I.R. y Lahey, T.M.. (1994). Fortran 90 Programming. . Addison-Wesley.
Francisco Almeida [et al.] (2008). Introducción a la Programación Paralela. Madrid: Paraninfo Cengage Learning
Snir, M. et al.. ( 1998). MPI - The Complete Reference. The MPI Core. . The MIT Press. Volumen 1.
Pacheco, P.S. (1997). Parallel Programming with MPI. Morgan Kaufmann Publishers
Koelbel, C.H. et al.. (1994). The High Performance Fortran Handbook.. The MIT Press.
Gropp, W., Lusk, E. y Skjellum, A. (1994). Using MPI, Portable Parallel Programming with the Message-Passing Interface.. The MIT Press.

Bibliografía complementaria Culler, D.E., Singh, J.P. y Gupta, A.. (1999). Parallel Computer Architecture - A Hardware/SoftwareApproach.. Morgan Kaufmann Publishers.
Wilkinson, B. y Allen, M.. (1999). Parallel Programming. Techniques and Applications Using Networked Workstations and Parallel Computers. . Prentice-Hall.


Recomendacións
Materias que se recomenda ter cursado previamente

Materias que se recomenda cursar simultaneamente
Arquitectura e Enxeñaría de Computadores/614111401

Materias que continúan o temario
Sistemas Operativos I/614111203
Algoritmos/614111206
Sistemas Operativos II/614111302
Estrutura de Computadores II/614111306
Redes de Comunicacións/614111307

Observacións


(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías