Sunteți pe pagina 1din 5

SECo 1.

CONCEPTOS DE HARDWARE

11

Puesto que slo existe una memoria,si el CPUA escribe.unapalabra en la memoria y despus el CPU B lee esa palabra un microsegundo despus, B obtendr el valor recin escrito. Una memoria con esta propiedades coherente. La coherenciajuega un papel importanteen los sistemasoperativosdistribuidosen unavariedaddeformasque estudiaremos ms adelante. El problema con este esquemaes que si slo se dispone de 4 o 5 CPU, el bus estar por lo generalsobrecargadoy el rendimientodisminuirenformadrstica.La solucines aadir una memoria cach de alta velocidad entre el CPU y el bus;como se muestra en la figura 1-5. El cach guarda las palabras de acceso reciente. Todas las solicitudes de la memoria pasan a travs del cach. Si la palabra solicitadase encuentraen el cach, ste responde al CPU y no se hace solicitud alguna al bus. Si el cach es lo bastaI1te grande, la probabilidad de xito (la tasa de encuentros) ser alta y la cantidad de trfico en el bus por cada CPU disminuiren forma drstica, lo que permite un nmero mayor de CPU en el sistema. Los tamaos comunes del cach van desde los 64K hasta 1M, lo que da como resultado una tasa de encuentros del 90% o ms.
CPU
cach CPU cach CPU cach Memoria

bus

Figura 1-5. Multiprocesador con base en un bus.

Sin embargo, el uso de cachs tambin acarrea un serio problema. Supongamos que dos CPU,A y B, leen la misma palabra en sus respectivoscachs.DespusA escribe sobre la palabra. Cuando B lee esa palabra, obtiene el valor anterior en su cach y no el valor recinescritoporA. La memoriaes entoncesincoherentey elsistemaesdifidrde programar. Muchos investigadores han estudiado este problema y se conocen vari'assoluciones, de las cuales esbozaremos una de ellas. Supongamosque las memorias cache estn diseadas de tal forma que cuando una palabra sea escrita al cach, tambin sea escrita a la memoria. Tal cach recibe el nombre poco sorprendente de cach de escritura. En este diseo, el uso del cach para la lectura no provoca un trfico en el bus, pero al no utilizar el c~chpara una lectura, as como todas las escrituras,"s, rovocanun trfico en el bus. p -; "Adems,.todos los cachs realizan un monitoreo constante del bu~, Cada vez-que .:uncachobserva una escritura a una direccin de memoriaeresente en l, puede eliminar !eseaato o actualizarlo con el nuevo valor. Tal cach-r.ecibe nombre de.cachmonitor, el 'puesto que siempre realiza un monitoreoen el ,bus. Un diseo ~onsistente en cachs ".monitores y!de escritura es coherente e invisible para,el program~dor.Casitodos los m~l"tiprocesadores basados en buses utilizanesta arquitecturau otra muy relacionada con sta.

12

INTRODUCCIN A LOS SISTEMAS DISTRIBUIDOS

CAP. 1

Mediante su uso, es posible colocar de 32 hasta 64 CPU en el mis.mobus. Para mayor informacin acerca de los multiprocesadoresbasados en buses, vase Lilja (1993). 1.3.2. Multiprocesadores con conmutador
Para construir un multiprocesador con ms de 64 procesadores, es necesario un mtodo distinto para conectar cada CPU con la memoria. Una posibilidad es dividir la memoria en mdulos y conectarlos a las CPU con un conmutador de cruceta, como se muestra en la figura 1-6(;1).Cada CPU y cada memoria tiene una conexin que sale de l, como se muestra en la figura. En> cada interseccin est un delgado conmutador de punto de cruce electrnico que el hardware puede abrir y cerrar.Cuando un CPU desea tener acceso a una memoria particular, el conmutador delpunto de cruce que losconectase cierrade maneramomentnea,para permitirdicho

acceso. La virtud del conmutadorde crucetaes que muchosCPU pueden tener acceso a la memoriaal mismotiempo,aunquesi dosCPU intentantener acceso a la misma memoria en forma simultnea,uno de ellos deber esperar. La desventajadel conmutadorde crucetaes que con n CPUy n memorias,se necesitann2 conmutadoresen los puntosde cruce.Si n es grande,estenmeropuedeser prohibido.Como
Memorias A.
Memorias

CPU

Conmutador

del punto de cruce (a)

Conmutador
(b)

2x2

Figura 1-6. (a) Un conmutador de cruceta. (b) Una red omega de conmutacin.

resultado, las personas han buscado y encontrado otras redes de conmutacin que necesiten menos conmutadores. La red omega de la figura 1-6(b) es un ejemplo. Esta red contiene conmutadores 2 x 2, cada uno de los cuales tiene dos entradas y dos salidas. Cada conmutador puede dirigir cualquiera de las entradas en cualquiera de las salidaS~ anlisis cuidadoso de la figura Un mostrar que si se eligen los estados adecuados de los conmutadores, cada CPU podr tener acceso a cada meTI?oria. stos conmutadores se pueden activar en cuestin de nanosegundos. E

SECo ].3

CONCEPTOS DE HARDWARE

13

En el caso general, con n CPU y n memorias, la red omega necesita log2netapas de conmutacin, cada una de las cuales tiene nl2 conmutadores,para un total de (n log2n)/2 conmutadores.Aunque este nmero es mejor que n2,sigue siendo considerable. Adems, existe otro problema: el retraso. Por ejemplo, si n = 1024,existen 10 etapas de conmutacin del CPU a la memoria y otras 10 para que la palabra solicitada regrese. Supongamosque el CPU es un modernocircuitoRlSC de 100MIPS; es decir,que el tiempo de ejecucinde una instruccin es de 10nseg. Si una solicitudde la memoriadebe recorrer un tOtalde 20 etapas de conmutacin (10 de ida y 10de regre~o)en 10nseg, el tiempo de conmutacindebe ser de 500 picosegundos(0.5nseg). Todo el multiprocesadornecesitar 5 120conmutadores de 500 picosegundos.Esto no ser barato. Se ha intentado reducir el costo mediante los sistemasjerrquicos. Cada CPU tiene asociada cierta memoria. Cada CPU puede tener un rpido acceso a su propia memoria local, pero ser ms lento el acceso a la memoria de los dems. Este diseo da lugar a la llamada mquina NUMA (Non Uniform Memory Access [Accesono uniforme a la memoria]). Aunque las mquinas NUMA tienen mejor tiempo promedio de acceso que las mquinas basadas en redes omega. tienen una nueva complicacin: la colocacin de los programasy los datos se convierten en un factor crtico, para lograr que la mayora de los accesos sean hacia la memoria local. En resumen, los multiprocesadores basados en buses, incluso con cachs monitores, quedan limitados a lo ms a 64 CPUs por la capacidaddel bus. Para rebasar estos lmites, es necesariauna red con conmutador, como uno de cruceta, una red omega o algo similar. Los grandes conmutadores de cruceta y las grandes rede~)'omega muy caros y lentos. son Las mquinasNUMA necesitan complejos algoritmospara la buena colocacin del software. La conclusin es clara: la construccinde un multiprocesadorgrande, fuertemente acopladoy con memoria compartida es difcil y cara.
1.3.3. Multicomputadoras con base en buses

Por otro lado, la construccin de una multicomputadora (es decir, sin memoria compartida) es fcil. Cada CPU tiene conexin directa con su propia memoria loeal. El nico problema restante es la forma en que los CPU se comunicarn entre s. Es claro que aqu tambin se necesita cierto esquema de interconexin, pero como slo es para la comunicacin entre un CPU y otro, el volumen del trfico ser de varios rdenes menor en relacin con el uso de una red de interconexin para el trfico CPU-memoria. En la figura 1-7 vemos una multicomputadora con base en un bus. Es similar, desde el punto de vista topolgico, al multiprocesador basado en un bus, pero como tendr menor trfico, no necesita ser un bus con un plano de base de alta velocidad. De hecho, puede ser una LAN de menor velocidad (por lo general de 10-100 Mb/seg, en comparacin con 300 Mb/seg o ms para un bus con un plano de base). As, la figura 1-7es ms a menudo una coleccin de estaciones de trabajo en una LAN que una coleccin de tarjetas de CPU que se insertan en un bus rpido (aunque esto ltimo definitivamente es un diseo posible).

14

INTRODUCCIN A LOS SISTEMASDISTRIBUIDOS

CAP.l

.
Estacin de trabajo Memoria local CPU Estacin de trabajo Memoria local CPU Estacin de trabajo Memoria local CPU
I

I
Red

. Figura 1-7. Una multicomputadora que consta de estaciones de trabajo en una LAN.

1.3.4. Multicomputadoras

con conmutador

Nuestra ltima categoraes la de las multicomputadorascon conmutador.Se han propuesto y construidovarias redes de interconexin,pero todas tienen la propiedad de que cada CPU tiene acceso directo y exclusivo a su propia memoria particular. La figura 1-8 muestra dos topologaspopulares, una retcula y un hipercubo.Las retculas son fciles de comprendery se basan en lastarjetas de circuitos impresos.Se adecuanmejor a problemas con naturalezabidimensionalinherente,como la teora de grficaso la visin (por ejemplo, los ojos de un robot o el anlisis de fotografias).

(a)

(b)

Figura 1-8. (a) Retcula. (b) Hipercubo.

Un hipercubo es un cubon-dimensional.El hipercubode la figura 1-8(b)es de dimensin4. Se puede pensar.como dos cubos ordinarios, cada uno de los cuales cuenta con 8 vrticesy 12aristas. Cada vrtice es un CPU. Cada arista es una conexinentre dos CPU. Se Conectanlos vrtices correspondientesde cada uno de los cubos. Para extender el cubo a 5 dimensiones, podramos aadir a la figura otro conjunto de dos cubosconectadosentre s y conectar las aristas correspondientesen las dos mitades, y asenlosucesivo;Para el casode un hipercubon-dimensional,cadaCPUtienen conexiones con otrasCPU. As, la complejidad del cableado aumenta en proporcin logartmica con

SECo lA

CONCEPTOS DE SOFTWARE

15

el tamao. Puesto que slo se conectan los vecinos ms cercanos,muchos mensajes deben realizar varios saltos antes de llegar a su destino. Sin embargo, la trayectoria de mayor longitud tambin crece en forma logartmica junto con el tamao, en contraste con la retcula, donde sta crece conforme la raz cuadrada del nmero de CPU. Los hipercubos con 1 024 CPU estn disponibles en el mercado desde hace varios aos y ya comienzan a estar disponibles los hipercubos con hasta 16 384 CPU. 1.4. CONCEPTOS DE SOFTWARE
,

Aunqueel hardware importante, softwarelo es ms.La imagenquepresentay la es el

forma de pensar de los usuarios de un sistema, queda detenninada en gran medida por el softwaredel sistemaoperativo,no por el hardware.En estaseccindaremosuna introduccin a los distintostipos de sistemasoperativospara los multiprocesadores multicomputadoras y que hemosestudiadoy analizaremosqutipo de softwareva de acuerdocon el hardware. Los sistemas operativos no se pueden clasificar tan fcil como el hardware. Por su propia naturaleza,el softwarees vagoy amorfo. Aun as, es ms o menos posible distinguir dos tipos de sistemas operativos para los de varios CPU: los dbilmente acoplados y los ~fuertementeacoplados. Como veremos, el software dbil o fuertemente acoplado es un tanto anlogo al hardware dbil o fuertemente acoplado. El softwaredbilmenteacopladopermiteque lasmquinasy los usuarios de un sistema distribuido sean independientesentre s en lo fundamental, pero que interacten en cierto
grado cuando sea necesario. Consideremos un grupo de computadoras personales, cada una

de las cuales tiene su propio CPU, su propia memoria, su propio disco duro y su propio sistema operativo, pero que comparten ciertos recursos, como las impresoras lser y las basesde datosen unaLAN.Este sistemaestdbilmenteacoplado,puestoque las mquinas individualesse distinguen con claridad, cada una de las cuales tiene su propio trabajo por realizar. Si la red falla por alguna razn, las mquinas individualescontinan su ejecucin en cierto grado considerable,aunque se puede perder cierta funcionalidad (por ejemplo, la

capacidad imprimirarchivos). de

'

Para mostrar lo difcil que .resultaestablecer definiciones en esta r'a;.consideremos ahorael mismo sistemaanterior,pero sin lared. Para imprimirun archivo,el usuarioescribe un archivo en un disco flexible, lo lleva hasta la mquina que tiene la impresora, lo lee en ellay despuslo imprime.Estodavaunsistemadistribuido,sloqueahorams dbilmente acoplado? Esto es difcil de,decir. Desde un punto de vista fundamental, .no existe una diferenciareal entre la comunicacin a travs de una LAN y l comunicaCin' mediante el ~rasladofsico de los discos flexibles. Lo ms que se pede decir esque lastasas de retraso . y.transmisinde los datos son peores en'el segundo ejemplo. Gr;:, .En.elotro extremo, podramos tener el caso de un 111ultiprocesador dedicado a la eje_c~f.in e;unpr()gramade ajedrez en paralelo. A ~da' CPUse le.~signa d un!aoleroparasu erY~luan ste ocupa su tiempo en la evaluacin de este tablero y los que se pueden y ,g~~erara partir de l. Al terminar la evaluacin,el CPU informade sus resultados y se .le c..:..t'1!". . . WJ?porcionaun nuevo tablero para trabajar'con l. El softwarpa~~este sistema, es decir,

S-ar putea să vă placă și