Páginas

jueves, 17 de mayo de 2012

[DISTRIBUIDOS Y PARALELOS] Redes de Petri


Una red de Petri representa un sistema cuando se asigna un significado o una interpretación a las plazas, transiciones y testigos.

La descripción de un sistema mediante una red de Petri se basa en dos conceptos:
  • Evento.
  • Condición.

Un evento es una acción que ejecuta el sistema. Se modela mediante una transición.

La realización de un evento depende del estado del sistema, que se describe mediante un conjunto de condiciones, que se modelan mediante las plazas.

Los arcos que conectan las transiciones y las plazas representan la dependencia entre los eventos y las condiciones. 

La verificación de una condición se representa situando un testigo dentro de la plaza que lo modela.

Una RdP marcada representa la coordinación entre eventos.

Las redes de Petri pueden describir fácilmente sistemas en los que se producen relaciones de paralelismo, exclusión mutua y sincronización entre procesos que ocurren en ellos.

Cuando varios procesos que se ejecutan en paralelo comparten información, es necesario garantizar que los accesos a la información común no se lleve a cabo simultáneamente para evitar problemas de interferencia que conduzcan a resultados erróneos.

Una solución a este problema es hacer mutuamente excluyentes las secciones críticas de los diferentes procesos encargadas de acceder a la información. En la figura, se muestra una RdP que resuelve este problema.


Ejemplo de Productor/Consumidor

Los procesos productor/consumidor involucran elementos de datos compartidos por ambos procesos y, en consecuencia, es necesario plantear tareas de sincronización entre ambas.

En las figuras, se muestran dos procesos de este tipo. El primero supone la existencia de un buffer infinito capaz de absorber la diferencia de velocidad entre el productor y el consumidor. El segundo limita la capacidad de este buffer a n unidades del producto.


Problema de la cena de los filosofos


Este es un problema de sincronización para la utilización compartida de recursos.

Supónganse un conjunto de cinco filósofos que se reúnen para cenar y filosofar. La comida es china y se presenta la dificultad de que a cada comensal sólo le han colocado un palillo.

Con el fin de cenar, llegan a la solución de que cada comensal puede utilizar el palillo del comensal que tiene a su izquierda, siempre que él tenga el suyo (no se lo haya cogido el de su izquierda) y el comensal de la derecha no estécomiendo.

En la figura, se muestra una red de Petri que representa la dinámica que sigue esta comida.


Proceso de lectura y escritura sobre un recurso común


Se supone que existen procesos de dos tipos: procesos de lectura y de escritura. Todos los procesos
comparten un recurso común sobre el que escriben y leen. Los procesos de lectura no modifican la
información y, en consecuencia, todos ellos son compatibles entre sí. Por el contrario, el proceso de
escritura modifica la información y, por tanto, es excluyente con cualquier otro proceso de lectura y de
escritura. Se pretende establecer el proceso de control que permita el acceso a todos y que no conduzca al
sistema a ningún bloqueo.

En  la figura (a), se muestra una solución para el caso de que el número de lectores que simultáneamente pueden acceder al recurso sea finito e igual a n.

En  la figura (b), se muestra una solución para el caso en que se considera que el número de lectores es indefinido y que todos ellos pueden acceder simultáneamente al recurso. En este caso, el problema de
control no tienen solución desde las redes de Petri ordinarias y es necesario acudir a redes de Petri con
arcos inhibidores.




1 comentario: