Sistemas Paralelos

Sistemas Paralelos

de Diego Martin Amorena Gomez De Salazar -
Número de respuestas: 2

Buenas 
Tengo dudas acerca de las 4 clasificaciones para los sistemas paralelos
La primer duda seria por que Multiple Instruction Single Data agregaría paralelismo redúndate. De la manera que se explica en el open fing(2014) se explica que se ejecuta la misma instrucción en los mismos datos. Lo que me hace pensar que lo que a pesar de ser Multiple Instruction, todas las instrucciones serian la misma. Es esto correcto? No es posible ejecutar un distinto set de instrucciones en el mismo grupo de datos concurrente mente? Cuando se habla de MIMD, también se ejecutaría la misma instrucción a distintos grupos de datos?
Mi segunda duda seria acerca de las clasificaciones Loosely/Tightly coupled y las de memoria compartida y distribuida. Me gustaría saber si todos los tightly couple serian de memoria compartida y a su vez todos los loosely coupled serian por memoria distribuida? se cumple el "reciproco"? 
Saludos y Muchas Gracias 
Diego

En respuesta a Diego Martin Amorena Gomez De Salazar

Re: Sistemas Paralelos

de Federico Rivero -
Hola Diego!

Respondo entrelíneas:

La primer duda seria por que Multiple Instruction Single Data agregaría paralelismo redúndate. De la manera que se explica en el open fing(2014) se explica que se ejecuta la misma instrucción en los mismos datos. Lo que me hace pensar que lo que a pesar de ser Multiple Instruction, todas las instrucciones serian la misma. Es esto correcto?

Hola! No es correcto. Primero que nada aclarar que MISD es muy poco usado, y en general cuesta mucho encontrar buenos ejemplos de este caso de la taxonomía de flynn. Pero bueno, no, la instrucción no tiene que se siempre la misma.

No es posible ejecutar un distinto set de instrucciones en el mismo grupo de datos concurrente mente?

Efectivamente eso es lo que ser realizaría en este tipo de sistema computacional. Y no solo concurrente: de forma paralela (efectivamente al mismo tiempo).

Cuando se habla de MIMD, también se ejecutaría la misma instrucción a distintos grupos de datos?

No, justamente, MIMD implica instrucciones diferentes en datos diferentes. Esto es lo que ocurre en una computadora con más de un núcleo de ejecución (básicamente todas las computadoras actuales). Dos instrucciones diferentes se están ejecutando a la misma vez en dos CPUs diferentes, con datos diferentes (una instrucción puede estar sumando 2 registros mientras que otra puede estar copiando una posición de memoria en un registro).

Mi segunda duda seria acerca de las clasificaciones Loosely/Tightly coupled y las de memoria compartida y distribuida. Me gustaría saber si todos los tightly couple serian de memoria compartida y a su vez todos los loosely coupled serian por memoria distribuida? se cumple el "reciproco"?

En general estas clasificaciones tienen ciertas combinaciones que son las usuales. Ejemplo, lo normal en una computadora personal o un celular es que sea multiprocesador de memoria compartida centralizada, tightly coupled, con acceso uniforme a memoria (UMA), por otro lado un clúster normalmente va a ser de memoria distribuída, loosely coupled, con acceso no uniforme a memoria (NUMA), y con memoria compartida entre ciertos nodos o núcleos pero también probablemente no toda la memoria sea accesible por todos los procesadores. 

Qué quiero decir con esto, que está bien asociar loosely coupled con memoria distribuída (no necesariamente compartida), pero no, no podés afirmar que una clasificación te implique la otra. Si bien algunas combinaciones no tienen mucho sentido, siguen siendo posibles: por ej: un procesador multicore en el mismo chip (altamente acoplado), con memoria distribuída físicamente alrededor de la CPU pero aún así con una interfaz que provea tiempo de acceso uniforme a cualquier posición de memoria.

Saludos,
Federico