Introducción a los Sistemas Multiprocesadores

Documentos relacionados
Programación Concurrente y Paralela. Unidad 1 Introducción

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

MULTIPROCESADORES TIPOS DE PARALELISMO

Granularidad y latencia

Taxonomía de las arquitecturas

Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías:

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

Ejecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez.

Arquitectura de Computadoras. Clase 9 Procesamiento paralelo

Arquitectura de Computadoras para Ingeniería

EVOLUCIÓN DE LOS PROCESADORES

Memoria compartida simétrica

Evolución del software y su situación actual

Ingeniería en Computación

Fecha de entrega: Miércoles 4 de Septiembre. Campus: Villahermosa. Carrera : Ingeniería en Sistemas Compuacionales. Nombre del maestro: Carlos Castro

Bases de Datos Paralelas. Carlos A. Olarte BDII

Modelos de computadores paralelos

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

GRADO EN INGENIERÍA DE COMPUTADORES

Lusitania. Pensando en Paralelo. César Gómez Martín

Programación Concurrente

COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES

Cómputo Paralelo en Redes Locales de Computadoras

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

07 y 08 Sistemas distribuidos y paralelos y tarea 02

Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción

Principios de diseño de lenguajes

Tema 2.- Caracterización de la informática La informática como disciplina científica Sub-áreas de la disciplina.

6.1 Base De Datos Centralizada

ORGANIZACIÓN DE COMPUTADORAS DRA. LETICIA FLORES PULIDO

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Sistemas Operativos Distribuidos. Memoria compartida distribuida (DSM, Distributed Shared Memory)

Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial

Diseño de Sistemas Operativos. Capítulo 10 Introducción a los Sistemas Operativos Distribuidos

ESTRUCTURA DE COMPUTADORES GUÍA DOCENTE

Arquitectura de Computadores. E.P.S. Alcoi Curso

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

ESCUELA DE INGENIERIA Informática Y Sistemas

Taller de Programación Paralela

Arquitectura de Computadores (obligatoria)

TEMA 1. FUNDAMENTOS DE LA CONCURRENCIA

Tema V Generación de Código

Introducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero

Cuerpo de Profesores Técnicos de Formación Profesional

Introducción a los sistemas de Multiprocesamiento Prof. Gilberto Díaz

Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina

Sistemas Operativos. Gestión de E/S Discos. Dr. Wenceslao Palma

ALGORITMOS PARALELOS Tema 1: Introducción a la Computación Paralela

Asignaturas antecedentes y subsecuentes

Tema 1: PROCESADORES SEGMENTADOS

CDI Arquitecturas que soportan la concurrencia. granularidad

Taxonomía de Computadores Paralelos y Distribuidos

Sistemas Operativos Distribuidos

Programación en Entornos Paralelos: MPI

Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje

Modelos de Programación Paralela Prof. Gilberto Díaz

PAP - Programación y Arquitecturas Paralelas

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Programa Regular. Asignatura: Organización y Arquitectura de Computadoras.

6. Enumere tres ventajas de los ULT frente a los KLT.

Sistemas Operativos Tema 2: Estructura del computador José Miguel Santos Alexis Quesada Francisco Santana

Computación de Alta Performance Curso 2009 ARQUITECTURAS PARALELAS ARQUITECTURAS PARALELAS

Taller de Programación Paralela

CONCEPTO. Actúa de intermediario entre el hardware y los programas de aplicación.

Sistemas de Tiempo Real

I.T.S.C.S. Instituto tecnológico superior compu sur SYLLABUS DE ARQUITECTURA I REF: ARQUITECTURA DE HARDWARE

Clasificación de las Arquitecturas

INTRODUCCION A LA COMPUTACION PARALELA. 2nd Workshop: New Frontiers of Bioinformatics in Latin America Gridding Biology. Dr.

Duración (en horas) Evaluación de los aprendizajes

Introducción al Diseño de Compiladores. Año

ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS

Diseño arquitectónico 1ª edición (2002)

MINUTA: Taller en UAEMEX, Toluca. Construcción de Tecnología HPC

Programación I. Carrera: ECM Participantes Participantes de las academias de ingeniería electrónica de los Institutos Tecnológicos.

Caso Práctico. Título: Método y sistema para programar una llamada telefónica usando un sistema de mensajes cortos

CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS

Programación concurrente

Modelado de los computadores paralelos

Concurrencia y paralelismo

Concurrencia. Concurrencia

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERIA ELECTRÓNICA E INFORMÁTICA SÍLABO

PREPARATORIA OFICIAL NO. 82 JOSÉ REVUELTAS INFORMÁTICA & COMPUTACIÓN I UNIDAD II LAS TIC

Aspectos avanzados de arquitectura de computadoras Multiprocesadores (II) Facultad de Ingeniería - Universidad de la República Curso 2016

Paralelismo. MPI Paso de mensajes. Francisco García Sánchez Departamento de Informática y Sistemas

M. C. Felipe Santiago Espinosa

Arquitecturas de Computadoras II

TEMA 2: Organización de computadores

Ingeniería Informática

Concurrencia de Procesos

Sistemas Operativos Ricardo Sanz

Evaluación del rendimiento de Algoritmos Paralelos y/o Concurrentes

COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS

Nombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316

Computación Conociendo la herramienta de cálculo. La Computadora

Programación Distribuida y Tiempo Real

Procesamiento paralelo: Paralelismo en sistemas monoprocesadores Mecanismos de procesamiento en paralelo. Multiprogramación y Tiempo compartido.

Computación Paralela Móvil

Procesamiento Paralelo

Transcripción:

Introducción a los Sistemas Multiprocesadores Multiprocesadores estilo Von Neumann Modelos de Organización Modelos de Programación Clasificación de los Multiprocesadores Por qué Sistemas Multiprocesadores? Problemas y Retos 1

Multiprocesadores estilo Von Neumann Computador Von Neumann Memoria E/S Procesador Multiprocesador Von Neumann Memoria P1 Pn P2 P1 E/S 2

Otros Tipos de Multiprocesadores Multiprocesadores de Reducción Multiprocesadores de Flujo de Datos Redes Neuronales 3

Objetivos de un Multiprocesador Acelerar la ejecución de aplicaciones (orientados a speed-up) SUPERCOMPUTACION Ejecutar más aplicaciones por unidad de tiempo (orientados al throughput) 4

Modelos de Organización Multiprocesadores con Memoria Compartida Memoria Red de interconexión P1 P2 Pn La red de interconexión permite a cualquier procesador acceder a cualquier posición de memoria Términos equivalentes Multiprocesador con Memoria Global Multiprocesador Fuertemente Acoplado Multiprocesador 5

Modelos de Organización Multiprocesadores con Memoria Compartida Memoria Bus Común P1 P2 Pn Problema La red de interconexión representa un cuello de botella que impide que esta organización sea escalable 6

Modelos de Organización Multiprocesadores con Memoria Distribuida M1 M2 Mn P1 P2 Pn Red de Interconexión La red de interconexión permite a cualquier procesador comunicarse con cualquiera de los procesadores del sistema Términos Equivalentes Multiprocesador con Memoria Local Multiprocesador Débilmente Acoplado Multicomputador 7

Modelos de Organización Multiprocesadores con Memoria Distribuida M M M M P P P P La organización puede ser escalable en la medida en que los programas realicen comunicaciones locales 8

Modelos de Programación Programación Secuencial CODIGO SECUENCIAL FORTRAN COMPILADOR PARALELIZADOR CODIGO PARALELO Este es el modelo de programación ideal Sin embargo, la tecnología de compilación no permite todavía obtener un buen rendimiento de los sistemas multiprocesador (en particular, de los que tienen memoria distribuida) 9

Modelos de Programación Programación Secuencial + Librería de Rutinas Paralelas Estación de Trabajo Multiprocesador Código Fortran call MatMul Librería Paralela Limita el uso del sistema multiprocesador 10

Modelos de Programación El Modelo de Variables Compartidas a DATOS c a DATOS c b b a=2*b a=2*b sync sync c=2*a c=2*a TAREAs OPERACIONES Las operaciones se descomponen en tareas Los datos son compartidos por todas las tareas Se requieren primitivas de sincronización para: Señalización Acceso Exclusivo 11

Modelos de Programación El Modelo de Paso de Mensajes a DATOS c a DATOS c b b a=2*b a=2*b send(a) receive (a) c=2*a c=2*a proceso OPERACIONES Las operaciones Y LOS DATOS se descomponen en procesos Los procesos sólo tienen acceso directo a los datos privados (locales) Los datos no locales se acceden mediante intercambio de mensajes entre los procesos 12

Modelos de Programación El Modelo de Paso de Mensajes En el modelo de paso de mensajes, un programa paralelo se ve como un conjunto de procesos que se intercambian información a través de canales 13

Clasificación de los Multiprocesadores O R G A N IZ Memoria Compartida Variables Compartidas SMP (Symmetric Multiprocessors) Combinación natural Poco escalable Fácil de programar PROGRAMACIÓN Paso de Mensajes? Poco escalable Programación difícil A CI DSM Multicomputer Ó N Memoria Distribuida (Distributed Shared Memory) Programación fácil Escalable Implementación difícil Combinación natural Programación difícil Escalable 14

Por qué Sistemas Multiprocesadores? Está ampliamente aceptado que los sistemas multiprocesadores (en particular, los de memoria distribuida) representan uno de los caminos más razonables para seguir aumentando la potencia de cálculo de los computadores Problemas y Retos Hardware Buscar organizaciones del sistema que permitan al software obtener una fracción significativa de la velocidad máxima del sistema Aplicaciones y Algoritmos Identificar aplicaciones críticas que pueden beneficiarse del uso de los sistemas multiprocesadores Encontrar algoritmos paralelos eficientes para resolver los núcleos computacionales más habituales Herramientas Desarrollar herramientas (modelos de programación, compiladores, depuradores, monitorizadores de rendimiento, etc) que faciliten el uso del sistema 15