Вы находитесь на странице: 1из 7

UNIVERSIDAD NACIONAL

“DANIEL ALCIDES CARRIÓN”

Multiprocesadores

CURSO:
PROCESAMIENTO PARALELO
SEMESTRE:
VI

CERRO DE PASCO –2010


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 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.

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.

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
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.

Вам также может понравиться