elementos de procesamiento ordenados de tal manera que la salida de cada elemento es la entrada del siguiente.
La arquitectura en pipeline consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior, con almacenamiento temporal de datos o buffering entre los procesos.
El pipeline es comn verlo en sistemas operativos multitarea ya que ejecutan una serie de procesos de manera simultnea, los cuales son ejecutados luego de manera secuencial mediante una administrador de tareas dndoles diferente prioridad y capacidad de procesamiento, alternando entre este sistema ("pipeline) y los dems. 1. Pipelines grficos, se encuentran en la mayora de las tarjetas grficas, el cual consiste en mltiples unidades aritmticas o CPU completas, el cual implementan variados escenarios de operaciones tpicas , por ejemplo, clculos de luz y colores, la proyeccin de perspectiva, etc.
2. Pipelines de software o tuberas, consiste en mltiples procesos ordenados de tal forma que el flujo de salida de un proceso alimenta la entrada del siguiente proceso. Por ejemplo, los pipelines de Unix(permite conectar procesos, permitiendo que la salida estndar de un proceso de alimentacin sea la entrada estndar de otro proceso).
Basada en dos conceptos:
Corrientes de instrucciones Corrientes de datos
Las cuatro clasificaciones definidas por Flynn se basan en el nmero de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura:
Computador secuencial de Von Neumann. Tiene un flujo de instrucciones, uno de datos y realiza una operacin a la vez Ejemplos de arquitecturas SISD son las mquinas con uni-procesador o monoprocesador tradicionales como los antiguos mainframe (Computadora central) De instruccin nica para Datos mltiples Las mquinas SIMD tienen varias ALU para llevar a cabo una instruccin con diferentes conjuntos de datos en forma simultnea. El tipo de memoria que estos sistemas utilizan es distribuida.
Mltiples Instrucciones operando sobre los mismos datos. Secuencias de instrucciones pasan a travs de mltiples procesadores. Mltiples instrucciones - Mltiples Datos Este tipo de computadora es paralela al igual que las SIMD, la diferencia con estos sistemas es que MIMD es asncrono. No tiene un reloj central. 7.3 Arreglos de Procesadores Cada procesador sigue el mismo conjunto de instrucciones; diferentes elementos de informacin son asignados a cada procesador. Utilizan memoria distribuida. Tpicamente tienen miles procesadores simples. Las computadoras SIMD tienen una sola unidad de control y mltiples unidades funcionales. La unidad de control se encarga de enviar la misma instruccin a todas las unidades funcionales. Cada unidad funcional trabaja sobre datos diferentes. Estos equipos son de propsito especfico, es decir, son apropiados para ciertas aplicaciones particulares, como por ejemplo el procesamiento de imgenes. Existe controversia acerca de si realmente existen equipos de tipo MISD. Hay quienes argumentan que estos equipos no existen. Otras personas consideran que un grupo de equipos que trabaja sobre un solo dato se puede considerar como un sistema de tipo MISD.
INSTRUCCION PROCESADOR 1 PROCESADOR 2 PROCESADOR 3 7.4 Procesadores Vectoriales Un procesador vectorial es un diseo de CPU capaz de ejecutar operaciones matemticas sobre mltiples datos de forma simultnea, en contraste con los procesadores escalares, capaces de manejar slo un dato cada vez. Los procesadores vectoriales proporcionan operaciones de alto nivel que trabajan sobre vectores. Los procesadores vectoriales son muy comunes en el rea de la computacin cientfica, que demandan velocidades de computo elevadas. En aplicaciones tales como: la prediccin meteorolgica, terremotos y dinmica de fluidos en general. Las consolas de videojuegos Las tarjetas graficas hacen un uso intensivo de este tipo de procesamiento. El numero de instrucciones a ser ejecutadas se reduce dramticamente, dado que una sola instruccin vectorial representa un gran numero de operaciones aritmticas. Esto reduce el trafico de memoria. No hay retraso en la memoria por la espera de un operando vectorial ya que se encuentra completamente en un registro vectorial.
Es una computadora que cuenta con dos o ms microprocesadores (CPUs). Gracias a esto, el multiprocesador puede ejecutar simultneamente varias tareas a la vez. Los ordenadores multiprocesador presentan problemas de diseo que no se encuentran en ordenadores con monoprocesador. Estos problemas surgen del hecho de que dos programas pueden ejecutarse simultneamente y pueden interferirse entre s. Existen 2 arquitecturas que resuelven estos problemas: La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria. La arquitectura SMP, donde todos los procesadores comparten toda la memoria. Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseado para ello. La mayora de los sistemas operativos actuales poseen esta capacidad.
Estos consisten en un conjunto de procesadores y bancos de memoria que se conectan a travs de una red de interconexin con una determinada topologa de red. Tambin son los sistemas formados a partir de un grupo de ordenadores, habitualmente con las mismas capacidades y caractersticas de rendimiento. De esta manera, las tareas se pueden distribuir entre los diferentes ordenadores que integran el grupo y hacer el trabajo ms rpido. Un cluster es un tipo de sistemas de procesamiento paralelo o distribuido que consiste en una coleccin de computadores completos interconectados que trabajan de forma cooperativa como un recurso computacional integrado nico
Un clster es un grupo de mltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un nico ordenador, ms potente que los comunes de escritorio. Los clsteres son usualmente empleados para mejorar el rendimiento y/o la disponibilidad por encima de la que es provista por un solo computador tpicamente siendo ms econmico que computadores individuales de rapidez y disponibilidad comparables.
Las aplicaciones paralelas escalables requieren: buen rendimiento, baja latencia, comunicaciones que dispongan de gran ancho de banda, redes escalables y acceso rpido a archivos. Un clster puede satisfacer estos requisitos usando los recursos que tiene asociados a l. Los clsteres ofrecen las siguientes caractersticas a un costo relativamente bajo: Alto rendimiento Alta disponibilidad Alta eficiencia Escalabilidad
HPCC (High Performance Computing Clusters: clsteres de alto rendimiento). HA o HACC (High Availability Computing Clusters: clsteres de alta disponibilidad). HT o HTCC (High Throughput Computing Clusters: clsteres de alta eficiencia).
Alto rendimiento: se ejecutan tareas que requieren de gran capacidad computacional, grandes cantidades de memoria, o ambos a la vez. El llevar a cabo estas tareas puede comprometer los recursos del clster por largos periodos de tiempo. Alta disponibilidad: Su objetivo de diseo es el de proveer disponibilidad y confiabilidad. Estos clsteres tratan de brindar la mxima disponibilidad de los servicios que ofrecen. La confiabilidad se provee mediante software que detecta fallos y permite recuperarse frente a los mismos, mientras que en hardware se evita tener un nico punto de fallos. Alta eficiencia: Su objetivo de diseo es el ejecutar la mayor cantidad de tareas en el menor tiempo posible. Existe independencia de datos entre las tareas individuales. El retardo entre los nodos del clster no es considerado un gran problema.
Un clster necesita de varios componentes de software y hardware para poder funcionar: nodos almacenamiento sistemas operativos conexiones de red protocolos de comunicacin y servicios aplicaciones ambientes de programacin paralela