Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2014-15


PROGRAMACIÓN PARALELA Y DISTRIBUIDA

Asignaturas
 

  Código Nombre    
Asignatura 21714033 PROGRAMACIÓN PARALELA Y DISTRIBUIDA Créditos Teóricos 2.5
Título 21714 GRADO EN INGENIERÍA INFORMÁTICA Créditos Prácticos 5
Curso   3 Tipo Obligatoria
Créd. ECTS   6    
Departamento C137 INGENIERÍA INFORMÁTICA    

 

Requisitos previos

Es recomendable que el alumno haya superado el 75% de las materias/asignaturas de
los módulos de formación básico y común.

 

Recomendaciones

Es recomendable haber cursado con aprovechamiento las siguientes asignaturas:

- Introducción a la Programación
- Metodología de la Programación
- Análisis de Algoritmos y Estructuras de Datos
- Programación Concurrente y de Tiempo Real
- Programación Orientada a Objetos

 

Profesorado

Nombre Apellido 1 Apellido 2 C.C.E. Coordinador  
BERNABE DORRONSORO DIAZ Investigador Doctor N  
GUADALUPE ORTIZ BELLOT Titular Universidad S

 

Competencias

Se relacionan aquí las competencias de la materia/módulo o título al que pertenece la asignatura, entre las que el profesorado podrá indicar las relacionadas con la asignatura.

Identificador Competencia Tipo
CB2 Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vacación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio GENERAL
CB3 Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética GENERAL
CB4 Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado GENERAL
CB5 Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía GENERAL
CG04 Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas, de acuerdo con los conocimientos adquiridos según lo establecido en el apartado 5 de este anexo GENERAL
CG06 Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes de acuerdo con los conocimientos adquiridos según lo establecido en el apartado 5 de este anexo GENERAL
CG09 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática. GENERAL
CT1 Trabajo en equipo: capacidad de asumir las labores asignadas dentro de un equipo, así como de integrarse en él y trabajar de forma eficiente con el resto de sus integrantes TRANSVERSAL
IC03 Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software de para las mismas ESPECÍFICA
IC04 Capacidad de diseñar e implementar software de sistema y de comunicaciones ESPECÍFICA
IC07 Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos ESPECÍFICA

 

Resultados Aprendizaje

Identificador Resultado
R03 Ser capaz de analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos.
R01 Ser capaz de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.
R02 Ser capaz de diseñar e implementar software de sistema y de comunicaciones.

 

Actividades formativas

Actividad Detalle Horas Grupo Competencias a desarrollar
01. Teoría
Impartición de los contenidos teóricos y
realización de actividades en el aula para
desarrollar y ampliar los contenidos.

20 CB2 CB3 CB4 CB5 CG04 CG06 CT1 IC03 IC07
02. Prácticas, seminarios y problemas
Realización de actividades sobre la materia de
la asignatura. Se fomentará la participación
activa del alumno, realizando las actividades en
grupos.
10 CB2 CB4 CB5 CG04 CG06 CG09 CT1 IC03 IC04 IC07
03. Prácticas de informática
En las clases prácticas el alumno implementará y
probará diversos algoritmos paralelos y sistemas
distribuidos.
30 CB2 CB5 CG04 CG09 IC03 IC04
10. Actividades formativas no presenciales
Esta actividad incluye el estudio personal del
alumno, así como la realización de prácticas que
no se hayan completado en clase y la realización
de trabajos.

86 CB2 CB4 CB5 CG04 CG09 CT1 IC03 IC04 IC07
12. Actividades de evaluación
Examen teórico-práctico de los contenidos de la
asignatura.
4 Grande CB2 CB4 CB5 CG04 CG09 IC03 IC04 IC07

 

Evaluación

Criterios Generales de Evaluación

- Adecuación a los principios de la programación paralela y distribuida
- Organización, claridad, elegancia y corrección de los algoritmos e
implementaciones presentadas
- Participación activa en clase
- Participación e implicación en el trabajo en equipo
- Corrección ortográfica y gramatical escrita y oral

 

Procedimiento de Evaluación

Tarea/Actividades Medios, Técnicas e Instrumentos Evaluador/es Competencias a evaluar
Actividades participativas realizadas en clase. Observación y corrección de los entregables y la participación oral.
  • Profesor/a
CB2 CB3 CB4 CG04 CG06 CG09 CT1 IC03 IC04 IC07
Examen teórico/práctico Corrección en el examen teórico y en la resolución práctica propuesta
  • Profesor/a
CB2 CB4 CB5 CG04 CG09 IC03 IC04 IC07
Realización de prácticas Correción en los entregables y correcto funcionamiento de la práctica.
  • Profesor/a
CB2 CB4 CB5 CG04 CG06 CG09 IC03 IC04 IC07
Realización y exposición de trabajo en equipo Corrección en los entregables y en la exposición
  • Profesor/a
  • Autoevaluación
  • Evaluación entre iguales
  • Co-Evaluación
CB2 CB4 CB5 CG04 CG09 CT1 IC03 IC04 IC07

 

Procedimiento de calificación

La nota final en evaluación continua convocatoria de junio) se obtendrá según la
siguiente fórmula:
15% Actividades Académicas + 15% Prácticas + 20% del trabajo en equipo + 50% del
examen final.

Será necesario obtener al menos un 5 sobre 10 en las prácticas, el trabajo en
equipo y el examen final, de forma independiente, para aprobar. Si no se supera
alguna de las partes la nota máxima final será de 4.

En el apartado de Actividades Académicas se valorará la participación del
estudiante en clase, en los foros, la entrega de los trabajos de clase, y la
realización de trabajos relacionados con las conferencias que se celebren durante
el curso.

La nota final en evaluación final (convocatorias de septiembre y febrero)se
obtendrá según la siguiente fórmula: 25% del trabajo en equipo (realizado durante
el curso) + 75% del examen final.

En cualquier caso, las Actividades Académicas y el trabajo se calificarán con 0
puntos si no se entregan en el plazo establecido por el profesor.

La copia total o parcial de exámenes o prácticas, así como cualquier otro tipo de
fraude detectado por los profesores, podrá ser motivo de SUSPENSO INMEDIATO EN
TODAS LAS CONVOCATORIAS del curso académico para todos los implicados, sea cual
fuere su papel. En particular, se informa de que las entregas electrónicas podrán
almacenarse durante un plazo de 5 años para ulteriores comprobaciones.

 

Descripcion de los Contenidos

Contenido Competencias relacionadas Resultados de aprendizaje relacionados
            BLOQUE 1. introducción a la programación paralela y distribuida

TEMA 1. Introducción a la programación paralela y distribuida
        
CB2 CB4 CB5 CG04 IC03 IC07 R01
            BLOQUE 2. Programación paralela.

TEMA 2.Principios y modelos de programación paralela.
2.1 Paralelismo en los computadores monoprocesador
2.2 Paralelismo en los computadores multiprocesador
2.3 Computadores paralelos
2.4 Modelos teóricos de programación paralela
2.5 Modelos de programación paralela: memoria compartida
2.6 Modelos de programación paralela: paso de mensajes
2.7 Caso de estudio: cálculo de pi

TEMA 3. Análisis y diseño de algoritmos paralelos.
3.1 Metodología de la programación paralela
3.2 Análisis de algoritmos paralelos

TEMA 4. Lenguajes y bibliotecas de programación paralela.
4.1 OpenMP
4.2 MPI
4.3 Esquemas algorítmicos paralelos

        
CB2 CB3 CB4 CB5 CG04 CG06 CG09 IC03 IC04 IC07 R01 R02
            BLOQUE 3. Programación Distribuida.

TEMA 5. Introducción a la programación distribuida.
5.1. Sistemas y problemas de la programación distribuida.
5.2. Alternativas para la programación distribuida.

TEMA 6. Programación distribuida orientada a procesos
6.1 Sockets
6.2 Modelo cliente-servidor

TEMA 7 Llamadas a procedimientos remotos y objetos distribuidos.
7.1 RMI
7.2 CORBA
7.3 Servicios Web

        
CB2 CB3 CB4 CB5 CG04 CG06 CG09 IC03 IC04 IC07 R03 R01
            TRABAJO TEÓRICO-PRÁCTICO DE LA ASIGNATURA.
        
CB2 CB4 CB5 CG04 CG09 CT1 IC03 IC04 IC07 R03 R01 R02
            UNIDAD PRÁCTICA 1: Prácticas de programación paralela.
        
CB2 CB4 CB5 CG04 CG09 IC03 IC04 IC07 R01 R02
            UNIDAD PRÁCTICA 2: Prácticas de programación distribuida.

        
CB2 CB4 CB5 CG04 CG09 IC03 IC04 IC07 R03 R01

 

Bibliografía

Bibliografía Básica

 

Introducción a la programación paralela

Francisco Almeida [et al.]. Thompson Paraninfo, 2008

 

Parallel Processing and Parallel Algorithms: Theory and Computation [Hardcover]

Seyed H Roosta. Springer, 1999.

 

Computación distribuida: fundamentos y aplicaciones

Liu, M.L.. Addison Wesley Iberoamericana, 2004

 

Distributed systems : concepts and design

Coulouris, George F. [et al.]. Addison-Wesley, 2005.

 


 

Bibliografía Específica

 

PVM: Parallel Virtual Machine: A Users' Guide and Tutorial for Network Parallel Computing

Jack Dongarra , Al Geist , Adam Beguelin , Weicheng Jiang , Robert Manchek , Vaidyalingam S. Sunderam. The MIT Press , 1994.

 

Introducción a computación paralela con MPI

Rodríguez Liñares, Leandro. Universidad de Vigo, 2007.

 

Web services : principles and technology

Papazoglou, Michael P. Pearson Education, 2008.

 

Parallel Programming in OpenMP

Rohit Chandra , Ramesh Menon , Leo Dagum , David Kohr , Dror Maydan , Jeff McDonald. Morgan Kaufmann,  2000.

 

 




 

 

 

Bibliografía Ampliación

 

 

Guide to parallel programming : on sequent computer systems

Englewood Cliffs: Prentice Hall, 1992.

 

Diseño y análisis de algoritmos paralelos

 

Akl, Selim G. Ra-ma, 1992.

 

 

 

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.