Programación concurrente con memoria distribuida

Arquitecturas de memoria distribuida ⇒ procesadores + memoria local + red de comunicaciones + mecanismo de comunicación / sincronización = intercambio de mensajes.

Programa distruibuido: programa concurrente comunicado por mensajes. Supone la ejecución sobre una arquitectura de memoria distribuida, aunque puedan ejecutarse sobre una memoria compartida.

Los procesos SÓLO comparten canales (físicos o lógicos). Variantes para los canales:

La exclusión mutua no requiere mecanismo especial. Los procesos interactúan comunicándose. Accedidos por envío y recepción.

Mecanismos para el procesamiento distribuido:

Cada mecanismo es más adecuado para determinados patrones.

Pasaje de Mensajes Asincrónicos (PMA)

PMA ⇒ canales = colas de mensajes enviados y aún no recibidos.

Declaración de canales: chan nombreCanal(tipoDato)