cómputo paralelo optativa.docx

Upload: edgar-torres

Post on 13-Oct-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

1. DATOS DE LA ASIGNATURA

Nombre de la asignatura:Cmputo Paralelo

CarreraIngeniera en Sistemas Computacionales

Clave de la asignatura:

SATCA1 2 3 - 5

2. PRESENTACIN

Caracterizacin de la asignatura.

La importancia de la materia radica en que aporta el perfil del egresado el conocimiento, la correcta seleccin y aplicacin de las diferentes arquitecturas de cmputo paralelo, los diferentes lenguajes de programacin que permitan la seleccin de los mismos con el fin de desarrollar soluciones eficientes.

Puesto que para llevar la materia es indispensable conocer la programacin estructurada, manejo de hijos (Threads), esta se encuentra ubicada para ser cursada de forma optativa en la especialidad, siendo estas materias pilares fundamentales en la programacin en paralelo.

Intencin didctica.

Esta materia est organizada en tres unidades. En ella, se distinguen claramente tres apartados, primero la introduccin al cmputo paralelo, el segundo arquitectura y herramientas de software y el tercero la programacin en paralelo.

Se inicia el curso con la introduccin a los conceptos del cmputo paralelo, como la arquitectura, diseo, depuracin y rendimiento.

La segunda unidad aborda los pasos Sistemas de arquitectura como los modelos de acceso a memoria, motivacin de Multi-core, caractersticas de Multi-core, caractersticas de paralelismo dentro de cada ncleo (SSEx), Memoria/Cache y herramientas de software.

La tercera unidad trata sobre lo hilos, modelos de programacin en paralelo, OpenMP, Cuda, Mpich, regiones paralelas, trabajo compartido, ambiente de datos y sincronizacin.

Los contenidos se abordarn de manera secuencial como lo marca el programa, buscando la aplicacin del conocimiento en un proyecto integrador que incorpore de manera progresiva los temas revisados en la materia; con un enfoque basado en actividades que promuevan en el estudiante el desarrollo de sus habilidades para trabajar en equipo y aplicar el conocimiento a la prctica.

El profesor adems de ser un motivador permanente en el proceso educativo, deber ser promotor y director de la enseanza a travs de la transmisin de su conocimiento, as como la aplicacin de sus habilidades y destrezas utilizando las herramientas tradicionales y digitales a su alcance para cautivar a sus estudiantes e interesarlos en el tema.

3. COMPETENCIAS A DESARROLLAR

Competencias especficas:

Identificar, seleccionar y aplicar los conocimientos y las habilidades de la programacin en paralelo y las arquitecturas de hardware del cmputo paralelo.

Competencias genricas:

Competencias instrumentales Capacidad de anlisis y sntesis. Capacidad de organizar y planificar. Comunicacin oral y escrita. Habilidad para buscar y analizar informacin proveniente de fuentes diversas. Solucin de problemas. Toma de decisiones.

Competencias interpersonales Capacidad crtica y autocrtica. Trabajo en equipo. Capacidad de comunicacin interdisciplinaria. Apreciacin de la diversidad y multiculturalidad. Compromiso tico.

Competencias sistmicas Capacidad de aplicar los conocimientos. Habilidades de investigacin. Capacidad de aprender. Capacidad de generar nuevas ideas. (creatividad) Liderazgo. Habilidad para trabajar en forma autnoma. Bsqueda del logro.

4. HISTORIA DEL PROGRAMA

Lugar y fecha de la elaboracin o revisinParticipantesObservaciones(cambios y justificacin)

Instituto Tecnolgico Superior de ChapalaAcademia de Ingeniera en Sistemas ComputacionalesActualizacin del programa de estudios.

5. OBJETIVOS(S) GENERAL(ES) DEL CURSO (competencias especficas a desarrollar en el curso)

Comprender las arquitecturas de computadoras paralelas, algoritmos paralelos y programacin en paralelo, aplicndolas en los entornos de hardware y software afines.

6. COMPETENCIAS PREVIAS

Aplicar la sintaxis de un lenguaje estructurado. Aplicar conocimientos matemticos. Aplicar conocimientos de sistemas operativos

7. TEMARIO

UnidadTemasSubtemas

1Introduccin1.1 Conceptos generales.1.2 constitucin de una computadora paralela1.3 Modelos de arquitectura (MIMD, SIMD, SISD, MISD).1.4 Conceptos de diseo.1.5 Conceptos de depuracin.1.6 Conceptos de rendimiento.

2Arquitectura y Herramientas de software2.1 Sistemas de arquitectura.2.2 Modelos de acceso a memoria.2.3 Multi-core.2.4 Caractersticas de Multi-core.2.5 Caractersticas de paralelismo dentro de cada ncleo (SSEx).2.6 Memoria/Cache.2.7 GPU y CPU.2.8 Herramientas de software.

3Programacin en paralelo3.1 Hilos.3.2 Modelos de programacin en paralelo.3.2.1 OpenMP.3.2.2 Cuda.3.2.3 Mpich.3.3 Regiones Paralelas.3.4 Trabajo compartido.3.5 Ambiente de datos.3.6 Sincronizacin.

8. SUGERENCIAS DIDCTICAS (desarrollo de competencias genricas)

El profesor debe:

Ser conocedor de la disciplina que est bajo su responsabilidad, conocer su origen y desarrollo histrico para considerar este conocimiento al abordar los temas. Desarrollar la capacidad para coordinar y trabajar en equipo; orientar el trabajo del estudiante y potenciar en l la autonoma, el trabajo cooperativo y la toma de decisiones. Mostrar flexibilidad en el seguimiento del proceso formativo y propiciar la interaccin entre los estudiantes. Tomar en cuenta el conocimiento de los estudiantes como punto de partida y como obstculo para la construccin de nuevos conocimientos. Propiciar actividades de metacognicin. Ante la ejecucin de una actividad, sealar o identificar el tipo de proceso intelectual que se realiz: una identificacin de patrones, un anlisis, una sntesis, la creacin de un heurstico, etc. Al principio lo har el profesor, luego ser el alumno quien lo identifique, como: reconocer el mecanismo natural de implementacin de listas; identificar las variantes para implementar pilas y colas. Propiciar actividades de bsqueda, seleccin y anlisis de informacin en distintas fuentes, como: buscar y contrastar definiciones de las estructuras de datos lineales y no lineales identificando puntos de coincidencia entre unas y otras definiciones e identificar cada estructura en situaciones concretas. Fomentar actividades grupales que propicien la comunicacin, el intercambio argumentado de ideas, la reflexin, la integracin y la colaboracin de y entre los estudiantes, como: presentar en equipo o plenaria los resultados de las soluciones a los problemas propuestos. Relacionar los contenidos de esta asignatura con las dems del plan de estudios a las que sta da soporte para desarrollar una visin interdisciplinaria en el estudiante, como: identificar las estructuras de datos, los casos en que se aplica las estructuras lineales y en cuales se aplican las no lineales; conocer cmo el sistema operativo requiere de las estructuras de datos en el manejo de los diferentes procesos; distinguir cuando aplicar los mtodos de ordenamiento y bsqueda en el manejo de los datos. Propiciar el desarrollo de capacidades intelectuales relacionadas con la lectura, la escritura y la expresin oral, como: redactar reportes sobre resultados obtenidos, as como la exposicin de las conclusiones, ante el grupo, obtenidas durante el desarrollo de la actividad. Propiciar el desarrollo de actividades intelectuales de induccin-deduccin y anlisis sntesis, que encaminen hacia la investigacin. Desarrollar actividades de aprendizaje que propicien la aplicacin de los conceptos, modelos y metodologas que se van aprendiendo en el desarrollo de la asignatura. Proponer problemas que permitan al estudiante la integracin de contenidos de la asignatura y entre distintas asignaturas, para su anlisis y solucin. Relacionar los contenidos de la asignatura con el uso responsable de los recursos del medio ambiente. Cuando los temas lo requieran, utilizar Tecnologas de Informacin y Comunicacin para una mejor comprensin del estudiante. Propiciar el uso de las nuevas tecnologas en el desarrollo de la asignatura (lenguajes de programacin orientados a objetos, procesador de texto, hoja de clculo, Internet, etc.). Promover actividades de educacin holstica, como promover valores personales y sociales a travs de actividades de crecimiento personal, asistencia social y el cuidado del medio ambiente. Definicin y diseo de rbricas.

9. SUGERENCIAS DE EVALUACIN

La evaluacin ser permanente, enfocada en los conocimientos, su aplicacin y la actitud mostrada por el estudiante. Se considerar el desempeo en cada una de las actividades de aprendizaje, haciendo especial nfasis en: Reportes escritos de los resultados u observaciones obtenidas durante las actividades realizadas en cada unidad acadmica, as como de las conclusiones obtenidas de dichas observaciones. Informacin recabada durante las consultas e investigaciones solicitadas, plasmadas en documentos escritos. Descripcin de otras experiencias concretas que se obtendrn al participar en discusiones, exposiciones o cualquier otro medio didctico-profesional que trate sobre la materia y que debern realizarse durante el curso acadmico. Exmenes terico-prcticos para comprobar la efectividad del estudiante en la comprensin de aspectos tericos y su aplicacin a la solucin de casos prcticos. Presentacin y exposicin de cada actividad de aprendizaje. Algunas se evaluarn por equipo. Integracin de rbricas en el Portafolio de evidencias

10. TEMAS DE APRENDIZAJEUnidad 1. IntroduccinCompetencia especfica a desarrollarActividades de aprendizaje

Conocer y aplicar los conceptos bsicos de la arquitectura y la tecnologa del cmputo paralelo. Buscar y seleccionar informacin sobre la arquitectura del cmputo paralelo. Buscar informacin sobre el diseo. Buscar informacin sobre la plataforma multi-core Realizar ejercicios sobre la arquitectura multi-core. Investigar y discutir en grupo las herramientas de software aplicadas al cmputo paralelo.

Unidad2. Arquitectura y Herramientas de softwareCompetencia especfica a desarrollarActividades de aprendizaje

Conocer y aplicar las arquitecturas del cmputo paralelo y aplicacin de las herramientas de software Buscar y seleccionar informacin sobre la arquitectura de hardware. Implementar ejercicios aplicando arquitectura de cmputo paralelo. Implementacin de algoritmos de segmentacin y discusin de resultados. Implementacin de algoritmos de caracterizacin de imgenes.

Unidad3. Programacin en paralelo.Competencia especfica a desarrollarActividades de aprendizaje

Conocer y aplicar los fundamentos de compresin de imgenes con perdida y sin perdida. Entender los conceptos de hilos y aplicarlos en ejercicios prcticos. Implementacin de algoritmos en paralelo con los modelos de programacin propuestos como openMP, CUDA y MPich. Implementacin de aplicaciones paralelas en un clster.

11. FUENTES DE INFORMACIN

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

Fuentes Electrnicas

Intel. (2012). Intel VTune amplifier. 2012, de Intel Sitio web: http://software.intel.com/en-us/intel-vtune-amplifier-xe OpenMP. (2012). OpenMP. 2013, de OpenMP Sitio web: http://openmp.org/wp/ NVIDIA. (2013). CUDA. 2013, de NVIDIA Sitio web: http://www.nvidia.com/object/cuda_home_new.html

12. PRCTICAS PROPUESTAS Implementacin de una arquitectura paralela. Implementacin de algoritmos paralelos con los modelos de programacin paralela. Desarrollo de un sistema aplicando el cmputo paralelo. Comprobacin de aplicaciones paralelas en un clster. Aplicaciones paralelas en dispositivos mviles. Aplicaciones paralelas en tarjetas grficas que utilizan GPU.