La taxonomía de Duncan es una clasificación de las arquitecturas informáticas , propuesta por Ralph Duncan en 1990. [1] Duncan propuso modificaciones a la taxonomía de Flynn [2] para incluir procesos vectoriales canalizados. [3]
Taxonomía
La taxonomía se desarrolló durante 1988-1990 y se publicó por primera vez en 1990. A continuación se indican sus categorías originales.
Arquitecturas sincrónicas
Esta categoría incluye todas las arquitecturas paralelas que coordinan la ejecución concurrente en forma sincronizada y lo hacen a través de mecanismos como relojes globales, unidades de control central o controladores de unidades vectoriales. La subdivisión adicional de esta categoría se realiza principalmente sobre la base del mecanismo de sincronización. [1]
Procesadores vectoriales canalizados
Los procesadores de vectores en canalización se caracterizan por unidades funcionales en canalización que aceptan una secuencia secuencial de elementos vectoriales o de matriz , de modo que las diferentes etapas de una canalización llena procesan diferentes elementos del vector en un momento dado. [4] El paralelismo lo proporciona tanto la canalización en unidades funcionales individuales descritas anteriormente, como también al operar múltiples unidades de este tipo en paralelo y al encadenar la salida de una unidad a otra unidad como entrada. [4]
Las arquitecturas vectoriales que transmiten elementos vectoriales a unidades funcionales desde registros vectoriales especiales se denominan arquitecturas de registro a registro , mientras que las que alimentan unidades funcionales de búferes de memoria especiales se denominan arquitecturas de memoria a memoria . [1] Los primeros ejemplos de arquitecturas de registro a registro de la década de 1960 y principios de la de 1970 incluyen Cray-1 [5] y Fujitsu VP-200, mientras que Control Data Corporation STAR-100 , CDC 205 y Texas Instruments Advanced Scientific Computer son ejemplos tempranos de arquitecturas vectoriales de memoria a memoria. [6]
A fines de la década de 1980 y principios de la de 1990 se introdujeron arquitecturas vectoriales, como Cray Y-MP / 4 y Nippon Electric Corporation SX-3, que admitían procesadores vectoriales de 4 a 10 con una memoria compartida (consulte la arquitectura NEC SX ). RISC-V RVV puede marcar el comienzo del renacimiento moderno del procesamiento de vectores.
SIMD
Este esquema utiliza la categoría SIMD (Single Instruction Stream, Multiple Data Stream) de la taxonomía de Flynn como una clase raíz para las subclases Processor Array y Associative Memory . Las arquitecturas SIMD [7] se caracterizan por tener una unidad de control que transmite una instrucción común a todos los elementos de procesamiento, que ejecutan esa instrucción en sincronía sobre diversos operandos a partir de datos locales. Las características comunes incluyen la capacidad de los procesadores individuales para desactivar una instrucción y la capacidad de propagar los resultados de la instrucción a los vecinos inmediatos a través de una red de interconexión.
Matriz de procesador
Memoria asociativa
Matriz sistólica
Las matrices sistólicas, propuestas durante la década de 1980 [8], son multiprocesadores en los que los datos y los resultados parciales se bombean rítmicamente de un procesador a otro a través de una red de interconexión local regular. [1] Las arquitecturas sistólicas utilizan un reloj global y retrasos de tiempo explícitos para sincronizar el flujo de datos de un procesador a otro. [1] Cada procesador en un sistema sistólico ejecuta una secuencia invariante de instrucciones antes de que los datos y los resultados se envíen a los procesadores vecinos. [8]
Arquitecturas MIMD
Según la terminología de Flynn de múltiples instrucciones y múltiples flujos de datos, esta categoría abarca un amplio espectro de arquitecturas en las que los procesadores ejecutan múltiples secuencias de instrucciones en (potencialmente) diferentes flujos de datos sin una sincronización estricta. Aunque tanto los flujos de instrucciones como los de datos pueden ser diferentes para cada procesador, no es necesario que lo sean. Por lo tanto, las arquitecturas MIMD pueden ejecutar programas idénticos que se encuentran en varias etapas en un momento dado, ejecutar secuencias de datos e instrucciones únicas en cada procesador o ejecutar una combinación de cada uno de estos escenarios. Esta categoría se subdivide además principalmente sobre la base de la organización de la memoria. [1]
Memoria distribuida
Arquitecturas de paradigma MIMD
La categoría de paradigmas basados en MIMD incluye sistemas en los que un paradigma específico de programación o ejecución es al menos tan fundamental para el diseño arquitectónico como lo son las consideraciones estructurales. Por lo tanto, el diseño de arquitecturas de flujo de datos y máquinas de reducción es tanto el producto de respaldar su paradigma de ejecución distintivo como el producto de conectar procesadores y memorias al estilo MIMD. Las subdivisiones de la categoría están definidas por estos paradigmas. [1]
Híbrido MIMD / SIMD
Máquina de flujo de datos
Máquina de reducción
Matriz de frente de onda
Referencias
9. C Xavier y SS Iyengar, Introducción a la programación paralela
- ^ a b c d e f g Duncan, Ralph, "Un estudio de arquitecturas de computadoras paralelas", Computadora IEEE. Febrero de 1990, págs. 5-16.
- ^ Flynn, MJ, "Sistemas informáticos de muy alta velocidad", Proc. IEEE. Vol. 54, 1966, págs. 1901-1909.
- ^ Introducción a los algoritmos paralelos
- ^ a b Hwang, K., ed., Tutorial Supercomputadoras: diseño y aplicaciones. Computer Society Press, Los Alamitos, California, 1984, esp. capítulos 1 y 2.
- ^ Russell, RM, "El sistema informático CRAY-1", Comm. ACM, enero de 1978, págs. 63-72.
- ^ Watson, WJ, El ASC: una arquitectura de supercomputadora flexible altamente modular, Proc. Conferencia conjunta de informática de otoño de AFIPS, 1972, págs. 221-228.
- ^ Michael Jurczyk y Thomas Schwederski, "Procesamiento SIMD: conceptos y sistemas", págs. 649-679 en Manual de computación paralela y distribuida, A. Zomaya, ed., McGraw-Hill, 1996.
- ^ a b Kung, HT, "¿Por qué matrices sistólicas?", Computadora, vol. 15, núm. 1, enero de 1982, págs. 37-46.