Detection and resolution of deadlocks in concurrent processes using process algebra
The proponent extends Process Algebra (PA) in terms of its components and how it is constructed. This algebra allows an expression to contain a set of finite operands known as atomic actions and a finite set of operators which individually denote either a sequential or an alternate composition. Both...
Saved in:
Main Author: | |
---|---|
Format: | text |
Language: | English |
Published: |
Animo Repository
1993
|
Subjects: | |
Online Access: | https://animorepository.dlsu.edu.ph/etd_masteral/1501 https://animorepository.dlsu.edu.ph/cgi/viewcontent.cgi?article=8339&context=etd_masteral |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | De La Salle University |
Language: | English |
Summary: | The proponent extends Process Algebra (PA) in terms of its components and how it is constructed. This algebra allows an expression to contain a set of finite operands known as atomic actions and a finite set of operators which individually denote either a sequential or an alternate composition. Both of these operators are considered primitive operators. In order to evaluate these operators, axioms are formulated to include the resolution of parallel and left-merge operators that are necessary to represent processes in a distributed environment.
An algorithm, which uses PA as the mathematical model, to detect and resolve a deadlock for concurrent processes in a distributed system environment is also presented. The key idea of the algorithm is to have a controller in each site maintain a table of all the processes in a particular site availing themselves of a specific resource. Since a process has to submit to the site controller the duration of the process as well as an interval indicating its earliest and latest start times, the site controller can eventually construct a picture, called a process graph, of its schedule. Such a picture allows the controller to determine if a deadlock exists among the scheduled processes. The main problem involves a scheme to detect whether a deadlock, if any, exists. Moreover, if a deadlock exists, the algorithm determines which among the processes should be aborted. The selection of such a process is dictated by the objective of affecting as small a number of processes as possible. |
---|