De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Un sistema de multiprocesamiento asimétrico ( AMP o ASMP ) es un sistema informático multiprocesador en el que no todas las múltiples unidades centrales de procesamiento (CPU) interconectadas se tratan por igual. Por ejemplo, un sistema puede permitir (ya sea a nivel de hardware o de sistema operativo ) que solo una CPU ejecute el código del sistema operativo o puede permitir que solo una CPU realice operaciones de E / S. Otros sistemas AMP podrían permitir que cualquier CPU ejecute el 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 adjunten algunos o todos los periféricos a CPU particulares, de modo que sean asimétricos con respecto al periférico. adjunto archivo.

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 ofrecer opciones menos costosas [1] en sistemas en los que SMP estaba disponible.

Multiprocesamiento asimétrico

Antecedentes e historia [ editar ]

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 en el piso y un mayor personal de operaciones.

Las primeras ofertas de AMP notables de los fabricantes de computadoras fueron Burroughs B5000 , DECsystem-1055 y IBM System / 360 modelo 65MP. También hubo máquinas de CPU dual construidas en 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 extenderlo para manejar múltiples CPU de manera eficiente y confiable llevó mucho tiempo. Para llenar este vacío, los sistemas operativos destinados a CPU individuales 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 el otro solo podía ejecutar programas de usuario. En el caso del Burroughs B5000, el hardware del segundo procesador no era capaz de ejecutar el 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 particulares a procesadores particulares.

Burroughs B5000 y B5500 [ editar ]

Una opción en el Burroughs B5000 era "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 ejecutó solo en el Procesador A. Cuando había un trabajo de usuario para ejecutar, podría ejecutarse en el Procesador B, pero cuando ese trabajo intentó acceder al sistema operativo, el procesador se detuvo y señaló al Procesador A. 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, por lo tanto, los periféricos, pero solo el Procesador 1 podía responder a las interrupciones de los periféricos. [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 la finalización. En la práctica, esto significaba que, si bien los trabajos de usuario podían ejecutarse en el Procesador 1 o en el Procesador 2 y podían acceder a rutinas de biblioteca intrínsecas 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 [ editar ]

Control Data Corporation ofreció dos configuraciones de su serie CDC 6000 que incluían dos procesadores centrales . El CDC 6500 [6] era un CDC 6400 con dos procesadores centrales. El CDC 6700 era un CDC 6600 con el procesador central CDC 6400 agregado.

Estos sistemas se organizaron de manera bastante diferente a los demás multiprocesadores de 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 lo tanto, los términos ASMP y SMP no se aplican correctamente a estos multiprocesadores.

DECsystem-10 [ editar ]

Digital Equipment Corporation (DEC) ofreció una versión de doble procesador de su DECsystem-1050 que usaba 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 en la línea PDP-10; en esos sistemas, la CPU de arranque se denomina "CPU de política", 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 [ editar ]

Digital Equipment Corporation desarrolló, pero nunca lanzó, un multiprocesador PDP-11 , el PDP-11/74, [9] que ejecuta 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 podía 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 [ editar ]

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

IBM System / 370 modelo 168 [ editar ]

Había dos opciones disponibles para IBM System / 370 Modelo 168 para conectar un segundo procesador. [12] Una fue 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 lo tanto, se parecía más al modelo System / 360 de 65MP.

Ver también [ editar ]

  • 3B20C
  • Multinúcleo (informática)
  • Bloqueo de software
  • Cerradura gigante
  • Multiprocesamiento simétrico
  • Computación heterogénea

Notas [ editar ]

  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. ^ Primeras computadoras en Stanford: la computadora de doble procesador en el laboratorio de IA
  3. ^ a b "Características operativas de los procesadores para Burroughs B5000" (PDF) . Burroughs.
  4. ^ "Una descripción narrativa del B5500 MCP" (PDF) . pag. 18.
  5. ^ Una descripción narrativa del MCP B5500, páginas 29 (iniciar la rutina) y 40 (una nota sobre el procesamiento paralelo)
  6. ^ "DATOS DE CONTROL 6400/6500/6600 Manual de referencia de sistemas informáticos" (PDF) .
  7. ^ "1.4 Multiprocesamiento DECsystem-10". Introducción al software DECsystem-10 (PDF) . DEC-10-MZDC-D.
  8. ^ Resumen técnico de DECsystem-10 (PDF) . 1981. p. 2-1.
  9. ^ "(PDP-11) Preguntas frecuentes sobre multiprocesador" .
  10. ^ a b "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 de 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 [ editar ]

  • Bell, C. Gordon, Mudge, J. Craig, McNamara John E. "La familia PDP-10". (1979). Parte V de Ingeniería Informática: Una Visión DEC del Diseño de Sistemas de Hardware . Corporación de equipos digitales
  • Rajkumar Buyya (editor): Computación en clúster de alto rendimiento: arquitecturas y sistemas , volumen 1, ISBN 0-13-013784-7 , Prentice Hall, Nueva Jersey, EE. UU., 1999. 
  • Rajkumar Buyya (editor): Computación en clúster de alto rendimiento: programación y aplicaciones , volumen 2, ISBN 0-13-013785-5 , Prentice Hall, Nueva Jersey, EE. UU., 1999. 

Enlaces externos [ editar ]

  • Tutorial de OpenMP para programación paralela
  • Blog de noticias multinúcleo
  • Historia del multiprocesamiento
  • Linux y multiprocesamiento
  • ASOSI: Infraestructura de sistema operativo asimétrico, Proc. 21a Conferencia sobre Sistemas de Comunicación y Computación Paralelos y Distribuidos, (PDCCS 2008), Nueva Orleans, Luisiana, págs. 193-198, 2008