Introducción a la Computación Paralela Germán Larrazábal Departamento Computación, FACYT, Universidad de Carabobo, Venezuela

Slides:



Advertisements
Presentaciones similares
Computadores de alta velocidad (la lista top500).
Advertisements

1.3. PROGRAMACION PARALELA
LENGUAJES PARALELOS Chang y Smith (1990) clasificación:
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
II. ARQUITECTURAS PARALELAS
Planificación de Monoprocesadores
III - Gestión de memoria
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Objetivos Desarrollar software funcional multi-modelo sobre distintas plataformas para el estudio de sistemas complejos de cómputo de alto rendimiento.
INTRODUCCIÓN A JAVA.
UNIDAD II: ALGORITMOS Y LENGUAJES
INSTITUTO TECNOLOGICO DE MINATITLAN
ELABORADO POR: INOCENCIA RAMOS. Que es un sistema operativo Es el software mas importante de un ordenador que realiza tareas básicas como: Conexión, reconocimiento,
TUTOR: ING. RAYNER DURANGO
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
PROGRAMACIÓN DE SISTEMAS DE MEMORIA COMPARTIDA (SMP):
SISTEMA OPERATIVO.
Introducción a la Computación (IC)
DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN UNIVERSIDAD NACIONAL DEL SUR Año 1º 2º 3º 4º 5º Programación Matemática Software Sistemas de Hardware.
Universidad Centroamericana
Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
Departamento de Computación, FACYT, Universidad de Carabobo
Análisis y Diseño de Algoritmos
Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda  Historia y Evolución  Que es MPI  Conceptos  Ventajas  Desventajas  Ejemplo  Conclusiones.
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Curso de Computación Científica en Clusters
Procesamiento paralelo
Introducción a la Programación. Lenguaje de Máquina.
Programación de Memoria Compartida
1 Paralelización del algoritmo de segmentación CM Martíno García Hernández UAM-I Noviembre 2007.
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Tipos de Paralelismo Paralelismo de datos: cada procesador ejecuta la misma tarea sobre diferentes conjuntos o subregiones de datos Paralelismo de tareas:
FUNDAMENTOS DE PROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Desarrollo de aplicaciones para ambientes distribuidos
SISTEMAS OPERATIVOS.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Integrantes: Castillo Flores, Karina Vásquez Suarez, Danilo
Arquitecturas Paralelas
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
ARQUITECTURAS PARALELAS
Lenguajes de programación Los procesos concurrentes pueden darse en un sistema de cómputo en los niveles de procesamiento siguientes: De trabajos De tareas.
Introducción a los SOs.
Agenda  Introducción  Relevamientos de tecnologías Objetivos de la fase de relevamiento de tecnologías Principales tecnologías disponibles -OpenMosix,
Sistemas Operativos Avanzados
SISTEMAS OPERATIVOS. Cómo trabaja un SO Qué es el SO El sistema operativo (SO) es el software del sistema destinados a la realización de algunas tareas.
Amoeba. Maestría en Sistemas Computacionales. Sistemas Operativos. Rodolfo González Garrido, Marzo, del 2008.
Cluster de Computadores de Alto Desempeño con Acceso Remoto
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
INSTALACIÓN Y ADMINISTRACIÓN DE REDES DE ÁREA LOCAL
Por: Mario Felaco Mercedes Martinez Sistemas Operativos III Ene-Mar 2007.
ARQUICTECTURA DE SERVIDORES
Bases de Datos II BASES DE DATOS DISTRIBUIDAS
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Actividad 20. Métodos de prueba en entornos especializados M.C. Juan Carlos Olivares Rojas Syllabus June, 2009.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
ORGANIZACIÓN DE COMPUTADORAS DRA. LETICIA FLORES PULIDO.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Introducción a los Sistemas Computacionales.  Camerina Laura Ramírez Gallegos ( ) khamme.wordpress.com (blog)  Al mandar algún.
Computadoras de Alto Rendimiento (HPC)
Introducción a los Sistemas Computacionales. Camerina Laura Ramírez Gallegos
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
SISTEMAS DISTRIBUIDOS II DESEMPEÑO. DESEMPEÑO Cuando se ejecuta una aplicación en un sistema distribuido no debe parecer peor que su ejecución en un único.
Instituto de Ciencias y Humanidades Tabasco. El software Coordinar el uso del hardware Coordinar el uso del hardware Ejercer el control Programas de aplicación.
SOFTWARE DE COMPUTADORAS
Transcripción de la presentación:

Introducción a la Computación Paralela Germán Larrazábal Departamento Computación, FACYT, Universidad de Carabobo, Venezuela

Introducción La Computación Paralela Moda Estrategia de Mercado Complicar el desarrollo de software !!REALIDAD¡¡

Operaciones y Tiempo años años 32 años 40 años 1.5 semanas 30 minutos Tiempo No. Operaciones LINPACK (10 4 x 10 4 )Aerodinámica (viento) Turbulencia (viento) Aerodinámica (avión) Turbulencia (avión) Combustión 1 Mflop 1 Gflop 1 Tflop

Antes de Paralelizar Evaluar la eficiencia del código secuencial Herramientas de Profiling –Perfex –SpeedShop –ssrun ( ejecución ideal ) Compilar con las opciones de optimización (-O3) –Desenrosque de bucles –software pipelining Ayudar al compilador escribiendo un código eficiente –localidad de datos –bucles

Paralelismo Qué es el paralelismo y dónde está? PARALELISMO: Posibilidad de ejecutar varias acciones simúltaneamente A nivel de programas A nivel de subrutinas A nivel de bucles A nivel de sentencias PARALELISMO GRANO GRUESO PARALELISMO GRANO FINO

Paralelismo ¿Qué es el software paralelo? Son programas que usan más de un procesador –Programación en Memoria Compartida: Explota el paralelismo de grano fino –Programación de Paso de Mensajes: Explota el paralelismo grano grueso

Paralelismo ¿Qué tipo de paralelismo? Memoria Compartida –Fácil programación. Paralelismo extraído por el compilador –Poca escalabilidad (O(10) procesadores) –Requiren un hardware más costoso Memoria Distribuida (Paso de Mensajes) –Programación compleja –Usualmente mayor aprovechamiento de la localidad –Alta escalabilidad –Alta portabilidad => Se puede ejecutar el código en plataformas hardware sencillas

Arquitecturas Paralelas P0P1 P n-1 MEMORIA P0 Memoria P1 Memoria Pn-1 Memoria Compartida Memoria Distribuida

Arquitecturas Paralelas Memoria Compartida-Distribuida Memoria P0P1P2P3 Memoria P0P1P2P3 Memoria P0P1P2P3 P0P1Pn-1

Paralelismo ¿Qué estrategia de programación seguir? OpenMP –Fácil programación a nivel de directivas HPF (High Performance Fortran) –Simple programación –Faltan directivas de distribución de datos realmente eficaces MPI (Message Passing Interface) –Algo más complejo de programar –Máxima flexibilidad

Paralelismo Problemas de la Paralelización Balanceo de Carga –Distribución de datos adecuada para TODAS las faces de la simulación Minimización de las comunicaciones –Mínimo número de mensajes –Mínima longitud de los mensajes –Optima distribución de las comunicaciones sobre la topología de la red de interconexión

Diseño de Algoritmos Paralelos Problema Partición Comunicación Agrupación Asignación