Introducción (Motivación y Historia). Programación paralela Consiste de programar en un lenguaje que permite al usuario a indicar la manera en que partes.

Slides:



Advertisements
Presentaciones similares
TEMA 1 Introducción a la Programación Concurrente
Advertisements

CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
1.3. PROGRAMACION PARALELA
Arquitectura de Computadores I PIPELINING. Pipelining Un pipeline es una serie de etapas, en donde en cada etapa se realiza una porción de una tarea.
Presentación:.
Ing. Enrique Meneses. Son las instrucciones detalladas que controlan el funcionamiento de un sistema de computación. Funciones: 1. Administrar los recursos.
Computación PROGRAMACIÓN.
El Diseño de Algoritmos Paralelos
INSTITUTO TECNOLOGICO DE MINATITLAN
Arquitectura de Computadores I
Temas Operaciones básicas Instalando el compilador
Clasificación de las Computadoras
Programación 1 Introducción
Introducción a la programación
Mejoras a las Máquinas Von Neumann
Conceptos Fundamentales
Tipos de Computadoras Deacuerdo a lo o que Procesan y su velocidad. Herramientas Computacionales 1 Instituto de Ciencias y Estudios Superiores de Tamaulipas.
Facultad de Ingeniería Manufactura Integrada Por Computador II
Introducción a la Computación Paralela Germán Larrazábal Departamento Computación, FACYT, Universidad de Carabobo, Venezuela
GENERACIONES DE LA COMPUTADORA
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
SOFTWARE DE PROGRAMACIÓN
Ingenieria de software
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
SISTEMAS OPERATIVOS INTRODUCCIÓN Definición de Sistema Operativo
COMPUTACION Jaca Las TIC Las Tecnologías de la Información y de las Comunicaciones (TIC) son una realidad presentes en la mayoría de los ámbitos.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (apunts de l’assignatura en format transparència) Beowulf Vs Clusters.
EL SISTEMA OPERATIVO.
Características de un sistema operativo
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
SISTEMAS OPERATIVOS.
Software, programas de computadoras. Son las instrucciones responsables de que el hardware (la máquina) realice su tarea. Como concepto general, el software.
INNOVACIONES DE LA INFORMATICA
Clasificación de las Computadoras
Informática- R.L.G.1 Computadora: Herramienta electromecánica que facilita diversas y muy variadas tareas dependiendo del programa que se utilice. Se caracteriza.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Prof. Gabriel Matonte Programación I Prof. Gabriel Matonte
Por: Cortina, Alejandra Santacruz, Karla Visoso, Sofía.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Universidad Politécnica de Tulancingo Catedrático Ing. Jorge Luis Neri Trejo Asignatura Ing. De Hardware III Tema Procesamiento Paralelo Presenta Verónica.
Generaciones de las computadoras
Computación Pero, ¿qué es una computadora?.
Generación de computadoras
Introducción a la computadora Aixa Yulieth Fernández Hidalgo.
Metodología de la programación
Tendencias Generales Dotación física Software lógica Más pequeño
La generación de las computadoras
Generación y clasificación de las pc
Cluster de Computadores de Alto Desempeño con Acceso Remoto
Rendimiento de la CPU y sus factores
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
Generación De Los PC y Clasificación
Sistemas de eventos discretos.
Construye en Power Point una línea del tiempo de máximo 10 diapositivas, sobre las generaciones de las computadoras.
LENGUAJES DE PROGRAMACIÓN 8.1 BREVE HISTORIA. Traducción-Ejecución Bajo nivel o 1º Nivel Se dice que el código binario es de "bajo nivel" o "primer nivel"
EL ORIGEN DE LAS COMPUTADORAS
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.
UNIDAD V Bibliotecas de Funciones L.I. & M.S.C. OSCAR RAMÍREZ CORTÉS PROGRAMACIÓN DE SISTEMAS.
Computadora Es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos.
LOS SISTEMAS DE INFORMACION COMPUTARIZADOS
Computadoras de Alto Rendimiento (HPC)
Generaciones de computadoras
Clasificación de las Computadoras
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
Especificación del Problema Partimos del hecho de un programador no puede resolver un problema que no entiende. Por esta razón, la primera etapa en todo.
TIPOS DE COMPUTADORAS.
INTRODUCCIÓN A LAS COMPUTADORAS Estudiante: Gabriela Rangel 10°AC
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.
Diana Perdomo Cortés..  Esta dividida funcionalmente en dos partes grandes: una que ordenaba y otra que ejecutaba las ordenes, era diferente a los otros.
Transcripción de la presentación:

Introducción (Motivación y Historia)

Programación paralela Consiste de programar en un lenguaje que permite al usuario a indicar la manera en que partes difenentes de una computación se pueden ejecutar concurrentemente mediante procesadores distintos.

Una computadora paralela Es un sistema de computadora(s) con multiplos procesadores en lo cual se puede llevar a cabo programmación paralela.

Computación en paralelo Es el uso de una computadora paralela para llevar a cabo programación paralela.

Computación Científica Las ciencias clasicas se caracterizan por experimentos y modelos. Las ciencias modernas se caracterizan por observaciones, teoría, experimentos y simulaciones numericas. Simulaciones numericas se usan en lugar de experimentos para economizar dinero y tiempo y, a veces, para circumvenir cuestiones éticas.

Grand Challenges Muchos problemas científicos importantes son tan complejos que las simulaciones numericas pueden requerer mucho tiempo y recursos computacionales. Se llaman estos problemas “grand challenges”.

Supercomputadoras Se usó este término por primera vez en 1976 para describir la Cray 1. Tenia un procesador Hoy en dia una supercomputadora quiere decir una “computadora paralela” con varios procesadores

La rápidez de supercomputadoras Se mide en “flops” (floating point operations per second) 1 megaflop = un millón flops 1 gigaflop = 1000 megaflops 1 teraflop = 1000 gigaflops 1 petaflop = 1000 teraflops

La supercomputadora mas rápida La Tianhe – 1A en el Centro Nacional de Supercomputadora en Tianhe, China - logra a 2.57 petaflops

Computadoras Paralelas Modernas Consiste de microprocesadores La tecnologia VLSI (“very large scale integration”) ha reducido el número de chips y asi ha reducido el costo y ha aumentendo confiabilidad (“reliability”).

El Cubo Cósmico La primera computadora construida de microprocesadores Constuida por Cal Tech en 1983 Consistía de 64 microprocesadores INTEL8086 Se ejecutaban programas con 5 hasta 10 megaflops

Computadoras Paralelas Comericials de las 80s y 90s nCUBE Connection machine MASPAR etc

Beowulf (El primer cluster) Construido por NASA en 1994 Construido de hardware disponible en el mercardo y de software gratis Consistia de 16 procesadores INTEL PX4 conectados por ethernet Usaba LINUX y compiladores GNU

Grafos de Dependencias Se usan para indentificar operaciones que se pueden llevar a cabo en paralelo. Es un grafo en lo cual cada vértice representa una tarea y hay una flecha de un vértice a otro si el segundo depende del resultado del primero

Tipos de Paralelismo Paralelismo de datos: Tareas independientes aplican la misma operación a elementos distintos de un conjunto de datos Ejemplo: for (i=0;i<100;i++) a[i]=b[i]+c[i];

Paralelismo Funcional Tareas independientes aplican operaciones distintas a elementos de datos distintos. Ejemplo: a=2; b=3; m=(a+b)/2; s=(a 2 +b 2 )/2; v=s-m 2

Pipelining Una computación “pipelined” es una computación que se divide en etapas. En todo momento cada etapa está trabajando en una parte de la computación. La salida de una etapa es la entrada a la próxima.

¿Como se programa una computadora paralela? Se puede extender un compilador para que se pueda detectar paralelismo en un programa secuencial.(e.g., funcional) Añadir una capa de lenguaje paralelo a un lenguaje secuencial existente. Crear un lenguaje paralelo nuevo(e.g. OCCAM) Extender un lenguaje existente para que el usuario pueda expresar paralelismo

Ejemplos de Lenguajes Extendidos High Performance FORTRAN, una extensión de FORTRAN 90. Contiene nuevos enunciados y directivas. C*, una extensión de C. Contiene nuevos tipos de datos MPI es una biblioteca de funciones que se puede usar con C, C++, o JAVA OpenMP