lunes, 13 de julio de 2009

SISTEMAS MULTIPROCESADORES

UNIVERSIDAD DE OCCIDENTE
Campus Culiacán
Maestro:
Lic. Amado Castaño Ibarra
Materia: Arquitectura de Computadoras
Grupo: E-2
Alumno: Galvez Caro Veronica
Matricula: 0640510

SISTEMAS MULTIPROCESADORES: Es una interconexión de dos o mas CPU con equipo de memoria y entrada-salida. El termino “procesador”, en multiprocesador, puede significar una unidad de procesamiento central (CPU) o un procesador de entrada-salida (IOP). Sin embardo, un sistema con una sola CPU y uno o mas IOP por lo general no se incluye en la definición de un sistema multiprocesador, a menos que los IOP tengan opciones computacionales comparables a una CPU como se define con mayor frecuencia, un sistema multiprocesador implica la existencia de múltiples CPU, aunque por lo general también habrá uno o mas IOP. Los multiprocesadores se clasifican como sistemas de flujo de instrucciones múltiple, flujo de datos múltiple (múltiple instruction stream, múltiple data stream, mimd).
Multiprocesadores se clasifican por la manera en que se organiza su memoria. Un sistema multiprocesador con memoria compartida común se clasifica como multiprocesador de memoria compartida. Esto no evita que cada procesador tenga su propia memoria local. De hecho, la mayoría de los procesadores de memoria compartida proporcionan una memoria cache con cada CPU. Además, hay una memoria común global que puede accesar todas las CPU. Por lo tanto, la información puede compartirse entre las CPU al colocarla en la memoria global común.

MULTIPROCESO:
Conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso.
El multiproceso para tareas generales es, a menudo, bastante difícil de conseguir debido a que puede haber varios programas manejando datos internos (conocido como estado o contexto) a la vez. Los programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de técnicas de programación incluyendo semáforos y otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de forma exclusiva ciertos valores.














MULTITAREA:
(Software que se subdivide en distintas tareas que pueden ser ejecutadas de forma simultánea. En realidad trata de una simultaneidad aparente, puesto que el microprocesador dedica a cada trabajo una fracción de segundo; algo, por otra parte, inapreciable para el ser humano. Los recursos y el tiempo pueden ser asignados de forma igualitaria o estableciendo correcciones según un orden de prioridades. La multitarea es una característica típica de sistemas como OS/2 o Unix.

Tipos de multitarea
Cooperativa
Los procesos de usuario son quienes ceden la CPU al sistema operativo a intervalos regulares. Muy problemática, puesto que si el proceso de usuario se interrumpe y no cede la CPU al sistema operativo, todo el sistema estará trabado, es decir, sin poder hacer nada. Da lugar también a latencias muy irregulares, y la imposibilidad de tener en cuenta este esquema en sistemas operativos de tiempo real.

Preferente El sistema operativo es el encargado de administrar el/los procesador(es), repartiendo el tiempo de uso de este entre los procesos que estén esperando para utilizarlo. Cada proceso utiliza el procesador durante cortos períodos de tiempo, pero el resultado final es prácticamente igual que si estuviesen ejecutándose al mismo tiempo. Ejemplos de sistemas de este tipo serían Unix y sus derivados (FreeBSD, GNU/Linux), VMS y derivados, AmigaOS, Windows NT.

Real Sólo se da en sistemas multiprocesador. Es aquella en la que varios procesos se ejecutan realmente al mismo tiempo, en distintos microprocesadores. Suele ser también preferente. Ejemplos de sistemas operativos con esa capacidad: variantes Unix, GNU/Linux, Windows NT, Mac OS X, etc.
En otras palabras
Los sistemas operativos multitarea son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente. En esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing).

MULTIHEBRA:
El concepto multihebra (”multithreading”) es de tipo lógico. Significa que un programa puede tener varias vías de ejecución que “pueden” ser independientes. Por ejemplo: Un procesador de texto puede tener una hebra que es utilizada por el usuario para escribir y otra, que a periodos de tiempo determinados, salva a disco el contenido de la memoria, obteniendo así una copia de seguridad. Según hemos visto, desde el punto de vista físico, lo que caracteriza a las diversas hebras de un proceso es que comparten ciertos recursos dentro del mismo; por ejemplo la memoria, los ficheros abiertos y las variables estáticas, mientras que mantienen independencia en los recursos que les permiten una ejecución independiente, por ejemplo su propia pila y el estado de los registros del procesador, que es salvado y restituido cada vez que la hebra es desactivada o activada.
Lo importante aquí es que desde un punto de vista lógico, las hebras corren de forma simultánea e independiente (lo que no impide que pueda existir cierta coordinación entre ellas, de forma que, por ejemplo, una puede esperar hasta que otra ha terminado cierto trabajo). Que esta “simultaneidad” sea o no real no es lo más importante. En cualquier caso, la percepción del usuario es que todas corren simultánea e independientemente.

PARALELISMO Y PROCESAMIENTO DE VECTOR
El paralelismo es una forma de computación en la cual varios calculos pueden realizarse simultaneamente, basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que son posteriormente solucionados en paralelo. Hay varios tipos diferentes de paralelismo: nivel de bit, nivel de instrucción, de datos, and de tarea. El paralelismo ha sido empleado durante muchos años, sobretodo para la Computación de alto rendimiento.
Desde el punto de vista de un programa de ordenador, un array (matriz o vector) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico un array se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). En principio, se puede considerar que todos los arrays son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez arrays (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de arrays multidimensionales, aunque los más fáciles de imaginar son los de una, dos y tres dimensiones.


El procesamiento paralelo puede considerarse de diversos niveles de complejidad. En el nivel mas bajo, distinguimos entre operaciones seriales y paralelas mediante el tipo de registros que utilizan. Los registros de corrimiento operan en forma serial un bit a la vez, mientras que los registros con carga paralela operan con todos los bits de la palabra en forma simultánea.

Procesadores vectoriales memoria a memoria
Otro tipo de procesadores vectoriales permite que las operaciones realizadas con vectores se alimenten directamente de datos procedentes de la memoria hasta los pipelines vectoriales y que los resultados se escriban directamente en la memoria. Este tipo de procesadores se conocen con el nombre de procesadores vectoriales memoria a memoria. Dado que los elementos del vector necesitan venir de la memoria en lugar de proceder de un registro, se requiere más tiempo para conseguir que la operación vectorial comience a realizarse. Esto es debido en parte al coste del acceso a la memoria. Un ejemplo de procesador vectorial memoria a memoria era el CDC Cyber 205.
Debido a la capacidad de superponer el acceso a la memoria y la posible reutilización de los vectores ya utilizados, los procesadores vectoriales de registro vectorial suelen ser más eficientes que los procesadores vectoriales memoria a memoria. Sin embargo, a medida que la longitud de los vectores utilizados para un cálculo se incrementa, esta diferencia en el rendimiento entre los dos tipos de arquitecturas tiende a desaparecer. De hecho, los procesadores vectoriales memoria a memoria pueden llegar a ser más eficientes si la longitud de los vectores es lo suficientemente grande. Sin embargo, la experiencia ha demostrado que la longitud de los vectores suele ser mucho más corta de la necesaria para que esta situación llegue a producirse.

COMPUTADORA CON MULTIPROCESADOR
Un sistema operativo multiproceso se refiere al numeró de procesadores del sistema, que es más de uno y este es capaz de usarlos todos para distribuir su carga de trabajo.

IBM xSeries 430
Maneja arquitectura Intel
Procesamiento SMP
Numero máximo de procesadores 64 y un minimo de 4
Memoria que puede manejar de 1 a 64 GB
SUN ENTERPRISE 10000
Solo funciona con UNIX
Numero maximo de procesadores 36
Memoria RAM de 500 GB
Procesameinto SMP


SUN FIRE 6800
Numero maximo de procesadores 24
Memoria RAM 192 GB


SUN ENTERPRISE ULTRA 10s

Numero maximo de procesadores 4
Memoria RAM 18.2 GB
Procesamiento SMP
Funciona con varios sistemas operativos

IBM DEEP BLUE
Deep Blue fue una computadora de IBM que jugaba al ajedrez. Su nombre se podría traducir al español como “Azul Oscuro” o “Azul Profundo”.
La segunda de las traducciones es más acertada, ya que se emplea un algoritmo de inteligencia artificial de la familia Minimax. La fuerza de juego de estos programas de juego automático es mayor cuanto mayor sea la profundidad (número de movimientos futuros) hasta la que llega la exploración, y por tanto mayor el número de nodos. De este modo, el nombre Deep Blue es un juego de palabras que relaciona el azul (color corporativo de IBM) con la gran profundidad de exploración gracias a la potencia de su hardware.
Deep Blue fue mejorando y jugó de nuevo contra Kasparov en mayo de 1997, ganando el encuentro a 6 partidas por 3′5-2′5, lo que lo convirtió en la primera computadora en derrotar a un campeón del mundo vigente, en un encuentro con ritmo de juego de torneo estándar. El encuentro concluyó el 11 de mayo. El sistema saca su fuerza de juego principalmente en la fuerza bruta que calcula el sistema central. Era una potencia paralela, de 30 nodos, RS/6000, SP-based el sistema informático realzado(mejorado) con 480 VLSI con el objetivo especial de jugar al ajedrez. Su programa de juego de ajedrez fue escrito en C y corrió bajo el sistema operativo AIX. Era capaz de calcular 200 millones de posiciones por segundo, dos veces más rápido que la versión de 1996. En junio de 1997, Deep Blue era el 259 superordenador más poderoso, capaz de calcular 11.38 gigaflops, aunque toda esta potencia no estaba pensada en realidad para jugar al ajedrez.

SUPERCOMPUTADORA CRAY
Cuenta con sus 216 procesadores AMD Opteron Dual Core 2.2Ghz, tiene un poder de procesamiento de 0.95 TFlops, capaz de realizar 950,000,000,000 operaciones en aritmética de punto flotante (sumas o multiplicaciones con números reales) en un segundo.
Este equipo también posee una capacidad de almacenamiento central de 4 Tbytes. Almacenamiento equivalente a 4,000,000,000,000 de caracteres.
La supercomputadora Cray XD1 combina sistemas avanzados de interconexión, administración y tecnología computacional reconfigurable que satisface de manera confiable las demandas de procesamiento de alto rendimiento. Diseñada para cumplir con los requerimientos de cómputo de alto rendimiento (HPC) en áreas que van del diseño de productos, a predicción del clima, e investigaciones científicas. La Cray XD1 es una poderosa herramienta para científicos e ingenieros que les permite simular y analizar problemas de mayor complejidad de forma rápida.
La Cray XD1 esta basada en la arquitectura de “Conexión Directa entre Procesadores (DCP)” lo que permite interconectar muchos procesadores como uno solo, optimizando las aplicaciones que hacen uso del envío de mensajes, enlazando un bloque de procesadores al siguiente a través de interconexiones (propietarias) de alto desempeño, eliminando la contención de la memoria compartida y de los cuellos de botella en los dispositivos PCI.
La Cray XD1 es un sistema modular cuya unidad base es el chasis. En un gabinete se pueden instalar hasta 12 chasis, integrando múltiples gabinetes es posible integrar cientos de procesadores en un único sistema.

CLASIFICACION Y CARACTERISTICAS DE MULTIPROCESADOR

Multiprocesador: es un unico computador que incluye multiples procesadoes.
Los procesadores se pueden comunicar y cooperar a diferentes niveles para resoslver un problema dado: esta comunicación se puede realizar:
* Enviando mensajes de un procesador a otro
* Compartiendo una memoria comun

Clasificación en función de la organizaciónde la memoria– Uniform Memory Access (UMA)– NonUuniform Memory Access (NUMA)– Message Passing Machines (MPM)• Emulación de Multiprocesadores• Mercado actual
La memoria es determinante en un sistemacon tanto ancho de banda de memoria(ABmem)– El ABmem de 1 sólo procesador es muy grande– La memoria puede servir para comunicarseentre los procesadores• UMA (Uniform Memory Access)– Espacio de direcciones de memoria compartido– Tiempo de acceso uniforme para toda dirección– Hardware bastante simple.– El cuello de botella es el acceso a memoriaprincipal, lo cual implica:• Grandes cachés en cada procesador• El número de procesadores no puede ser muyalto. Hoy en día N≤32
Las características del equipo son las siguientes:
HARDWARE

216 Procesadores AMD Opteron 275, x8664, 2.2 GHzz
216 Gbytes DDR 400 registered ECC de memoria RAM Total
4 Tbytes de almacenamiento principal
1 Tbyte de registros de memoria accesibles por procesador
Interconexion tipo Rapid Array Interconnect
1.7 µs Latencia MPI entre procesadores
Rendimiento Teórico Pico 0.95TFlops

FUENTES DE INFORMACION:

No hay comentarios:

Publicar un comentario