Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.

Slides:



Advertisements
Presentaciones similares
INTELIGENCIA ARTIFICIAL
Advertisements

Tabla de Contenido Concurrencia.
1.3. PROGRAMACION PARALELA
LENGUAJES PARALELOS Chang y Smith (1990) clasificación:
II. ARQUITECTURAS PARALELAS
Dr. Joseabel Cegarra Núcleo LUZ-COL
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Sistema operativo Componentes de un sistema operativo
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
SISTEMAS OPERATIVOS Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas de usuario.
Ing. Enrique Meneses. Son las instrucciones detalladas que controlan el funcionamiento de un sistema de computación. Funciones: 1. Administrar los recursos.
INSTITUTO TECNOLOGICO DE MINATITLAN
Fecha: 11/09/13.  Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas formas.  La forma de interconectarlas entre sí. 
Introducción a la Programación
Profesor: Ing. Matías Vallerga Ayudante: Lic. Cristian Kenny
Conceptos de Concurrencia
Ingeniería del Software
SISTEMAS OPERATIVOS.
Universidad Centroamericana
Introducción a los SSOO Sebastián Sánchez Prieto.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Análisis y Diseño de Algoritmos
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Unidad III Administración de procesos
Procesamiento paralelo
Arquitectura de una aplicación
Communicating Sequential Processes Presentación realizada por : Alberto Calixto Simon Ivan Olmos Pineda.
Inteligencia artificial
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
Inteligencia artificial
Sistemas en tiempo real (STR)
Programación de Memoria Compartida
SISTEMAS OPERATIVOS.
Página 1 09/01/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Software.
 Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas.
EL SISTEMA OPERATIVO.
Desarrollo de aplicaciones para ambientes distribuidos
Características de un sistema operativo
Overview de Sistemas Operativos
Introducción a los Sistemas Operativos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
SISTEMAS OPERATIVOS.
Sistemas Concurrentes: Conceptos fundamentales
Una computadora MIMD intrínseca implica interacciones entre n procesadores debido a que todos los flujos de memoria se derivan del mismo espacio de datos.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández TAXONOMÍA DE FLYNN.
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
ARQUITECTURAS PARALELAS
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de.
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.
Sistemas Distribuidos
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de.
1.1 Silberschatz, Galvin y Gagne ©2002 Sistems Operativos – 6ta. Edición Capítulo 1: Introducción ¿Qué es un sistema operativo? Sistemas Operativos por.
Universidad Politécnica de Tulancingo Catedrático Ing. Jorge Luis Neri Trejo Asignatura Ing. De Hardware III Tema Procesamiento Paralelo Presenta Verónica.
Estructura de los Sistemas Operativos
INTRODUCCION A SISTEMAS OPERATIVOS
Unidad 2 – Gestión de Procesos
Por: Mario Felaco Mercedes Martinez Sistemas Operativos III Ene-Mar 2007.
Lenguajes de Programación
ARQUICTECTURA DE SERVIDORES
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.
UTFSM - Sistemas Operativos
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Aspectos de diseñó de los lenguajes de programación
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
HISTORIA DE LOS LENGUJAES DE PROGRAMACIÓN HARDWARE: Computadoras primivas en programación MÉTODOS: Subprogramas Estructuras de datos Posibilidad.
Transcripción de la presentació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 Networks. Butterfly Networks. Hypercube Netwoks. Cube-Connected Cycles Networks.

III. LENGUAJES Y COMPILADORES. Existen 5 modelos de programación para máquinas multiprocesadores, multicomputadoras y computadoras vectores/SIMD. Estos se basan en diferentes paradigmas de programación para explotar el paralelismo. Modelo I. Modelo de Variables Compartidas. Un programa es una colección de procesos, el paralelismo depende de cómo los IPCs son implantados. La programación paralela se centra alrededor de la especificación, creación, suspención, reactivación, migración, terminación y sincronización de procesos concurrentes que residen en el mismo o distinto procesador. Las variables compartidas se utilizan para la creación del acceso protegido a recursos, la multiprogramación, multiprocesamiento, multitarea, multihilo, en la partición, planificación, sincronización y la duplicidad.

Lenguajes y compiladores ... Modelo II. Paso de mensajes: Este modelo se basa en el paradigma del paso de mensajes (parámetros) a través de la red, estos mensajes pueden se instrucciones, datos, sincronización, señales de interrupción, etc. Este modelo de utilizan en máquinas donde no existe memoria compartida. El paso de mensajes puede utilizarse para lograr la computación paralela, existen tres tipos: Paso de mensajes Síncronos. Los procesos se ponen de acuerdo para lograr la computación paralela. Paso de mensajes Asíncronos. No existen ciclos de espera para recibir información se utilizan grandes buffers para almacenar los mensajes. Computación distribuida. Las multicomputadoras principalmente utilizan es paradigma, no existe memoria compartida pero a través del paso de mensajes se trata de simular. El modelo PRAM débilmente acoplado es utilizado para la computación distribuida.

Modelo III. Modelo de datos Paralelos: Lenguajes y compiladores ... Modelo III. Modelo de datos Paralelos: El paralelismo es explícitamente controlado por la sincronización del hardware y el control del flujo. Los lenguajes paralelos son modificados utilizando lenguajes estándares secuenciales (C*, Fortran 90, Ada, etc.). Los programas requieren del uso de conjuntos de datos predistribuidos. Generalmente este tipo de lenguajes proveen estructuras de datos que facilitan el intercambio de datos para realizar operaciones en paralelo. Los vectores representan a este modelo. La sincronización de operaciones en el paralelismo de datos, es realizada por el compilador. La sincronización del hardware es forzada por la unidad de control para ejecutar las operaciones. Las máquinas SIMD son las que más utilizan este modelo de programación.

Modelo IV. La Programación Orientada a Objetos: Lenguajes y compiladores ... Modelo IV. La Programación Orientada a Objetos: Los objetos son creados y manipulados en forma dinámica. El procesamiento se ejecuta por el envío de mensajes entre objetos. Modelos de programación concurrente son construidos sobre objetos de bajo nivel los cuales son; procesos, colas de mensajes y semáforos representados por objetos de alto nivel como monitores y módulos de programas. La POO Concurrente es popular debido a la fácil integración de estos en una GUI, a las facilidades que proveen los sistemas distribuidos y al creciente poder de computo de máquinas Supercomputadoras. El uso de la CPOO para herramientas CAD, CAD/CAM y CAD/CAE, hacen que este modelo sea muy atractivo. La COOP se basa en el modelo de actor; componentes de un sistema que se comunican con mensajes asíncronos. Pueden ser creados, enviar mensajes a otros actores y puede cambiar así mismo su función.

Modelo V. Modelos Funcionales y Lógicos: Lenguajes y compiladores ... Modelo V. Modelos Funcionales y Lógicos: Los lenguajes funcionales se utilizan para computación paralela basada en el flujo de datos. En un lenguaje funcional no existen los conceptos de almacenamiento, asignación y ramificación. Los resultados de una función se producen sin importar el orden de procesamiento. Esto ayuda al paralelismo basado en el flujo de datos. Los lenguajes más utilizados son; Lisp, SISAL y Strand 88. Los lenguajes lógicos se basan en el cálculo de predicados (Cláusulas de Horn). Este modelo permite el paralelismo en el proceso de inferencias donde se aplican las reglas. Las cláusulas de la programación lógica pueden pueden ser transformadas en diagramas de flujo de datos. Los lenguajes paralelos lógicos que existen son; Parlog, Concurrent Prolog entre otros. Ambos lenguajes son utilizados en inteligencia artificial y se consideran lenguajes de 5a. Generación.

LENGUAJES PARALELOS... Chang y Smith (1990) clasificaron los lenguajes paralelos en seis categorias de acuerdo a sus características. 1) Lenguajes con características de Optimización (convertir programas secuenciales en paralelos): Paralelizador Automático. Compilador FX Fortran. Paralelizador semiautomático (Directivas de paralelismo). DINO. Soporte para reestructuración Interactiva. MIMDizer. 2) Características de disponibilidad. Lenguajes que permiten generar códigos portables para una gran gama de máquinas paralelas: Escalabilidad. Lenguajes que son escalables en el número de procesadores. Compatibilidad. El lenguaje paralelo es compatible con un lenguaje secuencial. Portable. El lenguaje es portable a multiprocesadores con memoria coompartida, con paso de mensajes, o ambos. 3) Características de comunicación/sincronización: IPCs, mensajes Send/Receive, RPC, Barreras, semáforos, monitores, etc.

Continuación ... 4) Control del paralelismo. Características que permiten la construcción de controles para especificar paralelismo en varias formas: Grano fino, mediano o burdo. Nivel de paralelismo. Paralelismo implícito o explícito. Primitivas para indicar paralelismo. Paralelismo espacial. Paralelismo Global que no permite el independiente. Paralelismo en iteraciones. Ciclos, condiciones, etc. 5) Características del paralelismo de datos. Lenguajes utilizados para especificar como son accesados y distribuidos los datos en máquinas SIMD o MIMD: Descomposición automática. El usuario no interviene. Especificación de distribución. Soporte de procesadores virtuales. El compilador distribuye procesadores virtuales en forma dinámica o estática a procesadores reales. Acceso directo a datos compartidos. 6) Caracteríticas para el Control de procesos. Creación eficiente de procesos (Multitarea o multihílo).

Lenguaje de Transputers (OCCAM)..