πP20 Παράλληλη Επεξεργασίανα βελτιώσουµε την ποιότητα και την αξιοπιστία της υπολογιζόµενης λύσης ενός προβλήµατος υπόδεδοµένους χρονικούς περιορισµούς, π.χ. κατά την επιχειρησιακή λειτουργία ενός υπολογιστικού συστήµατοςπραγµατικού χρόνου (real-time computing system - RTC system). Για τους λόγους αυτούς,η παράλληλη επεξεργασία βρίσκει πρωτίστως εϕαρµογή σε πληθώρα απαιτητικών επιστηµονικών αλγορίθµων,που επιβάλλουν αυξηµένη υπολογιστική ή/και χωρική πολυπλοκότητα.αλγόριθµοςπ.χ. ρευστοδυναµική, µοριακήδυναµική, γ ραµµική ά λ γ εβ ρα,µετεω ρολ ογ ί α, β ιολ ογ ί α κ.ά .παράλληλοπρογ ραµ µ ατ ι σ τ ι κ ό µ ον τ έ λοολυ ν η µατ ικ ήε π ε ξ ε ργασ ί απ.χ. O p e n M P ,P t h r e a d s , s h m e mµον τ έ λο αν τ αλλαγή ςµη ν υ µά τ ω νM P I P V M P 4s o c k e t sπ.χ. , , ,υ β ριδ ικ ό µον τ έ λοπ.χ. M P I / O p e n M P ,M L PS D S M β ιβ λιοθή κ ηπ.χ. T r e a d M a r k s ,J I A J I A , I n t o n e , O m n iγλώ σ σ α π αρά λλη λουπ ρογραµµατ ισ µούπ.χ. U P C , C o - A r r a yF o r t r a n , H P Fτ ηπ η σ ηαυ όµαταραλλη λοπ οίπ.χ. S U I F , N a n o -T h r e a d s , O m e g aπαράλληλη αρχ ι τ ε κ τ ον ι κ ήαρχ ιτ ε κ τ ον ικ ήκ ατ αν ε µη µέ ν η ςµν ή µη ςπ.χ. συστοιχί εςαρχ ιτ ε κ τ ον ικ ήµοιραζ όµε ν η ς µν ή µη ςπ.χ. S M P κό µβ οι,διανυσµατικοίεπεξ εργ αστέ ςαρχ ιτ ε κ τ ον ικ ήκ ατ αν ε µη µέ ν η ςµοιραζ όµε ν η ς µν ή µη ςS Mωπ.χ. συστοιχί εςκό µβ ν, συστοιχί εςδιανυσµατικώ νεπεξ εργ αστώ νΣχήµα 2.4: Αϕαιρετικός διαχωρισµός µεταξύ της επιλογής του προγραµµατιστικού µοντέλου κατά τηνπαραλληλοποίηση µιας εϕαρµογής και της επιλογής παράλληλης αρχιτεκτονικής για την εκτέλεση τουπαράλληλου προγράµµατος
2.2 Μοντέλα Παράλληλου Προγραµµατισµού 21Η επιλογή συγκεκριµένου προγραµµατιστικού µοντέλου για την παραλληλοποίηση µιας δεδοµένηςεϕαρµογής µπορεί σε πολλές περιπτώσεις να γίνει ανεξάρτητα της υϕιστάµενης αρχιτεκτονικήςυποδοµής (βλ. και σχήµα 2.4). Πράγµατι, η πληθώρα των σχετικών εργαλείων λογισµικού (π.χ. βιβλιοθήκεςή µεταγλωττιστές) διασϕαλίζει τη µεταϕερσιµότητα ενός προγράµµατος σε µια ποικιλοµορϕίααρχιτεκτονικών υποδοµών, από στενά συζευγµένων (π.χ. υπερυπολογιστικά συστήµατα µοιραζόµενηςµνήµης) έως πιο χαλαρά διασυνδεδεµένων (π.χ. συστοιχίες υπολογιστικών κόµβων). Ωστόσο, είναιπροϕανές ότι η απόδοση που επιτυγχάνεται µε µια συγκεκριµένη προγραµµατιστική προσέγγιση είναιάρρηκτα συνδεδεµένη τόσο µε την επιβάρυνση που επιϕέρουν οι χρησιµοποιούµενες βιβλιοθήκες λογισµικούόσο και κυρίως µε το βαθµό υποστήριξης του συγκεκριµένου προγραµµατιστικού µοντέλουαπό το υϕιστάµενο υλικό. Ορισµένα προγραµµατιστικά µοντέλα συνδέονται άµεσα µε µια συγκεκρι-µένη υποδοµή, όπως π.χ. η πολυνηµατική επεξεργασία µε την αρχιτεκτονική µοιραζόµενης µνήµης,συνεπώς η µεταϕορά των µοντέλων αυτών σε άλλες αρχιτεκτονικές µπορεί να γίνει µόνο µε τη βοήθειαενός ενδιάµεσου στρώµατος λογισµικού, που κατά κανόνα συντελεί σε µείωση της απόδοσης τουπαράλληλου προγράµµατος.Σε αντιστοιχία µε τις τρεις βασικές αρχιτεκτονικές που αναλύσαµε προηγουµένως, θα εξετάσουµεισάριθµα προγραµµατιστικά µοντέλα, που χρησιµοποιούνται στην πράξη στους συγκεκριµένους τύπουςπαράλληλων συστηµάτων. Τα µοντέλα αυτά θα αποτελέσουν το αντικείµενο των επόµενων ενοτήτων.2.2.1 Μοντέλο Ανταλλαγής ΜηνυµάτωνΤο προγραµµατιστικό µοντέλο ανταλλαγής µηνυµάτων (στη διεθνή βιβλιογραϕία Message Passing ήσυντοµογραϕικά MP) αποτελεί την κυρίαρχη τάση στο χώρο της Παράλληλης Επεξεργασίας. Φορείςεκτέλεσης του προγράµµατος είναι συνήθως µία ή περισσότερες διεργασίες, που επικοινωνούν µεταξύτους για την ανταλλαγή δεδοµένων µέσω αποστολής/λήψης µηνυµάτων. Το µοντέλο ανταλλαγήςµηνυµάτων υιοθετεί τη λογική του Μοναδικού Προγράµµατος Πολλαπλών ∆εδοµένων (Single ProgramMultiple Data - SPMD). Συγκεκριµένα, όλες οι διεργασίες εκτελούν τον ίδιο κώδικα και σε καθεµία αποδίδεταιένα µοναδικό αναγνωριστικό (process identifier - pid), το οποίο ταυτοποιεί τη συγκεκριµένηδιεργασία µεταξύ όλων των υπολοίπων. Κάθε διεργασία χρησιµοποιεί το αναγνωριστικό της για να καθορίσειτο υποσύνολο των δεδοµένων και των υπολογισµών που της αντιστοιχούν, διαϕοροποιώνταςέτσι τη ροή εκτέλεσής της. Σε οποιαδήποτε περίπτωση µία διεργασία χρειαστεί την τιµή κάποιου δεδο-µένου που έχει αποθηκευτεί στον εικονικό χώρο διευθύνσεων κάποιας άλλης διεργασίας, θα πρέπει τοδεδοµένο αυτό να αποσταλεί µέσω µηνύµατος από τη διεργασία-ιδιοκτήτη, καθώς και να παραληϕθείµε κλήση κατάλληλης ρουτίνας λήψης από τη διεργασία που το ζήτησε. Ανάλογα µε το πλήθος τωνεµπλεκόµενων διεργασιών, οι λειτουργίες επικοινωνίας χαρακτηρίζονται είτε από σηµείο προς σηµείο
- Page 1: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟ
- Page 4 and 5: ................................Ν
- Page 7 and 8: ΠερίληψηΗ Παράλληλ
- Page 9 and 10: AbstractParallel Processing is a ma
- Page 11 and 12: ΠεριεχόµεναΠερίλη
- Page 13 and 14: ΠΕΡΙΕΧΟΜΕΝΑxi5.2 Εξι
- Page 15 and 16: Κατάλογος Σχηµάτων
- Page 17 and 18: ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ
- Page 19 and 20: ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ
- Page 21: ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ
- Page 24 and 25: xxiiΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩ
- Page 27 and 28: ΠρόλογοςΗ εργασία
- Page 29 and 30: ΚΕΦΑΛΑΙΟ 1Εισαγωγή
- Page 31 and 32: 1.2 Επισκόπηση Σχετι
- Page 33 and 34: 1.2 Επισκόπηση Σχετι
- Page 35 and 36: 1.3 Συµβολή της ∆ιατ
- Page 37 and 38: 1.4 Οργάνωση της ∆ια
- Page 39 and 40: DOI: DOI: 1.5 ∆ηµοσιευµέ
- Page 41 and 42: ΚΕΦΑΛΑΙΟ 2Παράλληλ
- Page 43 and 44: π2.1 Αρχιτεκτονικές
- Page 45 and 46: 2.1 Αρχιτεκτονικές Π
- Page 47: 2.2 Μοντέλα Παράλληλ
- Page 51 and 52: 2.2 Μοντέλα Παράλληλ
- Page 53 and 54: 2.2 Μοντέλα Παράλληλ
- Page 55 and 56: 2.2 Μοντέλα Παράλληλ
- Page 57 and 58: 2.2 Μοντέλα Παράλληλ
- Page 59 and 60: ΚΕΦΑΛΑΙΟ 3Αλγοριθµ
- Page 61 and 62: 3.1 Αλγοριθµικό Μοντ
- Page 63 and 64: 3.1 Αλγοριθµικό Μοντ
- Page 65 and 66: 3.2 Βασικές Παραδοχέ
- Page 67 and 68: 3.2 Βασικές Παραδοχέ
- Page 69 and 70: 3.3 Παράδειγµα: Μερι
- Page 71 and 72: 3.3 Παράδειγµα: Μερι
- Page 73 and 74: 3.3 Παράδειγµα: Μερι
- Page 75 and 76: 3.3 Παράδειγµα: Μερι
- Page 77 and 78: 3.3 Παράδειγµα: Μερι
- Page 79 and 80: 3.3 Παράδειγµα: Μερι
- Page 81 and 82: ΚΕΦΑΛΑΙΟ 4Παράλληλ
- Page 83 and 84: 4.1 Μετασχηµατισµός
- Page 85 and 86: 4.1 Μετασχηµατισµός
- Page 87 and 88: 4.1 Μετασχηµατισµός
- Page 89 and 90: 4.1 Μετασχηµατισµός
- Page 91 and 92: 4.2 Απεικόνιση σε ∆ι
- Page 93 and 94: 4.2 Απεικόνιση σε ∆ι
- Page 95 and 96: 4.2 Απεικόνιση σε ∆ι
- Page 97 and 98: 4.2 Απεικόνιση σε ∆ι
- Page 99 and 100:
4.3 Προσδιορισµός Το
- Page 101 and 102:
4.4 Ισοδύναµα: Προσδ
- Page 103 and 104:
4.5 Χρονοδροµολόγησ
- Page 105 and 106:
4.5 Χρονοδροµολόγησ
- Page 107 and 108:
ΚΕΦΑΛΑΙΟ 5Υβριδικό
- Page 109 and 110:
5.1 Υβριδικό Μοντέλο
- Page 111 and 112:
5.1 Υβριδικό Μοντέλο
- Page 113 and 114:
5.1 Υβριδικό Μοντέλο
- Page 115 and 116:
5.1 Υβριδικό Μοντέλο
- Page 117 and 118:
5.1 Υβριδικό Μοντέλο
- Page 119 and 120:
5.1 Υβριδικό Μοντέλο
- Page 121 and 122:
LLL5.1 Υβριδικό Μοντέ
- Page 123 and 124:
LL5.1 Υβριδικό Μοντέλ
- Page 125 and 126:
LL5.2 Εξισορρόπηση Φο
- Page 127 and 128:
5.2 Εξισορρόπηση Φορ
- Page 129 and 130:
5.2 Εξισορρόπηση Φορ
- Page 131 and 132:
5.2 Εξισορρόπηση Φορ
- Page 133 and 134:
5.2 Εξισορρόπηση Φορ
- Page 135 and 136:
5.2 Εξισορρόπηση Φορ
- Page 137 and 138:
5.3 Σύγκριση Μοντέλο
- Page 139 and 140:
5.3 Σύγκριση Μοντέλο
- Page 141 and 142:
5.3 Σύγκριση Μοντέλο
- Page 143 and 144:
ΚΕΦΑΛΑΙΟ 6Πειραµατ
- Page 145 and 146:
6.1 Μετροπρογράµµατ
- Page 147 and 148:
6.1 Μετροπρογράµµατ
- Page 149 and 150:
6.3 Τοπολογία ∆ιεργ
- Page 151 and 152:
6.3 Τοπολογία ∆ιεργ
- Page 153 and 154:
6.3 Τοπολογία ∆ιεργ
- Page 155 and 156:
6.3 Τοπολογία ∆ιεργ
- Page 157 and 158:
6.3 Τοπολογία ∆ιεργ
- Page 159 and 160:
6.3 Τοπολογία ∆ιεργ
- Page 161 and 162:
6.3 Τοπολογία ∆ιεργ
- Page 163 and 164:
6.3 Τοπολογία ∆ιεργ
- Page 165 and 166:
6.3 Τοπολογία ∆ιεργ
- Page 167 and 168:
6.4 Εξισορρόπηση Φορ
- Page 169 and 170:
6.4 Εξισορρόπηση Φορ
- Page 171 and 172:
6.4 Εξισορρόπηση Φορ
- Page 173 and 174:
6.4 Εξισορρόπηση Φορ
- Page 175 and 176:
6.4 Εξισορρόπηση Φορ
- Page 177 and 178:
6.4 Εξισορρόπηση Φορ
- Page 179 and 180:
6.4 Εξισορρόπηση Φορ
- Page 181 and 182:
L6.4 Εξισορρόπηση Φο
- Page 183 and 184:
6.4 Εξισορρόπηση Φορ
- Page 185 and 186:
6.5 Γενική Αξιολόγησ
- Page 187 and 188:
6.5 Γενική Αξιολόγησ
- Page 189 and 190:
6.5 Γενική Αξιολόγησ
- Page 191 and 192:
6.5 Γενική Αξιολόγησ
- Page 193 and 194:
6.6 Συµβολή της ∆ιατ
- Page 195 and 196:
6.6 Συµβολή της ∆ιατ
- Page 197 and 198:
ΚΕΦΑΛΑΙΟ 7Συµπεράσ
- Page 199 and 200:
L171κόστη υπολογισµο
- Page 201 and 202:
• Οµοίως, η διασϕάλ
- Page 203 and 204:
ΠΑΡΑΡΤΗΜΑ ΑΤο Πρότ
- Page 205 and 206:
L177•¦©¦§kkkC;:M+:M¡"@£¨!L
- Page 207 and 208:
ΠΑΡΑΡΤΗΜΑ ΒΤο Πρότ
- Page 209 and 210:
181τρόπο), ¥§¦M¡§N¢¥ (
- Page 211 and 212:
ΠΑΡΑΡΤΗΜΑ ΓΣχεδίασ
- Page 213 and 214:
LLLLRRRRLRRRRRRRRPLLPLPLPLPLPLPLPLP
- Page 215 and 216:
LLLRRRPLPLPLPLPLRRRRRvvvvvΓ.2 Έλ
- Page 217 and 218:
ενώ στο αρχείο mpid/ch2
- Page 219 and 220:
ŽN¡¤© Ž¢¡0LLŽN¡¤£¦£NhO
- Page 221 and 222:
L©U©¦¤N©¦©¦$u¡¤siN¦¦$u$
- Page 223 and 224:
LkLLL©U©¦¤N©¦©¦$u¡¤siN¦
- Page 225 and 226:
¥¥LLLΓ.4 Ασύγχρονη Απ
- Page 227 and 228:
ƒƒνωνίας στην οποί
- Page 229 and 230:
L££££££L£RvΓ.6 Λήψη 201
- Page 231 and 232:
LLLLLLƒyP=¡¥u§$¥§¦¡¤£££
- Page 233 and 234:
©¥…w¥¤km¡¤¦¢ŽN¡¤© Ž
- Page 235 and 236:
LƒLLLLRLLRwRRRvRvRvRvRR{{LLΓ.6 Λ
- Page 237 and 238:
Γ.6 Λήψη 209η LFτου handle
- Page 239 and 240:
LΓ.6 Λήψη 211να επισηµ
- Page 241 and 242:
eLΓ.6 Λήψη 213∆ιεργασ
- Page 243 and 244:
Γ.6 Λήψη 215∆ιεργασί
- Page 245 and 246:
£££iLλήψης στην ουρ
- Page 247 and 248:
Βιβλιογραϕία[ABRY03][AC
- Page 249 and 250:
ΒΙΒΛΙΟΓΡΑΦΙΑ 221[CM95][
- Page 251 and 252:
ΒΙΒΛΙΟΓΡΑΦΙΑ 223[HCF97]
- Page 253 and 254:
ΒΙΒΛΙΟΓΡΑΦΙΑ 225[KM92][
- Page 255 and 256:
ΒΙΒΛΙΟΓΡΑΦΙΑ 227[RW03][
- Page 257 and 258:
ΒΙΒΛΙΟΓΡΑΦΙΑ 229[Σωτ
- Page 259 and 260:
ΕυρετήριοΑανάλυση
- Page 261 and 262:
Ευρετήριο 233ρουτίν
- Page 263 and 264:
Ευρετήριο 235MPID CH Eager