Title :
Strategies for the prevention of communication deadlocks in distributed parallel programs
Author_Institution :
Programa de Engenharia de Sistemas e Computacao, Univ. Federal do Rio de Janeiro
fDate :
11/1/1990 12:00:00 AM
Abstract :
The occurrence of communication deadlocks caused by the unavailability of message buffers during the execution of distributed parallel programs is investigated. Such deadlocks can occur even if the program is designed for deadlock-freedom, since they are largely dependent on the system´s ability to handle message buffering space. A class of deadlock prevention strategies which require that the programmer provide upper bounds on the buffer usage in the several communication channels involved is exploited, and it is argued that such bounds are relatively simple to obtain in many cases. The proposed strategies range from those which require a minimal amount of buffers to those which ensure a reasonable level of concurrency in process execution, although at the expense of more buffering space. It is shown that in general these strategies require the solution of NP-hard optimization problems, and an efficient heuristic to tackle the concurrency-optimal strategy is suggested. Randomly generated systems are then used to show that the heuristic tends to be very successful
Keywords :
computational complexity; parallel programming; programming theory; NP-hard optimization problems; buffer usage; communication channels; communication deadlocks; concurrency; deadlock prevention; distributed parallel programs; heuristic; message buffering space; message buffers; process execution; randomly generated systems; unavailability; upper bounds; Buffer storage; Communication channels; Concurrent computing; Integrated circuit interconnections; Parallel processing; Programming profession; Routing; System recovery; Upper bound;
Journal_Title :
Software Engineering, IEEE Transactions on