Identifying Data 2016/17
Subject (*) Optimización do Procesamento Paralelo Code 614111630
Study programme
Enxeñeiro en Informática
Descriptors Cycle Period Year Type Credits
First and Second Cycle 1st four-month period
All Optativa 4
Language
Spanish
Galician
English
Teaching method Face-to-face
Prerequisites
Department Electrónica e Sistemas
Coordinador
Touriño Dominguez, Juan
E-mail
juan.tourino@udc.es
Lecturers
Touriño Dominguez, Juan
E-mail
juan.tourino@udc.es
Web http://campusvirtual.udc.es/moodle/
General description 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).

Study programme competencies
Code Study programme competences / results
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.

Learning aims
Learning outcomes Study programme competences / results
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

Contents
Topic Sub-topic
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

Planning
Methodologies / tests Competencies / Results Teaching hours (in-person & virtual) Student’s personal work hours Total hours
Introductory activities B3 B5 B11 B12 4 4 8
Guest lecture / keynote speech A3 A8 B3 B11 C6 C8 20 20 40
Laboratory practice A1 A3 A8 B2 B3 B5 5 40 45
Problem solving B2 B3 B5 B11 B12 2 0 2
 
Personalized attention 5 0 5
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Introductory activities Presentación e introducción para alumnos que non cursaron AEC sobre fundamentos de computación paralela.
Guest lecture / keynote speech 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.
Laboratory practice 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).
Problem solving Actividades adicionais grupais para a resolución de problemas relacionados co desenvolvemento das prácticas.

Personalized attention
Methodologies
Laboratory practice
Description
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.

Assessment
Methodologies Competencies / Results Description Qualification
Laboratory practice 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
 
Assessment comments

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

Sources of information
Basic 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.

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


Recommendations
Subjects that it is recommended to have taken before
Sistemas Operativos I/614111203
Algoritmos/614111206
Sistemas Operativos II/614111302
Estrutura de Computadores II/614111306
Redes de Comunicacións/614111307

Subjects that are recommended to be taken simultaneously
Arquitectura e Enxeñaría de Computadores/614111401

Subjects that continue the syllabus

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.