Anda di halaman 1dari 9

Multiprocesadores con Base en Buses

Constan de cierto nmero de cpu conectadas a un bus comn, junto con un mdulo de memoria.

Un bus tpico posee al menos:


32 lneas de direcciones. 32 lneas de datos. 30 lneas de control.

Todos los elementos precedentes operan en paralelo. Para leer una palabra de memoria, una cpu:

Coloca la direccin de la palabra deseada en las lneas de direcciones del bus. Coloca una seal en las lneas de control adecuadas para indicar que desea leer. La memoria responde y coloca el valor de la palabra en las lneas de datos para permitir la lectura de esta por parte de la cpu solicitante.

Para grabar el procedimiento es similar. Solo existe una memoria, la cual presenta la propiedad de la coherencia:

Las modificaciones hechas por una cpu se reflejan de inmediato en las subsiguientes lecturas de la misma o de otra cpu.

El problema de este esquema es que el bus tiende a sobrecargarse y el rendimiento a disminuir drsticamente; la solucin es aadir una memoria cach de alta velocidad entre la cpu y el bus:

El cach guarda las palabras de acceso reciente. Todas las solicitudes de la memoria pasan a travs del cach.

Si la palabra solicitada se encuentra en el cach: o El cach responde a la cpu. o No se hace solicitud alguna al bus. Si el cach es lo bastante grande: o La tasa de encuentros ser alta y la cantidad de trfico en el bus por cada cpu disminuir drsticamente. o Permite incrementar el nmero de cpu.

Un importante problema debido al uso de cachs es el de la incoherencia de la memoria:


Supongamos que las cpu A y B leen la misma palabra de memoria en sus respectivos cachs. A escribe sobre la palabra. Cuando B lee esa palabra, obtiene un valor anterior y no el valor recin actualizado por A.

Una solucin consiste en lo siguiente:


Disear las cach de tal forma que cuando una palabra sea escrita al cach, tambin sea escrita a la memoria. A esto se denomina cach de escritura. No causa trfico en el bus el uso de cach para la lectura. S causa trfico en el bus: o El no uso de cach para la lectura. o Toda la escritura.

Si todos los cachs realizan un monitoreo constante del bus:

Cada vez que un cach observa una escritura a una direccin de memoria presente en l, puede eliminar ese dato o actualizarlo en el cach con el nuevo valor. Estos cachs se denominan cachs monitores.

Un diseo con cachs monitores y de escritura es coherente e invisible para el programador, por lo que es muy utilizado en multiprocesadores basados en buses.

Multiprocesadores con Conmutador


El esquema de multiprocesadores con base en buses resulta apropiado para hasta aproximadamente 64 procesadores. Para superar esta cifra es necesario un mtodo distinto de conexin entre procesadores (cpu) y memoria. Una posibilidad es dividir la memoria en mdulos y conectarlos a las cpu con un conmutador de cruceta (cross-bar switch):

Cada cpu y cada memoria tiene una conexin que sale de l. En cada interseccin est un conmutador del punto de cruce (crosspoint switch) electrnico que el hardware puede abrir y cerrar: o Cuando una cpu desea tener acceso a una memoria particular, el conmutador del punto de cruce que los conecta se cierra momentneamente. La virtud del conmutador de cruceta es que muchas cpu pueden tener acceso a la memoria al mismo tiempo: o Aunque no a la misma memoria simultneamente. Lo negativo de este esquema es el alto nmero de conmutadores: o Para n cpu y n memorias se necesitan n x n conmutadores.

El nmero de conmutadores del esquema anterior puede resultar prohibitivo:

Otros esquemas precisan menos conmutadores, por ej., la red omega: Posee conmutadores 2 x 2: Cada uno tiene 2 entradas y 2 salidas. Cada conmutador puede dirigir cualquiera de las entradas en cualquiera de las salidas. Eligiendo los estados adecuados de los conmutadores, cada cpu podr tener acceso a cada memoria. Para n cpu y n memorias se precisan: n etapas de conmutacin. Cada etapa tiene log 2 n conmutadores para un total de n log 2 n conmutadores; este nmero es menor que n x n del esquema anterior, pero sigue siendo muy grande para n grande.

n 50 75 100 125 150 175 200 Tabla

log

n * log

n n*n 2.500 5.625 10.000 15.625 22.500 30.625 40.000 1.048.576 de cruceta

5,64385619 282 6,22881869 467 6,64385619 664 6,96578428 871 7,22881869 1.084 7,45121111 1.304 7,64385619 1.529 10.240 Conmutador 7.1:

1.024 10

versus red omega.

Un problema importante en la red omega es el retraso:

Ej.: si n = 1024 existen segn la tabla anterior: o 10 etapas de conmutacin de la cpu a la memoria. o 10 etapas para que la palabra solicitada de la memoria regrese. o Si la cpu es de 50 mhz, el tiempo de ejecucin de una instruccin es de 20 nseg. o Si una solicitud de la memoria debe recorrer 20 etapas de conmutacin (10 de ida y 10 de regreso) en 20 nseg: El tiempo de conmutacin debe ser de 1 nseg. El multiprocesador de 1024 cpu necesitar 10240 conmutadores de 1 nseg. El costo ser alto.

Otra posible solucin son los esquemas segn sistemas jerrquicos:


Cada cpu tiene asociada cierta memoria local. El acceso ser muy rpido a la propia memoria local y ms lento a la memoria de las dems cpu.

Esto se denomina esquema o mquina NUMA (Acceso No Uniforme a la Memoria): o Tienen un mejor tiempo promedio de acceso que las mquinas basadas en redes omega. o La colocacin de los programas y datos en memoria es crtica para lograr que la mayora de los accesos sean a la memoria local de cada cpu.

Multicomputadoras con Base en Buses


Es un esquema sin memoria compartida. Cada cpu tiene una conexin directa con su propia memoria local. Un problema importante es la forma en que las cpu se comuniquen entre s. El trfico es solo entre una cpu y otra; el volumen de trfico ser varios rdenes de magnitud menor que si se utilizara la red de interconexin para el trfico cpu - memoria. Topolgicamente es un esquema similar al del multiprocesador basado en un bus. Consiste generalmente en una coleccin de estaciones de trabajo en una LAN (red de rea local).

Multicomputadoras con Conmutador


Cada cpu tiene acceso directo y exclusivo a su propia memoria particular. Existen diversas topologas, las ms comunes son la retcula y el hipercubo. Las principales caractersticas de las retculas son:

Son fciles de comprender. Se basan en las tarjetas de circuitos impresos. Se adecan a problemas con una naturaleza bidimensional inherente (teora de grficas, visin artificial, etc.).

Las principales caractersticas del hipercubo son:


Es un cubo n - dimensional. En un hipercubo de dimensin 4: o Se puede considerar como dos cubos ordinarios, cada uno de ellos con 8 vrtices y 12 aristas. o Cada vrtice es un cubo. o Cada arista es una conexin entre 2 cpu. o Se conectan los vrtices correspondientes de cada uno de los cubos. En un hipercubo de dimensin 5:

Se deberan aadir dos cubos conectados entre s y conectar las aristas correspondientes en las dos mitades, y as sucesivamente. En un hipercubo de n dimensiones: o Cada cpu tiene n conexiones con otras cpu. o La complejidad del cableado aumenta en proporcin logartmica con el tamao. o Solo se conectan los procesadores vecinos ms cercanos: Muchos mensajes deben realizar varios saltos antes de llegar a su destino. La trayectoria ms grande crece en forma logartmica con el tamao: En la retcula crece como la raz cuadrada del nmero de cpu. o Con la tecnologa actual ya se pueden producir hipercubos de 16.384 cpu.
o

Anda mungkin juga menyukai