Εργασία για το μεταπτυχιακό μάθημα Τεχνολογία παράλληλων υπολογιστικών συστημάτων Μουζακίδης Αλέξανδρος AM M 853

Σχετικά έγγραφα
Εργασία για το μεταπτυχιακό μάθημα Παράλληλοι υπολογισμοί από τον φοιτητή Μουζακίδη Αλέξανδρο AM M 853

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

Προγραμματισμός ΙI (Θ)

Καροτοκυνηγός. Αντικείμενα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7)

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

ΑΕΠΠ Ερωτήσεις θεωρίας

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2-Γ3

Ενότητα 5: ΜΕΤΑΒΛΗΤΕΣ

Θέμα 1 ο. Επαναληπτικό ΛΥΣΕΙΣ

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΘΕΜΑ 1 ο. Στήλη Β Προτάσεις. β. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής. όταν η συνθήκη είναι ψευδής.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Επαναληπτική δοκιμασία στην Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Απρίλης 2015

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

Θέμα Α 1. 1 Τα θέματα προέρχονται από Επαναληπτικά Διαγωνίσματα από το "Στέκι των Πληροφορικών" και Π. Τσιωτάκη

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ Γ ΗΜΕΡΗΣΙΩΝ

Γ ΤΑΞΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ÑÏÌÂÏÓ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

max & min Μεθοδολογία - 1 Τα βήματα που συνήθως ακολουθούμε στις τεχνικές εύρεσης max & min είναι τα εξής:

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΣΠΑΙΤΕ Εργαστήριο Ψηφιακών Συστημάτων & Μικροϋπολογιστών Εργαστηριακές Ασκήσεις για το μάθημα «Λογική Σχεδίαση» ΑΣΚΗΣΗ 3 ΠΙΝΑΚΕΣ KARNAUGH

ΔΙΑΦΟΡΑ ΘΕΜΑΤΑ. Ως «γειτονικά» ορίζονται τα κελιά που συγγενεύουν οριζόντια, κάθετα και διαγώνια. Για παράδειγμα γειτονικά του Α[3,3] είναι τα:

Διαδικασιακός Προγραμματισμός

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Γραπτές Απολυτήριες Εξετάσεις Ιουνίου 2008 ΘΕΜΑΤΑ. ΘΕΜΑ 1 ο Σημειώστε δίπλα σε κάθε φράση (Σ) αν είναι σωστή ή (Λ) αν είναι λάθος.

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ÊÁËÁÌÁÔÁ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

ΕΘΝΙΚΟ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Πληροφορική 2. Αλγόριθμοι

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

του προγράμματος diagrama_rohs.zip )

ΘΕΜΑ Α. Μονάδες 10 Α2.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ Γ ΗΜΕΡΗΣΙΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Στήλη Β Προτάσεις. 1. Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2. Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ Γ ΗΜΕΡΗΣΙΩΝ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ Γ ΗΜΕΡΗΣΙΩΝ

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ - ΕΣΠΕΡΙΝΩΝ

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

Τι θα απαντούσατε αλήθεια στην ίδια ερώτηση για την περίπτωση της επόμενης εικόνας;

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

ΦΥΛΛΟ ΕΞΟΙΚΕΙΩΣΗΣ ΜΕ ΤΟ ΕΙΚΟΝΙΚΟ ΕΡΓΑΣΤΗΡΙΟ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΣΠΕΡΙΝΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΘΕΡΙΝΑ ΣΕΙΡΑ: 1 η ΗΜΕΡΟΜΗΝΙΑ: ΘΕΜΑ Α

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Πρόβλημα 37 / σελίδα 207

20 7ω ΘΕΜΑ Α ,5x γδ ωx. 5 2 (όπου x, y, ω, γ, δ, μ, z μεταβλητές)

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Α.Ε.Π.Π. ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Γ ΛΥΚΕΙΟΥ Θέματα και Απαντήσεις

Να το ξαναγράψετε χρησιμοποιώντας αντί για την εντολή Για Τέλος_επανάληψης: α. την εντολή Όσο Τέλος_επανάληψης

Διαδικασιακός Προγραμματισμός

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Πρόβλημα 29 / σελίδα 28

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

Παράδειγμα 6 Προσομοίωση και επίλυση Επίπεδων Πλακών

Ενδεικτικές Ερωτήσεις Θεωρίας

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

Transcript:

Εργασία για το μεταπτυχιακό μάθημα Τεχνολογία παράλληλων υπολογιστικών συστημάτων Μουζακίδης Αλέξανδρος AM M 853 Θέμα Υλοποίηση του παιχνιδιού της ζωής με παράλληλους αλγορίθμους κατανεμημένης μνήμης Ακαδημαϊκό έτος 006-007

1. Παρουσίαση του προβλήματος του παιχνιδιού της ζωής Στην άσκηση έχουμε να αντιμετωπίσουμε το παιχνίδι της Ζωής που επινόησε ο John Conway το 1970 στο πανεπιστήμιο του Κέμπριτζ. Στο παιχνίδι έχουμε ένα περιοδικό ΝxΝ πλέγμα όπου κάθε θέση μπορεί να είναι καταλυμένη ή όχι. Σαρώνουμε επαναληπτικά όλες τις θέσεις του πλέγματος και ελέγχουμε τις οχτώ γειτονικές θέσεις του στοιχείου στόχου μας. Αν σους γείτονες υπάρχουν 0 η 1 καταλυμένες θέσεις τότε η θέση στόχος μένει κενή. Αν η θέση στόχος είναι καταλυμένη και γύρω υπάρχουν ή 3 καταλυμένες θέσεις τότε δεν εισέρχεται καμία αλλαγή. Αν υπάρχουν περισσότερες από 3 καταλυμένες γειτονικές θέσεις τότε η θέση στόχος μετατρέπεται σε κενή. Αν η θέση στόχος είναι κενή και γύρω της υπάρχουν ακριβώς 3 καταλυμένες θέσεις τότε η θέση γεμίζει. Για την αναπαράσταση του παραπάνω προβλήματος με υπολογιστή μπορεί να γίνει με έναν δισδιάστατο πινάκα μεγέθους ΝxΝ που κάθε του κελί δέχεται δυο τιμές 0 και 1. Το 0 συμβολίζει ότι μια θέση είναι κενή και το 1 ότι είναι καταλυμένη. Το πλέγμα είναι αναδιπλούμενο, δηλαδή τα στοιχειά που βρίσκονται πάνω στην περίμετρο του αλλάζουν και με βάση τις τιμές των στοιχείων που θα βρίσκονταν γύρω τους αν τυλίγαμε το πλέγμα. Παράδειγμα είναι η Εικόνα 1 που περιέχει ένα πλέγμα 10x10 και τα κόκκινα σημεία είναι τα σημεία του πλέγματος. Η τιμή του στοιχεί 0.0 υπολογίζεται με βάση την τιμή των στοιχείων που έχουν σημειωθεί Εικόνα 1. Το δισδιάστατο πλέγμα μαζί με την επιπλέον μνήμη

Λόγω του παραπάνω όταν έχουμε να επεξεργαστούμε ένα πλέγμα x στην μνήμη κατασκευάζουμε ένα πλέγμα (1)x(1) και στην αρχή κάθε επανάληψης αντιγράφουμε στις περιφερικές θέσεις του πλέγματος τις απέναντι τιμές από το εσωτερικού x πλέγμα Στην συνεχεία ο αλγόριθμος είναι πολύ απλός, σαρώνουμε όλο το πλέγμα και υπολογίζουμε πόσους ζωντανούς γείτονες έχει κάθε στοιχειό και βάσει των κανόνων υπολογίζουμε την νέα τιμή του. Ο ψευδοκώδικας που περιγράφει την διαδικασία είναι Για όλα τα στοιχεία του Νx πλέγµατος κάνε Lives<-αριθµός ζωντανών γειτόνων Αν lives 3 στοχος<-ζωντανος Αλλιως αν lives< ή lives>3 στοχος<-ζωντανος Αλλιώς µην αλλάξεις τίποτα Η παραπάνω διαδικασία τερματίζεται είτε μετά από έναν ορισμένο αριθμό επαναλήψεων που δίνονται στο πρόγραμμα είτε όταν δυο συνεχόμενες επαναλήψεις δώσουν το ίδιο ακριβώς πληγώ. Δηλαδή όταν βρεθούμε σε μια κατάσταση αδιέξοδου όπου δεν μπορεί να εξελίχθη περισσότερο ο πληθυσμός.. Παραλληλοποίηση του προβλήματος Το συγκεκριμένο πρόβλημα δεν αποτελείτε από μια σειρά ανεξάρτητων υπολογισμών οπότε δεν μπορούμε να το προσεγγίσουμε με καταμερισμό διεργασιών. Θα εξακολουθήσουμε την προσέγγιση του καταμερισμού όγκου δεδομένων στους επεξεργαστές και την παράλληλη επεξεργασία τους. Στην ιδεατή περίπτωση που είχαμε στην διάθεση μας απείρους επεξεργαστές για x πλέγμα θα χρησιμοποιούσαμε x επεξεργαστές και ο καθένας από αυτούς θα αναλάμβανε τον υπολογισμό ενός και μόνο στοιχείου. Μετά θα επικοινωνούσε με τους 8 γειτονικούς του για να μάθει τις νέες τιμές και για να γνωστοποιήσει την δική του. Στη πραγματικότητα όμως έχουμε έναν περιορισμένο αριθμό επεξεργαστών σε σχέση με τον αριθμό των στοιχείων του πλέγματος. Για αυτό τα στοιχεία του πλέγματος πρέπει να ομαδοποιηθούν,σε όσο το δυνατόν πιο ισομεγέθεις ομάδες, και να μοιραστούν στους διαθεσίμους επεξεργαστές εργασίες με περίπου ίδιο υπολογιστικό κόστος. Ταυτόχρονα με την κατασκευή των ομάδων πρέπει να σκεφτούμε ότι διαφορετική ομαδοποίηση θα χρειαστεί διαφορετική επικοινωνίας ανάμεσα στους επεξεργαστές για να ανταλλάξουν τις αναπνεόμενες τιμές. Λόγω της φύσης του προβλήματος,που για τον υπολογισμό κάθε στοιχείου του πινάκα 3

πρέπει να γνωρίζουμε τις τιμές των γειτονικών σημείων, οι ομάδες των στοιχείων που θα φτιαχτούν θα περιέχουν στοιχεία που γειτονεύουν μεταξύ τους για να περιοριστεί η επικοινωνία που απαιτείται για την ανταλλαγή των συνοριακών τιμών κάθε αποπλύματος. Υπάρχει περίπτωση το μέγεθος του πινάκα να μην διαιρείται σε ομάδες ακριβώς όσες Θα μελετηθούν δυο προσεγγίσεις ομαδοποίησης, ο καταμερισμός σε λωρίδες και ο καταμερισμός σε τετράγωνα. Για να μην υπάρξουν μεγάλες ανισότητες οι γραμμές ή και στήλες (αναλόγως την διχοτόμηση) που περισσεύον μοιράζονται κυκλικά στους επεξεργαστές ώστε τελικά καταφέρνουμε όσο τον δυνατόν πιο δίκαιη κατανομή..1. Καταμέριση στοιχείων κατά γραμμές Σε αυτό τον καταμερισμό το πλέγμα χωρίζεται σε οριζόντιες ή κάθετες λωρίδες (sris), δεν έχει σημασία, που η κάθε μια περιέχουν στοιχεία. Όπου είναι ο αριθμός των επεξεργαστών και Ν το μέγεθος της διάστασης του πινάκα. Κάθε επεξεργαστής αναλαμβάνει τα στοιχεία μιας ομάδας. Ο χρόνος επεξεργασίας θα είναι om I Όπου είναι ο χρόνος που χρειάζεται για τον υπολογισμό της νέας τιμής ενός στοιχείου. Με Ι συμβολίζω τον αριθμό των επαναλήψεων που θα γίνουν μέχρι να τερματιστεί ο αλγόριθμος Εικόνα. Διαχωρισμός πλέγματος σε γραμμές (sris) 4

Σε κάθε επανάληψη ο κάθε επεξεργαστής πρέπει να γνωρίζει τις αλλαγές που έγιναν στις συνοριακές τιμές του προηγούμενου και του επόμενου από αυτόν επεξεργαστών. Έτσι όλοι οι επεξεργαστές ανταλλάσουν μεταξύ τους δυο γραμμές των στοιχείων. Ο χρόνος επικοινωνίας θα είναι omm 4 ( s w) I Ο χρόνος επικοινωνίας θα είναι άσος με την αποστολή τεσσάρων μηνυμάτων γιατί υπάρχει ο χρόνος παραλαβής μηνυμάτων και ο χρόνος αποστολής μνημάτων Όπου sείναι ο χρόνος που χρειάζεται για την έναρξη αποστολής ενός μηνύματος και wείναι ο χρόνος που απαιτείται για την αποστολή ενός στοιχείου μέσα στο δίκτυο... Καταμέριση στοιχείων σε τετράγωνα Εικόνα 3. Διαχωρισμός πλέγματος σε τετράγωνα (bloks) Στην δυσδιάστατη καταμέριση ο πινάκας των σημείων χωρίζεται σε τετράγωνα (bloks) με ύψος και κάθε επεξεργαστής αναλαμβάνει ένα από αυτά. Φυσικά πάλι ο κάθε επεξεργαστής έχει στοιχεία και επόμενος χρόνο επεξεργασίας om I Οι επεξεργαστές μοιράζονται από πάνω προς τα κάτω και από αριστερά προς τα δεξιά. Για παράδειγμα αν έχουμε 16 επεξεργαστές θα μοιραστούν ως εξής 5

0 4 8 1 1 5 9 13 6 10 14 3 7 11 15 Σε αυτή την καταμέριση ο κάθε επεξεργαστής πρέπει να επικοινωνήσει με τους επεξεργαστές που έχουν αναλάβει τα 8 γειτονικά μπλοκ. Έτσι ανταλλάσσει 4 μηνύματα μεγέθους στοιχείων με τους επεξεργαστές που έχουν αναλάβει τα μπλοκ που βρίσκονται πάνω, κάτω, αριστερά, δεξιά του και 4 μηνύματα με τους επεξεργαστές που έχουν αναλάβει τα μπλοκ που βρίσκονται στις διαγώνιους. Ο χρόνος επικοινωνίας θα είναι ( 16s ( 1)8 w I. omm ).3. Αξιολόγηση αλγορίθμων Ο συνολικός χρόνος εκτέλεσης των αλγορίθμων, σε κάθε επεξεργαστή ξεχωριστά, που παρουσιάζονται στις ενότητες.1 και. θα είναι άσος με Για τον αλγόριθμο της παραγράφου. και Για τον αλγόριθμο της παραγράφου. και om omm I sris 1 sris ( 4( s w)) I I bloks 1 bloks ( 16s ( 1)8 w) I Θεωρώντας ότι ο κάθε επεξεργαστής έχει το ίδιο ή περίπου το ίδιο φόρτο εργασίας με τους υπόλοιπους, μπορούμε να υποθέσουμε ότι ο χρόνος αναμονής είναι αμελητέος και για αυτό δεν συμπεριλαμβάνεται στον υπολογισμό του συνολικού χρόνου εκτέλεσης. 6

Στο παρακάτω σχήμα βλέπουμε τις γραφικές παραστάσεις του χρόνου (κάθετος αξίνας) που χρειάζεται για να λυθεί το πρόβλημα σε συνάρτηση με τον αριθμό των επεξεργαστών που δίνονται (οριζόντιος αξίνας) όταν το μέγεθος παραμένει σταθερό. Για την γραφική παράσταση υπέθεσα ότι το 1, w ms και το s 4 ms. Τα νούμερα αυτά δεν είναι πραγματικά, με την άποψη ότι δεν γνωρίζω αν πράγματι ισχύουν για κάποια υπολογιστική μηχανή. Είναι όμως σωστές υποθέσεις για την απεικόνιση της γραφικής παράστασης καθώς είναι δυνατο η αρχικοποίηση μιας επικοινωνίας να χρειάζεται τέσσερεις φορές περισσότερο χρόνο από την αποστολή μιας λέξης μέσα από το δίκτυο. Φυσικά αυτό εξαρτάται από τις προδιαγραφές του δικτύου και του πρωτοκόλλου επικοινωνίας αλλά νομίζω πως είναι ένα ρεαλιστικό σενάριο. Εικόνα 4. Διάγραμμα χρόνου εκτέλεσης σε συνάρτηση με την αύξηση των ΚΜΕ Παρατηρούμε ότι η μέθοδος του διαχωρισμού σε bloks αποκτά ένα μικρό προβάδισμα στην βελτίωση του χρόνου που απαιτητέ για την εκτέλεση του προγράμματος όσο αυξάνει ο αριθμός των επεξεργαστών Ο γενικός τύπος της επιτάχυνσης είναι T1 S T άρα για την παρούσα υλοποίηση 7

8 ) 4( w s sris S w s bloks S 1)8 ( 16 Εικόνα 5. Διάγραμμα της επιτάχυνσης σε συνάρτηση με την αύξηση των ΚΜΕ Ο γενικός τύπος της απόδοσης είναι S E άρα για την παρούσα υλοποίηση )) 4( ( w s sris E ) 1)8 ( 16 ( w s bloks E

Εικόνα 6. Διάγραμμα της απόδοσης σε συνάρτηση με την αύξηση των ΚΜΕ Από τα παραπάνω διαγράμματα παρατηρούμε ότι η χρήση της καταμέρισης σε τετράγωνα έχει συνεχώς μεγαλύτερη επιτάχυνση και είναι πιο αποδοτική από την καταμέριση σε οριζόντιες λωρίδες για οποιοδήποτε αριθμό επεξεργαστών Τώρα πρέπει να δούμε ποια πρέπει να είναι η κλιμάκωση των επεξεργαστών όταν κλιμακώνεται το μέγεθος του προβλήματος. Για να μελετήσουμε την συμπεριφορά του προβλήματος πρέπει να βρούμε την σχέση που πρέπει να έχει η αύξηση του P ως προς το Ν. Δηλαδή πρέπει να βρούμε πως παραμένει σταθερή η ποσότητα E S Για την περίπτωση του διαχωρισμού σε sris πρέπει Για ΝP E sris ( 4( s w)) E sris ( 4 ( s w)) ή E sris ( 4 )) s w ή 9

4 P sris s E ( w)) Επειδή οι υπολογισμοί του προβλήματος γίνονται πάνω σε ένα τετραγωνικό πλέγμα η κλιμάκωση του Ν αντιστοιχεί σε μια κλιμάκωση των υπολογισμών P. Άρα η συνάρτηση για την διατήρηση της απόδοσης (Isoeffiieny) είναι της τάξης O ( P ). Για την περίπτωση του διαχωρισμού σε sris πρέπει E bloks ( 16s ( 1)8 w) Για bloks E ( 16s ( 1)8 w) ή bloks E ( 16 s 8 w) Επειδή οι υπολογισμοί του προβλήματος γίνονται πάνω σε ένα τετραγωνικό πλέγμα η κλιμάκωση του Ν αντιστοιχεί σε μια κλιμάκωση των υπολογισμών P. Άρα η συνάρτηση για την διατήρηση της απόδοσης (Isoeffiieny) είναι της τάξης O (P ). Παρατηρούμε ότι η διαχωρισμός του δισδιάστατου διαχωρισμού σε τετράγωνα (bloks) διατηρεί ευκολότερα την απόδοση του από ότι ο μονοδιάστατος διαχωρισμός σε λωρίδες. Αν και η υλοποίηση των bloks απαιτούν η εφαρμογή να τρέξει σε αριθμό διεργασιών που έχουν ακέραια τετραγωνική ρίζα. 3. Υλοποίηση προγράμματος Για την άσκηση δημιουργήθηκαν δυο προγράμματα σε γλωσσά προγραμματισμού C και χρήση της τεχνολογίας MPI για την υλοποίηση των παράλληλων αλγορίθμων που περιγράφηκαν. Έγινε σε δυο προγράμματα και όχι σε ένα παραμετρικό γιατί ήθελα να παραμένει ο κώδικας απλός και ανεξάρτητος. Ο κώδικας βρίσκεται μέσα σε δυο αρχεία. game_of_life_sris. Περιέχει τον κώδικα για την επίλυση του προβλήματος με καταμερισμό του πλέγματος σε οριζόντιες λωρίδες. game_of_life_bloks. Περιέχει τον κώδικα για την επίλυση του προβλήματος με καταμερισμό του πλέγματος σε τετράγωνα 10

3.1. Μεταγλώττιση προγράμματος Ο κώδικας μεταγλωττίστηκε με τον GCC και τον Mirosof l omiler αλλά είναι γραμμένος αποκλειστικά σε sandard C οπότε φυσιολογικά δεν θα έχει πρόβλημα με κανένα omiler αν αυτός μπορεί να μεταφράσει και τα header του MPI σωστά. Τα προγράμματα χρησιμοποιούν την βιβλιοθήκη MPE για την οπτικοποίηση της εκτέλεσης του προγράμματος. Η βιβλιοθήκη όμως MPE δεν είναι αναγκαστικό να υπάρχει σε όλα τα συστήματα που έχουν το MPI ή επωδή μπορεί να ενδιαφερόμαστε μόνο για τις μετρήσεις της απόδοσης στον κώδικα υπάρχουν κατάλληλες οδηγίες προς τον re roessor του C μεταγλωττιστή ώστε να μεταγλωττίζεται ή όχι ο κώδικας που υλοποιεί την οπτικοποίηση. Έτσι αν χρησιμοποιούμε τον μεταγλωττιστή GCC πρέπει να εκτελέσουμε mi -lm soure. για την μεταγλώττιση ενός προγράμματος που δεν θα υλοποιεί κάποιο τρόπο οπτικοποίηση. Απλός θα εμφανίσει στο τέλος τον χρόνο υπολογισμών και τον χρόνο επικοινωνίας. Αν θέλουμε να μεταγλωττιστεί ένα πρόγραμμα που οπτικοποιεί την εκτέλεση του πρέπει να εκτελέσουμε στην γραμμή εντολών mi -lme -lx11 -lm -DVISUALIZATIO soure. δηλαδή πρέπει να περάσουμε επιπλέον παραμέτρους στον GCC ώστε να καθοριστεί η VISUALIZATIO μεταβλητή για τον Pre roessor. Φυσικά σε κάθε μεταγλώττιση πρέπει να δοθούν και οι παράμετροι για τις επιπλέον βιβλιοθήκες mah.h (-lm),mpe.h (-lme) και X11.h (-lx11) που χρησιμοποιούν τα προγράμματα 3.. Εκτέλεση προγράμματος Για την εκτέλεση τους τα προγράμματα χρειάζονται τρεις παραμέτρους από την γραμμή εντολών. Πρώτη παράμετρος είναι το μέγεθος του grid. Δεύτερη παράμετρος είναι το κάθε πόσες επαναλήψεις θα γίνεται έλεγχος,μέσω καθολικής επικοινωνίας,για την εύρεση μη περεταίρω εξέλιξης του πληθυσμού καθώς αν βρεθούν δυο συνεχόμενα πλέγματα που είναι ίδια η εφαρμογή πρέπει να τερματίσει. Αυτή η παράμετρος είναι σημαντική γιατί επιβαρύνει το πρόγραμμα με επιπλέον ανταλλαγή μηνυμάτων και κατά συνέπεια επηρεάζει την απόδοση του προγράμματος. Αυτή η ποσότητα μηνυμάτων δεν αναφέρθηκε πριν στην ανάλυση του αλγορίθμου καθώς θεώρησα πως είναι καλυτέρα να αναφερθεί στο τέλος μαζί με την ανάλυση της εκτέλεσης του προγράμματος. Τρίτη παράμετρος πρέπει να 11

δοθεί ο μέγιστος αριθμός επαναλήψεων, δηλαδή μέσα σε πόσες επαναλήψεις θα σταματήσει η εκτέλεση του προγράμματος. Σε κάθε περίπτωση αν επιθυμούμε ο αλγόριθμος να τερματίζεται μόνο μετά από συγκεκριμένο αριθμό επαναλήψεων αρκεί να δώσουμε τιμή για την τρίτη παράμετρο μεγαλύτερη από τον μέγιστο αριθμό επαναλήψεων. Ένα παράδειγμα εκτέλεσης της εφήμερης είναι mirun -mahinefile m game_of_life 50 4 100000 που δηλώνει ότι θέλουμε να εκτελέσουμε την εφαρμογή σε ένα τετραγωνικό πλέγμα πλευράς 50 κελίων, με έλεγχο για τερματισμό εξέλιξης κάθε 4 επαναλήψεις και με μέγιστο αριθμό επαναλήψεων 100000 Σε όλα τα προγράμματα γίνεται έλεγχος για το αν ο αριθμός των γραμμών ή στηλών είναι ακέραιο πολλαπλάσιο των επεξεργαστών η της ρίζας των επεξεργαστών (αναλόγως του τι υλοποιεί το πρόγραμμα) και αν δεν είναι, γίνεται κυκλική κατανομή επιπλέων γραμμών η στηλών στους επεξεργαστές μέχρι να έχουμε το σωστό αριθμό γραμμών και στηλών. Αυτό έχει σαν αποτέλεσμα να μην υπάρχουν μεγάλες αποκλείσεις ανάμεσα στο υπολογιστικό φόρτο που έχει ο κάθε επεξεργαστής. Η δυο εφαρμογές υλοποιήθηκαν με πολύ απλό τρόπο, και για τις ανάγκες της εκτέλεσης τους σε μορφή πειραμάτων. Για αυτό και δεν έγιναν ιδιαίτερα ασφαλείς. Δηλαδή δεν ελέγχουν αν οι παράμετροι που τους δίνονται είναι σωστές. Αν δοθούν λάθος παράμετροι,για παράδειγμα περαστεί ένα αλφαριθμητικό σύνολο (sring) για τον αριθμό των επαναλήψεων, το πρόγραμμα δεν θα καταφέρει να ολοκληρώσει επιτυχώς την εκτέλεση του αφού χρειάζεται έναν ακέραιο αριθμό. Ο μοναδικός έλεγχος που γίνεται είναι στην περίπτωση που χρησιμοποιείται η δισδιάστατη κατανομή σε τετράγωνα, όπου εξετάζεται ο αριθμός των επεξεργαστών και απαιτείται να έχουν ακέραια ρίζα. Στην περίπτωση που έχουμε μεταγλωττίσει τις εφαρμογές με ενεργοποιημένο το κομμάτι της οπτικοποίηση,κατά την εκτέλεση, θα εμφανιστεί στην οθόνη ένα παράθυρο που στο εσωτερικό του θα εμφανίζονται μαύρα τετράγωνα. Τα τετράγωνα αυτά είναι οι «ζωντανοί οργανισμοί» και αλλάζουν συνεχώς μέχρι τον τερματισμό της εφαρμογής 1

Εικόνα 7. Η οπτικοποίηση της εκτέλεσης Το πλέγμα γεμίζει στην αρχή του προγράμματος με μια τυχαία γένια στοιχείων. 3.3. Πειραματισμοί και μετρήσεις Τα παραπάνω δυο προγράμματα εκτελεστήκαν στα μηχανήματα SU του εργαστηριού του τμήματος Πληροφορικής και τηλεπικοινωνιών του πανεπιστήμιου Αθηνών. Έγιναν μετρήσεις για την μεταβολή του χρόνου εκτέλεσης όταν αλλάξει ο αριθμός των διαθεσίμων επεξεργαστών αλλά και του μεγέθους του προβλήματος. Κάθε πείραμα εκτελέστηκε 5 φορές και κρατήθηκε ο μέσος όρος των χρονών. sris ieraions grid size om omm s e 1 1000 500 15.39855 15.398548 1000 500 6.818915 0.93749 7.756344 1.98584 0.9964 4 1000 500 3.0789 0.956798 4.035718 3.815566 0.953891 8 1000 500 1.53703 1.349079.88178 5.34341 0.66796 9 1000 500 1.349079 0.89166.4145 6.870533 0.763393 1 1000 1000 63.33468 63.33468 1000 1000 31.73494 1.855044 33.589984 1.88553 0.94761 4 1000 1000 15.5369 1.778074 17.314359 3.65798 0.91448 8 1000 1000 1.7616 6.741879 8.504039 7.447600 0.93095 13

9 1000 1000 1.844801 6.0013 7.846101 8.071 0.89690 1 1000 1500 14.4731 14.473089 1000 1500 71.5891 3.791314 75.0503 1.898370 0.949185 4 1000 1500 40.9503.90311 43.855143 3.4870 0.8118 8 1000 1500 3.67404.73594 6.409967 5.394671 0.674334 9 1000 1500 17.63033 3.798573 1.4890 6.64864 0.738738 bloks ieraions grid size om omm s e 1 1000 500 15.855 15.85497 1000 500 4 1000 500 3.04733 0.965007 4.0140 3.809717 0.9549 8 1000 500 9 1000 500 0.790884 0.963938 1.7548 8.710568 0.967841 1 1000 1000 63.0634 63.06339 1000 1000 4 1000 1000 15.43965.07806 17.51451 3.601000 0.9005 8 1000 1000 9 1000 1000 5.947741.138644 8.086385 7.79858 0.866509 1 1000 1500 141.9878 141.987830 1000 1500 4 1000 1500 35.56533 3.150514 38.715840 3.667435 0.916859 8 1000 1500 9 1000 1500 1.4887 3.50957 15.99441 8.878434 0.986493 Όλες οι παραπάνω μετρήσεις έγιναν σε εκτελέσεις που δεν έλεγχαν καθόλου την εύρεση της μη περεταίρω εξελισσομένου πλέγματος. Για να υλοποιηθεί ο έλεγχος χρειάζεται ανά περιόδους,έστω K, όλοι οι επεξεργαστές να ανταλλάσουν μηνύματα μέσω της MPI_Redue και να ειδοποιούν αν εξελίσσονται ή όχι τα πλέγματα τους. Η καθολική λοιπόν επικοινωνία για να επιτευχτεί χρειάζονται logp μηνύματα. Άρα οι τύποι υπολογισμού του χρόνου εκτέλεσης αλλάζουν στους ακολούθους και sris I log P ( 4( s w)) I ( s K bloks I log P ( 16s ( 1)8 w) I ( s K w ) w ) 14

Δηλαδή η επίδραση εισαγωγής έλεγχου εύρεσης τερματισμού της εξέλιξης επιδρά σημαντικά στον χρόνο εκτέλεσης του προγράμματος. Ο παρακάτω πινάκας περιέχει 10 πειράματα που έγιναν για την μελέτη της μεταβολής του χρόνου εκτέλεσης με την αλλαγή του ρυθμού του έλεγχου. Τα πειράματα έγιναν με την χρήση του προγράμματος που κάνει διαμερισμέ σε sris και κρατάνε σταθερό το μέγεθος του προβλήματος, τον αριθμό των επαναλήψεων και τον αριθμό των επεξεργαστών. Sris ieraions grid size om omm hek 9 1000 1000 5.979513.053665 8.033178 9 9 1000 1000 5.9494.080644 8.09886 8 9 1000 1000 5.949567.0916 8.04177 7 9 1000 1000 5.959163.105489 8.06465 6 9 1000 1000 5.981469.13051 8.10450 5 9 1000 1000 5.967994.1809 8.15003 4 9 1000 1000 5.979336.1589 8.19465 3 9 1000 1000 5.96085.40160 8.363687 9 1000 1000 5.99649.69543 8.688081 1 Η στήλη hek δηλώνει την συχνότητα που θα πραγματοποιείται ο προστιθέμενος έλεγχος. Εικόνα 8. Από τα δεδομένα του πίνακα μπορούμε να παρατηρήσουμε το φόρτο επικοινωνίας που προσθέτει στο πρόγραμμα μας η καθολική επικοινωνία. 15

4. Συμπεράσματα Στην παρούσα μελέτη εξεταστήκαν δυο τρόποι παραλληλοποίησης του παιχνιδιού της ζωής βασισμένη στον διαχωρισμό δεδομένων. Παρατηρήθηκε θεωρητικά και πειραματικά ότι η δυσδιάστατη καταμέριση των δεδομένων μας έχει σαν αποτέλεσμα σχετικά καλυτέρους χρόνους εκτέλεσες και κατά συνέπεια καλύτερη επιτάχυνση και απόδοση. Επίσης παρατηρήσαμε ότι η δισδιάστατη καταμέριση παρουσιάζει καλύτερη κλιμάκωση. 16