Dynamische Deadlockerkennung für Parallelprogramme

Auf einem Parallelrechner, der nach dem Message Passing Prinzip arbeitet, konnen Parallelprogramme durch die Interprozes-Kommunikation in Deadlocksituationen geraten. In dieser Situation warten kommunikationswillige Prozesse aufeinander, ohne das sie kommunizieren konnen, da sie jeweils keinen entsprechenden kommunikationswilligen Partnerprozes finden konnen. Derartige Deadlocks unterscheiden sich von Deadlocks in Betriebssystemen und Datenbanken dadurch, das sie nicht durch das Abbrechen eines am Deadlock beteiligten Prozesses aufgelost werden konnen. Die Ursachen solcher Deadlocks liegen in der ungeeigneten Abfolge von Kommunikationsanweisungen, die deshalb auch als falsch plazierte Kommunikationsanweisungen betrachtet werden konnen. Dafur sind die herkommlichen Deadlockerkennungsverfahren, die meistens auf Prozeszustanden basieren, nicht geeignet. In der vorliegenden Arbeit wird ein neues Verfahren zur dynamischen Erkennung von Kommunikationsdeadlocks vorgestellt, das sowohl auf Prozeszustanden als auch auf Kommunikationszustanden der Kanale beruht. Schlusselworter: Deadlock, Deadlockerkennung, Kanalzustand, Monitor, Occam, Parallelprogrammierung, Transputer