ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Σχετικά έγγραφα
ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Υπολογιστικό Πρόβληµα


min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

ΛΥΣΕΙΣ ΑΣΚΗΣΕΩΝ ΕΞΕΤΑΣΤΙΚΗΣ ΠΕΡΙΟ ΟΥ ΙΟΥΝΙΟΥ 2004., η οποία όµως µπορεί να γραφεί µε την παρακάτω µορφή: 1 e

4.3. Γραµµικοί ταξινοµητές

A2. ΠΑΡΑΓΩΓΟΣ-ΚΛΙΣΗ-ΜΟΝΟΤΟΝΙΑ

Αλγόριθµοι και Πολυπλοκότητα

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Μετρικές & Επιδόσεις. Κεφάλαιο V

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Πρακτική µε στοιχεία στατιστικής ανάλυσης

x - 1, x < 1 f(x) = x - x + 3, x

Προσεγγιστικοί Αλγόριθμοι

αx αx αx αx 2 αx = α e } 2 x x x dx καλείται η παραβολική συνάρτηση η οποία στο x

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

Κεφάλαιο 1. Θεωρία Ζήτησης

4.3 Παραδείγµατα στην συνέχεια συναρτήσεων

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΙΚΗΣ ΑΝΑΛΥΣΗΣ Ι ( )

ΠΕΡΙ ΜΕΤΑΒΑΣΗΣ ΑΠΟ ΤΑ ΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ ΙΑΓΡΑΜΜΑΤΑ ΟΜΗΣ Ε ΟΜΕΝΩΝ

Σηµειώσεις στις σειρές

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

cov(x, Y ) = E[(X E[X]) (Y E[Y ])] cov(x, Y ) = E[X Y ] E[X] E[Y ]

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 2

11 Το ολοκλήρωµα Riemann

4 Συνέχεια συνάρτησης

3 Αναδροµή και Επαγωγή

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Περίληψη ιπλωµατικής Εργασίας

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

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

ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ & ΕΠΑ.Λ. Β 28 ΜΑΪΟΥ 2012 ΑΠΑΝΤΗΣΕΙΣ. y R, η σχέση (1) γράφεται

( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]}

Εισαγωγή. Οπως είδαµε για την εκκίνηση της Simplex χρειαζόµαστε µια Αρχική Βασική Εφικτή Λύση. υϊσµός

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

ΚΕΦΑΛΑΙΟ 8 ΣΥΜΠΕΡΑΣΜΑΤΑ. 8.1 Εισαγωγή

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Σχέση Μερικής ιάταξης Σχέση Μερικής ιάταξης (ή µερική διάταξη): ανακλαστική, αντισυµµετρική, και µεταβατική. Αριθµοί: α β (αλλά όχι α < β), α β, Σύνολ

Θέματα Μεταγλωττιστών

Μηχανική ΙI. Μετασχηµατισµοί Legendre. της : (η γραφική της παράσταση δίνεται στο ακόλουθο σχήµα). Εάν

ΚΕΦΑΛΑΙΟ 3 ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. nn n n

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

Παράλληλοι Υπολογισµοί (Μεταπτυχιακό)

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 3

Κατανεμημένα Συστήματα Ι

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Προσεγγιστικοί Αλγόριθμοι

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Αδιάσπαστοι, p-κυκλικοί, συνεπώς διατεταγµένοι πίνακες και γραφήµατα

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

ΚΕΦΑΛΑΙΟ 1. ΗΛΕΚΤΡΙΚΟ ΡΕΥΜΑ i.

Άπληστοι Αλγόριθµοι. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 1

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

η αποδοτική κατανοµή των πόρων αποδοτική κατανοµή των πόρων Οικονοµική αποδοτικότητα Οικονοµία των µεταφορών Η ανεπάρκεια των πόρων &

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων

Αρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Εισαγωγή στην Τοπολογία

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

Ερωτήσεις κατανόησης σελίδας Κεφ. 1

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 4

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών. ιαφόριση συναρτήσεων πολλών µεταβλητών

Γραμμικός Προγραμματισμός Μέθοδος Simplex

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

5.1 Θεωρητική εισαγωγή

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής:

Αλγόριθµοι και Πολυπλοκότητα

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 2008 ΕΚΦΩΝΗΣΕΙΣ

E1. ΣΥΝΑΡΤΗΣΕΙΣ ΣΤΑ ΟΙΚΟΝΟΜΙΚΑ Ι

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Αλγόριθµοι και Πολυπλοκότητα

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

Τεχνολογίες Υλοποίησης Αλγορίθµων

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

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β)

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Σχόλιο. Παρατηρήσεις. Παρατηρήσεις. p q p. , p1 p2

Κώδικας σχεδίασης Λογισµικής ιαγραµµατικής Οντολογίας

ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ & ΕΠΑ.Λ. Β 28 ΜΑΪΟΥ 2012 ΑΠΑΝΤΗΣΕΙΣ. y R, η σχέση (1) γράφεται

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

Transcript:

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

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Η υλοποίηση ενός παράλληλου αλγόριθµού σε πολυεπεξεργαστικό σύστηµα συγκεκριµένης αρχιτεκτονικής, απαιτεί κατάλληλο ταίριασµα των υπολογισµών µε τους διαθέσιµους πόρους του πολυεπεξεργαστικού συστήµατος. Στόχος αυτής της προσπάθειας, του ταιριάσµατος δηλαδή των χαρακτηριστικών του παράλληλου αλγορίθµου µε τα χαρακτηριστικά της µηχανής, είναι η βελτιστοποίηση διαφόρων µέτρων επίδοσης, όπως: Χρονοβελτίωση Αποδοτικότητα κόστος

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Για την επίτευξη του παραπάνω στόχων πρέπει πρώτα να εντοπιστούν οι υπάρχουσες εξαρτήσεις µεταξύ των «πράξεων-υπολογισµών» και οι δυνατότητες παράλληλης εκτέλεσης τµηµάτων του αλγορίθµου. ΟΒαθµός Παραλληλισµού Βαθµός παραλληλισµού (β.π.) ΒΠ(t), είναι ο αριθµός των ωφέλιµων πράξεων, υπολογισµοί, που µπορούν να εκτελεστούν ταυτόχρονα κατά τη χρονική στιγµή (t), από πολυεπεξεραστική µηχανή συγκεκριµένης αρχιτεκτονικής.

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Ο βαθµός παραλληλισµού ΒΠ(t) όµως είναι χαρακτηριστικό του αλγορίθµου. Συνήθως οι χρονικές στιγµές ενδιαφέροντος (βήµατα εκτέλεσης) ενός παράλληλου αλγορίθµου είναι διακριτές t 0,..., t k, έτσι θα συµβολίζουµε τοβ.π. µε, ΒΠ(t k )=B k. Αν δηλαδή κατά τη χρονική στιγµή t υπάρχουν ΒΠ(t) επεξεργαστές διαθέσιµοι, τότε όλες οι ΒΠ(t) πράξεις που ανήκουν στον ίδιο αλγόριθµο µπορούν να εκτελεστούν στο χρόνο που απαιτείται για µία µόνο πράξη.

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Βέβαια θεωρούµε εδώ ότι όλες οι ΒΠ(t) πράξεις είναι των ιδίων υπολογιστικών απαιτήσεων. Έτσι µεγάλος ΒΠ, για τον ίδιο αλγόριθµο, σηµαίνει και µεγάλη µείωση του χρόνου εκτέλεσης των πράξεων του αλγορίθµου, αν φυσικά υπάρχουν διαθέσιµοι και οι απαιτούµενοι υπολογιστικοί πόροι. Ενώ µικρός ΒΠ, για τον ίδιο αλγόριθµο, σηµαίνει αδυναµία εκτέλεσης πολλών πράξεων παράλληλα, αν υπάρχου διαθέσιµοι πόροι.

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Εδώ αντιµετωπίζουµε ένα πολύ σηµαντικό πρόβληµα: - Επειδή ο ΒΠ σε ένα πραγµατικό πρόβληµα µεταβάλλεται συνεχώς κατά τα διάφορα βήµατα εκτέλεσης του αλγορίθµου (στιγµιότυπα). Σε ένα αλγόριθµο µε µεγάλο ΒΠ, θα υπάρξουν κατά τη διάρκεια της εκτέλεσης του, στιγµές που θα χρησιµοποιεί όλους τους διαθέσιµους πόρους του συστήµατος (P=ΒΠ(t), P επεξεργαστές) και στιγµιότυπα του, µε πολλούς ανενεργούς επεξεργαστές (P- ΒΠ(t ). Συνεπώς ο µεγάλος ΒΠ µπορεί να προκαλέσει µικρή αξιοποίηση του συστήµατος, και κατά συνέπεια µικρή αποδοτικότητα.

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ ηλαδή, η επιθυµία για µεγάλη µείωση του χρόνου εκτέλεσης ενός αλγορίθµου µπορεί να µας οδηγήσει στην υλοποίηση αλγορίθµου µε µεγάλο ΒΠ για συγκεκριµένα χρονικά διαστήµατα, µε συνέπεια τη χρήση πολύ µεγάλου αριθµού επεξεργαστών ανενεργοί πόροι του συστήµατος για µεγάλα χρονικά διαστήµατα µικρή αποδοτικότητα µε µεγάλο ΒΠ.

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Ένα επιπλέον πρόβληµα, είναι ότι η χρήση µεγάλου αριθµού επεξεργαστών ακόµα και όταν ο ΒΠ της εφαρµογής παραµένει µεγάλος για το µεγαλύτερο χρονικό διάστηµα, θα µας δηµιουργήσει πιθανότατα πρόβληµα µείωσης της απόδοσης του συστήµατος και κατ επέκταση µείωση του χρόνου εκτέλεσης της εφαρµογής, λόγω επιβαρύνσεων P>1. ηλαδή στη σχέση T(n,P)=Ω(n,P)*τ α +Ε(n,P)*τ ε ισχύει γενικά ότι η Ω είναι φθίνουσα συνάρτηση του P (P, αριθµός επεξεργαστών που λαµβάνουν µέρος στην εκτέλεση της εφαρµογής). Ταυτόχρονα όµως ισχύει και ότι το Ε είναι αύξουσα συνάρτηση του P.

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ Καταλήγουµε τελικά στο συµπέρασµα, ότι στην πράξη απαιτείται ιδιαίτερη προσοχή στην επιλογή του P ώστε συνολικά να µειωθεί ο παράλληλος χρόνος εκτέλεσης ενός αλγορίθµου, ταυτόχρονα όµως προσπαθούµε να υλοποιούµε µεγάλο ΒΠ άλλα πάντα σε συνάρτηση µε τους διαθέσιµους πόρους, αλλά και τις επιβαρύνσεις που θα επιφέρει ο ΒΠ. Ως γενική παρατήρηση τελικά, µπορούµε να πούµε ότι στόχος µας είναι: ο βέλτιστος χρόνος εκτέλεσης ενός παράλληλου αλγορίθµου µε ταυτόχρονή φροντίδα για την όσο το δυνατό καλύτερη χρήση των πόρων του συστήµατος. Τα δύο αυτά µεγέθη είναι συνήθως αντικρουόµενα και έτσι η επίτευξή βέλτιστης λύσης είναι αδύνατη. Οι λύσεις που δίνουµε στο πρόβληµα αυτό είναι προσεγγιστικές µε χρήση ευρετικών αλγορίθµων (heuristic algorithms).

ΚΑΤΑΜΕΡΙΣΜΟΣ Στην περίπτωση εκτέλεσης παράλληλου αλγορίθµου σε παράλληλο υπολογιστικό σύστηµα, ο αριθµός των επεξεργαστών καθορίζει (συνήθως) και τον αριθµό των πράξεων που µοιράζονται στον καθένα. Έτσι για παράδειγµα στην περίπτωση ισοκατανοµής των πράξεων, κάθε επεξεργαστής θα εκτελέσει περίπου β(t)/p πράξεις. Ο αριθµός αυτός εκπροσωπεί την λεπτότητα του καταµερισµού των υπολογισµών (granularity). Όσο πιο µεγάλη κατάτµηση ενός αλγορίθµου έχουµε, µεγάλος ΒΠ (πολλές δηλαδή πράξεις), τόσο µεγαλύτερη είναι και η λεπτότητα του καταµερισµού του αλγορίθµου (fine granularity fine grain) και αντίστροφα, όσο µικρότερη κατάτµηση τόσο πιο αδρό καταµερισµό (coarse granularity coarse grain) θα έχουµε.

ΚΑΤΑΝΟΜΗ ΥΠΟΛΟΓΙΣΜΩΝ Για την κατανοµή των υπολογισµών ενός αλγορίθµου σε ένα παράλληλο σύστηµα, χρησιµοποιούµε συχνά την αποτύπωση των πράξεων του µέσω ενός ιευθυνόµενου Άκυκλου Γραφήµατος ( ΑΓ). Γράφηµα είναι ένα πεπερασµένο σύνολο κόµβων ή κορυφών V και τόξων ή πλευρών S, όπου ο συµβολισµός e ij S, εκπροσωπεί µια σχέση µεταξύ των κορυφών v i, v j. Στην περίπτωση µας οι κορυφές εκπροσωπούν πράξεις (οι οποίες µπορεί να είναι και σύνθετα έργα, π.χ. βρόχοι-loops), ενώ οι πλευρές εκφράζουν προτεραιότητες µεταξύ των κορυφών, έργων. Όταν η σχέση µεταξύ των v i, v j δεν είναι αµφίδροµη, και η πλευρά έχει διεύθυνση από το v i στο v j ή αντίστροφα όχι όµως και προς τις δύο κατευθύνσεις τότε το γράφηµα καλείται διευθυνόµενο.

ΚΑΤΑΝΟΜΗ ΥΠΟΛΟΓΙΣΜΩΝ ιαδροµή (i,j) από τον v i στον v j είναι µια πεπερασµένη και µη κενή ακολουθία πλευρών {e ir,...,e xj } όπου για οποιεσδήποτε δύο διαδοχικές πλευρές {e αβ,e γδ }, εάν υπάρχουν, ισχύει β = γ. Έτσι ακολουθώντας τις πλευρές της διαδροµής µε την σειρά αυτή, µπορούµε ναβαδίσουµε απότηνv i στην v j. Αν j=iτότε η διαδροµή "κλείνει" στη v i και καλείται κύκλος. Αν δεν υπάρχου κύκλοι έχουνε ένα ΑΓ. Παράδειγµα: Το ακόλουθο γράφηµα αντιστοιχεί στο σύνολο των κορυφών {v 1, v 2, v 3, v 4 } µε διευθυνόµενες πλευρές {e 12, e 13, e 23, e 34, e 41 }. Το γράφηµα δεν είναι ΑΓ γιατί {e 12, e 23, e 34, e 41 }. 1 2 3 4

ΚΑΤΑΝΟΜΗ ΥΠΟΛΟΓΙΣΜΩΝ Για την καλύτερη κατανόηση των διαφόρων θεµάτων, είναι ίσως χρήσιµη µια τακτοποίηση του ΑΓ ώστε οι κόµβοι του να ταξινοµηθούν σε επίπεδα k = 0,..., Κ. Τα έργα του επιπέδου k θα µπορούν να αρχίσουν µαζί την χρονική στιγµή t k. Στο επίπεδο 0 τοποθετούνται έργα που δεν εξαρτώνται από αποτελέσµατα άλλων, άρα η εκτέλεσή τους µπορεί ν' αρχίσει αµέσως, την χρονική στιγµή t 0 =0. Επαγωγικά, στο επίπεδο j>=1τοποθετούνται όλες οι κορυφές / έργα V r µε την ιδιότητα ότι όλες οι πλευρές που φθάνουν στην V r ξεκινούν από κορυφές των προηγούµενων επιπέδων k<j και τουλάχιστον ένα από αυτά τα επίπεδα είναι το j-1.

Παράδειγµα: Στο διπλά σχήµα φαίνεται 1 2 το ΑΓ ενός υποθετικού υπολογισµού. 3 Αν εφαρµόσουµε αυτάπου προηγουµένως αναφέραµε, µε σκοπό να αυξήσουµε τοβπ και να µειώσουµε το χρόνο εκτέλεσης αυτού του υποθετικού υπολογισµού σε ένα πολυεπεξεργαστικό σύστηµα, τότε µε κατάλληλη παρέµβαση το δίπλα ΑΓ θα τροποποιηθεί όπως φαίνεται στην επόµενη εικόνα. 7 8 4 5 9 10 11 12 6 13 14 15 16 17 18

Ο ΒΠ στα διάφορα επίπεδα είναι τώρα 7, 2, 1, 4, 4. Αυτό όµως δεν είναι δεσµευτικό, π.χ. η κορυφή 12. Σηµειώνεται επίσης ότι Κ είναι το βάθος του ΑΓ και ότι B k = ΒΠ(t k )είναι το σύνολο των κόµβων του επιπέδου k. Το σύνολο των πράξεων είναι: n // = K k= 0 Επίπεδο 0 Επίπεδο 1 Επίπεδο 2 Επίπεδο 3 Επίπεδο 4 B k 1 2 3 9 15 7 8 10 16 4 5 12 1 1 6 14 1 3 17 18

Επίσης εάν ο µέσος χρόνος τ α για την εκτέλεση ενός έργου είναι ο ίδιος για όλα τα έργα και εάν υπάρχουν πάντα αρκετοί επεξεργαστές διαθέσιµοι στο σύστηµα, δηλαδή p BΠ(t k ) για όλα τα k τότε Αριθ (n, p) = K και αυτό αποτελεί την ελάχιστη τιµή τουαριθ (n, p). Αν µάλιστα ο ΒΠ είναι σταθερός, τότε µε Β κ = p ανεξάρτητο του k, κάθε επεξεργαστής θα εκτελεί πάντα από µία πράξη σε κάθε επίπεδο και θα ισχύει βέβαια n // = Kp, και Αριθ.(n, p) = n // /P. Στην περίπτωση που ο πλεονασµός είναι ρ = n // /n = 1 θα έχουµε Αριθ.(n, p)τ α =T seq (n)/p, που είναι το ιδανικό ελάχιστο. Οι επιβαρύνσεις όµως λόγω του P>1 µπορεί να είναι µέγιστες, µέγιστος αριθµός επεξεργαστών.

Τότε γενικότερα ισχύει ότι οι ωφέλιµες πράξεις θα είναι: Ω (n, p) = K B k / p k= 0 αφού τα B k έργα του ίδιου επιπέδου k θα εκτελεσθούν σε βήµατα. Ενώ οι επιβαρύνσεις λόγω του P>1 συµβαίνουν µεταξύ των διαδοχικών φάσεων εκτέλεσης (k, k+1) και απαιτούν ε k (n,p) µονάδες επικοινωνίας τ ε. Που είναι: B k P Eπιβ (n, p) = K 1 k= 0 ε ( n, k p)

Παράδειγµα κατανοµής και εξισορρόπησης φορτίου 3 2 1 0 P=4 T=8τ 3 2 1 0 τ Τ=Τ-3τ

ΒΑΘΜΟΣ ΠΑΡΑΛΛΗΛΙΣΜΟΥ ΠΑΡΑ ΕΙΓΜΑ Έστω το ακόλουθο το τµήµα ψευδοκώδικα: PROGRAM (Segment)... A=B+C B=D+E X=Z+Y B=B+Y DO I=1, 100 S=(X*I)+(2*B)-((A+C)/(D-E)) ENDDO... ENDPROGRAM Πως µπορεί να γίνει η βέλτιστη κατανοµή φορτίου για το συγκεκριµένο τµήµα κώδικα, αν υποθέσουµε ότι έχουµε στη διάθεση µας σύστηµα µε απεριόριστους υπολογιστικούς πόρους.

ΝΟΜΟΣ ΤΟΥ AMDAHL Ο Νόµος Amdahl εκφράζεται από την ανισότητα χρονοβελτίωση 1/(ποσοστό µη παραλληλοποιήσιµου τµήµατος) ηλαδή: όλοι οι αλγόριθµοι έχουν έστω και πολύ µικρό µη παραλληλοποιήσιµο τµήµα (α). Ακόµα κι' αν αγνοηθούν οι χρόνοι επιβαρύνσεων, η χρονοβελτίωση δεν θα µπορεί να υπερβεί την τιµή 1/α. Αν για παράδειγµα υπάρχει ένα 5% µη παραλληλοποιήσιµο τµήµα µίας εφαρµογής, θα ισχύει χρονοβελτίωση 20 και η αύξηση του αριθµού των επεξεργαστών από κάποιο σηµείο και µετά δεν θα βελτιώνει την χρονοβελτίωση.