multiprocesadores

8
UNIVERSIDAD UNIVERSIDAD NACIONAL NACIONAL “DANIEL ALCIDES CARRIÓN” “DANIEL ALCIDES CARRIÓN” Multiprocesadores CURSO: PROCESAMIENTO PARALELO SEMESTRE: VI CERRO DE PASCO –2010

Upload: morris-star

Post on 19-Jun-2015

1.050 views

Category:

Documents


2 download

DESCRIPTION

Uploaded from Google Docs

TRANSCRIPT

Page 1: multiprocesadores

UNIVERSIDADUNIVERSIDAD NACIONAL NACIONAL

“DANIEL ALCIDES CARRIÓN”“DANIEL ALCIDES CARRIÓN”

Multiprocesadores

CURSO:

PROCESAMIENTO PARALELO

SEMESTRE: VI

CERRO DE PASCO –2010

Page 2: multiprocesadores

ARQUITECTURA DE MULTIPROCESADORES

HISTORIA

Inicialmente los CPU de ordenadores y superordenadores, funcionaban más lentos que

sus respectivas memorias; siendo superado su rendimiento en 1970. Desde ese entonces

las cpus debían esperar mientras los accesos a memoria eran completados. Algunos

ordenadores diseñados de 1980-1990 se centraban en proporcionar memoria de alta

velocidad en los accesos frente a los procesadores más rápidos, lo que les permitía

trabajar con grandes volúmenes de datos que otros sistemas no podían. Entre los

precursores de dicha tecnología tenemos adata general, con aviion y sequent computer

systems, actualmente parte de ibm, con la misma estrategia al mismo tiempo. El sistema

con nombre clave "manx" fue el primer esfuerzo, basado originalmente en hardware

Pentium y zenith, pero nunca se vendió en el mercado. Dentro de los equipos

desarrollados por data general podemos mencionar el servidor av/9500 de 16 CPU y su

sucesor el modelo av 1000 con 32 en 1995, y los av 20000 ("audubon") conectaba hasta

32 procesadores Pentium pro, y av 25000 ("audubon 2") hasta 64 Pentium ii, (luego

Pentium iii) xeons.

CONCEPTOS BÁSICOS

Limitar el número de accesos a memoria es la clave de un alto rendimiento en un

ordenador moderno. Para los procesadores esto significa el incremento de alta velocidad

de la memoria caché y el uso de algoritmos más sofisticados para evitar los errores de

caché. Aunque el drástico aumento del tamaño de los sistemas operativos y las

aplicaciones que se ejecutan en ellos han abrumado las mejoras del procesamiento de la

Page 3: multiprocesadores

caché. Los sistemas de multiprocesamiento hacen que el problema sea peor. Ahora el

sistema debe bloquear varios procesadores a la vez, porque solo un procesador puede

acceder a la memoria a la vez.

Numa intenta resolver este problema ofreciendo memoria distribuida para cada

procesador, evitando así que afecte al rendimiento del sistema cuando varios

procesadores intentan acceder a la misma memoria. Para los problemas de las

propagación de datos (comunes en servidores y aplicaciones similares), numa puede

mejorar el rendimiento utilizando una única memoria compartida por un factor de

aproximadamente el número de procesadores (o separando bancos de memoria).

ARQUITECTURA SMP

Es la sigla de symmetric multi-processing, multiproceso simétrico. Se trata de un tipo de

arquitectura de ordenadores en que dos o más procesadores comparten una única

memoria central.

La arquitectura smp (multi-procesamiento simétrico, también llamada uma, de uniform

memory access), se caracteriza por el hecho de que varios microprocesadores

comparten el acceso a la memoria. Todos los microprocesadores compiten en igualdad

de condiciones por dicho acceso, de ahí la denominación "simétrico".

Los sistemas smp permiten que cualquier procesador trabaje en cualquier tarea sin

importar su localización en memoria; con un propicio soporte del sistema operativo,

estos sistemas pueden mover fácilmente tareas entre los procesadores para garantizar

eficientemente el trabajo.

Una computadora smp se compone de microprocesadores independientes que se

comunican con la memoria a través de un bus compartido. Dicho bus es un recurso de

uso común. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use

en cada instante de tiempo. Si las computadoras con un solo microprocesador tienden a

gastar considerable tiempo esperando a que lleguen los datos desde la memoria, smp

empeora esta situación, ya que hay varios parados en espera de datos.

Page 4: multiprocesadores

ARQUITECTURA NUMA

Multiproceso simétrico, una de las formas más fáciles y baratas de aumentar el

rendimiento del hardware es poner más de una CPU en la placa. Esto se puede realizar

haciendo que cpus diferentes tengan trabajos diferentes (multiproceso asimétrico) o

haciendo que todos se ejecuten en paralelo, realizando el mismo trabajo (multiproceso

simétrico o smp). El hacer multiproceso asimétrico requiere un conocimiento

especializado sobre las tareas que la computadora debe ejecutar, que no es fácilmente

discernible en un sistema operativo de propósito general como Linux. En cambio el

multiproceso simétrico es relativamente fácil de implementar.

En un entorno de multiproceso simétrico, las CPU comparten la misma memoria, y como

resultado, el código que corre en una CPU puede afectar a la memoria usada por otra. No

se puede estar seguro de que una variable que se ha establecido a un cierto valor en la

línea anterior todavía tenga el mismo valor; la otra CPU puede modificar el valor de la

variable. No es posible programar algo de esta manera.

En el caso de la programación de procesos esto no suele ser un problema, porque un

proceso normalmente sólo se ejecutará en una CPU a la vez. El núcleo, sin embargo,

podría ser llamado por diferentes procesos ejecutándose en cpus diferentes.

En la versión 2.0.x del núcleo de Linux, esto no es un problema porque el núcleo entero

está en un gran `spinlock'. Esto significa que si una CPU está dentro del núcleo y otra

CPU quiere entrar en él, por ejemplo por una llamada al sistema, tiene que esperar hasta

que la primera CPU haya acabado. Esto es lo que hace el SMP en Linux; es seguro, pero

ineficiente.

En la versión 2.2.x, varias cpus pueden estar dentro del núcleo al mismo tiempo. Esto es

algo que los escritores de módulos deben tener en cuenta.

Page 5: multiprocesadores

MULTIPROCESADORES Y MULTICOMPUTADORES

Existen similitudes entre los sistemas multiprocesadores y multicomputadores debido a

que ambos fueron

Pensados con un mismo objetivo: dar soporte a operaciones concurrentes en el sistema.

Sin embargo, existen

Diferencias importantes basadas en el alcance de los recursos compartidos y la

cooperación en la solución de un

Problema.

Un sistema multicomputador consiste de diversas computadoras autónomas que pueden

o no comunicarse

Entre sí.

Un sistema multiprocesador está controlado por un sistema operativo que provee la

interacción entre los

Procesadores y sus programas a nivel de dato, proceso y archivo.

GENERALIDADES DE MULTIPROCESADORES.

Pueden clasificarse en esta categoría muchos sistemas multiprocesadores y sistemas

multicomputadores.

Un multiprocesador se define como una computadora que contiene dos o más unidades

de procesamiento

Que trabajan sobre una memoria común bajo un control integrado.

Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual

capacidad, estamos

En presencia de multiprocesamiento simétrico; en el otro caso hablamos de

multiprocesamiento asimétrico.

Todos los procesadores deben poder acceder y usar la memoria principal. De acuerdo a

esta definición se

Page 6: multiprocesadores

Requiere que la memoria principal sea común y solamente existen pequeñas memorias

locales en cada procesador.

Si cada procesador posee una gran memoria local se lo puede considerar un sistema de

multicomputadoras,

El cual puede ser centralizado o distribuido.

Todos los procesadores comparten el acceso a canales de e/s, unidades de control y

dispositivos.

Para el sistema de multiprocesamiento debe existir un sistema operativo integrado, el

cual controla el

Hardware y el software y debe asegurar la interacción entre los procesadores y sus

programas al nivel elemental de

Dato, conjunto de datos y trabajos.

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 compartido por todos los

procesadores. Si los n flujos de

Datos provienen de subespacios disjuntos de memorias compartidas, entonces estamos

en presencia del denominado

Operación sisd múltiple, que no es otra cosa que un conjunto de n monoprocesadores

sisd.

Una mimd intrínseca está fuertemente acoplada si el grado de interacción entre los

procesadores es alto.

De otra manera consideramos el sistema como débilmente acoplado. Muchos sistemas

comerciales son débilmente

Acoplados, a saber, la IBM 370/168, univac 1100/80, IBM 3081/3084, etc.