You are on page 1of 14

Universidad Autnoma del Estado de Mxico

Secretaria de Docencia Direccin de Estudios Profesionales Coordinacin de Desarrollo Curricular

Programa de Estudios por Competencias

Programacin Paralela y Distribuida


I. IDENTIFICACIN DEL CURSO ORGANISMO ACADMICO: Facultad de Ingeniera de la Universidad Autnoma del Estado de Mxico (UAEMex) Programa Educativo: Ingeniera en Computacin Aprobacin por los H.H. Consejos Acadmico y de Gobierno Fecha:
24 FEBRERO 2006

rea de docencia: Programacin e ingeniera de software Programa elaborado por: Ing. Luis Enrique Fecha de elaboracin : Ledezma Fuentes, Ing. Elfego Gutirrez 21-Febrero-2006 Ocampo Crditos Tipo de Unidad de Aprendizaje Carcter de la Unidad de Aprendizaje Obligatoria Ncleo de formacin Sustantivo Modalidad

Clave

Horas de teora

Horas de prctica 2.5

Total de horas 4.5

L41057

Prerrequisitos ( Conocimientos Previos): Programacin Avanzada, Estructuras de Datos, Lenguaje C, Java, Anlisis y Diseo de Algoritmos

Curso y laboratorio Unidad de Antecedente

Presencial Aprendizaje

Aprendizaje Unidad de Consecuente

Ninguna Ninguna Programas educativos en los que se imparte: Licenciatura en Computacin (Facultad de Ingeniera, UAP Atlacomulco, Ecatepec, Texcoco, Valle de Chalco, Valle de Mxico, Valle de Teotihuacan y Zumpango)

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Direccin de Estudios Profesionales Coordinacin de Desarrollo Curricular

II. PRESENTACIN De manera general, la computacin en paralelo comprende arquitecturas de computadoras paralelas, algoritmos paralelos y programacin en paralelo. La presente unidad de aprendizaje cubre parte de los requisitos AC9 y AC20, as como la totalidad de los requisitos AC15, AC16, AC17, AC22 y AC23 especificados en el manual del CONAIC sobre criterios de acreditacin de Programas de Informtica y Computacin. La estructura planteada consta de seis unidades de competencia. La primera estudia las bases del cmputo paralelo en general, como necesidades de mquinas de alto rendimiento, conceptos generales, taxonmicas de arquitecturas (SIMD, MIMD, SISD, MISD), las unidades funcionales del pipeline, topologas de redes de conexin y mediciones de rendimiento. La segunda se centra en el estudio de los sistemas de arquitecturas y modelos de computadoras en paralelo (SMP, MPP, COW, DSM), las estrategias de acceso a memoria. Una tercera unidad de competencia explica lo relativo a modelos y diseos de algoritmos computacionales en paralelo.La cuarta se enfoca al software de soporte y modelos de programacin en paralelo, la quinta a sistemas y algoritmos distribuidos y la sexta a desarrollo e implementacin de programas de en paralelo haciendo uso de las tcnicas vistas. Se recomienda que el alumno practique su programacin ya sea en lenguaje C en java. La evaluacin debe considerar tanto la parte terica como la prctica, y se marcan como conocimientos mnimos indispensables los siguientes: arquitectura paralela de computadoras, estrategias de diseo de algoritmos paralelos, estrategia de acceso en memoria, resolucin de un problema haciendo uso de programacin en paralelo, entendindose como mnimos indispensables aquellos que son condicin sin que son para poder aprobar la asignatura. An cuando el alumno superase por puntuacin el lmite de aprobado no se conceder el mismo si no demuestra pericia en los tpicos marcados como mnimos indispensables.

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Direccin de Estudios Profesionales Coordinacin de Desarrollo Curricular

III. LINEAMIENTOS DE LA UNIDAD DE APRENDIZAJE DOCENTE DISCENTE - Realizar el encuadre del curso - Realizar las evaluaciones que se establezcan. - Asistir puntualmente a las clases o justificar la ausencia - Mantener unas pautas de comportamiento socialmente por adelantado (asistencia a conferencias, etc) aceptables cuando se encuentre en clases y laboratorio. - Asesorar a los alumnos y resolver sus dudas, - Cuando se requiera, entregar a tiempo y forma los preferiblemente en horario marcado de tutora. trabajos requeridos. - Evaluar la unidad de aprendizaje - Evaluar y Calificar a los alumnos. - Preparar el material didctico para las clases y prcticas.

IV. PROPSITO DE LA UNIDAD DE APRENDIZAJE

Encuadrado en el Plan F2 por Competencias de la UAEMex, presentar al alumno con la tecnologa de vanguardia en el diseo de algoritmos y programacin en paralelo haciendo uso de un mnimo de 4 computadoras con vistas a capacitar al estudiante a su egreso en el anlisis, diseo, desarrollo y construccin de sistemas de resolucin de problemas de gran envergadura en donde se requiera el uso de arquitecturas paralelas o sistemas distribuidos.

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Direccin de Estudios Profesionales Coordinacin de Desarrollo Curricular

V. COMPETENCIAS GENRICAS

Analizar y disear algoritmos y programas haciendo uso de tcnicas de programacin en paralelo aplicables a la tecnologa computacional. Analizar y disear proyectos donde se requiera programacin en paralelo y distribuida Comunicarse con expertos de otras reas Utilizar eficazmente computadoras con 2 o ms procesadores Analizar soluciones del entorno y problemas propios de ser tratados mediante sistemas computacionales paralelos y distribuidos Proponer soluciones eficaces y eficientes Crear nuevas ideas para la solucin de problemas Aplicar los conocimientos en la prctica Conocer la temtica bsica de la profesin que desempea en la prctica Especificar arquitecturas de computadoras de arquitectura paralelas o sistemas distribuidos. Disear, desarrollar y dar mantenimiento a sistemas paralelos o distribuidos Conocer la temtica bsica sobre programacin paralela y distribuida.

Algunas de estas competencias se adquieren en conjunto al estudiar el resto de unidades de aprendizaje bajo el rea de competencia de Programacin en Paralelo y Distribuida.

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Direccin de Estudios Profesionales Coordinacin de Desarrollo Curricular

VI. -

MBITOS DE DESEMPEO PROFESIONAL Analista y diseador de programas de cmputo y sistemas de resolucin a problemas de excesiva carga computacional mediante tcnicas de programacin paralela y distribuida. Investigacin de nuevas tcnicas de programacin paralelizada Docencia a cualquier nivel de aprendizaje escolarizado

VII. ESCENARIOS DE APRENDIZAJE

Aula, Sala de Cmputo (MPI, PVM, Java, C)

VIII. NATURALEZA DE LA COMPETENCIA (Inicial, entrenamiento, complejidad creciente, mbito diferenciado)

Entrenamiento y complejidad creciente

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

IX. ESTRUCTURA DE LA UNIDAD DE APRENDIZAJE 1. Dar a conocer las bases del cmputo paralelo en general. 2. Dar a conocer las distintas formas de conectar procesadores con procesadores, procesadores con memoria (taxonomas), as como las medidas de desempeo. 3. Comprender y aplicar tcnicas de diseo de programas en paralelo y distribuidos mediante el modelo PRAM. 4. Comprender y aplicar tcnicas de diseo de programas en paralelo y distribuidos mediante el modelo de paso de mensajes. 5. Comprender y aplicar tcnicas de diseo de algoritmos paralelos y distribuidos. X.- SECUENCIA DIDCTICA

1 2

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

XI. DESARROLLO DE LA UNIDAD DE APRENDIZAJE ELEMENTOS DE COMPETENCIA Conocimientos Habilidades Actitudes/ Valores Conceptos generales. - Comprender qu es -Cumplir con las actividades asignadas Dar a conocer las bases del Constitucin de una el paralelismo, cmo - Respetar al docente y a los cmputo paralelo en general computadora paralela. se logra y compaeros mediante un Modelos de aplicaciones comportamiento socialmente aceptable arquitectura (MIMD, SIMD, SISD, MISD), Cmputo Paralelo, Programacin en Paralelo, Memoria Compartida y Distribuida, Redes de Interconexin, Paradigmas de la Programacin en paralelo. ESTRATEGIAS DIDCTICAS: RECURSOS REQUERIDOS TIEMPO DESTINADO Presentaciones acompaadas de apuntes Libros de texto, Apuntes del docente, 8 horas preparados por el profesor Pizarrn, Proyector (de caon o transparencias) UNIDAD DE COMPETENCIA I CRITERIOS DE DESEMPEO I DESEMPEO Evaluacin terica de comprensin y entendimiento EVIDENCIAS PRODUCTOS Trabajos de investigacin y examen escrito

Resolucin de problemas

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

UNIDAD DE COMPETENCIA II Dar a conocer las distintas formas de conectar procesadores con procesadores, procesadores con memoria (taxonomas), as como las medidas de desempeo.

Conocimientos Sistemas de arquitectura (SMP, MPP, COW, DSM). Modelos de acceso a memoria (UMA, NUMA, COMA, NORMA). Ley de Amdahl, Ley de Gustafson

ESTRATEGIAS DIDCTICAS: Presentaciones acompaadas de apuntes preparados por el profesor

ELEMENTOS DE COMPETENCIA Habilidades Actitudes/ Valores - Comprender las -Cumplir con las actividades asignadas diferentes -Desarrollar la capacidad analtica del arquitecturas funcionamiento de una computadora paralelas con arquitectura en paralelo - Analizar sistemas de - Respetar al docente y a los acceso a memoria compaeros mediante un avanzados para una comportamiento socialmente aceptable computadora paralela. - Comprender distintas estrategias de acceso a memoria para lectura y escritura. - Medir el rendimiento de mquinas en paralelo dependiendo de la parte secuencial de un programa. RECURSOS REQUERIDOS TIEMPO DESTINADO Libros de texto, Apuntes del docente, 9 horas Pizarrn, Proyector (de caon o transparencias), Laboratorio de

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

computadoras. CRITERIOS DE DESEMPEO II EVIDENCIAS DESEMPEO Evaluacin de arquitecturas paralelas, accesos de memoria y evaluacin de sistemas paralelos. PRODUCTOS Trabajos de investigacin Examen escrito

Resolucin de problemas

UNIDAD DE COMPETENCIA III Comprender y aplicar tcnicas de diseo de programas en paralelo y distribuirlos mediante el modelo PRAM.

Conocimientos Modelo PRAM y sus accesos a memoria: EREW, CREW, ERCW, CRCW

ELEMENTOS DE COMPETENCIA Habilidades Actitudes/ Valores Tener la capacidad para - Respetar al docente y a los elaborar programas compaeros mediante un concernientes utlizando comportamiento socialmente aceptable Threads en Java TIEMPO DESTINADO 18 horas

ESTRATEGIAS DIDCTICAS: Presentaciones acompaadas de apuntes preparados por el profesor. Prcticas en sala de cmputo con lenguaje Java CRITERIOS DE DESEMPEO III Resolucin de problemas

RECURSOS REQUERIDOS Libros de texto, Apuntes del docente, Pizarrn, Proyector (de caon o transparencias). Computadora.

EVIDENCIAS DESEMPEO Desarrollo de programas haciendo uso de programacin en paralelo. PRODUCTOS Reporte de funcionamiento de los programas vistos en clase, con la siguiente estructura 1.- Introduccin

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

2.- Planteamiento del problema 3.- Esquema de solucin y recursos utilizados 4.- Algoritmos 5.- Pruebas realizadas 6.- Cdigo fuente 7.- Conclusiones Practicas de laboratorio

UNIDAD DE COMPETENCIA IV Comprender y aplicar tcnicas de diseo de programas en paralelo y distribuidos mediante la programacin de paso de mensajes

Conocimientos - Modelos de programacin en paralelo, paso de mensajes. - Programacin de paso de mensajes (MPI, PVM)

ELEMENTOS DE COMPETENCIA Habilidades Actitudes/ Valores - Tener la capacidad - Respetar al docente y a los para armar un compaeros mediante un cluster de 4 comportamiento socialmente aceptable computadoras como mnimo utilizando el Sistema Operativo Linux, Lenguaje C y las bibliotecas PVM y/o MPI. - Tener la capacidad para elaborar programas concurrentes utilizando PVM y/o MPI

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

ESTRATEGIAS DIDCTICAS: Presentaciones acompaadas de apuntes preparados por el profesor. Prcticas en sala de cmputo con software MPI, Java, lenguaje C CRITERIOS DE DESEMPEO IV

Prcticas de laboratorio

RECURSOS REQUERIDOS TIEMPO DESTINADO Libros de texto, Apuntes del docente, 18 horas Pizarrn, Proyector (de caon o transparencias). 4 computadoras como mnimo. EVIDENCIAS DESEMPEO PRODUCTOS Desarrollo de programas haciendo uso de Reporte de funcionamiento de los programacin en paralelo programas vistos en clase con la siguiente estructura: 1.- Introduccin 2.- Planteamiento del problema 3.- Esquema General de Solucin y Recursos Utilizados 4.- Algoritmos 5.- Pruebas realizadas 6.- Cdigo fuente 7.- Conclusiones ELEMENTOS DE COMPETENCIA Habilidades Actitudes/ Valores Tener la capacidad de - Respetar al docente y a los resolver problemas compaeros mediante un mediante la tcnica de comportamiento socialmente aceptable diseo PCAM.

UNIDAD DE COMPETENCIA V

Conocimientos Comprender y aplicar tcnicas Explorar la intuicin de diseo de algoritmos usada en crear un paralelos y distribuidos. algoritmo paralelo disendolo mediante la tcnica PCAM (Particin, comunicacin,

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

aglomeracin y mapeo) ESTRATEGIAS DIDCTICAS: RECURSOS REQUERIDOS Presentaciones acompaadas de apuntes Libros de texto, Apuntes del docente, preparados por el profesor. Pizarrn, Proyector (de caon o transparencias). CRITERIOS DE DESEMPEO V Resolucin de problemas

TIEMPO DESTINADO 15 horas

EVIDENCIAS DESEMPEO Resolver problemas mediante la tcnica de diseo PCAM PRODUCTOS Diseo de algoritmos Examen escrito

XII. EVALUACIN Y ACREDITACIN Evaluacin Para obtener la calificacin se considerar:    


Evaluacin ordinaria Examen acumulativo 2 Proyectos Parciales

exmenes parciales escritos (se considera la posibilidad de exmenes rpidos o sorpresa) Tareas de investigacin Practicas Proyectos de aplicacin
30 % 70 %

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

Evaluacin extraordinaria
Examen acumulativo Proyecto final 50 % 50 %

Evaluacin a ttulo de suficiencia


Examen acumulativo Proyecto final 50 % 50 %

Acreditacin:
1. Cumplir con el 80% de asistencia al curso terico y 100% en la entrega de tareas 2. Contar con una calificacin aprobatoria tonto el la parte prctica (proyectos), como en la terica (examen). Las tareas y los exmenes deben desarrollarse en forma individual, mientras que los programas y el proyecto sern en equipo de entre dos y cuatro participantes. Las Tareas deben incluir un resumen del tema, una lista de aquello que no haya quedado claro con relacin al tema, y referencias bibliogrficas o de Internet. Los programas (que constituyen la parte prctica del curso) deben incluir el cdigo fuente, en el que se mencionen los nombres de los miembros del equipo, y un reporte de la prctica. Se pueden entregar en CD o bien enviar por correo electrnico.

Universidad Autnoma del Estado de Mxico


Secretaria de Docencia Coordinacin General de Estudios Superiores Programa Institucional de Innovacin Curricular

XIII. REFERENCIAS

1. Loshin, David. High Performance Computing Demystified Ed. AP Professional (1994) ISBN 0124558259 2. Casavnat, Thomas; Tvrdik, Pavel Parallel Computers: Theory And Practice (1998) C.A. ISBN 0818651628, IEEE. 3. Notas del Curso MPI. 4. Guoliang Chen. Parallel Computing . University of Science and Technology of China. 2003. 5. Grama, Ananth, Ansshul Gupta, George Karypis y Vipin Kumar. Introduction to Parallel Computing. ADDISON-WESLEY. 2003. 6. Quinn, Michael J. Parallel Computing: Theory and Practice. McGRAW-HILL. 1994. 7. Foster, Ian. Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. ADDISONWESLEY. 1995.