Συστήµατα Πολλών Επεξεργαστών

Σχετικά έγγραφα
Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Αρχιτεκτονική Υπολογιστών

Εισαγωγή Θέματα H/W. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα H/W 1

Πολυπύρηνοι επεξεργαστές Multicore processors

9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Πανεπιστήµιο Θεσσαλίας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

EM 361: Παράλληλοι Υπολογισμοί

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Κεφάλαιο 3. Διδακτικοί Στόχοι

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Αρχιτεκτονική Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Αμοιβαίος αποκλεισμός

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχιτεκτονική υπολογιστών

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε

Επαναληπτικές Ασκήσεις Μαθήματος

Δίκτυα Υπολογιστών I

Αποµακρυσµένη κλήση διαδικασιών

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

Κεφάλαιο 5: Τοπικά ίκτυα

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

Δίκτυα Υπολογιστών I Εργαστήρια

Αρχιτεκτονική Υπολογιστών

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 12 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα ΜηχανικώνΗ/Υ, Τηλεπικοινωνιών και ικτύων

ΙΑΛΕΞΗ 6 Η. ίκτυα Υπολογιστών & Επικοινωνία. ιδάσκουσα: : ρ. Παντάνο Ρόκου Φράνκα. ίκτυα Υπολογιστών και Επικοινωνία. ιάλεξη 6: H Πολύπλεξη

Network Address Translation (NAT)

Τεχνολογίες Κύριας Μνήμης

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

Κατανεµηµένασυστήµατα αρχείων

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

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

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αρχιτεκτονική Υπολογιστών

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Λιβανός Γιώργος Εξάμηνο 2017Β

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Εισαγωγή στην Πληροφορική

Επιτεύγµατα των Λ.Σ.

- Δομή πλαισίου Ethernet - Πλαίσια Ethernet μεγάλου μεγέθους (Jumbo frames)

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Διασύνδεση Εισόδου-Εξόδου

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Οργάνωση Υπολογιστών (IΙI)

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β. Διάρθρωση. Αναγκαιότητα της διευθυνσιοδότησης. Ευάγγελος Παπαπέτρου

Νέες Επικοινωνιακές Τεχνολογίες

Εικονική Μνήμη (Virtual Μemory)

Αρχιτεκτονική Μνήµης

Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

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

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

Δίκτυα Υπολογιστών I

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

DIRECT MEMORY ACCESS - DMA

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Κρυφή Μνήµη. Λειτουργικά Συστήµατα ΙΙ UNIX. Μάθηµα: Aναπλ. Καθ. Κ. Λαµπρινουδάκης ιδάσκων: &καιτοπλήθοςτωνπλαισίωντηςκρυφήςµνήµης

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

Transcript:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Συστήµατα Πολλών Επεξεργαστών ιδάσκων: Aναπλ. Καθ. Κ. Λαµπρινουδάκης clam@unipi.gr Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 1 EIΣAΓΩΓH Μέχρι τα µέσα της δεκαετίας του '80, οι υπολογιστές χαρακτηρίζονταν από µεγάλο µέγεθος και υψηλό κόστος. Το γεγονός αυτό είχε ως αποτέλεσµα, οι περισσότεροι οργανισµοί να επένδυαν στην προµήθεια µικρού αριθµού υπολογιστών που λειτουργούσαν συνήθως ανεξάρτητα, λόγω της ανυπαρξίας τρόπου διασύνδεσης µεταξύ τους. Αργότερα, δύο τεχνολογικά επιτεύγµατα άρχισαν να διαφοροποιούν αυτήν την κατάσταση: η ανάπτυξη ισχυρών µικροεπεξεργαστών (microprocessors) η δηµιουργία τοπικών δικτύων υψηλών ταχυτήτων (high speed Local Area Networks) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 2 1

EIΣAΓΩΓH Το τελικό αποτέλεσµα των δύο αυτών επιτευγµάτων, είναι η δυνατότητα να λειτουργήσουν µαζί υπολογιστικά συστήµατα που αποτελούνται από µεγάλο αριθµό συνδεοµένων µέσω δικτύων υψηλών ταχυτήτων. Τα συστήµατα αυτά αποκαλούνται συνήθως κατανεµηµένα συστήµατα (distributed systems). Τα προηγούµενα παραδοσιακά συστήµατα καλούνται κεντρικοποιηµένα συστήµατα (centralized systems) αποτελούµενα από µία µοναδική, την κεντρική µνήµη, τα περιφερειακά και τα τερµατικά. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 3 EIΣAΓΩΓH Στη διεθνή βιβλιογραφία εµφανίζεται διάκριση, σε κάποιο βαθµό, ανάµεσα στα κατανεµηµένα συστήµατα όπως αυτά παρουσιάσθηκαν παραπάνω και στα παράλληλα συστήµατα (parallel systems) ή συστήµατα πολλών επεξεργαστών, των οποίων µοναδικός σκοπός είναι η επίτευξη µεγαλύτερης επιτάχυνσης κατά την επίλυση ενός µοναδικού προβλήµατος. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 4 2

ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ FLYNN Η περισσότερο γνωστή µέθοδος ταξινόµησης προτάθηκε από τον Flynn, µε κριτήριο επιλογής για κατάταξη: το πλήθος των ροών εντολών (instruction streams) τo πλήθος των ροών δεδοµένων (data streams) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 5 ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ FLYNN Εντολή Εντολή Εντολή Εντολή Εντολή Εντολή εδοµένα εδοµένα εδοµένα εδοµένα εδοµένα εδοµένα SISD SIMD MISD MIMD Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 6 3

ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ FLYNN 1. Υπολογιστής µε µοναδική ροή εντολών και µοναδική ροή δεδοµένων ονοµάζεται µοναδικής εντολής - µοναδικών δεδοµένων (SISD). Όλοι οι παραδοσιακοί µονοεπεξεργαστικοί υπολογιστές ανήκουν σε αυτή την κατηγορία. 2. Υπολογιστές µοναδικής εντολής - πολλαπλών δεδοµένων (SIMD) έχουν µία µοναδική ροή εντολών και πολλαπλές ροές δεδοµένων. Η κατηγορία αυτή αναφέρεται στους επεξεργαστές σε παράθεση (array processors) µε µία µονάδα εντολών (instruction unit), η οποία διαβάζει µια εντολή και στη συνέχεια δίνει εντολή σε πολλές µονάδες δεδοµένων (data units) να την εκτελέσουν παράλληλα, κάθε µία µε τα δικά της δεδοµένα. Κάποιοι υπερυπολογιστές (supercomputers) ανήκουν στην κατηγορία SIMD. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 7 ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ FLYNN 3. Υπολογιστές πολλαπλών εντολών - µοναδικών δεδοµένων (MISD) έχουν πολλαπλές ροές εντολών και µοναδική ροή δεδοµένων. Η/Υ σε συστήµατα πλοήγησης αεροσκαφών, πολλοί υπολογιστές µε µοναδική ροή σε περίπτωση που κάποιος από αυτούς καταστραφεί. 4. Υπολογιστές πολλαπλών εντολών - πολλαπλών δεδοµένων (MIMD), που ουσιαστικά αναφέρεται σε µια οµάδα ανεξαρτήτων υπολογιστών, ο καθένας από τους οποίους έχει το δικό του δείκτη εντολών προγράµµατος (program counter), πρόγραµµα και δεδοµένα. Όλα τα κατανεµηµένα συστήµατα εντάσσονται στην κατηγορία των MIMD. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 8 4

ΠΟΛΥΕΠΕΞΕΡΓΑΣΤΕΣ ΚΑΙ ΠΟΛΥΥΠΟΛΟΓΙΣΤΕΣ πολυεπεξεργασ MIMD : τές πολυυπολογιστ πολυεπεξεργαστές (multiprocessors): ές έχουνδιαµοιραζόµενηµνήµη (shared memory) πολυυπολογιστές (multicomputers): δεν έχουν διαµοιραζόµενη µνήµη H ειδοποιός διαφορά, είναι η ύπαρξη σε έναν πολυεπεξεργαστή ενός µοναδικού ιδεατού χώρου διευθύνσεων (virtual address space) ο οποίος είναι προσπελάσιµος από όλες τις s. Αντίθετα, σε έναν πολυυπολογιστή κάθε µηχανή έχει τη δική της ιδιωτική µνήµη (private memory). Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 9 ΠΟΛΥΕΠΕΞΕΡΓΑΣΤΕΣ ΚΑΙ ΠΟΛΥΥΠΟΛΟΓΙΣΤΕΣ Εντολή Εντολή Εντολή Εντολή Data Memory Data Memory Virtual Addresses Data Data Shared Memory Πολυυπολογιστές Πολυεπεξεργαστές Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 10 5

ΤΡΟΠΟΙ ΙΑΣΥΝ ΕΣΗΣ Κάθε µία από τις παραπάνω κατηγορίες µπορεί να διαιρεθεί περαιτέρω µε βάση τηναρχιτεκτονικήτουδικτύουδιασύνδεσης. Η έννοια της αρτηρίας (bus) αναφέρεται στην ύπαρξη ενός µοναδικού δικτύου, κεντρικού σκελετού (backplane), αρτηρίας, καλωδίου ή άλλου µέσου που συνδέει όλες τις µηχανές (π.χ. εµπορική καλωδιακή τηλεόραση). Τα συστήµατα µεταγωγής (switched) περιλαµβάνουν ανεξάρτητους αγωγούς από µηχανή σε µηχανή, χρησιµοποιώντας πολλά και διαφορετικά πρότυπα διασύνδεσης. Τα µηνύµατα µεταφέρονται µέσω των αγωγών και σε κάθε βήµα λαµβάνεται µια σαφής απόφαση µεταγωγής προκειµένου να δροµολογηθεί το µήνυµα µέσω ενός από τους εξερχόµενους αγωγούς (π.χ. παγκόσµιο σύστηµα δηµόσιας τηλεφωνίας). Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 11 Αρχιτεκτονική διασύνδεσης Εντολή Εντολή Εντολή ίκτυο µεταγωγής Εντολή Data Μνήµη Data Μνήµη Data Μνήµη Data Μνήµη Αρτηρία ισχυρά συνδεδεµένες µηχανές: Υψηλή Ταχύτητα Μεταγωγή χαλαρά συνδεδεµένες µηχανές: Χαµηλή Ταχύτητα Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 12 6

Ταξινόµηση µε βάση το Βαθµό ιασύνδεσης Ισχυρά συνδεδεµένες µηχανές (tightly coupled) Μικρή χρονική καθυστέρηση στη µεταφορά µηνύµατος από έναν υπολογιστή σε έναν άλλο Υψηλός ρυθµός µετάδοσης των δεδοµένων Παραδείγµατα: δύο ολοκληρωµένα κυκλώµατα που βρίσκονται στην ίδια τυπωµένη πλακέτα κυκλωµάτων και συνδέονται µέσω αποτυπωµένων στην πλακέτα αγωγών, θεωρείται ότι είναι στενά συνδεδεµένα παράλληλα συστήµατα, συνεργαζόµενα για την επίλυση ενός µοναδικού προβλήµατος, θεωρείται ότι είναι στενά συνδεδεµένα Χαλαρά συνδεδεµένες µηχανές (loosely coupled) Μεγαλύτερη χρονική καθυστέρηση στη µεταφορά µηνυµάτων Χαµηλός ρυθµός δεδοµένων Παράδειγµα: δύο υπολογιστές που συνδέονται µέσω ενός διαµορφωτή/αποδιαµορφωτή (modem) ταχύτητας 1200 bit/sec και ενός τηλεφωνικού συστήµατος, είναι χαλαρά συνδεδεµένοι. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 13 Συνοψίζοντας... (a) (b) (c) Πολυεπεξεργαστής κοινόχρηστης Μνήµης Πολυ-υπολογιστής µε µεταβίβαση µηνυµάτων (Ισχυρά Συνδεδεµένα Συστήµατα) Κατανεµηµένο Σύστηµα (Χαλαρά Συνδεδεµένα Συστήµατα) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 14 7

Πολυεπεξεργαστές Πολυεπεξεργαστής Κοινόχρηστης Μνήµης (Shared Memory Multiprocessor SMP) είναι ένα υπολογιστικό σύστηµα στο οποίο δυο ή περισσότερες µοιράζονται την πλήρη πρόσβαση σε µια κοινή µνήµη RAM και η κάθε µπορεί να απευθυνθεί σε ολόκληρη τη µνήµη. Κάποια συστήµατα πολυεπεξεργαστών µπορούν να προσπελάσουν ΟΛΕΣ τις λέξεις µνήµης µε την ίδια ταχύτητα ενώ κάποια άλλα όχι. Η πρώτη κατηγορία είναι γνωστή ως πολυεπεξεργαστές UMA (Uniform Memory Access), ενώ η δεύτερη ως πολυεπεξεργαστές ΝUMA (Non-Uniform Memory Access). Κατά βάση τα λειτουργικά τους είναι τα συµβατικά λειτουργικά συστήµατα που γνωρίζουµε µε κάποιες εξαιρέσεις στο συγχρονισµό διεργασιών, τη διαχείριση πόρων και το χρονοπρογραµµατισµό. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 15 Πολυεπεξεργαστές UMA που βασίζονται σε ίαυλο Οι βασισµένοι σε αρτηρία πολυεπεξεργαστές (bus-based multiprocessors), αποτελούνται από έναν αριθµό s και µια µνήµη, όπου όλες συνδέονται σε µια κοινή αρτηρία. Επειδή υπάρχει µόνο µία µνήµη, αν µία γράψει µια λέξη στη µνήµη και µετά µία άλλη διαβάσει αυτή τη λέξη λίγο αργότερα, η δεύτερη θα διαβάσει την τιµή που µόλις εγγράφηκε. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 16 8

Πολυεπεξεργαστές UMA που βασίζονται σε ίαυλο Με Χρήση Cache Το πρόβληµα είναι ότι µόλις µε 4 ή 5 s, η αρτηρία υπερφορτώνεται και η απόδοση µειώνεται σηµαντικά. Η λύση σε αυτό το πρόβληµα είναι η προσθήκη µιας γρήγορης κρυφής µνήµης (cache memory) ανάµεσα στην και την αρτηρία. Η λειτουργία της κρυφής µνήµης βασίζεται στην αρχή της προσφατότητας (principle of recentness). Αν η κρυφή µνήµη έχει µεγάλο µέγεθος, το ποσοστό επιτυχίας (hit rate), θα είναι υψηλό και το µέγεθος της κυκλοφορίας στην αρτηρία ανά θα µειωθεί δραµατικά, επιτρέποντας την ύπαρξη περισσοτέρων s στο σύστηµα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 17 Πολυεπεξεργαστές UMA που βασίζονται σε ίαυλο Με Χρήση Cache Παράλληλα όµως η ύπαρξη της κρυφής µνήµης προκαλεί ένα σηµαντικό πρόβληµα: Αν δύο αντιγράψουν την ίδια λέξη στις αντίστοιχες κρυφές τους µνήµες και στη συνέχεια η µία εγγράψει νέα τιµή στη λέξη, τότε όταν η άλλη διαβάσει αυτή τη λέξη βρίσκει την παλαιά της τιµή και όχι αυτήν που η µόλις έγγραψε. Η µνήµη είναι µη συνεπής οπότε και ο προγραµµατισµός του συστήµατος δύσκολος. Μία προταθείσα λύση είναι οι κρυφές µνήµες να είναι σχεδιασµένες έτσι ώστε όταν µια λέξη εγγράφεται στην κρυφή µνήµη, να εγγράφεται ταυτόχρονα και στην κύρια µνήµη. Αυτή η κρυφή µνήµη, ονοµάζεται κρυφή µνήµη ταυτόχρονης εγγραφής (write-through cache). Με αυτήν τη σχεδίαση,οι αποτυχηµένες προσπελάσεις στην κρυφή µνήµη για ανάγνωση, προκαλούν αυξηµένη κυκλοφορία στην αρτηρία και όλες οι εγγραφές, είτε επιτυχηµένες - είτε αποτυχηµένες, προκαλούν αύξηση κυκλοφορίας στην αρτηρία. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 18 9

Πολυεπεξεργαστές UMA που βασίζονται σε ίαυλο Με Χρήση Cache Μια εναλλακτική λύση είναι όλες οι κρυφές µνήµες να παρακολουθούν συνεχώς την αρτηρία και όταν µια κρυφή µνήµη εντοπίσει µια εγγραφή προς µια διεύθυνση µνήµης που είναι εφικτή σε αυτήν, είτε διαγράφει αυτή τη θέση από την κρυφή µνήµη είτε την ενηµερώνει µε τη νέα τιµή. Αυτή η κρυφή µνήµη ονοµάζεται κατοπτεύουσα κρυφή µνήµη (snoopy cache), αφού κατοπτεύει διαρκώς την αρτηρία. Σχεδόν όλοι οι πολυεπεξεργαστές που βασίζονται σε αρτηρία χρησιµοποιούν τη συγκεκριµένη αρχιτεκτονική ή κάποια συναφή µε αυτή. Με αυτό το σχήµα, είναι δυνατό να λειτουργήσουν περίπου 32 s σε µια µοναδική αρτηρία. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 19 Πολυεπεξεργαστές UMA που Χρησιµοποιούν Μεταγωγείς ιασταυρώσεων Σε κάθε διασταύρωση υπάρχει ένα πολύ µικρό ηλεκτρονικό σηµείο διασταύρωσης (crosspoint switch) που µπορεί να ανοίξει και να κλείσει µε χρήση υλικού. Το πλεονέκτηµα του πίνακα µεταγωγής είναι ότι πολλές s µπορούν να έχουν πρόσβαση στη µνήµη την ίδια χρονική στιγµή, και ότι αποτελεί ένα αµπλοκάριστο δίκτυο (nonblocking network) πράγµα που σηµαίνει ότι δεν απορρίπτεται ποτέ αίτηση κάποιας για σύνδεση λόγο κατάληψης κάποιου σηµείου διασταύρωσης ή κάποιας γραµµής (υποθέτουµε ότι η υποµονάδα µνήµης είναι διαθέσιµη). Το µειονέκτηµα του πίνακα µεταγωγής είναι ότι έχοντας ν s και ν µνήµες χρειάζονται ν 2 σηµεία µεταγωγής, αριθµός ο οποίος µπορεί να είναι απαγορευτικός για µεγάλες τιµές του ν. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 20 10

Πολυεπεξεργαστές UMA που Χρησιµοποιούν ίκτυα Μεταγωγής Πολλών Σταδίων Ένα δίκτυο Μεταγωγής Πολλών Σταδίων (Multistage Switching Networks) µπορεί να δηµιουργηθεί χρησιµοποιώντας τους παραπάνω 2x2 διακόπτες. Ελέγχει το πεδίο Module για να αποφασίσει αν θα επιλέξει την έξοδο Χ ή Υ. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 21 Πολυεπεξεργαστές UMA που Χρησιµοποιεί το ίκτυο Μεταγωγής Ωµέγα Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 22 11

Πολυεπεξεργαστές UMA που Χρησιµοποιεί το ίκτυο Μεταγωγής Ωµέγα Κάθε µεταγωγή µπορεί να δροµολογήσει οποιαδήποτε είσοδο προς οποιαδήποτε έξοδο.με την κατάλληλη τοποθέτηση των µεταγωγών, κάθε µπορεί να έχει πρόσβαση σε κάθε µνήµη. Αν και η 000 ζητήσει τη µνήµη 000 θα υπάρξει διένεξη στο διακόπτη 3Α. Συνεπώς το δίκτυο Ωµέγα είναι ένα δίκτυο µε µπλοκάρισµα (blocking) Στη γενική περίπτωση, µε ν s και ν µνήµες το ωµέγα δίκτυο απαιτεί ν στάδια µεταγωγής, κάθε ένα από τα οποία περιέχει log 2 ν µεταγωγές, µε ένα σύνολο νlog 2 ν µεταγωγών. Τα µειονεκτήµατα του δικτύου µεταγωγής Ωµέγα είναι ότι: Για µεγάλες τιµές ν, το πλήθος νlog 2 ν των µεταγωγών είναι αναµφισβήτητα καλύτερο από το ν 2, συνεχίζει όµως να θεωρείται ιδιαίτερα µεγάλο. Για ν=1024 υπάρχουν 10 στάδια µεταγωγής από την µέχρι τη µνήµη και ακόµα 10 προκειµένου να επιστρέψει η ζητούµενη λέξη. Αν υποτεθεί ότι η είναι 50 MHz, προκύπτει ότι ο χρόνος εκτέλεσης της εντολής είναι 20 nsec. Αν η απαίτηση της µνήµης χρειάζεται να διασχίσει 20 στάδια µεταγωγής σε 20 nsec, τότε ο χρόνος µεταγωγής πρέπει να είναι 1 nsec. Ολόκληρος ο πολυεπεξεργαστής θα χρειαστεί 10.240 µεταγωγές του 1 nsec, οπότε η υλοποίηση αυτή, δε φαίνεται να είναι ιδιαίτερα φθηνή. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 23 Πολυεπεξεργαστές NUMA Οι πολυεπεξεργαστές UMA µε δίαυλο περιορίζονται σε µερικές δεκάδες ενώ µε µεταγωγείς διασταυρώσεων χρειάζονται αρκετό (ακριβό) υλικό. Για να επεκταθούµε σε µεγάλο αριθµό, µε ρεαλιστικό κόστος, επιλέγουµε NUMA (Non-Uniform Memory Access) οι οποίοι έχουν τα παρακάτω χαρακτηριστικά: Υπάρχει ένας και µοναδικός χώρος διευθύνσεων ορατός σε όλες τις Η πρόσβαση σε αποµακρυσµένες µνήµες γίνεται µέσω των εντολών LOAD και STORE H πρόσβαση στις αποµακρυσµένες µνήµες γίνεται βραδύτερα από την πρόσβαση στην τοπική µνήµη. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 24 12

Πολυεπεξεργαστές NUMA Πολυεπεξεργαστής 256 κόµβων που βασίζεται σε κατάλογο. Ο κάθε κόµβος έχει 16 ΜΒ RAM σε διάταξη 2 18 γραµµές των 64 (2 6 ) bytes. Η συνολική µνήµη είναι 2 32 bytes. Παράδειγµα: LOAD από 20 από διεύθυνση 0x24000108.. (κόµβος 36, γραµµή 4, σχετική διεύθυνση 8). Αποστέλλει σχετικό αίτηµα στο κόµβο 36... Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 25 Λειτουργικά Συστήµατα για Πολυεπεξεργαστές (κάθε διαθέτει το δικό της λειτουργικό σύστηµα) Η µνήµη διαιρείται στατικά σε ισάριθµα µε τη διαµερίσµατα και δίνεται ένα σε κάθε ως ιδιωτική µνήµη, ενώ µοιράζονται τον κώδικα του λειτουργικού συστήµατος. Υπάρχει ευελιξία στο µοίρασµα της µνήµης. Όταν µια διεργασία εκτελεί µια κλήση συστήµατος, η κλήση εντοπίζεται από τη συγκεκριµένη η οποία πραγµατοποιεί τις απαιτούµενες ενέργειες µε βάση τα δεδοµένα που βρίσκονται στους πίνακες του τοπικού λειτουργικού συστήµατος. εν υπάρχει κοινοχρησία των διεργασιών. Είναι πιθανόν η 1 να έχει µεγάλο φόρτο ενώ κάποια άλλη να είναι ανενεργός. εν υπάρχει κοινοχρησία των σελίδων στη µνήµη (επειδή η κατανοµή µνήµης είναι σταθερή). Είναι πιθανόν η 1 να έχει αρκετές διαθέσιµες σελίδες ενώ κάποια άλλη να σελιδοποιεί συνεχώς. Αν το λειτουργικό σύστηµα διατηρεί µια προσωρινή κρυφή µνήµη για τα µπλόκ του δίσκου που έχουν χρησιµοποιηθεί πρόσφατα, αυτό γίνεται ανεξάρτητα για κάθε και συνεπώς µπορεί το ίδιο µπλόκ να βρίσκεται σε πολλές µνήµες ταυτόχρονα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 26 13

Λειτουργικά Συστήµατα για Πολυεπεξεργαστές (Κύριου - Υπηρέτη) Ένα αντίγραφο του λειτουργικού και των πινάκων του στη 1 (Μaster). Όλες οι κλήσεις συστήµατος κατευθύνονται για επεξεργασία στη 1. To µοντέλο αυτό λύνει τα περισσότερα ζητήµατα που είδαµε πριν. Το πρόβληµα που µπορεί να δηµιουργηθεί εδώ, είναι η υπερφόρτωση της 1. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 27 Λειτουργικά Συστήµατα για Πολυεπεξεργαστές (Συµµετρικοί Πολυεπεξεργαστές) Το µοντέλο του συµµετρικού πολυεπεξεργαστή εξαλείφει αυτή την ασυµµετρία. Το λειτουργικό σύστηµα µπορεί να το προσπελάσει οποιοσδήποτε επεξεργαστής. Το πρόβληµα που εισάγει είναι ότι δύο ή περισσότερες µπορεί να εκτελούν κώδικα του λειτουργικού συστήµατος την ίδια στιγµή!! (π.χ. Ζητούν την ίδια ελεύθερη σελίδα µνήµης). Για την αντιµετώπιση των προβληµάτων αυτών πρέπει να χρησιµοποιηθούν mutex ώστε κάθε χρονική στιγµή µόνο µια να έχει πρόσβαση στο λειτουργικό σύστηµα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 28 14

Συγχρονισµός Πολυεπεξεργαστών Αν µια διεργασία σε µονοεπεξεργαστικό σύστηµα κάνει µια κλήση συστήµατος που απαιτεί πρόσβαση σε κάποιο κρίσιµο πίνακα του πυρήνα, απλά απενεργοποιεί τις διακοπές µέχρι την ολοκλήρωση. Αυτό δεν µπορεί να γίνει σε πολυεπεξεργαστές αφού οι διακοπές αφορούν µόνο το συγκεκριµένο επεξεργαστή. Χρειάζεται λοιπόν κάποιο πρωτόκολλο αµοιβαίου αποκλεισµού σεβαστό από όλες τις. Ας θυµηθούµε την εντολή TSL (Test and Set Lock) που επιτρέπει να γίνεται σε µια αδιαίρετη ενέργεια η πρόσβαση και αλλαγή τιµής σε µια λέξη µνήµης Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 29 Συγχρονισµός Πολυεπεξεργαστών.. υστυχώς σε συστήµατα πολυεπεξεργαστών υπάρχει πρόβληµα... Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 30 15

Συγχρονισµός Πολυεπεξεργαστών Για να εξασφαλιστεί η ορθή λειτουργία του αµοιβαίου αποκλεισµού απαιτείται κλείδωµα του δίαυλου, ώστε κατά την εκτέλεση της εντολής TSL να µην έχει πρόσβαση κάποια άλλη. Η συγκεκριµένη µέθοδος είναι γνωστή ως κλείδωµα περιστροφής (spin lock) αφού η που κάνει την αίτηση ελέγχει διαρκώς το κλείδωµα όσο πιο γρήγορα µπορεί, γεγονός που έχει σαν αποτέλεσµα να σπαταλάει όλο το χρόνο της και να υπερφορτώνει το δίαυλο. Η κρυφή µνήµη της θα µπορούσε θεωρητικά να διευκολύνει, αλλά στη πράξη οι τροποποιήσεις που γίνονται στο συγκεκριµένο block µνήµης τόσο από την που αιτείται τον δίαυλο (στο πλαίσιο της εντολής TSL), όσο και από την που ελέγχει το κλείδωµα, έχουν σας αποτέλεσµα τη διαρκή µετακίνηση µπλόκ στις κρυφές µνήµες. Η λύση θα ήταν να απαλλαγούµε από όλες τις εγγραφές που εκτελούνται από την TSL (δηλαδή µόνο αν το κλείδωµα είναι ελεύθερο θα εκτελείται η TSL). Συνεπώς η κάθε (εκτός αυτής που ελέγχει το κλείδωµα) θα έχει ένα αντίγραφο από το µπλόκ κρυφής µνήµης µόνο για ανάγνωση. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 31 Συγχρονισµός Πολυεπεξεργαστών Χρήση Πολλών Κλειδωµάτων για Αποτροπή Υπερφόρτωσης της Κρυφής Μνήµης Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 32 16

Χρονοπρογραµµατισµός Σε συστήµατα µε ένα επεξεργαστή η µόνη ερώτηση είναι «ποια διεργασία πρέπει να εκτελεστεί ση συνέχεια ;». Σε συστήµατα πολλών επεξεργαστών ο χρονοπρογραµµατισµός είναι δισδιάστατος: Ποιά διεργασία πρέπει να εκτελεστεί και σε ποιόν επεξεργαστή ; Μια ακόµα παράµετρος που πρέπει να λαµβάνεται υπόψη κατά το χρονοπρογραµµατισµό είναι το κατά πόσο οι διεργασίες είναι ανεξάρτητες ή συσχετισµένες. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 33 Χρονοπρογραµµατισµός (Χρονοµερισµός Timesharing- Ανεξάρτητων ιεργασιών) Το «κλείδωµα περιστροφής» σπαταλάει το χρόνο των σε αναµονή, οπότε είναι σκόπιµο ο χρονοπρογραµµατιστής να ΜΗΝ σταµατάει την διεργασία µε το κλείδωµα περιστροφής, ώστε να ολοκληρώσει την κρίσιµη περιοχή της και να απελευθερώσει το κλείδωµα. Επίσης καλό είναι να γίνεται προσπάθεια οι διεργασίες να εκτελούνται στην που εκτελέστηκαν την τελευταία φορά (χρονοπρογραµµατισµός συγγένειας). Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 34 17

Χρονοπρογραµµατισµός (Χωροµερισµός Spacesharing- Συσχετισµένων ιεργασιών) Ταυτόχρονη Εκτέλεση Πολλαπλών ιεργασιών σε ιαφορετικούς Επεξεργαστές Πλεονέκτηµα είναι η εξάλειψη του πολυπρογραµµατισµού (κάθε διεργασία αποδίδεται σε µια αποκλειστική ) και συνεπώς της καθυστέρησης που εισάγει η εναλλαγή από το περιβάλλον µιας διεργασίας στο περιβάλλον κάποιας άλλης. Όµως το µειονέκτηµα είναι ότι αν κάποιος επεξεργαστής µπλοκάρει καθυστερούν και όλοι οι υπόλοιποι Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 35 Χρονοπρογραµµατισµός Συσχετισµένων ιεργασιών (µε συνδυασµό Χρονο- και Χωρο µερισµού) Επικοινωνία ανάµεσα σε δύο νήµατα που ανήκουν στη διεργασία Α και εκτελούνται µε διαφορά φάσης. Εισάγεται σηµαντική καθυστέρηση. Η λύση είναι ο χρονοπρογραµµατισµός οµάδας: Οι οµάδες των σχετιζόµενων νηµάτων χρονοπρογραµµατίζονται ως εννιαία ενότητα, δηλαδή ως µια οµάδα Όλα τα µέλη της οµάδας εκτελούνται ταυτόχρονα, σε διαφορετικές χρονοπρογραµµατιζόµενες Όλα τα µέλη της οµάδας ξεκινούν και τερµατίζουν τα χρονοµερίδια τους ταυτόχρονα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 36 18

Παράδειγµα Χρονοπρογραµµατισµού Συσχετισµένων ιεργασιών Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 37 Πολυυπολογιστές Οι Πολυυπολογιστές αποτελούνται από συνδεδεµένες που ΕΝ µοιράζονται µνήµη. Είναι επίσης γνωστοί ως Συστοιχίες Υπολογιστών (Cluster Computers) ή Συστοιχίες Σταθµών Εργασίας (Clusters of Workstations) Η κατασκευή ενός πολυυπολογιστή είναι σχετικά εύκολη διαδικασία, αφού κάθε έχει µια άµεση σύνδεση µε τη δική της µόνον τοπική µνήµη. Τοπολογικά ο πολυυπολογιστής βασισµένος σε αρτηρία, φαίνεται ίδιος µε έναν πολυεπεξεργαστή βασισµένο σε αρτηρία. Στην πραγµατικότητα όµως η κεντρική αρτηρία, µπορεί να είναι ένα πολύ χαµηλότερης ταχύτητας LAN Ο κυκλοφοριακός φόρτος θα είναι αρκετές τάξεις µεγέθους χαµηλότερος από την περίπτωση όπου το δίκτυο διασύνδεσης χρησιµοποιείται και για την κυκλοφορία από τη στη µνήµη. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 38 19

ιαφορετικές Τοπολογίες (α) Αστέρας (Star) (δ) ιπλή Σπείρα (double torus) (β) ακτύλιος (ring) (ε) Κύβος (Cube) (γ) Πλέγµα (grid) (στ) Υπερκύβος (hypercube) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 39 Μηχανισµοί Μεταγωγής σε Πολυ-Υπολογιστές Μεταγωγή πακέτων µε αποθήκευση και προώθηση (store-andforward packet switching): Κάθε µήνυµα τεµαχίζεται σε κοµµάτια που έχουν κάποιο µέγιστο µήκος και ονοµάζονται πακέτα. Από την κάρτα διασύνδεση δικτύου του αποστολέα αντιγράφονται (bit-by-bit) στον πρώτο µεταγωγέα. Όταν ολοκληρωθεί η αντιγραφή µπορούν να αντιγραφούν στον επόµενο µεταγωγέα κοκ... Μεγάλες καθυστερήσεις Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 40 20

Μηχανισµοί Μεταγωγής σε Πολυ-Υπολογιστές Μεταγωγή Κυκλώµατος: Στην περίπτωση αυτή προτείνεται η δηµιουργία ολόκληρης της διαδροµής, από τον αρχικό κόµβο ως τον µεταγωγέα προορισµού, πριν το πακέτο φτάσει στον πρώτο µεταγωγέα. Με τον τρόπο αυτό τα bits στέλνονται από τον πηγή στον προορισµό χωρίς να σταµατήσουν πουθενά (χωρίς ενδιάµεση προσωρινή αποθήκευση). Υπάρχει κάποιος επιπρόσθετος χρόνος που απαιτείται για την εγκαθίδρυση της διαδροµής... αλλά µετά η µετάδοση των δεδοµένων είναι ταχύτερη. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 41 ιασύνδεση Κόµβου µε το ίκτυο Μεταγωγής Η Κάρτα ιασύνδεσης ( ικτύου) συνδέει τον κόµβο µε το δίκτυο µεταγωγής. Περιέχει RAM για την αποθήκευση των εισερχόµενων και εξερχόµενων πακέτων. Χρήση της κύριας RAM για το σκοπό αυτό θα δηµιουργούσε σοβαρές συνθήκες ανταγωνισµού µε διάφορες συσκευές Ε/Ε. Η κάρτα διασύνδεσης συνήθως διαθέτει ένα ή περισσότερα κανάλια DMA ή ακόµα και. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 42 21

ιασύνδεση Κόµβου µε το ίκτυο Μεταγωγής Για να αποφευχθεί η µείωση της απόδοσης που προκαλείται από την αντιγραφή των πακέτων από και προς τους πυρήνες, πολλοί πολυυπολογιστές χαρτογραφούν την κάρτα δικτύου κατευθείαν στο χώρο µνήµης του χρήστη. Αυτό εισάγει τα παρακάτω προβλήµατα: Πώς θα αξιοποιούν την κάρτα περισσότερες από µια διεργασίες; (στο χώρο µνήµης ποιας διεργασίας θα χαρτογραφηθεί, αν χαρτογραφηθεί στο χώρο της Α και φθάσουν κάποια πακέτα για τη Β; κ.λ.π.) Θα µπορούσε να χαρτογραφηθεί σε όλες τις διεργασίες, αλλά τότε χρειάζεται να αναπτυχθεί µηχανισµός για τη διαχείριση καταστάσεων ανταγωνισµού. Βέβαια...υπάρχει πάντα η περίπτωση να χρειάζεται και ο ίδιος ο πυρήνας πρόσβαση στο δίκτυο διασύνδεσης...π.χ. για να προσπεράσει το σύστηµα αρχείων κάποιου αποµακρυσµένου κόµβου Η λύση είναι να υπάρχουν δύο κάρτες δικτύου: η µια χαρτογραφηµένη στον πυρήνα και η άλλη στους χρήστες. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 43 Επικοινωνία Κόµβου µε την Κάρτα ιασύνδεσης Ο ταχύτερος τρόπος για την µεταφορά δεδοµένων από / προς τη RAM είναι µέσω DMA. Τα προβλήµατα είναι: Ότι απαιτούνται φυσικές διευθύνσεις...που τις περισσότερες φορές δεν γνωρίζουν οι διεργασίες... Ότι το λειτουργικό µπορεί να αποφασίσει να αντικαταστήσει µια σελίδα τη στιγµή που αντιγράφεται µια σελίδα µε DMA. Ως εκ τούτου ο ασφαλέστερος τρόπος είναι η χρήση προγραµµατιζόµενης Ε/Ε από και προς την κάρτα διασύνδεσης αφού τότε όλα τα σφάλµατα σελίδας θα τα αντιµετωπίζει το λειτουργικό µε το συνήθη τρόπο. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 44 22

Επικοινωνία Κόµβου µε την Κάρτα ιασύνδεσης Αν οι κάρτες διασύνδεσης δικτύου διαθέτουν, πρέπει να ληφθούν µέτρα για να αποφευχθούν συνθήκες συναγωνισµού. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 45 Επικοινωνία Μεταξύ ιεργασιών ιαφορετικών Οι διεργασίες που εκτελούνται σε διαφορετικούς επεξεργαστές µπορούν να επικοινωνήσουν µε ανταλλαγή µηνυµάτων. Η ανταλλαγή µηνυµάτων διενεργείται µέσω διαδικασιών (βιβλιοθήκες) που προσφέρει το λειτουργικό στις διεργασίες. Send (dest, &mptr) Αποστέλλεται το µήνυµα (που δείχνει ο mptr) σε µια διεργασία µε διεύθυνση dest Receive (addr, &mptr) To µήνυµα αντιγράφεται στη διεύθυνση προσωρινής αποθήκευσης (mptr), ενώ ο παραλήπτης περιµένει στη διεύθυνση addr. Σηµαντική παράµετρος είναι ο τρόπος υλοποίησης της διευθυνσιοδότησης, δεδοµένου ότι έχουµε πολλούς επεξεργαστές. Ο ευκολότερος τρόπος είναι οι διευθύνσεις να προσδιορίζουν και τον επεξεργαστή (π.χ. Επεξεργαστήςδιεργασία, επεξεργαστής-θύρα κ.λ.π.) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 46 23

Ανασταλτικές και µη Ανασταλτικές Κλήσεις Οι ανασταλτικές κλήσεις (blocking calls) µπλοκάρουν την στέλλουσα διεργασία. Αντίστοιχο είναι το πρόβληµα στην πλευρά του παραλήπτη. Στις µη ανασταλτικές κλήσεις δεν υπάρχει η καθυστέρηση αυτή...αλλά η αντιγραφή στην θέση προσωρινής αποθήκευσης δηµιουργεί άλλα προβλήµατα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 47 Ανασταλτικές και µη Ανασταλτικές Κλήσεις Το προβλήµατα συνοψίζονται στο ότι: Ο αποστολέας δεν µπορεί να τροποποιήσει την περιοχή προσωρινής αποθήκευσης µέχρι να αποσταλεί το µήνυµα. Η στέλλουσα διεργασία δεν γνωρίζει πότε ολοκληρώθηκε η αποστολή, οπότε δεν είναι ποτέ βέβαιη ότι η επαναχρησιµοποίηση της περιοχής προσωρινής αποθήκευσης είναι ασφαλής. Υπάρχουν τρεις λύσεις: Το µήνυµα αντιγράφεται σε µια εσωτερική περιοχή αποθήκευσης του πυρήνα. Να µην γίνει αντιγραφή, αλλά να ενηµερωθεί, µέσω κάποιας διακοπής, ο αποστολέας ότι η αποστολή ολοκληρώθηκε Αντιγραφή κατά την εγγραφή (Η περιοχή προσωρινής αποθήκευσης σηµειώνεται, µέχρι να σταλεί το µήνυµα, ως περιοχή µόνο για ανάγνωση) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 48 24

Μακρινή Κλήση ιαδικασιών (RPC) H προηγούµενη διαδικασία επικοινωνίας σε πολυ-υπολογιστές είναι εξαιρετικά ευέλικτη και αποδοτική αλλά βασίζεται σε λειτουργίες εισόδου / εξόδου που δεν θεωρούνται καλή τακτική. Το πρόβληµα µπορεί να παρακαµφθεί επιτρέποντας στις διεργασίες να καλούν προγράµµατα που βρίσκονται σε άλλες (Remote Procedure Call). Συγκεκριµένα αν µια διεργασία που εκτελείται σε µια 1 καλέσει µια διεργασία σε µια 2, η καλούσα διεργασία αναστέλλεται και η εκτέλεση της κληθείσας διαδικασίας γίνεται στην 2. Οι απαραίτητες πληροφορίες µεταφέρονται στη 2 µέσω των παραµέτρων, και επιστρέφονται µέσω των αποτελεσµάτων. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 49 Μακρινή Κλήση ιαδικασιών (RPC) Το πρόγραµµα πελάτης (Client) για να καλέσει µια µακρινή διαδικασία πρέπει να είναι συνδεδεµένο µε µια διαδικασία βιβλιοθήκης που ονοµάζεται στέλεχος πελάτη (Client stub), η οποία αναπαριστά τη διαδικασία διακοµιστή στο χώρο διευθύνσεων του πελάτη. Το αντίστοιχο συµβαίνει από τη πλευρά του διακοµιστή ο οποίος είναι συνδεδεµένος µε το στέλεχος διακοµιστή (server stub). Οι διαδικασίες αυτές κρύβουν το γεγονός ότι η κλήση από τον πελάτη στον διακοµιστή δεν είναι τοπική. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 50 25

Προβλήµατα κατά τη Χρήση RPC εν είναι δυνατή η χρήση εικτών (pointers) αφού ο πελάτης και ο διακοµιστής βρίσκονται σε διαφορετικούς χώρους διευθύνσεων. Υπάρχουν περιπτώσεις που επιτρέπεται η χρήση δοµών (π.χ. Πινάκων) αγνώστου µεγέθους, γεγονός που δηµιουργεί πρόβληµα στην µεταφορά των παραµέτρων εν µπορούν να αξιοποιηθούν καθολικές µεταβλητές. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 51 Κατανεµηµένη Κοινόχρηστη Μνήµη Υπάρχει η δυνατότητα / επιθυµία υλοποίησης κοινόχρηστης µνήµης ακόµα και σε συστήµατα πολυ-υπολογιστών. Χρησιµοποιείται η τεχνική της (Distributed Shared Memory DSM). Η διαφορά µεταξύ της πραγµατικά (φυσικής) κοινόχρηστης µνήµης και της DSM φαίνεται στο σχήµα.. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 52 26

Υλοποίηση DSM (a) Οι σελίδες κατανέµονται σε 4 µηχανές (b) Η 0 ζητά τη σελίδα 10 (µεταφορά) (c) Η 1 ζητά τη σελίδα 10 (δηµιουργία αντιγράφου) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 53 Ψευδοκοινοχρησία Στην DSM όταν γίνεται αναφορά σε µια µη τοπική λέξη προσκοµίζεται ένα τµήµα µνήµης, που περιέχει τη συγκεκριµένη λέξη, και είναι πολλαπλάσιο του µεγέθους σελίδας που χρησιµοποιείται. Όσο µεγαλύτερο είναι τόσο περισσότερο έντονο µπορεί να είναι το πρόβληµα της ψευδοκοινοχρησίας. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 54 27

Χρονοπρογραµµατισµός Πολυ-Υπολογιστών Αν και ο χρονοπρογραµµατισµός των πολυ-υπολογιστών µοιάζει µε τον χρονοπρογραµµατισµό των πολυεπεξεργαστών, δεν µπορούν να εφαρµοστούν όλοι οι αλγόριθµοι (π.χ. συντήρηση κεντρικής λίστας έτοιµων διεργασιών) αφού κάθε διεργασία µπορεί να εκτελεστεί µόνο στην που έχει τοποθετηθεί. Συνεπώς η δυσκολία που έχουµε στη συγκεκριµένη περίπτωση είναι να αποφασίσουµε σε ποιόν επεξεργαστή θα αναθέσουµε την κάθε διεργασία. Οι ιδιότητες της κάθε διεργασίας που αξιοποιούνται στους αλγορίθµους αυτούς είναι: Οι απαιτήσεις σε χρόνο επεξεργασίας () Οι απαιτήσεις µνήµης Οι απαιτήσεις επικοινωνίας µε άλλες διεργασίες Οι στόχοι των αλγορίθµων είναι: Η ελαχιστοποίηση των χαµένων κύκλων H ελαχιστοποίηση του φόρτου επικοινωνίας Η δικαιοσύνη απέναντι σε χρήστες - διεργασίες Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 55 Ισοστάθµιση Φορτίου Process Γραφο-Θεωρητικός Ντετερµινιστικός Αλγόριθµος Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 56 28

Ισοστάθµιση Φορτίου Κατανεµηµένος ευρετικός αλγόριθµος µε εκκίνηση από τον Αποστολέα Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 57 Ισοστάθµιση Φορτίου Κατανεµηµένος ευρετικός αλγόριθµος µε εκκίνηση από τον Παραλήπτη Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 58 29