Pregunta

Estoy aprendiendo programación paralela por mi cuenta. Me pregunto si la memoria distribuida es siempre multiproceso y el multiproceso siempre es memoria compartida. ¿Si el multiproceso puede ser tanto para la memoria distribuida como para la memoria compartida? Gracias y saludos!

¿Fue útil?

Solución

Sí, sí, y " sí, en cierto sentido "

En un sistema de memoria distribuida, diferentes unidades de CPU tienen sus propios sistemas de memoria. El acceso desde otra CPU probablemente será más lento o con un modelo de coherencia más limitado, si es que es posible. Esto será más típico de un multiprocesador de paso de mensajes.

El uso de varios subprocesos para la programación paralela es más un paradigma de software que un problema de hardware, pero es correcto, el uso del término subproceso esencialmente especifica que se está utilizando una sola memoria compartida, y Puede o no incluir procesadores múltiples reales. Es posible que ni siquiera incluya varios subprocesos del kernel, en cuyo caso los subprocesos no se ejecutarán en paralelo.

No estoy completamente claro sobre el significado de la última pregunta. Ciertamente, al decir " memoria distribuida " o " memoria compartida " Implica " distribuido sobre procesadores " y " compartido por los procesadores " ;, por lo que supongo que los términos solo se aplican razonablemente a los sistemas multiprocesador o potencialmente multiprocesador. Si estamos hablando de múltiples procesos en el sentido del software, supongo que es un requisito para los sistemas de memoria distribuida y, en esencia, un requisito (para que puedan llamarse hilos ) para un sistema de memoria compartida.

Debo agregar que los sistemas con memoria distribuida pero con coherencia de caché existen y son un tipo de diseño multiprocesador de memoria compartida llamado NUMA. Hace solo unos años, estas máquinas eran la franja lunática de la computación paralela, pero ahora los procesadores Intel Core i7 tienen trajo NUMA en la corriente principal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top