Datos Identificativos 2016/17
Asignatura (*) Optimización del Procesamiento Paralelo Código 614111630
Titulación
Enxeñeiro en Informática
Descriptores Ciclo Periodo Curso Tipo Créditos
1º y 2º Ciclo 1º cuatrimestre
Todos Optativa 4
Idioma
Castellano
Gallego
Inglés
Modalidad docente Presencial
Prerrequisitos
Departamento Electrónica e Sistemas
Coordinador/a
Touriño Dominguez, Juan
Correo electrónico
juan.tourino@udc.es
Profesorado
Touriño Dominguez, Juan
Correo electrónico
juan.tourino@udc.es
Web http://campusvirtual.udc.es/moodle/
Descripción general 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 del título
Código Competencias / Resultados del título
A1 Aprender de manera autónoma nuevos conocimientos y técnicas avanzadas adecuadas para la investigación, el diseño y el desarrollo de sistemas y servicios informáticos.
A3 Concebir y planificar el desarrollo de aplicaciones informáticas complejas o con requisitos especiales.
A8 Concebir, desplegar, organizar y gestionar un servicio informático complejo.
B2 Resolver problemas de forma efectiva.
B3 Aplicar un pensamiento crítico, lógico y creativo.
B5 Trabajar de forma colaborativa.
B11 Razonamiento crítico.
B12 Capacidad para el análisis y la síntesis.
C6 Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse.
C8 Valorar la importancia que tiene la investigación, la innovación y el desarrollo tecnológico en el avance socioeconómico y cultural de la sociedad.

Resultados de aprendizaje
Resultados de aprendizaje Competencias / Resultados del título
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

Contenidos
Tema Subtema
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
Metodologías / pruebas Competencias / Resultados Horas lectivas (presenciales y virtuales) Horas trabajo autónomo Horas totales
Actividades iniciales B3 B5 B11 B12 4 4 8
Sesión magistral A3 A8 B3 B11 C6 C8 20 20 40
Prácticas de laboratorio A1 A3 A8 B2 B3 B5 5 40 45
Solución de problemas B2 B3 B5 B11 B12 2 0 2
 
Atención personalizada 5 0 5
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Actividades iniciales Presentación e introducción para alumnos que non cursaron AEC sobre fundamentos de computación paralela.
Sesión magistral 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
Metodologías
Prácticas de laboratorio
Descripció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.

Evaluación
Metodologías Competencias / Resultados Descripción Calificación
Prácticas de laboratorio A1 A3 A8 B2 B3 B5 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
 
Observaciones evaluació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.

Fuentes de información
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.

Complementária 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.


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Sistemas Operativos I/614111203
Algoritmos/614111206
Sistemas Operativos II/614111302
Estructura de Computadores II/614111306
Redes de Comunicaciones/614111307

Asignaturas que se recomienda cursar simultáneamente
Arquitectura e Ingeniería de Computadores/614111401

Asignaturas que continúan el temario

Otros comentarios


(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías