The University of Adelaide, School of Computer Science

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Harvard ManageMentor ® Υπολογίζοντας τα Κόστη. 2 Harvard ManageMentor: Υπολογίζοντας τα Κόστη Θέματα Συζήτησης  Υπολογίζοντας τα κόστη των πωληθέντων.
Advertisements

Harvard ManageMentor ® Προετοιμάζοντας Ακριβείς Προβλέψεις Πωλήσεων.
Harvard ManageMentor ® Επικοινωνώντας ένα Κοινό Όραμα.
Harvard ManageMentor ® Αντιμετωπίζοντας τις αντιδράσεις στην αλλαγή.
ΕΠΙΣΤΗΜΟΝΙΚΗ ΜΕΘΟΔΟΛΟΓΙΑ Εισαγωγή 1. Επιστημονική εργασία 2  Η επιστημονική εργασία περιλαμβάνει τη συγκέντρωση, παρουσίαση, ανάλυση και ερμηνεία δεδομέμων.
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση Ενότητα 4.4: Αρχιτεκτονική και Εικονογραφημένο Βιβλίο Αγγελική Γιαννικοπούλου Τμήμα Εκπαίδευσης και.
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση Ενότητα 4.5: Φωτογραφία και Εικονογραφημένο Βιβλίο Αγγελική Γιαννικοπούλου Τμήμα Εκπαίδευσης και Αγωγής.
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση Ενότητα 4.7: Κινηματογράφος και Εικονογραφημένο Βιβλίο Αγγελική Γιαννικοπούλου Τμήμα Εκπαίδευσης και.
ΡΑΔΙΕΝΕΡΓΕΙΑ Η ΕΠΙΔΡΑΣΗ ΤΗΣ ΣΤΟΝ ΑΝΘΡΩΠΙΝΟ ΟΡΓΑΝΙΣΜΟ.
Η θεωρία επιλογών καταναλωτή κεφάλαιο 21 Copyright © 2001 by Harcourt, Inc. All rights reserved. Requests for permission to make copies of any part of.
Προσφορά, ζήτηση και κυβερνητική παρέμβαση Κεφάλαιο 6 Copyright © 2001 by Harcourt, Inc. All rights reserved. Requests for permission to make copies of.
Πάτρα, 14 Φεβρουαρίου / 26 Ο ΡΟΛΟΣ ΤΩΝ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΜΟΝΤΕΛΩΝ ΥΠΟ ΤΟ ΠΡΙΣΜΑ ΤΗΣ ΠΝΕΥΜΑΤΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ Δρ. Δημήτριος Κ. Τσώλης Εργαστήριο Πληροφοριακών.
Ανεξαρτησία και κέρδη από το εμπόριο Κεφάλαιο 3 Copyright © 2001 by Harcourt, Inc. All rights reserved. Requests for permission to make copies of any part.
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
Εισαγωγή στη Ρομποτική
Πρωταθλητές στο κάπνισμα οι Έλληνες μαθητές.
The University of Adelaide, School of Computer Science
Τι είναι πνευματική ιδιοκτησία;
Παπαϊωάννου Άλκηστις Ph. D. , M. Sc
The University of Adelaide, School of Computer Science
Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall
Τι είναι πνευματική ιδιοκτησία;
Παπαϊωάννου Άλκηστις Ph. D. , M. Sc
The University of Adelaide, School of Computer Science
Παναγιώτης Παφίλης, Επικ. Καθηγητής Σχολή Θετικών Επιστημών
ΕΛΛΗΝΟΓΑΛΛΙΚΗ ΣΧΟΛΗ ΠΕΙΡΑΙΑ «ΑΓΙΟΣ ΠΑΥΛΟΣ»
3o ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ ΑΡΓΥΡΟΥΠΟΛΗΣ
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
Κεφάλαιο 4 Κυκλώματα σε Σειρά
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
Φυσιολογικό λεμφοκύτταρο αίματος
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ: ΜΑΘΗΜΑ 1
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
ΚΥΤΤΑΡΟ: Η ΘΕΜΕΛΙΩΔΗΣ ΜΟΝΑΔΑ ΤΗΣ ΖΩΗΣ
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
Εργαστηριακή Άσκηση Πρωτόζωα
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
Ζωική Ποικιλότητα Ενότητα 7. Bauplan
Ιστοπαθολογία (Θ) Ενότητα 2: Παθήσεις Αιμοποιητικού Συστήματος
ΗΛΕΚΤΡΟΤΕΧΝΙΑ Ι Κεφάλαιο 2 Νόμοι στα ηλεκτρικά κυκλώματα
Κεφ. 1: Εξαρτήματα, Μεγέθη και Μονάδες
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
Διατήρηση και μεταβίβαση της γενετικής πληροφορίας
ΤΟ ΓΕΝΕΤΙΚΟ ΥΛΙΚΟ ΟΡΓΑΝΩΝΕΤΑΙ ΣΕ ΧΡΩΜΟΣΩΜΑΤΑ
Η θεμελιώδης μονάδα ζωής
Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση
ΧΡΥΣΟΣΤΟΜΟΣ ΠΕΤΡΟΥ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ ΑΓΙΩΝ ΤΡΙΜΙΘΙΑΣ ΔΕΚΕΜΒΡΗΣ 2016
της ενότητας « Ταξιδεύω με πυξίδα το “Χρόνο” »
ΔΙΟΙΚΗΣΗ ΑΝΘΡΩΠΙΝΟΥ ΔΥΝΑΜΙΚΟΥ
Μάθημα 8ο, ΤΡΟΦΗ & ΤΡΟΦΙΜΑ
ΕΚΘΕΣΗ –ΕΚΦΡΑΣΗ Γ΄ ΛΥΚΕΙΟΥ
Φυσικοί Πόροι και Περιβαλλοντική Αειφορία
Κεφάλαιο 03 Διεθνείς Θεσμοί από την Άποψη της Διεθνούς Επιχειρηματικής Δραστηριότητας McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies,
Διεθνές Νομισματικό Σύστημα και Χρηματοοικονομικές Δυνάμεις
Διεθνές Εμπόριο και Άμεσες Ξένες Επενδύσεις
Πρακτικές Εξαγωγών και Εισαγωγών
Κοινωνικές & Πολιτισμικές Δυνάμεις
Διαχείριση Ανθρώπινου Δυναμικού σε ένα Διεθνές Πλαίσιο
Του Αντωνίου Περιπατητή Πρακτικού Φιλοσόφου *1*
ΓΕΝΕΤΙΚΟ ΥΛΙΚΟ ΠΡΟΚΑΡΥΩΤΙΚΩΝ ΚΥΤΤΑΡΩΝ
Διεθνής Λογιστική και Χρηματοοικονομικό Μάνατζμεντ
Βιολόγος 3ο ΓΕΛ Χαϊδαρίου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
«Τα ανθρώπινα Δικαιώματα»
Κεφάλαιο 11: Διοίκηση Ανθρώπινων Πόρων
Κεφάλαιο 2: Η Ιστορία της Διοικητικής Σκέψης
Κεφάλαιο 17: Διαδικασίες και Συστήματα Ελέγχου
Κεφάλαιο 4: Ηθική Συμπεριφορά και Κοινωνική Ευθύνη
Μεταγράφημα παρουσίασης:

The University of Adelaide, School of Computer Science Εισαγωγή στον παράλληλο προγραμματισμό Peter Pacheco The University of Adelaide, School of Computer Science 31 October 2017 Κεφάλαιο 1 Γιατί παράλληλη υπολογιστική; Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 31 October 2017 Περίγραμμα κεφαλαίου Γιατί χρειαζόμαστε συνεχή αύξηση της απόδοσης. Γιατί κατασκευάζουμε παράλληλα συστήματα. Γιατί χρειάζεται να γράφουμε παράλληλα προγράμματα. Πώς γράφουμε παράλληλα προγράμματα; Τι θα κάνουμε εμείς. Ταυτόχρονος, παράλληλος, κατανεμημένος προγραμματισμός. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved. Chapter 2 — Instructions: Language of the Computer

Οι καιροί αλλάζουν Στην περίοδο1986–2002, οι μικροεπεξεργαστές βελτιώνονταν με ιλιγγιώδη ταχύτητα, παρουσιάζοντας αύξηση επιδόσεων γύρω στο 50% κάθε χρόνο. Από το 2002 και μετά, αυτό το ποσοστό βελτίωσης έχει μειωθεί σχεδόν στο 20% ανά έτος. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Μια ευφυής λύση Αντί να σχεδιάζουμε και να κατασκευάζουμε ταχύτερους μικροεπεξεργαστές, μπορούμε να ενσωματώνουμε πολλούς επεξεργαστές στο ίδιο ολοκληρωμένο κύκλωμα. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Η ώρα των προγραμματιστών Η προσθήκη περισσότερων επεξεργαστών δεν αρκεί, αν δεν είναι ενήμεροι και οι προγραμματιστές γι’ αυτή τη βελτίωση… … ή δεν ξέρουν πώς να τους χρησιμοποιούν. Τα σειριακά προγράμματα δεν βελτιώνονται ιδιαίτερα με αυτή την προσέγγιση (στις περισσότερες περιπτώσεις). Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Γιατί χρειαζόμαστε συνεχή αύξηση της απόδοσης Η υπολογιστική ισχύς αυξάνεται, όμως το ίδιο συμβαίνει και με τις υπολογιστικές μας ανάγκες. Χάρη στις βελτιώσεις του παρελθόντος καταφέραμε να λύσουμε προβλήματα πέρα από κάθε φαντασία, όπως η αποκωδικοποίηση του DNA. Έχουμε μπροστά μας να λύσουμε ακόμα πιο περίπλοκα προβλήματα. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Μοντελοποίηση κλίματος Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Αναδίπλωση πρωτεϊνών Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ανακάλυψη φαρμάκων Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Έρευνα σε θέματα ενέργειας Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ανάλυση δεδομένων Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Γιατί κατασκευάζουμε παράλληλα συστήματα Μέχρι τώρα, η βελτίωση της απόδοσης επιτυγχανόταν με αύξηση της πυκνότητας των τρανζίστορ. Αυτή η τακτική όμως, παρουσιάζει κάποια προβλήματα. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Σύντομο μάθημα φυσικής Μικρότερα τρανζίστορ = ταχύτεροι επεξεργαστές. Ταχύτεροι επεξεργαστές = μεγαλύτερες απαιτήσεις ισχύος. Αυξημένες απαιτήσεις ισχύος = αύξηση θερμότητας. Αύξηση θερμότητας = αναξιόπιστοι επεξεργαστές. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Η λύση Στρεφόμαστε στους πολυπύρηνους επεξεργαστές. «πυρήνας» = κεντρική μονάδα επεξεργασίας (CPU) Περνάμε στην παράλληλη υπολογιστική!!! Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Γιατί χρειάζεται να γράφουμε παράλληλα προγράμματα Η εκτέλεση πολλών στιγμιοτύπων ενός σειριακού προγράμματος δεν είναι ιδιαίτερα χρήσιμη. Σκεφτείτε την εκτέλεση πολλών αντιγράφων του αγαπημένου σας παιχνιδιού. Αυτό που πραγματικά θέλετε είναι να το κάνετε να λειτουργεί ταχύτερα. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Προσεγγίσεις στο σειριακό πρόβλημα Ξαναγράφουμε τα σειριακά προγράμματα ώστε να εκτελούν πολλές εργασίες παράλληλα. Γράφουμε προγράμματα μετάφρασης που μετατρέπουν αυτόματα τα σειριακά προγράμματα σε παράλληλα. Πρόκειται για κάτι εξαιρετικά δύσκολο. Οι όποιες επιτυχίες τέτοιων προσπαθειών ήταν πολύ περιορισμένες. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Περισσότερα προβλήματα Κάποιες προγραμματιστικές δομές θα μπορούσαν να αναγνωρίζονται από ένα πρόγραμμα αυτόματης παραγωγής και να μετατρέπονται σε παράλληλες. Όμως, είναι πολύ πιθανό το αποτέλεσμα να είναι ένα μη αποδοτικό πρόγραμμα. Μερικές φορές, η καλύτερη δυνατή παραλληλοποίηση απαιτεί να κάνουμε ένα βήμα πίσω και να αναπτύξουμε έναν ολοκαίνουργιο αλγόριθμο. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

The University of Adelaide, School of Computer Science 31 October 2017 Παράδειγμα Υπολογίστε n τιμές και βρείτε το άθροισμά τους. Σειριακή λύση: Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved. Chapter 2 — Instructions: Language of the Computer

Παράδειγμα (συνέχεια) The University of Adelaide, School of Computer Science 31 October 2017 Παράδειγμα (συνέχεια) Διαθέτουμε p πυρήνες, όπου το p είναι πολύ μικρότερο του n. Κάθε πυρήνας υπολογίζει ένα μερικό άθροισμα περίπου n/p τιμών. Κάθε πυρήνας χρησιμοποιεί τις δικές του τοπικές μεταβλητές και εκτελεί αυτό το μπλοκ κώδικα ανεξάρτητα από τους άλλους πυρήνες. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved. Chapter 2 — Instructions: Language of the Computer

Παράδειγμα (συνέχεια) Αφού κάθε πυρήνας εκτελέσει τον κώδικά του, το άθροισμα των τιμών που προέκυψαν από τις κλήσεις της Compute_next_value θα περιέχεται στην τοπική μεταβλητή my_sum. Π.χ., για 8 πυρήνες, n = 24, και τις κλήσεις της Compute_next_value να επιστρέφουν τις τιμές: 1,4,3, 9,2,8, 5,1,1, 5,2,7, 2,5,0, 4,1,8, 6,5,1, 2,3,9 Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Παράδειγμα (συνέχεια) Αφού όλοι οι πυρήνες ολοκληρώσουν τον υπολογισμό των τοπικών τους my_sum, σχηματίζουν το καθολικό άθροισμα στέλνοντας τα αποτελέσματά τους στον καθορισμένο «κύριο» πυρήνα, ο οποίος θα προσθέσει τα επιμέρους αθροίσματα για να υπολογίσει το τελικό. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Παράδειγμα (συνέχεια) The University of Adelaide, School of Computer Science 31 October 2017 Παράδειγμα (συνέχεια) Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved. Chapter 2 — Instructions: Language of the Computer

Παράδειγμα (συνέχεια) Πυρήνας 1 2 3 4 5 6 7 my_sum 8 19 15 13 12 14 Καθολικό άθροισμα 8 + 19 + 7 + 15 + 7 + 13 + 12 + 14 = 95 Πυρήνας 1 2 3 4 5 6 7 my_sum 95 19 15 13 12 14 Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Για μια στιγμή! Υπάρχει πολύ καλύτερος τρόπος για τον υπολογισμό του καθολικού αθροίσματος. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ένας καλύτερος παράλληλος αλγόριθμος Μοιράζουμε το φορτίο υπολογισμού του τελικού αθροίσματος στους πυρήνες. Συνδυάζουμε τους πυρήνες ανά ζεύγη, ώστε ο πυρήνας 0 να προσθέτει το αποτέλεσμά του με αυτό του πυρήνα 1. Ο πυρήνας 2 προσθέτει το αποτέλεσμά του με αυτό του πυρήνα 3, κ.λπ. Συνδυάζουμε πυρήνες με ζυγούς και περιττούς αριθμούς. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ένας καλύτερος παράλληλος αλγόριθμος (συνέχεια) Επαναλαμβάνουμε τη διαδικασία μόνο με τους ζυγούς πυρήνες. Ο πυρήνας 0 δέχεται το αποτέλεσμα του πυρήνα 2 και το προσθέτει στο δικό του. Ο πυρήνας 4 προσθέτει το αποτέλεσμα από τον πυρήνα 6, κ.ο.κ. Η διαδικασία επαναλαμβάνεται από τους πυρήνες που οι αριθμοί τους είναι πολλαπλάσια του 4, κ.ο.κ., μέχρι ο πυρήνας 0 να υπολογίσει το τελικό αποτέλεσμα. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Υπολογισμός καθολικού αθροίσματος με πολλούς πυρήνες Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ανάλυση Στο πρώτο παράδειγμα, ο κύριος πυρήνας πραγματοποιεί 7 λήψεις και 7 προσθέσεις. Στο δεύτερο παράδειγμα, ο κύριος πυρήνας πραγματοποιεί 3 λήψεις και 3 προσθέσεις. Έχουμε λοιπόν μια βελτίωση κατά συντελεστή μεγαλύτερο του 2! Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ανάλυση (συνέχεια) Η διαφορά είναι ακόμα σημαντικότερη με περισσότερους πυρήνες. Αν έχουμε 1000 πυρήνες: Στο πρώτο παράδειγμα, ο κύριος πυρήνας θα εκτελούσε 999 λήψεις και 999 προσθέσεις. Στο δεύτερο παράδειγμα θα εκτελούσε μόνο 10 λήψεις και 10 προσθέσεις. Βελτίωση κατά συντελεστή σχεδόν 100! Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Πώς γράφουμε παράλληλα προγράμματα; Παραλληλία εργασιών Διαμερίζουμε (κατανέμουμε) στους πυρήνες τις διάφορες εργασίες για την επίλυση του προβλήματος. Παραλληλία δεδομένων Διαμερίζουμε στους πυρήνες τα δεδομένα που απαιτούνται για τη λύση του προβλήματος. Κάθε πυρήνας εκτελεί παρόμοιες πράξεις στο δικό του κομμάτι των δεδομένων. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ο καθηγητής Κ 15 ερωτήσεις 300 γραπτά Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Οι βοηθοί του καθηγητή Κ Β#1 Β#3 Β#2 Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Διαίρεση της εργασίας – παραλληλία δεδομένων Διαίρεση της εργασίας – παραλληλία δεδομένων Β#1 Β#3 100 γραπτά 100 γραπτά Β#2 100 γραπτά Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Διαίρεση της εργασίας – παραλληλία εργασιών Διαίρεση της εργασίας – παραλληλία εργασιών Β#1 Β#3 Ερωτήματα 11 - 15 Ερωτήματα 1 - 5 Β#2 Ερωτήματα 6 - 10 Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Διαίρεση της εργασίας – παραλληλία δεδομένων Διαίρεση της εργασίας – παραλληλία δεδομένων Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Διαίρεση εργασίας – παραλληλία εργασιών Διαίρεση εργασίας – παραλληλία εργασιών Εργασίες Λήψη Πρόσθεση Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Συντονισμός Συνήθως οι πυρήνες πρέπει να εργάζονται συντονισμένα. Επικοινωνία – ένας ή περισσότεροι πυρήνες στέλνουν τα μερικά τους αθροίσματα σε κάποιον άλλον πυρήνα. Εξισορρόπηση φορτίου – μοιράζουμε το φορτίο εργασίας εξίσου μεταξύ των πυρήνων ώστε να μην υπερφορτώνεται κάποιος από αυτούς. Συγχρονισμός – επειδή κάθε πυρήνας λειτουργεί με τον δικό του ρυθμό, πρέπει να διασφαλίζουμε ότι κανένας δεν θα προηγείται κατά πολύ των υπολοίπων. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Τι θα κάνουμε εμείς Θα μάθουμε να γράφουμε ρητώς παράλληλα προγράμματα. Θα χρησιμοποιήσουμε τη γλώσσα προγραμματισμού C. Θα μελετήσουμε τρεις διαφορετικές επεκτάσεις της C. Διασύνδεση Μεταβίβασης Μηνυμάτων (Message-Passing Interface, MPI) Νήματα Posix (Pthreads) OpenMP Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Τύποι παράλληλων συστημάτων Κοινόχρηστης μνήμης Οι πυρήνες προσπελάζουν από κοινού τη μνήμη του υπολογιστή. Συντονίζουμε τους πυρήνες βάζοντάς τους να εξετάζουν και να ενημερώνουν θέσεις κοινόχρηστης μνήμης. Κατανεμημένης μνήμης Κάθε πυρήνας έχει δική του, ιδιωτική μνήμη. Οι πυρήνες πρέπει να επικοινωνούν ρητά μεταξύ τους, ανταλλάσσοντας μηνύματα μέσω κάποιου δικτύου. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Τύποι παράλληλων συστημάτων Κοινόχρηστης μνήμης Κατανεμημένης μνήμης Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Ορολογία Ταυτόχρονη (concurrent) υπολογιστική – στο πρόγραμμα είναι σε εξέλιξη πολλές εργασίες κάθε στιγμή. Παράλληλη (parallel) υπολογιστική – στο πρόγραμμα, πολλές εργασίες συνεργάζονται στενά για την επίλυση ενός προβλήματος. Κατανεμημένη (distributed) υπολογιστική – το πρόγραμμα ίσως χρειάζεται να συνεργαστεί με άλλα προγράμματα για την επίλυση ενός προβλήματος. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Συμπερασματικά σχόλια (1) Οι νόμοι της φυσικής μάς έφεραν στο κατώφλι της τεχνολογίας πολυπύρηνων επεξεργαστών. Τα σειριακά προγράμματα δεν επωφελούνται άμεσα από την ύπαρξη πολλών πυρήνων. Η αυτόματη παραγωγή παράλληλων προγραμμάτων από σειριακό κώδικα δεν είναι η αποδοτικότερη προσέγγιση για να επιτύχουμε βελτιωμένες επιδόσεις από τους πολυπύρηνους υπολογιστές. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.

Συμπερασματικά σχόλια (2) Για να μάθουμε να γράφουμε παράλληλα προγράμματα χρειάζεται να μάθουμε πώς να συντονίζουμε τους πυρήνες. Τα παράλληλα προγράμματα είναι συνήθως ιδιαίτερα περίπλοκα, γι’ αυτό απαιτούνται αξιόπιστες τεχνικές προγραμματισμού και ανάπτυξης. Copyright © 2010, 2015, Elsevier Inc., Klidarithmos Publications. All rights Reserved.