Datos Identificativos 2015/16
Asignatura (*) Depuración de Programas e Análise do Rendemento Código 614473008
Titulación
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 2º cuadrimestre
Primeiro Optativa 3
Idioma
Castelán
Galego
Inglés
Modalidade docente Presencial
Prerrequisitos
Departamento Electrónica e Sistemas
Coordinación
Rodríguez Álvarez, Gabriel
Correo electrónico
gabriel.rodriguez@udc.es
Profesorado
Rodríguez Álvarez, Gabriel
Correo electrónico
gabriel.rodriguez@udc.es
Web
Descrición xeral El objetivo del curso es doble, por un lado dar a conocer los aspectos arquitectónicos y funcionales que influyen en el rendimiento de una aplicación paralela, y por el otro proporcionar los fundamentos y herramientas necesarios para la detección y corrección de errores en códigos paralelos, así como para su evaluación y análisis, detectando las zonas que degradan el rendimiento, las causas de esa degradación y las posibles soluciones. Las principales competencias que adquirirá el alumno una vez finalizada la materia son las siguientes:

· Capacidad de identificar el comportamiento de la ejecución de una aplicación paralela sobre diferentes arquitecturas en términos de su rendimiento.

· Capacidad para la búsqueda, selección y manejo de recursos (bibliografía, software, simuladores, etc.) sobre el campo del desarrollo, depuración y análisis del rendimiento de aplicaciones paralelas.

· Manejar implementaciones software de las técnicas incluidas en los contenidos teóricos.

· Aplicar las diferentes técnicas a los tipos de problemas a los que se orientan cada una de ellas.

· Capacidad para integrarse en la operativa diaria en un Centro relacionado con la supercomputación.

Competencias do título
Código Competencias / Resultados do título

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias / Resultados do título
Capacidad de identificar el comportamiento de la ejecución de una aplicación paralela sobre diferentes arquitecturas en términos de su rendimiento. AI1
AI4
AI5
AI6
AI9
BI7
BI11
CM4
CM6
Capacidad para la búsqueda, selección y manejo de recursos (bibliografía, software, simuladores, etc.) sobre el campo del desarrollo, depuración y análisis del rendimiento de aplicaciones paralelas. AI4
AI5
BI2
BI3
BI5
BI7
BI10
CM2
CM4
CM6
Manejar implementaciones software de las técnicas incluidas en los contenidos teóricos. AI4
AI6
BI3
BI6
CM3
Aplicar las diferentes técnicas a los tipos de problemas a los que se orientan cada una de ellas. AI4
AI6
BI3
BI6
CM3
Capacidad para integrarse en la operativa diaria en un Centro relacionado con la supercomputación. AI5
AI12
AI13
BI3
BI11
CM1
CM2

Contidos
Temas Subtemas
1. Introducción a la depuración de aplicaciones. 1. El proceso de depuración: aproximación sistemática.
2. Caracterización de los fallos de aplicaciones.
3. Fallos comunes: detección y soluciones.
4. Fallos de difícil detección.
5. Problemas específicos de aplicaciones paralelas.
2. Uso de herramientas de depuración. 1. Compilación de aplicaciones para depuración.
2. Herramientas de depuración de código paralelo.
3. Herramientas de depuración de memoria en aplicaciones paralelas.
4. Herramientas de análisis multihilo.
3. Introducción al análisis de rendimiento. 1. Análisis de rendimiento: motivación.
2. Repaso de los conceptos básicos sobre el análisis del rendimiento.
3. Caracterización y detección de problemas de rendimiento.
4. Aspectos arquitectónicos que influyen en el rendimiento.
5. Modelado del rendimiento.
4. Uso de herramientas de análisis de rendimiento. 1. Técnicas de instrumentación.
2. Técnicas de medida y análisis de rendimiento: profiling y trazas.
3. Herramientas para el análisis del rendimiento.

Planificación
Metodoloxías / probas Competencias / Resultados Horas lectivas (presenciais e virtuais) Horas traballo autónomo Horas totais
Sesión maxistral A1 A4 A5 A6 A9 A12 A13 B7 B3 C3 9 13.5 22.5
Prácticas de laboratorio A1 A4 A6 B2 B7 B10 B11 B5 C1 C3 C4 C6 16 16 32
Análise de fontes documentais A1 A6 A9 B3 B6 B7 B10 B11 C2 C3 C4 C6 0 5 5
Traballos tutelados A1 A6 A12 A13 B2 B7 B10 C1 C3 C4 0 13.5 13.5
 
Atención personalizada 2 0 2
 
*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
Sesión maxistral Exposición oral con la finalidad de transmitir conceptos y facilitar el aprendizaje. Se usará la pizarra junto con transparencias que muestren los conceptos fundamentales, así como una serie de ejemplos y figuras que ayuden a clarificar dichos conceptos. Las sesiones magistrales versarán sobre todos los contenidos del temario, siendo el punto de partida para el resto de actividades previstas.
Prácticas de laboratorio Los alumnos deberán enfrentarse a una serie de problemas planteados por el profesor durante sesiones prácticas en ordenadores. Para su realización el alumno contará con la tutela del profesor, otros ejemplos realizados en clase y la bibliografía recomendada. Además realizará prácticas guiadas para familiarizarse con las herramientas vistas en clase y para resolver problemas específicos. La finalidad de esta actividad será aprender y afianzar los conocimientos ya adquiridos.
Análise de fontes documentais Revisión de las fuentes bibliográficas recomendadas con el objetivo de ampliar y afianzar los conocimientos expuestos tanto en sesiones magistrales como en prácticas de laboratorio.
Traballos tutelados Resolución de un caso de estudio de mayor dificultad a los realizados de forma guiada, estudiando en mayor profundidad una aplicación específica directamente relacionada con los contenidos de la materia. Deberá entregarse un informe sobre el trabajo realizado, resumiendo las principales conclusiones del mismo.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Descrición
La atención personalizada en la realización de las prácticas de laboratorio y los trabajos tutelados se antoja imprescindible para dirigir los alumnos en el desarrollo del trabajo. Además, esta atención servirá para validar y evaluar el trabajo que va siendo realizado por los alumnos en distintas fases de su desarrollo hasta llegar a su finalización. Por otro lado, se recomendará a los alumnos la asistencia a tutorías como método de ayuda.

Avaliación
Metodoloxías Competencias / Resultados Descrición Cualificación
Sesión maxistral A1 A4 A5 A6 A9 A12 A13 B7 B3 C3 Seguimiento continuado y objetivable de una participación activa. 20
Traballos tutelados A1 A6 A12 A13 B2 B7 B10 C1 C3 C4 Realización de un trabajo tutelado y presentación de un informe de conclusiones. 80
 
Observacións avaliación
El sistema de calificación será el señalado con carácter general para el máster.

Fontes de información
Bibliografía básica W. Stallings (2010). Computer Organization and Architecture: Designing for Performance. Pearson Education
P. Fortier, H. Michel (2003). Computer Systems Performance Evaluation and Prediction. Digital Press
I. Foster (1995). Designing and Building Parallel Programs. Addison Wesley
W. Wu (1999). Performance Evaluation, Prediction and Visualization of Parallel Systems. Kluwer Academic Pub.
S. Goedecker, A. Hoisie (2001). Performance Optimization of Numerically Intensive Codes. SIAM
J.J. Dongarra et al (2003). Sourcebook of Parallel Computing. Morgan-Kauffman
R.K. Jain (1991). The Art of Computer Systems Performance Analysis. John Wiley & Sons
T. Grötker et al. (2007). The Developer's Guide to Debugging. Springer
N. Gunther (2000). The Practical Performance Analyst. iUniverse
A. Zeller (2005). Why Programs Fail: A Guide to Sistematic Debugging. Morgan-Kauffman

Bibliografía complementaria


Recomendacións
Materias que se recomenda ter cursado previamente

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario
Software de Base para Supercomputación/614473006

Observacións
Para los fundamentos básicos de la materia se recomienda ceñirse al material recomendado por los profesores (textos, apuntes, artículos, referencias web, etc.). Sin embargo, para los contenidos avanzados de la materia, así como para la realización de trabajos prácticos se recomienda la búsqueda y selección de recursos en internet, debido a la rápida evolución de los contenidos de la asignatura. Dada la fuerte componente práctica de esta materia el alumno deberá realizar un esfuerzo importante en la resolución de los problemas planteados con la ayuda del material proporcionado.


(*)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