Tema 4: SISTEMAS BASADOS EN PASO DE MENSAJES
Tema 4: SISTEMAS BASADOS EN PASO DE MENSAJES Tema 4: SISTEMAS BASADOS EN PASO DE MENSAJES
2.2. Sentencias no bloqueantes 2.2.2. Send-Receive no bloqueante buferizado • Emisor inicia una operación de DMA y retorna inmediatamente. – Los datos se vuelven seguros en el momento en que DMA completado. • En el receptor, “receive” inicia la transferencia desde el búfer del emisor a la dirección destino en el receptor. • Efecto: reducir el tiempo durante el cual los datos son inseguros. • MPI implementa tanto operaciones bloqueantes como no bloqueantes. – Operaciones bloqueantes facilitan una programación más fácil y segura. – Operaciones no bloqueantes permiten optimizar el rendimiento al enmascarar sobrecargas de comunicación.
3. Espera Selectiva • Los modelos basados en paso de mensajes imponen ciertas restricciones – No basta con send y receive para modelar la semántica deseada. • Productor Consumidor con búfer de tamaño fijo – Se asumen operaciones bloqueantes sin búfer – Problema: Acoplamiento forzado entre los procesos PROC Productor { while (true){ .... Produce (&dato) send (&dato,1,Consumidor) ....} } PROC Consumidor { while (true){ .... receive (&dato,1,Productor) Consume (dato) ....} }
- Page 1 and 2: Tema 4. Sistemas basados en paso de
- Page 3 and 4: 1. Introducción • Multicomputado
- Page 5 and 6: 2. Sentencias básicas de paso de m
- Page 7 and 8: 2.1. Sentencias Bloqueantes 2.1.1.
- Page 9 and 10: 2.1. Sentencias Bloqueantes 2.1.2.
- Page 11: 2.2. Sentencias no bloqueantes 2.2.
- Page 15 and 16: 3. Espera Selectiva • Solución:
2.2. Sentencias no bloqueantes<br />
2.2.2. Send-Receive no bloqueante buferizado<br />
• Emisor inicia una operación de DMA y retorna inmediatamente.<br />
– Los datos se vuelven seguros en el momento en que DMA<br />
completado.<br />
• En el receptor, “receive” inicia la transferencia desde el búfer<br />
del emisor a la dirección destino en el receptor.<br />
• Efecto: reducir el tiempo durante el cual los datos son<br />
inseguros.<br />
• MPI implementa tanto operaciones bloqueantes como no<br />
bloqueantes.<br />
– Operaciones bloqueantes facilitan una programación más fácil y<br />
segura.<br />
– Operaciones no bloqueantes permiten optimizar el rendimiento al<br />
enmascarar sobrecargas de comunicación.