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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

1 Προτεινόμενες πρακτικές για τη δημιουργία δικτυακών πυλών στις Περιφέρειες Νικόλαος Χατζηγεωργίου Παράρτημα Θράκης ΙΕΛ.
ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
Νήματα στη Java Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία
Η επιστήμη των υπολογιστών
Λειτουργικά Συστήματα
Υλοποίηση μεταφραστή C με επεκτάσεις OpenMP Λεοντιάδης Ηλίας Τζούμας Γεώργιος Πτυχιακή εργασία Τελική παρουσίαση Υπεύθυνος καθηγητής Β. Β. Δημακόπουλος.
ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4 ο Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Το υλικο του Υπολογιστη
Εισαγωγή Τι είναι ένα Λειτουργικό Σύστημα;
Λειτουργικό Σύστημα 2ο μέρος.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ – ΜΗΧΑΝΗΣ Εαρινό Εξάμηνο 2007 Παρουσίαση Εργαλείου Ανάπτυξης JBuilder Τσουρού Σταυρούλα, ΑΜ 708 Μαδεμλής Ιωάννης, ΑΜ 669.
Λογισμικο συστηματοσ Κεφάλαιο 4ο
Message Passing Interface (MPI)
29/11/2004Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
1/12/2003Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Μια παρουσίαση από τον Άνθη Ιωάννη
Υποθετικός Πολυνηματισμός. Τα προβλήματα του παράλληλου προγραμματισμού  Εντοπισμός παραλληλισμού – χειροκίνητα (επισκόπηση) – αυτόματα (compiler) 
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
ΠΑΡΑΛΛΗΛΟΠΟΙΗΣΗ ΓΕΝΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΠΟΛΛΑΠΛΩΝ ΣΤΟΧΩΝ
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
ΔΕΞΙΟΤΗΤΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΜΝΗΜΩΝ ΕΝΟΣ Η/Υ ΤΜΗΜΑ: Τ6 ΟΝΟΜΑΤΑ: ΣΕΛΑΛΜΑΖΙΔΗΣ ΤΑΣΟΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ.
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες Interprocess Communication and Concurrent Processes.
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
ΗΜΥ 313: Τεχνολογία Λειτουργικών Συστημάτων Διδάσκων: Χρίστος Παναγιώτου.
Σύγχρονες Προκλήσεις. Εισαγωγή Οι CMP είναι πια πραγματικότητα – Intel Core 2, Quad, Nehalem – IBM Power5, Power6 – Sun Niagara, Niagara2, Rock –
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΗΣ.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Διεργασίες.
Νήματα με την χρήση των Posix Threads (pthreads)‏.
Κωνσταντίνος Αντωνής © 2014Διαδικτυακός και Ταυτόχρονος Προγραμματισμός Ομοιόμορφη Αποδοτική Διαχείριση του Ταυτοχρονισμού των Εξυπηρετητών 1.
Χρονοδρομολόγηση CPU Βασικές Αρχές Κριτήρια Χρονοδρομολόγησης
Λειτουργικά Συστήματα
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
1 Λειτουργικά Συστήματα Ενότητα 4 : Αρχιτεκτονικές ΛΣ Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 1 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια.
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
ΠαρΑλληλη ΕΠΕΞΕΡΓΑΣΙΑ
ΣΤΡΑΤΗΓΙΚΗ ΑΝΑΠΤΥΞΗΣ ΤΗΣ ΕΥΦΥΟΥΣ ΠΟΛΗΣ
Κατανεμημένα Συστήματα
Java DataBase Connectivity
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,
Επιβλέπων: Ιωάννης Καλόμοιρος, Επίκουρος καθηγητής
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)
Ομοιόμορφη Αποδοτική Διαχείριση του Ταυτοχρονισμού των Εξυπηρετητών
Επιβλέπων: Καθηγητής Εφαρμογών Δρ. Δημήτριος Βαρσάμης
ΕΝΟΤΗΤΑ 1 – Υλικό, Λογισμικό και Εφαρμογές
H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών. H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών.
Μεταπτυχιακή Διπλωματική Εργασία του Ταλαγκόζη Χρήστου
Το υπολογιστικό σύστημα σαν ενιαίο σύνολο
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

EP Benchmark

CG Benchmark

MG Benchmark

Heat Benchmark

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

Δημοσιεύσεις 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