Prog.Paralela

Prog.Paralela - Programacin Paralela Importancia y Conceptos generales Tema en el que convergen conocimientos y habilidades de Arquitectura

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Programacin Paralela Importancia y Conceptos generales Tema en el que convergen conocimientos y habilidades de: Arquitectura computacional Sistemas operativos Anlisis de algoritmos Lenguajes de programacin Ing. Romn Martnez M. Histricamente relacionado con el Supercmputo, y por lo tanto, con la solucin de problemas cientficos grandes y complejos. Busca hacer ms eficiente la ejecucin de un proceso. Dependencia directa de la arquitectura fsica (hardware) de la computadora. Diseo de algoritmos dependientes de la computadora y el lenguaje de programacin. Ing. Romn Martnez M. Adems de las aplicaciones de supercmputo... Tendencia de los microprocesadores... Tendencia de clusters de computadoras... 2005 marca el inicio de las computadoras personales con ms de un procesador... Ing. Romn Martnez M. Aspectos que determinan la construccin de una computadora paralela: Cantidad de procesadores Red de interconexin entre los procesadores Forma de compartir la memoria Mecanismos para el control de flujos Dependiendo de estos aspectos, se desarrollan los programas que resuelven problemas, buscando aprovechar el paralelismo... Ing. Romn Martnez M. SISD (Single Instruction Single Data) Computadora de un procesador, secuenciales, con un flujo de instrucciones y un flujo de datos. Modelo de Von Newman. SIMD (Single Instruction Multiple Data) Mltiples procesadores que trabajan simultneamente con un slo conjunto de instrucciones que se aplican a diferentes datos. MIMD (Multiple Instruction Multiple Data) Mltiples procesadores, donde cada uno trabaja con un conjunto de instrucciones y de datos de manera asncrona. Ing. Romn Martnez M. ! " # PE-1 Datos a=b + c Instrucciones PE-2 Datos a=b+c a=b + c PE-3 Datos a=b + c Ing. Romn Martnez M. " " # PE-1 Instrucciones Datos PE-2 Instrucciones Datos A=B+C Y = Z + 0.15 IF ( ....) FOR .... Ing. Romn Martnez M. $ % Memoria compartida Espacio comn en donde todos los procesadores pueden leer y/o escribir datos. Cada procesador a su vez, tiene un espacio de memoria privado para sus necesidades. Memoria distribuda (arquitectura de paso de mensajes) Cada procesador tiene su propio espacio de memoria Ing. Romn Martnez M. " " # &" MEMORIA RED DE INTERCONEXIN PE1 Ing. PE2 PE3 PE4 Romn Martnez M. " " # &" ' RED DE INTERCONEXION PE1 M1 PE2 M2 PE3 M3 PE4 M4 Ing. Romn Martnez M. ( ) * Ing. Romn Martnez M. ( ) * Ing. Romn Martnez M. $ Enfoque sobre el algoritmo de solucin El algoritmo se plantea considerando los procesos a paralelizar. Enfoque sobre el lenguaje de programacin El lenguaje provee herramientas para paralelizar procesos. Como extensin del lenguaje Como lenguaje dedicado Enfoque sobre el traductor El proceso de traduccin optimiza el cdigo considerando la arquitectura paralela. Ing. Romn Martnez M. " Basada en Hilos (threads) con estados compartidos Memoria compartida, que tiene que ser controlada para tener exclusin mutua (por medio de semforos, monitores, etc.), cuidando problemas como deadlocks. Basada en paso de mensajes. Los procesos de comunican asincrnicamente y no hay memoria compartida. Ing. Romn Martnez M. " ) Ing. Romn Martnez M. ) Threads en C++, Java, C#. OpenMP Basado en el protocolo MPI (Message Passing Interface) Capa para lenguajes como C++ y Fortran que permite paralelizar ciclos. TPL Librera para C# Erlang Lenguaje funcional, concurrente y distribudo. Aplicaciones de Telecomunicaciones. Ing. Romn Martnez M. () Lectura de artculos para comentar en prxima sesin: Parallel computing on any desktop Hacia dnde van los lenguajes de programacin? Ing. Romn Martnez M. ...
View Full Document

This note was uploaded on 05/12/2010 for the course ITC TC2006 taught by Professor Conant during the Spring '10 term at ITESM.

Ask a homework question - tutors are online