Articulo de referencia

Instrucciones múltiples, datos únicos

En informática , la arquitectura de instrucciones múltiples y datos únicos ( MISD ) es un tipo de arquitectura de computación paralela donde muchas unidades funcionales realizan...

En informática , la arquitectura de instrucciones múltiples y datos únicos ( MISD ) es un tipo de arquitectura de computación paralela donde muchas unidades funcionales realizan diferentes operaciones sobre los mismos datos. Las arquitecturas de pipeline pertenecen a este tipo, aunque se podría decir que difieren en que los datos son diferentes después del procesamiento en cada etapa del pipeline. La tolerancia a fallos, que ejecuta las mismas instrucciones de forma redundante para detectar y enmascarar errores, de una manera conocida como replicación de tareas , puede considerarse perteneciente a este tipo. Las aplicaciones para esta arquitectura son mucho menos comunes que MIMD y SIMD , ya que estas dos últimas suelen ser más apropiadas para técnicas comunes de paralelismo de datos. Específicamente, permiten una mejor escalabilidad y uso de los recursos computacionales. Sin embargo, un ejemplo destacado de MISD en informática son las computadoras de control de vuelo del Transbordador Espacial . [ 2 ]

matrices sistólicas

Los arreglos sistólicos (o procesadores de frente de onda ), descritos por primera vez por HT Kung y Charles E. Leiserson, son un ejemplo de arquitectura MISD . En un arreglo sistólico típico, los datos de entrada en paralelo fluyen a través de una red de nodos de procesamiento cableados , que se asemejan al cerebro humano , los cuales combinan, procesan, fusionan o clasifican los datos de entrada para obtener un resultado.

Los arreglos sistólicos suelen estar cableados para una operación específica, como "multiplicar y acumular", para realizar tareas de integración, convolución , correlación , multiplicación de matrices o clasificación de datos en paralelo masivo. Un arreglo sistólico generalmente consta de una gran red monolítica de nodos de computación primitivos , que pueden estar cableados o configurados por software para una aplicación específica. Los nodos suelen ser fijos e idénticos, mientras que la interconexión es programable. Los procesadores de frente de onda más generales , por el contrario, emplean nodos sofisticados y programables individualmente que pueden ser o no monolíticos, dependiendo del tamaño del arreglo y los parámetros de diseño. Debido a que la propagación ondulatoria de los datos a través de un arreglo sistólico se asemeja al pulso del sistema circulatorio humano, el nombre "sistólico" se acuñó a partir de la terminología médica.

Una ventaja significativa de las matrices sistólicas es que todos los datos de los operandos y los resultados parciales se encuentran dentro de la matriz del procesador (pasando a través de ella). No es necesario acceder a buses externos, memoria principal ni cachés internas durante cada operación, como ocurre con las máquinas secuenciales estándar. Los límites secuenciales del rendimiento paralelo, dictados por la ley de Amdahl, tampoco se aplican de la misma manera, ya que las dependencias de datos se gestionan implícitamente mediante la interconexión de nodos programables.

Por lo tanto, los conjuntos sistólicos son extremadamente eficaces en inteligencia artificial, procesamiento de imágenes, reconocimiento de patrones, visión artificial y otras tareas que los cerebros animales realizan excepcionalmente bien. Los procesadores de frente de onda, en general, también pueden ser muy eficaces en aprendizaje automático mediante la implementación de redes neuronales autoconfigurables en hardware.

Controversia sobre la clasificación

Si bien los arreglos sistólicos se clasifican oficialmente como MISD, su clasificación resulta algo problemática. Dado que la entrada suele ser un vector de valores independientes, el arreglo sistólico no es SISD . Como estos valores de entrada se fusionan y combinan en el resultado o resultados y no mantienen su independencia como lo harían en una unidad de procesamiento vectorial SIMD , el arreglo no puede clasificarse como tal. En consecuencia, tampoco puede clasificarse como MIMD , ya que MIMD puede considerarse simplemente una colección de máquinas SISD y SIMD más pequeñas.

Finalmente, debido a que el enjambre de datos se transforma al pasar por la matriz de nodo en nodo, los múltiples nodos no operan sobre los mismos datos, lo que hace que la clasificación MISD sea un nombre inapropiado . La otra razón por la que una matriz sistólica no debería calificar como MISD es la misma que la descalifica de la categoría SISD: los datos de entrada suelen ser un vector, no un único valor de datos, aunque se podría argumentar que cualquier vector de entrada dado es un único conjunto de datos.

No obstante lo anterior, los arreglos sistólicos se suelen presentar como un ejemplo clásico de arquitectura MISD en libros de texto sobre computación paralela y en clases de ingeniería. Si el arreglo se considera atómico desde fuera , quizás debería clasificarse como SFMuDMeR = función única, datos múltiples, resultado(s) fusionado(s). [ 3 ] [ 4 ] [ 5 ] [ 6 ]

Notas a pie de página

  1. Flynn, Michael J. (septiembre de 1972). "Algunas organizaciones informáticas y su eficacia" (PDF) . IEEE Transactions on Computers . C-21 (9): 948–960 . doi : 10.1109/TC.1972.5009071 .
  2. Spector, A.; Gifford, D. (septiembre de 1984). "El sistema informático principal del transbordador espacial" . Communications of the ACM . 27 (9): 872– 900. doi : 10.1145/358234.358246 . S2CID 39724471 . 
  3. Michael J. Flynn, Kevin W. Rudd. Arquitecturas paralelas . CRC Press, 1996.
  4. Quinn, Michael J. Programación paralela en C con MPI y OpenMP . Boston: McGraw Hill, 2004.
  5. Ibaroudene, Djaffer. "Procesamiento paralelo, EG6370G: Capítulo 1, Motivación e historia". Universidad de St. Mary, San Antonio, TX. Primavera de 2008.
  6. Null, Linda; Lobur, Julia (2006). Los fundamentos de la organización y arquitectura de computadoras . 468: Jones and Bartlett.{{cite book}}: CS1 mantenimiento: ubicación ( enlace )