Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης"— Μεταγράφημα παρουσίασης:

1 Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης
Επέκταση του συστήματος διασύνδεσης με τον πυρήνα του μοντέλου των NanoThreads και αξιοποίησή του από βιβλιοθήκες νημάτων που υλοποιούν το POSIX πρότυπο Ιωάννης Ε. Βενέτης

2 Κίνητρα (1/2) SMPs χρησιμοποιούνται πλέον ευρέως για παράλληλη επεξεργασία και ως εξυπηρετητές Παράλληλες εφαρμογές Engineering και desktop εφαρμογές Βιβλιοθήκες νημάτων (POSIX) Προγραμματιστικά μοντέλα υψηλού επιπέδου (OpenMP, Cilk). Βασίζονται σε βιβλιοθήκες νημάτων Πολυπρογραμματισμός Ταυτόχρονη εκτέλεση παράλληλων και σειριακών εφαρμογών Μεταβολές στο φορτίο του συστήματος

3 Κίνητρα (2/2) Αλληλεπίδραση πολυνηματισμού και πολυπρογραμματισμού
Λειτουργικά συστήματα δεν είναι ενήμερα για τον πολυνηματισμό Συστήματα χρόνου εκτέλεσης δεν είναι ενήμερα για τον πολυπρογραμματισμό Κακή απόδοση πολυνηματικών εφαρμογών σε πολυπρογραμματιζόμενα περιβάλλοντα Έχουν προταθεί πολλές λύσεις Απευθύνονται σε συγκεκριμένα προγραμματιστικά μοντέλα, βιβλιοθήκες νημάτων ή κλάσεις εφαρμογών

4 Στόχοι (1/2) Καλή απόδοση πολυνηματικών εφαρμογών υπό την παρουσία πολυπρογραμματισμού Μικρές επιβαρύνσεις Δυναμική προσαρμογή κάθε πολυνηματικής εφαρμογής στους πόρους που της διατίθενται Διαφάνεια Το σύστημα διασύνδεσης (API) των προγραμματιστικών μοντέλων δεν πρέπει να αλλάξει

5 Στόχοι (2/2) Αξιοποίηση υπαρχόντων μηχανισμών Γενικότητα
Οι νέοι μηχανισμοί πρέπει να ενσωματώνονται εύκολα σε κάθε προγραμματιστικό μοντέλο Ενσωμάτωση στο λειτουργικό σύστημα Οι νέοι μηχανισμοί δεν πρέπει να επηρεάζουν τις εγγενείς πολιτικές διαχείρισης πόρων

6 Επίπεδο Παρέμβασης (1/2)
Προγραμματιστικά μοντέλα υψηλού επιπέδου (OpenMP, Cilk) Δεν λαμβάνουν υπ’ όψη τους τον πολυπρογραμματισμό Υπάρχουσες εφαρμογές απαιτούν αλλαγές για την αξιοποίηση των νέων δυνατοτήτων Μεταφραστές και βιβλιοθήκες νημάτων απαιτούν αλλαγές Βιβλιοθήκες νημάτων Μεταφραστές απαιτούν αλλαγές

7 Επίπεδο Παρέμβασης (2/2)
Λειτουργικό Σύστημα Κοινοί μηχανισμοί Εφαρμογή πολιτικών βάσει της συνολικής κατάστασης του συστήματος Αξιοποίηση από βιβλιοθήκες νημάτων χωρίς αλλαγή του API Μηχανισμοί μοντέλου NanoThreads

8 Μηχανισμοί του μοντέλου (1/2)
Αποδοτικός δίαυλος επικοινωνίας μεταξύ λειτουργικού συστήματος και συστήματος χρόνου εκτέλεσης Περιοχή κοινής μνήμης Ενημέρωση των εφαρμογών για κρίσιμες αποφάσεις του χρονοπρογραμματιστή του λειτουργικού συστήματος (διακοπή διεργασίας, παραχώρηση επεξεργαστή) Ενημέρωση του λειτουργικού συστήματος για τον αξιοποιήσιμο παραλληλισμό κάθε εφαρμογής Ενημέρωση του λειτουργικού συστήματος για τις προτεραιότητες κάθε νήματος των εφαρμογών

9 Μηχανισμοί του μοντέλου (2/2)
Δευτερεύοντες χρονοπρογραμματιστές Έλεγχος εφαρμογών που αξιοποιούν τους νέους μηχανισμούς Ανάθεση υπολογιστικού χρόνου ανά εφαρμογή Συνεργασία με τον χρονοπρογραμματιστή του συστήματος Καλή απόδοση εφαρμογών σε δυναμικά μεταβαλλόμενο περιβάλλον εκτέλεσης Κλήσεις συστήματος Αρχικοποίηση εφαρμογών Επαναφορά διεργασιών που είχαν διακοπεί όσο εκτελούσαν χρήσιμο έργο Αποφυγή άσκοπης αναμονής στα σημεία συγχρονισμού

10 Σχηματικό διάγραμμα αρχιτεκτονικής
Εφαρμογή 1 Εφαρμογή n Εφαρμογή 1 Εφαρμογή m Κοινή Μνήμη Κοινή Μνήμη Κλήσεις Συστήματος Δευτερεύοντες Χρονοπρογραμματιστές Χρονοπρογραμματιστής Λειτουργικού Συστήματος

11 Αξιοποίηση από βιβλιοθήκες νημάτων
Εκτέλεση κατάλληλης κλήσης συστήματος κατά την αρχικοποίηση της βιβλιοθήκης Τερματισμός νήματος Έλεγχος στην κοινή μνήμη για νήματα της εφαρμογής που έχουν διακοπεί Αν υπάρχουν  παραχώρησε επεξεργαστή σε ένα από αυτά Σημεία συγχρονισμού Locks και Barriers Παραχώρηση επεξεργαστή

12 Υλοποίηση Λειτουργικό σύστημα Βιβλιοθήκη νημάτων Linux Έκδοση 2.2.15
Υλοποιήθηκαν οι παραπάνω μηχανισμοί και σύνολο πολιτικών χρονοδρομολόγησης για τους δευτερεύοντες χρονοπρογραμματιστές Βιβλιοθήκη νημάτων LinuxThreads Έκδοση 2.1.3 Υλοποίηση του προτύπου POSIX c για νήματα στο Linux +30 γραμμές κώδικα

13 Αποτελέσματα Σύνολα μετροπρογραμμάτων Μετάφραση μετροπρογραμμάτων
Fortran υλοποίηση των NAS Parallel Benchmarks (OpenMP) Εφαρμογές – παραδείγματα της γλώσσας Cilk Μετάφραση μετροπρογραμμάτων OmniMP compiler, έκδοση 1.2s Cilk compiler, έκδοση 5.3.1 gcc compiler, έκδοση Υπολογιστικό σύστημα Compaq Proliant 5500 4 CPU (Pentium Pro, 200 MHZ, 512Kb L2 cache) 512 MB κύρια μνήμη

14 EP Benchmark

15 CG Benchmark

16 MG Benchmark

17 Heat Benchmark

18 Συμπεράσματα Μηχανισμοί Μικρό σύνολο Γενικοί Διάφανοι
Εύκολα αξιοποιήσιμοι Μη παρεμβατικοί Καλή απόδοση πολυνηματικών εφαρμογών υπό την παρουσία πολυπρογραμματισμού

19 Δημοσιεύσεις A Transparent Operating System Infrastructure for Embedding Adaptability to Thread-Based Programming Models. Ioannis E. Venetis, Dimitrios S. Nikolopoulos, Theodore S. Papatheodorou. To appear at EuroPar '2001 Efficient Dynamic Parallelism with OpenMP on Linux SMPs. Christos D. Antonopoulos, Ioannis E. Venetis, Dimitrios S. Nikolopoulos, Theodore S. Papatheodorou. In Proceedings of PDPTA '2000 Achieving Multiprogramming Scalability on Intel SMP Platforms: Nanothreading in the Linux Kernel. Dimitrios S. Nikolopoulos, Christos D. Antonopoulos, Ioannis E. Venetis, Panagiotis E. Hadjidoukas, Eleftherios D. Polychronopoulos, Theodore S. Papatheodorou. In Proceedings of PARCO '1999


Κατέβασμα ppt "Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google