Sistemas operativos modernos
Multiprocesadores UMA que usan redes de conmutación multietapas Un diseño de multiprocesador distinto por completo se basa en el humilde conmutador 2 x 2 que se muestra en la figura 8-4a. Este conmutador tiene dos entradas y dos salidas. Los men sajes que llegan por cualquiera de las líneas de entrada pueden conmutarse a cualquiera de las líneas de salida. Para nuestros fines, los mensajes contienen hasta cuatro partes, como se mues tra en la figura 8-4b. El campo Módulo indica cuál memoria debe usarse. El campo Dirección especifica una dirección dentro de un módulo. El campo Código indica la operación, como READ o WRITE. Por último, el campo opcional Valor puede contener un operando, como una palabra de 32 bits que se escribirá con un WRITE. El conmutador examina el campo Módulo y lo ufiliza para determinar si el mensaje debe enviarse por X o por Y. A — B — ^ Módulo Dirección Código Valor j (a) (b) Figura 8-4. a) Conmutador 2 x 2. b) Formato de mensaje. Nuestros conmutadores 2 x 2 pueden disponerse de muchas maneras para construir redes de comnutación multietapas más grandes (Adams et a i, 1987; Bhuyan et a i, 1989; Kumar y Reddy, 1987). Una posibifidad es la red omega austera, que se ilustra en la figura 8-5. Aquí se han conectado ocho CPUs a ocho memorias, empleando 12 conmutadores. En términos más generales, para n procesadores y n memorias necesitaríamos log 2 « etapas, con n!2 conmutado res en cada etapa, para un total de (/i/ 2 )log 2 « conmutadores, que es mucho mejor que rí^ pun tos de cruce, sobre todo para valores grandes de n. El patrón de cableado de la red omega se conoce como de barajado perfecto, pues la mez cla de las señales en cada etapa semeja un mazo de naipes que se divide en mitades, las cuales luego se combinan carta por carta. Para ver cómo funciona la red omega, supongamos que la CPU 011 quiere leer una palabra del módulo de memoria 110. La CPU envía un mensaje READ al conmutador 1D, con 110 en el campo Módulo. El conmutador toma el primer bit (el del extremo izquierdo) de 110 y lo usa para el enrutamiento. Un Oescoge la salida superior y un 1 escoge la salida inferior. Puesto que este bit es 1, el mensaje se envía por la salida infe rior a 2D. Todos los conmutadores de la segunda etapa, incluido 2D, usan el segundo bit para el en rutamiento. Ese bit también es 1, así que el mensaje ahora se reenvía a 3D por la salida infe rior. Aquí se prueba el tercer bit y se determina que es 0. Por tanto, el mensaje va por la salida superior y llega a la memoria 110, como se deseaba. El camino seguido por este mensaje está marcado en la figura 8-5 con la letra a. A medida que el mensaje avanza por la red de conmutación, los bits del extremo izquierdo del número de módulo van dejando de ser necesarios. Se les puede aprovechar registrando en ellos el número de la línea de entrada, para que la respuesta pueda hallar el camino de regreso.
RkJQdWJsaXNoZXIy MjI4NDcx