ProgramacionParalelaYDistribuida

14
 Universidad Autónoma del Estado de México Secretaria de Docencia Dirección de Estudios Profesionales Coordinación de Desarrollo Curricular  Programa de Estudios por Co mpetencias Programación Paralela y Distribuida I. IDENTIFICACIÓN DEL CURSO ORGANISMO ACADÉMICO: Facultad de Ingeniería de la Universidad Autónoma del Estado de México (UAEMex)  Programa Educativo: Ingeniería en Computación Área de docencia: Programación e ingeniería de software Aprobación por los H.H. Consejos Académico y de Gobierno Fecha: 24 FEBRERO 2006  Programa elaborado por: Ing. Luis Enrique Ledezma Fuentes, Ing. Elfego Gutiérrez Ocampo Fecha de elaboración : 21-Febrero-2006 Clave Horas de teoría Horas de práctica Total de horas Créditos Tipo de Unidad de Aprendizaje Carácter de la Unidad de Aprendizaje Núcleo de formación Modalidad L41057 2 2.5 4.5 8 Curso y laboratorio Obligatoria Sustantivo Presencial Prerrequisitos ( Conocimientos Previos): Programación Avanzada, Estructuras de Datos, Lenguaje C, Java, Análisis y Diseño de Algoritmos  Unidad de Aprendizaje Antecedente Ninguna Unidad de Aprendizaje Consecuente Ninguna Programas educativos en los que se imparte: Licenciatura en Computación (Facultad de Ingeniería, UAP Atlacomulco, Ecatepec, Texcoco, Valle de Chalco, Valle de México, Valle de Teotihuacan y Zumpango)

Transcript of ProgramacionParalelaYDistribuida

Page 1: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 1/14

 

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaDirección de Estudios ProfesionalesCoordinación de Desarrollo Curricular  

Programa de Estudios por Competencias

Programación Paralela y DistribuidaI. IDENTIFICACIÓN DEL CURSO

ORGANISMO ACADÉMICO: Facultad de Ingeniería de la Universidad Autónoma del Estado de México (UAEMex) 

Programa Educativo: Ingeniería en Computación  Área de docencia: Programación e ingeniería de software

Aprobación por los H.H. ConsejosAcadémico y de Gobierno

Fecha:24 FEBRERO 2006 

Programa elaborado por: Ing. Luis Enrique

Ledezma Fuentes, Ing. Elfego GutiérrezOcampo 

Fecha de elaboración :21-Febrero-2006

Clave Horas de teoríaHoras depráctica 

Totalde

horasCréditos 

Tipo deUnidad de

Aprendizaje

Carácter dela Unidad deAprendizaje

Núcleo deformación

Modalidad

L41057 2 2.5 4.5 8 Curso ylaboratorio

Obligatoria Sustantivo Presencial

Prerrequisitos( Conocimientos Previos): Programación Avanzada, Estructuras de

Datos, Lenguaje C, Java, Análisis y Diseño de Algoritmos 

Unidad de AprendizajeAntecedente

Ninguna

Unidad de AprendizajeConsecuente

NingunaProgramas educativos en los que se imparte: Licenciatura en Computación (Facultad de Ingeniería, UAP Atlacomulco, Ecatepec,Texcoco, Valle de Chalco, Valle de México, Valle de Teotihuacan y Zumpango)

Page 2: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 2/14

 

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaDirección de Estudios ProfesionalesCoordinación de Desarrollo Curricular  

II. PRESENTACIÓNDe manera general, la computación en paralelo comprende arquitecturas de computadoras paralelas, algoritmos paralelos yprogramación 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 acreditación de Programas de Informática y Computación.

La estructura planteada consta de seis unidades de competencia. La primera estudia las bases del cómputo paralelo en general, comonecesidades de máquinas de alto rendimiento, conceptos generales, taxonómicas de arquitecturas (SIMD, MIMD, SISD, MISD), lasunidades funcionales del pipeline, topologías de redes de conexión y mediciones de rendimiento. La segunda se centra en el estudio delos 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 diseños de algoritmos computacionales en paralelo.La cuarta seenfoca al software de soporte y modelos de programación en paralelo, la quinta a sistemas y algoritmos distribuidos y la sexta adesarrollo e implementación de programas de en paralelo haciendo uso de las técnicas vistas.

Se recomienda que el alumno practique su programación ya sea en lenguaje C ó en java.

La evaluación debe considerar tanto la parte teórica como la práctica, y se marcan como conocimientos mínimos indispensables lossiguientes: arquitectura paralela de computadoras, estrategias de diseño de algoritmos paralelos, estrategia de acceso en memoria,resolución de un problema haciendo uso de programación en paralelo, entendiéndose como mínimos indispensables aquellos que soncondición sin que son para poder aprobar la asignatura. Aún cuando el alumno superase por puntuación el límite de aprobado no seconcederá el mismo si no demuestra pericia en los tópicos marcados como mínimos indispensables.

Page 3: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 3/14

 

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaDirección de Estudios ProfesionalesCoordinación de Desarrollo Curricular  

III. LINEAMIENTOS DE LA UNIDAD DE APRENDIZAJE

DOCENTE DISCENTE- Realizar el encuadre del curso- Asistir puntualmente a las clases o justificar la ausencia

por adelantado (asistencia a conferencias, etc«)

- Asesorar a los alumnos y resolver sus dudas,preferiblemente en horario marcado de tutoría.- Evaluar la unidad de aprendizaje- Evaluar y Calificar a los alumnos.- Preparar el material didáctico para las clases y

prácticas.

- Realizar las evaluaciones que se establezcan.- Mantener unas pautas de comportamiento socialmente

aceptables cuando se encuentre en clases y laboratorio.

- Cuando se requiera, entregar a tiempo y forma lostrabajos requeridos.

IV. PROPÓSITO DE LA UNIDAD DE APRENDIZAJE

Encuadrado en el Plan F2 por Competencias de la UAEMex, presentar al alumno con la tecnología de vanguardia en el diseño dealgoritmos y programación en paralelo haciendo uso de un mínimo de 4 computadoras con vistas a capacitar al estudiante a su egreso enel análisis, diseño, desarrollo y construcción de sistemas de resolución de problemas de gran envergadura en donde se requiera el uso

de arquitecturas paralelas o sistemas distribuidos.

 

Page 4: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 4/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaDirección de Estudios ProfesionalesCoordinación de Desarrollo Curricular  

V. COMPETENCIAS GENÉRICAS

- Analizar y diseñar algoritmos y programas haciendo uso de técnicas de programación en paralelo aplicables a la tecnologíacomputacional.

- Analizar y diseñar proyectos donde se requiera programación en paralelo y distribuida- Comunicarse con expertos de otras áreas- Utilizar eficazmente computadoras con 2 o más 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 solución de problemas- Aplicar los conocimientos en la práctica- Conocer la temática básica de la profesión que desempeña en la práctica

- Especificar arquitecturas de computadoras de arquitectura paralelas o sistemas distribuidos.- Diseñar, desarrollar y dar mantenimiento a sistemas paralelos o distribuidos- Conocer la temática básica sobre programación paralela y distribuida.

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

 

Page 5: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 5/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaDirección de Estudios ProfesionalesCoordinación de Desarrollo Curricular  

VI. ÁMBITOS DE DESEMPEÑO PROFESIONAL

- Analista y diseñador de programas de cómputo y sistemas de resolución a problemas de excesiva carga computacional mediantetécnicas de programación paralela y distribuida.

- Investigación de nuevas técnicas de programación paralelizada- Docencia a cualquier nivel de aprendizaje escolarizado

VII. ESCENARIOS DE APRENDIZAJE

 Aula, Sala de Cómputo (MPI, PVM, Java, C) 

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

Entrenamiento y complejidad creciente

 

Page 6: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 6/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

IX. ESTRUCTURA DE LA UNIDAD DE APRENDIZAJE

1. Dar a conocer las bases del cómputo paralelo en general.2. Dar a conocer las distintas formas de conectar procesadores con procesadores, procesadores con memoria (taxonomías), así

como las medidas de desempeño.3. Comprender y aplicar técnicas de diseño de programas en paralelo y distribuidos mediante el modelo PRAM.

4. Comprender y aplicar técnicas de diseño de programas en paralelo y distribuidos mediante el modelo de paso de mensajes.5. Comprender y aplicar técnicas de diseño de algoritmos paralelos y distribuidos.

X.- SECUENCIA DIDÁCTICA

2

1

3 4 5

 

Page 7: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 7/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

XI. DESARROLLO DE LA UNIDAD DE APRENDIZAJE

UNIDAD DE COMPETENCIA IELEMENTOS DE COMPETENCIA

Conocimientos Habilidades Actitudes/ Valores

Dar a conocer las bases del

cómputo paralelo en general

Conceptos generales.Constitución de una

computadora paralela.Modelos dearquitectura (MIMD,SIMD, SISD, MISD),Cómputo Paralelo,Programación enParalelo, MemoriaCompartida y

Distribuida, Redes deInterconexión,Paradigmas de laProgramación enparalelo.

- Comprender qué esel paralelismo, cómo

se logra yaplicaciones

-Cumplir con las actividades asignadas- Respetar al docente y a los

compañeros mediante uncomportamiento socialmente aceptable

ESTRATEGIAS DIDÁCTICAS:Presentaciones acompañadas de apuntespreparados por el profesor 

RECURSOS REQUERIDOSLibros de texto, Apuntes del docente,Pizarrón, Proyector (de cañon otransparencias) 

TIEMPO DESTINADO8 horas

CRITERIOS DE DESEMPEÑO I EVIDENCIASDESEMPEÑO PRODUCTOS

Resolución de problemasEvaluación teórica de comprensión yentendimiento

Trabajos de investigación y examen escrito

 

Page 8: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 8/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

UNIDAD DE COMPETENCIA IIELEMENTOS DE COMPETENCIA

Conocimientos Habilidades Actitudes/ ValoresDar a conocer las distintas formasde conectar procesadores con

procesadores, procesadores conmemoria (taxonomías), así comolas medidas de desempeño.

Sistemas dearquitectura (SMP,

MPP, COW, DSM).Modelos de acceso amemoria (UMA,NUMA, COMA,NORMA).Ley de Amdahl, Ley deGustafson

- Comprender lasdiferentes

arquitecturasparalelas

- Analizar sistemas deacceso a memoriaavanzados para unacomputadoraparalela.

- Comprender distintas

estrategias deacceso a memoriapara lectura yescritura.

- Medir el rendimientode máquinas enparalelodependiendo de la

parte secuencial deun programa.

-Cumplir con las actividades asignadas-Desarrollar la capacidad analítica del

funcionamiento de una computadoracon arquitectura en paralelo- Respetar al docente y a loscompañeros mediante uncomportamiento socialmente aceptable

ESTRATEGIAS DIDÁCTICAS:Presentaciones acompañadas de apuntespreparados por el profesor 

RECURSOS REQUERIDOSLibros de texto, Apuntes del docente,Pizarrón, Proyector (de cañon otransparencias), Laboratorio de

TIEMPO DESTINADO9 horas

 

Page 9: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 9/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

computadoras. 

CRITERIOS DE DESEMPEÑO II EVIDENCIASDESEMPEÑO PRODUCTOS

Resolución de problemasEvaluación de arquitecturas paralelas,accesos de memoria y evaluación de

sistemas paralelos.

Trabajos de investigaciónExamen escrito

UNIDAD DE COMPETENCIA IIIELEMENTOS DE COMPETENCIA

Conocimientos Habilidades Actitudes/ ValoresComprender y aplicar técnicas de

diseño de programas en paraleloy distribuirlos mediante el modeloPRAM.

Modelo PRAM y sus

accesos a memoria:EREW, CREW,ERCW, CRCW

Tener la capacidad para

elaborar programasconcernientes utlizandoThreads en Java

- Respetar al docente y a los

compañeros mediante uncomportamiento socialmente aceptable

ESTRATEGIAS DIDÁCTICAS:Presentaciones acompañadas de apuntespreparados por el profesor.Prácticas en sala de cómputo con

lenguaje Java

RECURSOS REQUERIDOSLibros de texto, Apuntes del docente,Pizarrón, Proyector (de cañon otransparencias). Computadora. 

TIEMPO DESTINADO18 horas

CRITERIOS DE DESEMPEÑO III EVIDENCIASDESEMPEÑO PRODUCTOS

Resolución de problemas Desarrollo de programas haciendo uso deprogramación en paralelo.

Reporte de funcionamiento de losprogramas vistos en clase, con la siguienteestructura1.- Introducción

 

Page 10: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 10/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

2.- Planteamiento del problema3.- Esquema de solución y recursosutilizados4.- Algoritmos5.- Pruebas realizadas6.- Código fuente7.- Conclusiones

Practicas de laboratorio

UNIDAD DE COMPETENCIA IVELEMENTOS DE COMPETENCIA

Conocimientos Habilidades Actitudes/ ValoresComprender y aplicar técnicas de

diseño de programas en paraleloy distribuidos mediante laprogramación de paso demensajes

- Modelos de

programación enparalelo, paso demensajes.

- Programación depaso demensajes (MPI,PVM)

- Tener la capacidad

para armar uncluster de 4computadoras comomínimo utilizando elSistema OperativoLinux, Lenguaje C ylas bibliotecas PVMy/o MPI.

- Tener la capacidadpara elaborar programasconcurrentesutilizando PVM y/oMPI

- Respetar al docente y a los

compañeros mediante uncomportamiento socialmente aceptable

 

Page 11: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 11/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

ESTRATEGIAS DIDÁCTICAS:Presentaciones acompañadas de apuntespreparados por el profesor. Prácticas ensala de cómputo con software MPI, Java,lenguaje C

RECURSOS REQUERIDOSLibros de texto, Apuntes del docente,Pizarrón, Proyector (de cañon otransparencias). 4 computadoras comomínimo.

TIEMPO DESTINADO18 horas

CRITERIOS DE DESEMPEÑO IV EVIDENCIAS

DESEMPEÑO PRODUCTOS

Prácticas de laboratorioDesarrollo de programas haciendo uso deprogramación en paralelo

Reporte de funcionamiento de losprogramas vistos en clase con la siguienteestructura:1.- Introducción2.- Planteamiento del problema3.- Esquema General de Solución yRecursos Utilizados

4.- Algoritmos5.- Pruebas realizadas6.- Código fuente7.- Conclusiones

UNIDAD DE COMPETENCIA VELEMENTOS DE COMPETENCIA

Conocimientos Habilidades Actitudes/ Valores

Comprender y aplicar técnicasde diseño de algoritmosparalelos y distribuidos.

Explorar la intuiciónusada en crear unalgoritmo paralelodiseñándolo mediantela técnica PCAM(Partición,comunicación,

Tener la capacidad deresolver problemasmediante la técnica dediseño PCAM.

- Respetar al docente y a loscompañeros mediante uncomportamiento socialmente aceptable

 

Page 12: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 12/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

aglomeración ymapeo)

ESTRATEGIAS DIDÁCTICAS:Presentaciones acompañadas de apuntespreparados por el profesor.

RECURSOS REQUERIDOSLibros de texto, Apuntes del docente,Pizarrón, Proyector (de cañon otransparencias). 

TIEMPO DESTINADO15 horas

CRITERIOS DE DESEMPEÑO V EVIDENCIASDESEMPEÑO PRODUCTOS

Resolución de problemas Resolver problemas mediante la técnicade diseño PCAM

Diseño de algoritmosExamen escrito

XII. EVALUACIÓN Y ACREDITACIÓN

EvaluaciónPara obtener la calificación se considerará:

  exámenes parciales escritos (se considera la posibilidad de exámenes rápidos o sorpresa)  Tareas de investigación  Practicas  Proyectos de aplicación

Evaluación ordinariaExamen acumulativo 30 %2 Proyectos Parciales 70 %

 

Page 13: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 13/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación Curricular  

Evaluación extraordinaria 

Examen acumulativo 50 %Proyecto final 50 %

Evaluación a título de suficiencia 

Examen acumulativo 50 %

Proyecto final 50 %

 Acreditación:

1.  Cumplir con el 80% de asistencia al curso teórico y 100% en la entrega de tareas 2.  Contar con una calificación aprobatoria tonto el la parte práctica (proyectos), como en la teórica (examen).

Las tareas y los exámenes deben desarrollarse en forma individual, mientras que los programas y el proyecto serán 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 relación al tema, y referencias bibliográficas o de Internet.

Los programas (que constituyen la parte práctica del curso) deben incluir el código fuente, en el que se mencionen los nombres de los miembros del equipo, y unreporte de la práctica. Se pueden entregar en CD o bien enviar por correo electrónico.

 

Page 14: ProgramacionParalelaYDistribuida

5/7/2018 ProgramacionParalelaYDistribuida - slidepdf.com

http://slidepdf.com/reader/full/programacionparalelaydistribuida 14/14

 

Universidad Autónoma del Estado de México

Secretaria de DocenciaCoordinación General de Estudios SuperioresPrograma Institucional de Innovación 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. ³ I ntroduction 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´ . ADDISON-

WESLEY. 1995.