stringtranslate.com

Multiprocesamiento asimétrico

Un sistema de multiprocesamiento asimétrico ( AMP o ASMP ) es un sistema informático multiprocesador donde no todas las múltiples unidades centrales de procesamiento (CPU) interconectadas reciben el mismo tratamiento. Por ejemplo, un sistema podría permitir (ya sea a nivel de hardware o de sistema operativo ) que solo una CPU ejecute el código del sistema operativo o podría permitir que solo una CPU realice operaciones de E/S. Otros sistemas AMP podrían permitir que cualquier CPU ejecute código del sistema operativo y realice operaciones de E/S, de modo que sean simétricas con respecto a las funciones del procesador, pero conecten algunos o todos los periféricos a CPU particulares, de modo que sean asimétricos con respecto al periférico. adjunto.

El multiprocesamiento asimétrico era el único método para manejar múltiples CPU antes de que estuviera disponible el multiprocesamiento simétrico (SMP). También se ha utilizado para proporcionar opciones menos costosas [1] en sistemas donde SMP estaba disponible.

Multiprocesamiento asimétrico

Antecedentes e historia

Para las computadoras del tamaño de una habitación de las décadas de 1960 y 1970, una forma rentable de aumentar la potencia informática era agregar una segunda CPU. Dado que estas computadoras ya estaban cerca de las más rápidas disponibles (cerca del pico de la relación precio:rendimiento), dos CPU de velocidad estándar eran mucho menos costosas que una CPU que funcionaba dos veces más rápido. Además, agregar una segunda CPU era menos costoso que una segunda computadora completa, que necesitaría sus propios periféricos, por lo que requeriría mucho más espacio y más personal de operaciones.

Las primeras ofertas de AMP notables por parte de los fabricantes de computadoras fueron el Burroughs B5000 , el DECsystem-1055 y el IBM System/360 modelo 65MP. También se construyeron máquinas con doble CPU en las universidades. [2]

El problema de agregar una segunda CPU a un sistema informático era que el sistema operativo se había desarrollado para sistemas de una sola CPU y ampliarlo para manejar múltiples CPU de manera eficiente y confiable llevaba mucho tiempo. Para llenar este vacío, los sistemas operativos destinados a una sola CPU se ampliaron inicialmente para proporcionar un soporte mínimo para una segunda CPU. En este soporte mínimo, el sistema operativo se ejecutaba en el procesador de “arranque”, mientras que al otro solo se le permitía ejecutar programas de usuario. En el caso del Burroughs B5000, el hardware del segundo procesador no era capaz de ejecutar código de "estado de control". [3]

Otros sistemas permitían que el sistema operativo se ejecutara en todos los procesadores, pero conectaban todos los periféricos a un procesador o conectaban periféricos concretos a procesadores concretos.

Burroughs B5000 y B5500

Una opción en el Burroughs B5000 era el "Procesador B". Este segundo procesador, a diferencia del “Procesador A”, no tenía conexión con los periféricos, aunque los dos procesadores compartían la memoria principal y el Procesador B no podía ejecutarse en Estado de Control. [3] El sistema operativo se ejecutaba solo en el Procesador A. Cuando había un trabajo de usuario por ejecutar, podía ejecutarse en el Procesador B, pero cuando ese trabajo intentaba acceder al sistema operativo, el procesador se detenía y avisaba al Procesador A. La solicitud Luego, el servicio del sistema operativo se ejecutó en el Procesador A.

En el B5500, el Procesador A o el Procesador B podrían designarse como Procesador 1 mediante un interruptor en el panel del ingeniero, siendo el otro procesador el Procesador 2; Ambos procesadores compartían la memoria principal y tenían acceso de hardware a los procesadores de E/S y, por tanto, a los periféricos, pero sólo el procesador 1 podía responder a las interrupciones periféricas. [4] Cuando un trabajo en el Procesador 2 requería un servicio del sistema operativo, se reprogramaba en el Procesador 1, que era responsable tanto de iniciar la actividad del procesador de E/S como de responder a las interrupciones que indicaban su finalización. En la práctica, esto significaba que, si bien los trabajos de los usuarios podían ejecutarse en el Procesador 1 o el Procesador 2 y podían acceder a rutinas intrínsecas de la biblioteca que no requerían soporte del kernel, el sistema operativo las programaría en este último siempre que fuera posible. [5]

CDC 6500 y 6700

Control Data Corporation ofreció dos configuraciones de su serie CDC 6000 que presentaban dos procesadores centrales . El CDC 6500 [6] era un CDC 6400 con dos procesadores centrales. El CDC 6700 era un CDC 6600 al que se le añadió el procesador central CDC 6400.

Estos sistemas estaban organizados de manera bastante diferente a los otros multiprocesadores mencionados en este artículo. El sistema operativo se ejecutaba en los procesadores periféricos , mientras que la aplicación del usuario se ejecutaba en las CPU. Por tanto, los términos ASMP y SMP no se aplican correctamente a estos multiprocesadores.

DECsistema-10

Digital Equipment Corporation (DEC) ofreció una versión de doble procesador de su DECsystem-1050 que utilizaba dos procesadores KA10; Todos los periféricos estaban conectados a un procesador, el procesador principal, y el procesador principal ejecutaba el código del sistema operativo. [7] Esta oferta se amplió a los procesadores KL-10 y KS-10 de la línea PDP-10; en esos sistemas, la CPU de arranque se denomina "CPU de políticas", que ejecuta el intérprete de comandos, intercambia trabajos dentro y fuera de la memoria y realiza algunas otras funciones; Cualquiera de los procesadores puede realizar otras funciones del sistema operativo y E/S, y si el procesador de políticas falla, otro procesador asume el control como procesador de políticas. [8]

PDP-11/74

Digital Equipment Corporation desarrolló, pero nunca lanzó, un PDP-11 multiprocesador , el PDP-11/74, [9] ejecutando una versión multiprocesador de RSX-11M . [10] En ese sistema, cualquiera de los procesadores podía ejecutar el código del sistema operativo y realizar E/S, pero no todos los periféricos eran accesibles para todos los procesadores; la mayoría de los periféricos estaban conectados a una u otra de las CPU, de modo que un procesador al que no estaba conectado un periférico, cuando necesitaba realizar una operación de E/S en ese periférico, solicitaba el procesador al que estaba conectado el periférico. para realizar la operación. [10]

VAX-11/782

El primer sistema VAX multiprocesador de DEC , el VAX-11/782, era un sistema asimétrico de doble procesador; sólo el primer procesador tenía acceso a los dispositivos de E/S. [11]

IBM System/370 modelo 168

Había dos opciones disponibles para el IBM System/370 Modelo 168 para conectar un segundo procesador. [12] Uno era la unidad de procesamiento adjunta IBM 3062 , en la que el segundo procesador no tenía acceso a los canales y, por lo tanto, era similar al procesador B del B5000 o al segundo procesador en un VAX-11/782. La otra opción ofrecía una segunda CPU completa y, por tanto, se parecía más al modelo System/360 de 65MP.

Ver también

Notas

  1. ^ IBM (diciembre de 1976). Resumen del sistema IBM System/370 (PDF) . Séptima edición. págs. 6-12, 6-15-6.16.1. GA22·7001·6.
  2. ^ "Early Computers at Stanford: la computadora con procesador dual en el laboratorio de inteligencia artificial" . Consultado el 27 de marzo de 2023 .
  3. ^ ab "Características operativas de los procesadores de Burroughs B5000" (PDF) . Burroughs . Consultado el 13 de septiembre de 2023 .
  4. ^ Una descripción narrativa del MCP B5500 (PDF) . pag. 18.
  5. ^ Una descripción narrativa del MCP B5500 (PDF) .págs. 29 (iniciar rutina) y 40 (una nota sobre el procesamiento paralelo)
  6. ^ "Manual de referencia de SISTEMAS INFORMÁTICOS DE CONTROL DE DATOS 6400/6500/6600" (PDF) .
  7. ^ "1.4 Multiprocesamiento DECsystem-10". Introducción al software DECsystem-10 (PDF) . DIC-10-MZDC-D . Consultado el 13 de septiembre de 2023 .
  8. ^ Resumen técnico de DECsystem-10 (PDF) . 1981. pág. 2-1.
  9. ^ "(PDP-11) Preguntas frecuentes sobre multiprocesador".[ enlace muerto permanente ]
  10. ^ ab "multiprocesamiento RSX-11M" (PDF) . Corporación de equipos digitales.
  11. ^ Guía de ventas de productos VAX, páginas 1-23 y 1-24: el VAX-11/782 se describe como un sistema multiprocesamiento asimétrico en 1982
  12. ^ IBM (enero de 1976). Características funcionales del IBM System/370 modelo 168 (PDF) . Quinta edición. GA22·7010-4.

Referencias

enlaces externos