Paradigmas
paralelizar programas
Paradigmas de resolución de programas concurrentes
Si bien el número de aplicaciones es muy grande, en general los
“patrones” de resoluciónconcurrentes son pocos:
1.2.3.4.5.-
Paralelismo Iterativo
Paralelismo Recursivo
Productor y Consumidor (pipelines o workflows)
Clientes y servidores (Clients and Servers)
Peers: Pares que interactúan(interacting peers)
Paralelismo Iterativo
Un programa consta de un conjunto de procesos, que podrían ser idénticos,
en donde c/u tiene 1 o más loops. Luego, cada proceso es un programa
iterativo.
Losprocesos cooperan para resolver un único problema (Ej. un sistema de
ecuaciones), pueden trabajar independientemente, comunicarse y
sincronizar por memoria compartida o Paso de mensaje.
Generalmente, eldominio de datos se divide entre los procesos siguiendo
diferentes patrones.
Paralelismo Recursivo
El problema general (programa) puede descomponerse en
recursivos que trabajan sobre partes delconjunto total de datos.
procesos
Pb
Pb1
Pb11
Pb21
Pb2
Pb3
Pb31
Pb32
Pb33
Productor - Consumidor
Los esquemas productor-consumidor muestran procesos que se comunican.
Es habitual que estosprocesos se organicen en pipes a través de los cuales
fluye la información.
Cada proceso en el pipe es un filtro que consume la salida de su proceso
predecesor y produce una salida para el procesosiguiente.
Cliente-Servidor
Es el esquema dominante en las aplicaciones de procesamiento distribuido.
Los servidores son procesos que esperan pedidos de servicios de múltiples
clientes. Unos y otros puedenejecutarse en procesadores diferentes.
Comunicación bidireccional.
Atención de a un cliente o con multithreading a varios.
Mecanismos de invocación variados (rendezvous y RPC, monitores).
El soportedistribuido puede ser simple (LAN) o extendido a la WEB.
Peers
En los esquemas de pares que interactúan los procesos resuelven partes del
problema e intercambian mensajes para avanzar en la tarea y...
Regístrate para leer el documento completo.