Datos Identificativos 2012/13
Asignatura (*) Depuración de Programas e Análise do Rendemento Código 614473008
Titulación
Mestrado Universitario en Computación de Altas Prestacións
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 2º cuadrimestre
Primeiro Optativa 3
Idioma
Castelán
Galego
Inglés
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 da titulación
A1 Analizar e mellorar o rendemento dunha arquitectura ou un software dado.
A4 Profundizar no coñecemento das ferramentas de programación e particularmente en entornos Unix e linguaxes C e Fortran.
A5 Coñecer as arquitecturas emerxentes no campo da supercomputación.
A6 Analizar, deseñar e implementar algoritmos e aplicacións paralelas eficientes.
A9 Coñecer os principais elementos HW e SW dun servidor e ser capaz de mellorar o rendemento e as capacidades do mesmo.
A12 Coñecer as tendencias en supercomputación así como a súa utilización práctica nos sectores industrial, académico e público.
A13 Integrarse na operativa diaria dun centro relacionado coa supercomputación.
B1 Aplicar os coñecementos adquiridos e a súa capacidade de resolución de problemas en contornos novos ou pouco coñecidos dentro de contextos máis amplos (ou multidisciplinares) relacionados coa súa área de estudo.
B2 Integrar coñecementos e enfrontarse á complexidade de formular xuízos a partir dunha información que, sendo incompleta ou limitada, inclúa reflexións sobre as responsabilidades sociais e éticas vinculadas á aplicación dos seus coñecementos e xuízos.
B4 Aplicar habilidades de aprendizaxe que lles permitan continuar estudando dun modo que deberá de ser en gran medida autodirigido ou autónomo.
B5 Coñecer e experimentar o método científico de investigación.
B6 Capacidade de análise e síntese.
B9 Usar as novas tecnoloxías.
B10 Buscar e seleccionar a información útil necesaria para resolver problemas complexos, manexando con soltura as fontes bibliográficas do campo.
B11 Manter e estender formulacións teóricas fundados para permitir a introdución e explotación de tecnoloxías novas e avanzadas.
C1 Expresarse correctamente, tanto de forma oral coma escrita, nas linguas oficiais da comunidade autónoma.
C2 Dominar a expresión e a comprensión de forma oral e escrita dun idioma estranxeiro.
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C4 Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
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
BI6
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
BI1
BI2
BI4
BI6
BI10
CM2
CM4
CM6
Manejar implementaciones software de las técnicas incluidas en los contenidos teóricos. AI4
AI6
BI1
BI5
BI9
CM3
Aplicar las diferentes técnicas a los tipos de problemas a los que se orientan cada una de ellas. AI4
AI6
BI1
BI5
BI9
CM3
Capacidad para integrarse en la operativa diaria en un Centro relacionado con la supercomputación. AI5
AI12
AI13
BI1
BI9
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 Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 9 13.5 22.5
Prácticas de laboratorio 16 16 32
Análise de fontes documentais 0 5 5
Traballos tutelados 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 Descrición Cualificación
Sesión maxistral Seguimiento continuado y objetivable de una participación activa. 20
Traballos tutelados 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
Software de Base para Supercomputación/614473006

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario

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