background image

 

59 

 

3.5.3 Συγκέντρωση αποτελέσματος 

 

Τελευταίο βήμα της παραλληλοποίησης του αλγορίθμου αποτελεί η συγκέντρωση των 

υπολογισμών των επιμέρους διεργασιών. Για να επιτευχθεί η συγκέντρωση του αποτελέσματος 

απαιτείται επικοινωνία μεταξύ των διεργασιών που εκτελούν τους υπολογισμούς με την πρώτη 

διεργασία.  Η  πρώτη  διεργασία  δεν  εκτελεί  υπολογισμό  ορατότητας,  αλλά  συγκεντρώνει  τα 

αποτελέσματα των υπολοίπων  διεργασιών σε μια δισδιάστατη λίστα.  Η επικοινωνία μεταξύ 

των  υπόλοιπων  διεργασιών  με  την  πρώτη  διεργασία  πραγματοποιείται  με  τις  εντολές 

comm.send και comm.recv. Οι διεργασίες, εκτός από την πρώτη, χρησιμοποιούν την εντολή 

comm.send. Η εντολή αυτή στέλνει την λίστα που περιέχει τα αποτελέσματα του υπολογισμού 

ορατότητας  για  κάθε  διεργασίας  στην  πρώτη  διεργασία.  Η  εντολή  comm.send  έχει 

παραμέτρους  τη  δισδιάστατη  λίστα,  που  περιλαμβάνει  τις  συντεταγμένες  x  και  y  του  κάθε 

κελιού  που  υπολογίστηκε,  και  μηδέν  ή  ένα  που  υποδεικνύει  την  ορατότητα  του  κελιού  και 

προορισμό την διεργασία μηδέν. Η διεργασία μηδέν χρησιμοποιεί την εντολή comm.recv σε 

ένα βρόχο με παράμετρο την  κάθε διεργασία από  την οποία  δέχεται επικοινωνία.  Η εντολή 

αυτή αποδέχεται την επικοινωνία από τις υπόλοιπες διεργασίες και αποθηκεύει την λίστα που 

στέλνουν σε ένα δισδιάστατο πίνακα, στον οποίο συγκεντρώνονται τα αποτελέσματα όλων των 

διεργασιών. 

 

Σχήμα 42 Γραφική απεικόνιση του αποτελέσματος που υπολογίζει μια μόνο διεργασία. Με κόκκινο 

απεικονίζονται τα κελιά που δεν είναι ορατά από τον παρατηρητή, με πράσινο τα κελιά που είναι ορατά από τον 

παρατηρητή, ενώ με μαύρο παρουσιάζονται τα κελιά που υπολογίζονται από άλλες διεργασίες και δεν 

υπολογίζεται η ορατότητα τους. 

Στο 

Σχήμα 42

, παρουσιάζεται ο υπολογισμός ορατότητας που πραγματοποιεί κάθε διεργασία για 

το κομμάτι που έχει αναλάβει. Με πράσινο απεικονίζονται τα κελιά που είναι ορατά από τον 

παρατηρητή, με κόκκινο αυτά που δεν είναι ορατά, ενώ με μαύρο είναι τα κελιά για τα οποία 

δεν υπολογίστηκε η ορατότητα από την παρούσα διεργασία και δεν υπάρχουν στοιχεία για την 

ορατότητα τους. Η διεργασία μηδέν πραγματοποιεί την συγχώνευση των επιμέρους κομματιών, 

δημιουργώντας έτσι το συνολικό αποτέλεσμα για ολόκληρο το DEM.