"Institute of Educational Policy" Books

Search

Go
Show

Ο συμβολισμός parbegin … parend

Οι εντολές parbegin (parallel begin) και parend (parallel end) είναι εντολές υψηλού επιπέδου για την περιγραφή ταυτοχρονισμού που προτάθηκαν από τον Dijkstra το 1965.

Σε ένα πρόγραμμα π.χ. Pascal τα begin … end περικλείουν μια ομάδα εντολών που πρέπει να εκτελεστεί σειριακά. Οι εντολές της ομάδας χωρίζονται μεταξύ τους με ερωτηματικό («;»). Αντίστοιχα, μια ομάδα εντολών που μπορεί να εκτελεστεί παράλληλα περικλείεται από τα parbegin … parend και οι εντολές χωρίζονται μεταξύ τους με το σύμβολο «||». Οι εντολές αυτές μπορούν να είναι απλές εντολές ή σύνθετες, να είναι δηλαδή με τη σειρά τους μια ομάδα εντολών που περικλείονται από begin…end.

Η εκτέλεση μιας ομάδας παραλλήλων εντολών που περικλείονται από τα parbegin … parend γίνεται ταυτόχρονα: ξεκινούν όλες μαζί και η ομάδα εντολών τελειώνει όταν όλες τους τερματίσουν.

Η παράλληλη υλοποίηση του προγράμματος του Σχήματος Α φαίνεται στο Σχήμα Β.

Οι εντολές parbegin … parend δεν είναι σε θέση να περιγράψουν όλους τους δυνατούς γράφους προβαδίσματος· έχουν όμως το πλεονέκτημα ότι κάνουν το παράλληλο πρόγραμμα πολύ ευανάγνωστο και κατανοητό.

Σχήμα A begin ml := xl * x2; m2 := x3 - x4; m3 := m2 / x5; r = ml - m3 end

Σχήμα Β begin parbegin ml := xl * x2 begin m2:= x3 - x4; m3 := m2 / x5 end; parend; r := m1 - m3 end