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

64
1 9. 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Στέφανος Γκρίτζαλης Γκρίτζαλης Αναπληρωτής Καθηγητής Αναπληρωτής Καθηγητής Κωνσταντίνος Κωνσταντίνος Καραφασούλης Καραφασούλης ∆ιδάσκων (Π∆ 407) ∆ιδάσκων (Π∆ 407)

Transcript of 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ ·...

Page 1: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

1

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

Στέφανος Στέφανος ΓκρίτζαληςΓκρίτζαληςΑναπληρωτής ΚαθηγητήςΑναπληρωτής Καθηγητής

Κωνσταντίνος Κωνσταντίνος ΚαραφασούληςΚαραφασούλης∆ιδάσκων (Π∆ 407)∆ιδάσκων (Π∆ 407)

Page 2: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

2

2

9.0 9.0 EIEIΣΣAAΓΩΓΓΩΓHH ΣΣTA KATANEMHMENATA KATANEMHMENAΣΣYYΣΣTHMATATHMATA

ΜέχριΜέχρι τατα µέσαµέσα τηςτης δεκαετίαςδεκαετίας τουτου '80, '80, οιοι υπολογιστέςυπολογιστέςχαρακτηρίζοντανχαρακτηρίζονταν απόαπό µεγάλοµεγάλο µέγεθοςµέγεθος καικαι υψηλόυψηλό κόστοςκόστος. . ΤοΤογεγονόςγεγονός αυτόαυτό είχεείχε ωςως αποτέλεσµααποτέλεσµα, , οιοι περισσότεροιπερισσότεροι οργανισµοίοργανισµοί ναναεπένδυανεπένδυαν στηνστην προµήθειαπροµήθεια µικρούµικρού αριθµούαριθµού υπολογιστώνυπολογιστών πουπουλειτουργούσανλειτουργούσαν συνήθωςσυνήθως ανεξάρτηταανεξάρτητα, , λόγωλόγω τηςτης ανυπαρξίαςανυπαρξίαςτρόπουτρόπου διασύνδεσηςδιασύνδεσης µεταξύµεταξύ τουςτους..ΑργότεραΑργότερα, , δύοδύο τεχνολογικάτεχνολογικά επιτεύγµαταεπιτεύγµατα άρχισανάρχισαν ναναδιαφοροποιούνδιαφοροποιούν αυτήναυτήν τηντην κατάστασηκατάσταση: :

ηη ανάπτυξηανάπτυξη ισχυρώνισχυρών µικροεπεξεργαστώνµικροεπεξεργαστών ((microprocessorsmicroprocessors) ) ηη δηµιουργίαδηµιουργία τοπικώντοπικών δικτύωνδικτύων υψηλώνυψηλών ταχυτήτωνταχυτήτων ((highhigh

speedspeed Local Area NetworksLocal Area Networks) )

Page 3: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

3

3

Το τελικό αποτέλεσµα των δύο αυτών επιτευγµάτων, είναι ηδυνατότητα να λειτουργήσουν µαζί υπολογιστικά συστήµαταπου αποτελούνται από µεγάλο αριθµό CPU συνδεοµένωνµέσω δικτύων υψηλών ταχυτήτων.

Τα συστήµατα αυτά αποκαλούνται συνήθως κατανεµηµένασυστήµατα (distributed systems).

Τα προηγούµενα παραδοσιακά συστήµατα καλούνταικεντρικοποιηµένα συστήµατα (centralized systems) αποτελούµενα από µία µοναδική CPU, την κεντρική µνήµη, ταπεριφερειακά και τα τερµατικά.

Page 4: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

4

4

Στη διεθνή βιβλιογραφία εµφανίζεται διάκριση, σε κάποιο βαθµό, ανάµεσα στα κατανεµηµένα συστήµατα όπως αυτάπαρουσιάσθηκαν παραπάνω και στα παράλληλα συστήµατα(parallel systems), των οποίων µοναδικός σκοπός είναι ηεπίτευξη µεγαλύτερης επιτάχυνσης κατά την επίλυση ενόςµοναδικού προβλήµατος.

Page 5: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

5

5

ΧαρακτηριστικόΧαρακτηριστικό

ΟικονοµίαΟικονοµίαπροσέγγισηπροσέγγιση ΙΙ

ΠεριγραφικήΠεριγραφική επεξήγησηεπεξήγηση

ΟιΟι µικροεπεξεργαστέςµικροεπεξεργαστές σεσε έναένακατανεµηµένοκατανεµηµένο σύστηµασύστηµαπαρέχουνπαρέχουν καλύτεροκαλύτερο λόγολόγοκόστουςκόστους//απόδοσηςαπόδοσης((priceprice//performance ratioperformance ratio) ) απόαπό τατακεντρικοποιηµένακεντρικοποιηµένα υπολογιστικάυπολογιστικάσυστήµατασυστήµατα, , δηλαδήδηλαδή καλύτερηκαλύτερηαξιοποίησηαξιοποίηση τηςτηςπραγµατοποιηθείσαςπραγµατοποιηθείσας επένδυσηςεπένδυσης

9.1.ΣΤΟΧΟΙ ∆ΗΜΙΟΥΡΓΙΑΣ ΚΑΤΑΝΕΜΗΜΕΝΩΝΣΥΣΤΗΜΑΤΩΝ

9.1.1. ΠλεονεκτήµαταΚατανεµηµένων έναντι Κεντρικοποιηµένων Συστηµάτων

Page 6: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

6

6

ΟικονοµίαΟικονοµίαπροσέγγισηπροσέγγιση ΙΙΙΙ

ΤαχύτηταΤαχύτητα

ΜίαΜία συλλογήσυλλογή απόαπόµικροεπεξεργαστέςµικροεπεξεργαστές είναιείναιδυνατόδυνατό νανα εµφανίσειεµφανίσει απόλυτηαπόλυτητιµήτιµή απόδοσηςαπόδοσης, , τηντην οποίαοποία δενδενείναιείναι δυνατόδυνατό νανα επιτύχειεπιτύχεικανένακανένα κεντρικοποιηµένοκεντρικοποιηµένουπολογιστικόυπολογιστικό σύστηµασύστηµα

ΈναΈνα κατανεµηµένοκατανεµηµένο σύστηµασύστηµαµπορείµπορεί νανα έχειέχει συνολικάσυνολικάµεγαλύτερηµεγαλύτερη υπολογιστικήυπολογιστικήισχύισχύ απόαπό έναένακεντρικοποιηµένοκεντρικοποιηµένουπολογιστικόυπολογιστικό σύστηµασύστηµα

Page 7: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

7

7

ΈµφυτηΈµφυτηκατανοµήκατανοµή

ΑξιοπιστίαΑξιοπιστία

∆ιαδοχική∆ιαδοχικήανάπτυξηανάπτυξη

ΜερικέςΜερικές εφαρµογέςεφαρµογές έχουνέχουν, , ενεν δυνάµειδυνάµει, , χαρακτήραχαρακτήρα κατανεµηµένοκατανεµηµένο

ΑνΑν µίαµία µηχανήµηχανή καταρρεύσεικαταρρεύσει, , τοτοσύστηµασύστηµα συνεχίζεισυνεχίζει νανα λειτουργείλειτουργεί µεµεµειωµένηµειωµένη απόδοσηαπόδοση

ΜπορείΜπορεί νανα προστεθείπροστεθεί υπολογιστικήυπολογιστικήισχύςισχύς στοστο σύστηµασύστηµα µέσωµέσω σταδιακώνσταδιακώνδιαδοχικώνδιαδοχικών επεκτάσεωνεπεκτάσεων καικαιαναβαθµίσεωναναβαθµίσεων

Page 8: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

8

8

9.1.2. 9.1.2. ΠλεονεκτήµαταΠλεονεκτήµατα ΚατανεµηµένωνΚατανεµηµένων ΣυστηµάτωνΣυστηµάτωνέναντιέναντι ΑνεξαρτήτωνΑνεξαρτήτων PCsPCs

ΧαρακτηριστικόΧαρακτηριστικό

∆ιαµοιρασµός∆ιαµοιρασµόςδεδοµένωνδεδοµένων

∆ιαµοιρασµός∆ιαµοιρασµόςσυσκευώνσυσκευών

ΕπικοινωνίαΕπικοινωνία

ΕυελιξίαΕυελιξία

ΠεριγραφικήΠεριγραφική επεξήγησηεπεξήγηση

ΕπιτρέπειΕπιτρέπει τηντην πρόσβασηπρόσβαση πολλώνπολλών χρηστώνχρηστών σεσεκοινήκοινή βάσηβάση δεδοµένωνδεδοµένων

ΕπιτρέπειΕπιτρέπει σεσε πολλούςπολλούς χρήστεςχρήστες ναναδιαµοιράζονταιδιαµοιράζονται ακριβέςακριβές περιφερειακέςπεριφερειακέςσυσκευέςσυσκευές

ΚαθιστάΚαθιστά ευκολότερηευκολότερη τηντην επικοινωνίαεπικοινωνία µεταξύµεταξύχρηστώνχρηστών τουτου συστήµατοςσυστήµατος

ΚατανέµειΚατανέµει τοτο φόρτοφόρτο εργασίαςεργασίας στιςστις διαθέσιµεςδιαθέσιµεςµηχανέςµηχανές µεµε τοντον περισσότεροπερισσότερο αποδοτικόαποδοτικό τρόποτρόπο, , ελαχιστοποιώνταςελαχιστοποιώντας συνάρτησησυνάρτηση κόστουςκόστους

Page 9: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

9

9

9.1.3. 9.1.3. ΜειονεκτήµαταΜειονεκτήµατα ΚατανεµηµένωνΚατανεµηµένων ΣυστηµάτωνΣυστηµάτων

ΧαρακτηριστικόΧαρακτηριστικό

ΛογισµικόΛογισµικό

∆ικτύωση∆ικτύωση

ΑσφάλειαΑσφάλεια

ΠεριγραφικήΠεριγραφική επεξήγησηεπεξήγηση

∆εν∆εν υπάρχειυπάρχει ακόµηακόµη σηµαντικήσηµαντική εµπειρίαεµπειρία στηστησχεδίασησχεδίαση, , υλοποίησηυλοποίηση αλλάαλλά καικαι χρήσηχρήση τουτουαπαιτούµενουαπαιτούµενου λογισµικούλογισµικού ((systemssystems & & application softwareapplication software) ) γιαγια αποδοτικήαποδοτική λειτουργίαλειτουργίακατανεµηµένωνκατανεµηµένων συστηµάτωνσυστηµάτων

ΥπάρχειΥπάρχει τοτο ενδεχόµενοενδεχόµενο κορεσµούκορεσµού τουτου δικτύουδικτύου, , ενώενώ πρέπειπρέπει νανα επιλυθείεπιλυθεί τοτο πρόβληµαπρόβληµα τηςτηςαξιοπιστίαςαξιοπιστίας τουτου

ΥπάρχειΥπάρχει ιδιαίτεροςιδιαίτερος κίνδυνοςκίνδυνος πρόσβασηςπρόσβασης στοστοδίκτυοδίκτυο καικαι προσπέλασηςπροσπέλασης σεσε δεδοµέναδεδοµένα, , απόαπό µηµηεξουσιοδοτηµένουςεξουσιοδοτηµένους χρήστεςχρήστες

Page 10: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

10

10

9.2. 9.2. ΖΗΤΗΜΑΤΑΖΗΤΗΜΑΤΑ ΥΛΙΚΟΥΥΛΙΚΟΥ

ΘαΘα µελετήσουµεµελετήσουµε µεθόδουςµεθόδους κατηγοριοποίησηςκατηγοριοποίησης συστηµάτωνσυστηµάτων::

ΜΕΘΟ∆ΟΣΜΕΘΟ∆ΟΣ 1:1:ΤΑΞΙΝΟΜΗΣΗΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑΚΑΤΑ FLYNNFLYNN

ΗΗ περισσότεροπερισσότερο γνωστήγνωστή µέθοδοςµέθοδος ταξινόµησηςταξινόµησης προτάθηκεπροτάθηκε απόαπότοντον FlynnFlynn, , µεµε κριτήριοκριτήριο επιλογήςεπιλογής γιαγια κατάταξηκατάταξη: :

τοτο πλήθοςπλήθος τωντων ροώνροών εντολώνεντολών ((instruction streamsinstruction streams) ) τοτο πλήθοςπλήθος τωντων ροώνροών δεδοµένωνδεδοµένων ((data streamsdata streams). ).

Page 11: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

11

11

CPU

Εντολή

∆εδοµένα

CPU

Εντολή

∆εδοµένα

CPU CPU

∆εδοµένα

SISD SIMD MIMD

Εντολή

∆εδοµένα

CPU CPU

∆εδοµένα

ΕντολήCPU

Εντολή

∆εδοµένα

CPU

CPU

Εντολή

MISD

ΤαξινόµησηΤαξινόµηση FlynnFlynn

Page 12: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

12

12

ΜεΜε τατα στοιχείαστοιχεία αυτάαυτά προκύπτουνπροκύπτουν, , κατάκατά FlynnFlynn, , τέσσεριςτέσσεριςκατηγορίεςκατηγορίες σύνδεσηςσύνδεσης::

1. 1. ΥπολογιστήςΥπολογιστής µεµε µοναδικήµοναδική ροήροή εντολώνεντολών καικαι µοναδικήµοναδική ροήροήδεδοµένωνδεδοµένων ονοµάζεταιονοµάζεται µοναδικήςµοναδικής εντολήςεντολής -- µοναδικώνµοναδικών δεδοµένωνδεδοµένων((SISDSISD). ). ΌλοιΌλοι οιοι παραδοσιακοίπαραδοσιακοί µονοεπεξεργαστικοίµονοεπεξεργαστικοί υπολογιστέςυπολογιστέςανήκουνανήκουν σεσε αυτήαυτή τηντην κατηγορίακατηγορία. .

2. 2. ΥπολογιστέςΥπολογιστές µοναδικήςµοναδικής εντολήςεντολής -- πολλαπλώνπολλαπλών δεδοµένωνδεδοµένων((SIMDSIMD) ) έχουνέχουν µίαµία µοναδικήµοναδική ροήροή εντολώνεντολών καικαι πολλαπλέςπολλαπλές ροέςροέςδεδοµένωνδεδοµένων. .

ΗΗ κατηγορίακατηγορία αυτήαυτή αναφέρεταιαναφέρεται στουςστους επεξεργαστέςεπεξεργαστές σεσεπαράθεσηπαράθεση ((array processorsarray processors) ) µεµε µίαµία µονάδαµονάδα εντολώνεντολών ((instruction instruction unitunit), ), ηη οποίαοποία διαβάζειδιαβάζει µιαµια εντολήεντολή καικαι στηστη συνέχειασυνέχεια δίνειδίνει εντολήεντολήσεσε πολλέςπολλές µονάδεςµονάδες δεδοµένωνδεδοµένων ((data unitsdata units) ) νανα τηντην εκτελέσουνεκτελέσουνπαράλληλαπαράλληλα, , κάθεκάθε µίαµία µεµε τατα δικάδικά τηςτης δεδοµέναδεδοµένα. .

ΚάποιοιΚάποιοι υπερυπολογιστέςυπερυπολογιστές ((supercomputerssupercomputers) ) ανήκουνανήκουν στηνστηνκατηγορίακατηγορία SIMDSIMD. .

Page 13: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

13

13

3. 3. ΥπολογιστέςΥπολογιστές πολλαπλώνπολλαπλών εντολώνεντολών -- µοναδικώνµοναδικώνδεδοµένωνδεδοµένων ((MISDMISD) ) έχουνέχουν πολλαπλέςπολλαπλές ροέςροές εντολώνεντολών καικαιµοναδικήµοναδική ροήροή δεδοµένωνδεδοµένων. . –– ΗΗ//ΥΥ σεσε συστήµατασυστήµατα πλοήγησηςπλοήγησης αεροσκαφώναεροσκαφών, , πολλοίπολλοίυπολογιστέςυπολογιστές µεµε µοναδικήµοναδική ροήροή σεσε περίπτωσηπερίπτωση πουπου κάποιοςκάποιος απόαπόαυτούςαυτούς καταστραφείκαταστραφεί. .

4. 4. ΥπολογιστέςΥπολογιστές πολλαπλώνπολλαπλών εντολώνεντολών -- πολλαπλώνπολλαπλώνδεδοµένωνδεδοµένων ((MIMDMIMD), ), πουπου ουσιαστικάουσιαστικά αναφέρεταιαναφέρεται σεσε µιαµιαοµάδαοµάδα ανεξαρτήτωνανεξαρτήτων υπολογιστώνυπολογιστών, , οο καθέναςκαθένας απόαπό τουςτουςοποίουςοποίους έχειέχει τοτο δικόδικό τουτου δείκτηδείκτη εντολώνεντολών προγράµµατοςπρογράµµατος((programprogram countercounter), ), πρόγραµµαπρόγραµµα καικαι δεδοµέναδεδοµένα. . –– ΌλαΌλα τατα κατανεµηµένακατανεµηµένα συστήµατασυστήµατα εντάσσονταιεντάσσονται στηνστηνκατηγορίακατηγορία τωντων MIMDMIMD..

Page 14: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

14

14

πολυεπεξεργαστέςπολυεπεξεργαστές ((multiprocessorsmultiprocessors))::–– έχουνέχουν διαµοιραζόµενηδιαµοιραζόµενη µνήµηµνήµη ((shared memoryshared memory) ) καικαισυνήθωςσυνήθως αποκαλούνταιαποκαλούνται σεσε αυτούςαυτούς πουπου

πολυυπολογιστέςπολυυπολογιστές ((multicomputersmulticomputers))::–– δενδεν έχουνέχουν διαµοιραζόµενηδιαµοιραζόµενη µνήµηµνήµη

HH ειδοποιόςειδοποιός διαφοράδιαφορά, , είναιείναι ηη ύπαρξηύπαρξη σεσε ένανέναν πολυεπεξεργαστήπολυεπεξεργαστή ενόςενόςµοναδικούµοναδικού ιδεατούιδεατού χώρουχώρου διευθύνσεωνδιευθύνσεων ((virtual address spacevirtual address space) ) οο οποίοςοποίοςείναιείναι προσπελάσιµοςπροσπελάσιµος απόαπό όλεςόλες τιςτις CPUsCPUs. . ΑντίθεταΑντίθετα, , σεσε ένανέναν πολυυπολογιστήπολυυπολογιστή κάθεκάθε µηχανήµηχανή έχειέχει τητη δικήδική τηςτηςιδιωτικήιδιωτική µνήµηµνήµη ((private memoryprivate memory).).

MIMD : πολυεπεξεργαστέςπολυεπεξεργαστές

πολυυπολογιστέςπολυυπολογιστές

Page 15: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

15

15

MemoryMemoryShared Memory

Πολυυπολογιστές

Εντολή

Data

CPU CPU

Data

Εντολή

Πολυεπεξεργαστές

Εντολή

Virtual Addresses

CPU CPU

Εντολή

Data Data

Page 16: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

16

16

ΚάθεΚάθε µίαµία απόαπό τιςτις παραπάνωπαραπάνω κατηγορίεςκατηγορίες µπορείµπορεί νανα διαιρεθείδιαιρεθείπεραιτέρωπεραιτέρω µεµε βάσηβάση τηντην αρχιτεκτονικήαρχιτεκτονική τουτου δικτύουδικτύου διασύνδεσηςδιασύνδεσης. .

ΗΗ έννοιαέννοια τηςτης αρτηρίαςαρτηρίας ((busbus) ) αναφέρεταιαναφέρεται στηνστην ύπαρξηύπαρξη ενόςενόςµοναδικούµοναδικού δικτύουδικτύου, , κεντρικούκεντρικού σκελετούσκελετού ((backplanebackplane), ), αρτηρίαςαρτηρίας, , καλωδίουκαλωδίου ήή άλλουάλλου µέσουµέσου πουπου συνδέεισυνδέει όλεςόλες τιςτις µηχανέςµηχανές ((ππ..χχ. . εµπορικήεµπορική καλωδιακήκαλωδιακή τηλεόρασητηλεόραση).).

ΤαΤα συστήµατασυστήµατα µεταγωγήςµεταγωγής ((switchedswitched) ) περιλαµβάνουνπεριλαµβάνουν ανεξάρτητουςανεξάρτητουςαγωγούςαγωγούς απόαπό µηχανήµηχανή σεσε µηχανήµηχανή, , χρησιµοποιώνταςχρησιµοποιώντας πολλάπολλά καικαιδιαφορετικάδιαφορετικά πρότυπαπρότυπα διασύνδεσηςδιασύνδεσης..

ΤαΤα µηνύµαταµηνύµατα µεταφέρονταιµεταφέρονται µέσωµέσω τωντων αγωγώναγωγών καικαι σεσε κάθεκάθε βήµαβήµαλαµβάνεταιλαµβάνεται µιαµια σαφήςσαφής απόφασηαπόφαση µεταγωγήςµεταγωγής προκειµένουπροκειµένου ναναδροµολογηθείδροµολογηθεί τοτο µήνυµαµήνυµα µέσωµέσω ενόςενός απόαπό τουςτους εξερχόµενουςεξερχόµενουςαγωγούςαγωγούς ((ππ..χχ. . παγκόσµιοπαγκόσµιο σύστηµασύστηµα δηµόσιαςδηµόσιας τηλεφωνίαςτηλεφωνίας).).

Page 17: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

17

17

ΜνήµηΜνήµη

Αρτηρία

Εντολή

Data

CPU CPU

Data

Εντολή

ΜνήµαΜνήµη

Μεταγωγή

Εντολή

Data

CPU CPU

Data

Εντολή

∆ίκτυο µεταγωγής

στενάστενά συνδεδεµένες µηχανέςσυνδεδεµένες µηχανές: Υψηλή Ταχύτητα

χαλαράχαλαρά συνδεδεµένες µηχανέςσυνδεδεµένες µηχανές: Χαµηλής Ταχύτητας

ΑρχιτεκτονικήΑρχιτεκτονική διασύνδεσηςδιασύνδεσης

Page 18: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

18

18

ΜΕΘΟ∆ΟΣΜΕΘΟ∆ΟΣ 2: 2: ΤΑΞΙΝΟΜΗΣΗΤΑΞΙΝΟΜΗΣΗ ΜΕΜΕ ΒΑΣΗΒΑΣΗ ΤΟΤΟ ΒΑΘΜΟΒΑΘΜΟ ∆ΙΑΣΥΝ∆ΕΣΗΣ∆ΙΑΣΥΝ∆ΕΣΗΣΑΝΑΜΕΣΑΑΝΑΜΕΣΑ ΣΤΙΣΣΤΙΣ ΜΗΧΑΝΕΣΜΗΧΑΝΕΣ

ΗΗ µέθοδοςµέθοδος αυτήαυτή κατηγοριοποίησηςκατηγοριοποίησης συστηµάτωνσυστηµάτων, , βασίζεταιβασίζεται στοστοβαθµόβαθµό διασύνδεσηςδιασύνδεσης ανάµεσαανάµεσα στιςστις επιµέρουςεπιµέρους µηχανέςµηχανές, , ώστεώστεαυτέςαυτές διακρίνονταιδιακρίνονται σεσε::

στενάστενά συνδεδεµένεςσυνδεδεµένες µηχανέςµηχανές ((tightly coupledtightly coupled))–– ηη µικρήµικρή χρονικήχρονική καθυστέρησηκαθυστέρηση στηστη µεταφοράµεταφορά µηνύµατοςµηνύµατος απόαπό ένανέναν

υπολογιστήυπολογιστή σεσε ένανέναν άλλοάλλο–– οο υψηλόςυψηλός ρυθµόςρυθµός µετάδοσηςµετάδοσης τωντων δεδοµένωνδεδοµένωνχαλαράχαλαρά συνδεδεµένεςσυνδεδεµένες µηχανέςµηχανές ((looselyloosely coupledcoupled))

–– ΜεγαλύτερηΜεγαλύτερη χρονικήχρονική καθυστέρησηκαθυστέρηση στηστη µεταφοράµεταφορά µηνυµάτωνµηνυµάτων–– ΧαµηλόςΧαµηλός ρυθµόςρυθµός δεδοµένωνδεδοµένων

Page 19: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

19

19

ΠαραδείγµαταΠαραδείγµατα::

ΣτενάΣτενά ΣυνδεδεµέναΣυνδεδεµένα::δύοδύο ολοκληρωµέναολοκληρωµένα κυκλώµατακυκλώµατα CPUCPU πουπου βρίσκονταιβρίσκονται στηνστηνίδιαίδια τυπωµένητυπωµένη πλακέταπλακέτα κυκλωµάτωνκυκλωµάτων καικαι συνδέονταισυνδέονται µέσωµέσωαποτυπωµένωναποτυπωµένων στηνστην πλακέταπλακέτα αγωγώναγωγών, , θεωρείταιθεωρείται ότιότι είναιείναιστενάστενά συνδεδεµένασυνδεδεµέναπαράλληλαπαράλληλα συστήµατασυστήµατα, , συνεργαζόµενασυνεργαζόµενα γιαγια τηντην επίλυσηεπίλυση ενόςενόςµοναδικούµοναδικού προβλήµατοςπροβλήµατος, , θεωρείταιθεωρείται ότιότι είναιείναι στενάστενάσυνδεδεµένασυνδεδεµένα

ΧαλαράΧαλαρά ΣυνδεδεµέναΣυνδεδεµένα::δύοδύο υπολογιστέςυπολογιστές πουπου συνδέονταισυνδέονται µέσωµέσω ενόςενόςδιαµορφωτήδιαµορφωτή//αποδιαµορφωτήαποδιαµορφωτή ((modemmodem)) ταχύτηταςταχύτητας 1200 1200 bitbit//secsecκαικαι ενόςενός τηλεφωνικούτηλεφωνικού συστήµατοςσυστήµατος, , είναιείναι χαλαράχαλαράσυνδεδεµένοισυνδεδεµένοι. .

Page 20: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

20

20

ΓενικάΓενικά::ΟιΟι πολυεπεξεργαστέςπολυεπεξεργαστές τείνουντείνουν νανα είναιείναι περισσότεροπερισσότεροστενάστενά συνδεδεµένοισυνδεδεµένοι απόαπό τουςτους πολυπολυ υπολογιστέςυπολογιστές, , γιατίγιατίµπορούνµπορούν νανα ανταλλάσσουνανταλλάσσουν δεδοµέναδεδοµένα σεσε χρόνουςχρόνουςαντίστοιχουςαντίστοιχους τηςτης ταχύτηταςταχύτητας πρόσβασηςπρόσβασης στηστη µνήµηµνήµη..

ΌµωςΌµως::µερικοίµερικοί πολυυπολογιστέςπολυυπολογιστές πουπου βασίζονταιβασίζονται σεσε οπτικέςοπτικέςίνεςίνες ((fiber opticsfiber optics)) µπορούνµπορούν επίσηςεπίσης νανα λειτουργήσουνλειτουργήσουνσεσε ανάλογεςανάλογες ταχύτητεςταχύτητες. .

Page 21: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

21

21

ΣυνοπτικάΣυνοπτικά προκύπτουνπροκύπτουν τέσσεριςτέσσερις κατηγορίεςκατηγορίες, , δηλαδήδηλαδή::1.1. πολυεπεξεργαστέςπολυεπεξεργαστές αρτηρίαςαρτηρίας ((bus multiprocessorsbus multiprocessors))2.2. πολυεπεξεργαστέςπολυεπεξεργαστές µεταγωγήςµεταγωγής ((switched multiprocessorsswitched multiprocessors))

3.3. πολυυπολογιστέςπολυυπολογιστές αρτηρίαςαρτηρίας ((bus multicomputersbus multicomputers) ) 4.4. πολυυπολογιστέςπολυυπολογιστές µεταγωγήςµεταγωγής ((switchedswitched multicomputersmulticomputers). ).

Page 22: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

22

22

9.2.1. 9.2.1. ΠολυεπεξεργαστέςΠολυεπεξεργαστές ΒασισµένοιΒασισµένοι σεσε ΑρτηρίαΑρτηρία

ΟιΟι βασισµένοιβασισµένοι σεσε αρτηρίααρτηρία πολυεπεξεργαστέςπολυεπεξεργαστές ((busbus--based based multiprocessorsmultiprocessors), ), αποτελούνταιαποτελούνται απόαπό ένανέναν αριθµόαριθµό CPUsCPUs, , όπουόπου όλεςόλες συνδέονταισυνδέονται σεσε µιαµια κοινήκοινή αρτηρίααρτηρία, , καθώςκαθώς καικαι έναένατµήµατµήµα µνήµηςµνήµης ((memory modulememory module). ). ΕπειδήΕπειδή υπάρχειυπάρχει µόνοµόνο µίαµία µνήµηµνήµη, , αναν µίαµία CPUCPU γράψειγράψει µιαµια

λέξηλέξη στηστη µνήµηµνήµη καικαι µετάµετά µίαµία άλληάλλη CPUCPU διαβάσειδιαβάσει αυτήαυτή τητηλέξηλέξη λίγολίγο αργότερααργότερα, , ηη δεύτερηδεύτερη θαθα διαβάσειδιαβάσει τηντην τιµήτιµή πουπουµόλιςµόλις εγγράφηκεεγγράφηκε. . ΗΗ µνήµηµνήµη πουπου έχειέχει αυτήαυτή τηντην ιδιότηταιδιότηταχαρακτηρίζεταιχαρακτηρίζεται ωςως συνεπήςσυνεπής ((coherentcoherent).).

CPU CPU CPU Μνήµη

Αρτηρία

Page 23: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

23

23

ΤοΤο πρόβληµαπρόβληµα µεµε τοτο προταθένπροταθέν σχεδιαστικόσχεδιαστικό µοντέλοµοντέλο είναιείναι ότιότιµόλιςµόλις µεµε 4 4 ήή 5 5 τοτο πολύπολύ CPUsCPUs, , ηη αρτηρίααρτηρία υπερφορτώνεταιυπερφορτώνεται καικαι ηηαπόδοσηαπόδοση ελαττώνεταιελαττώνεται σεσε σηµαντικόσηµαντικό βαθµόβαθµό. . ΗΗ λύσηλύση σεσε αυτόαυτό τοτοπρόβληµαπρόβληµα είναιείναι ηη πρόσθεσηπρόσθεση µιαςµιας γρήγορηςγρήγορης κρυφήςκρυφής µνήµηςµνήµης((cache memorycache memory) ) ανάµεσαανάµεσα στηνστην CPUCPU καικαι τηντην αρτηρίααρτηρία. . ΗΗ λειτουργίαλειτουργία τηςτης κρυφήςκρυφής µνήµηςµνήµης βασίζεταιβασίζεται στηνστην αρχήαρχή τηςτηςπροσφατότηταςπροσφατότητας ((principle of recentnessprinciple of recentness).). ΑνΑν ηη κρυφήκρυφή µνήµηµνήµη έχειέχειµεγάλοµεγάλο µέγεθοςµέγεθος, , τοτο ποσοστόποσοστό επιτυχίαςεπιτυχίας ((hit ratehit rate), ), θαθα είναιείναι υψηλόυψηλόκαικαι τοτο µέγεθοςµέγεθος τηςτης κυκλοφορίαςκυκλοφορίας στηνστην αρτηρίααρτηρία ανάανά CPUCPU θαθαµειωθείµειωθεί δραµατικάδραµατικά, , επιτρέπονταςεπιτρέποντας τηντην ύπαρξηύπαρξη περισσοτέρωνπερισσοτέρων CPUsCPUsστοστο σύστηµασύστηµα. .

Page 24: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

24

24

ΠαράλληλαΠαράλληλα όµωςόµως ηη ύπαρξηύπαρξη τηςτης κρυφήςκρυφής µνήµηςµνήµης προκαλείπροκαλεί έναένασηµαντικόσηµαντικό πρόβληµαπρόβληµα::

ΑνΑν δύοδύο CPUCPU αντιγράψουναντιγράψουν τηντην ίδιαίδια λέξηλέξη στιςστις αντίστοιχεςαντίστοιχες κρυφέςκρυφέςτουςτους µνήµεςµνήµες καικαι στηστη συνέχειασυνέχεια ηη µίαµία εγγράψειεγγράψει νέανέα τιµήτιµή στηστη λέξηλέξη, , τότετότε ότανόταν ηη άλληάλλη διαβάσειδιαβάσει αυτήαυτή τητη λέξηλέξη βρίσκειβρίσκει τηντην παλαιάπαλαιά τηςτηςτιµήτιµή καικαι όχιόχι αυτήναυτήν πουπου ηη CPUCPU µόλιςµόλις έγγραψεέγγραψε. . ΗΗ µνήµηµνήµη είναιείναι µηµησυνεπήςσυνεπής οπότεοπότε καικαι οο προγραµµατισµόςπρογραµµατισµός τουτου συστήµατοςσυστήµατοςδύσκολοςδύσκολος..

ΜίαΜία προταθείσαπροταθείσα λύσηλύση είναιείναι οιοι κρυφέςκρυφές µνήµεςµνήµες νανα είναιείναισχεδιασµένεςσχεδιασµένες έτσιέτσι ώστεώστε ότανόταν µιαµια λέξηλέξη εγγράφεταιεγγράφεται στηνστην κρυφήκρυφήµνήµηµνήµη, , νανα εγγράφεταιεγγράφεται ταυτόχροναταυτόχρονα καικαι στηνστην κύριακύρια µνήµηµνήµη. . ΑυτήΑυτή ηηκρυφήκρυφή µνήµηµνήµη, , ονοµάζεταιονοµάζεται κρυφήκρυφή µνήµηµνήµη ταυτόχρονηςταυτόχρονης εγγραφήςεγγραφής((writewrite--through cachethrough cache). ).

Page 25: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

25

25

ΜεΜε αυτήναυτήν τητη σχεδίασησχεδίαση,,–– οιοι αποτυχηµένεςαποτυχηµένες προσπελάσειςπροσπελάσεις στηνστην κρυφήκρυφή µνήµηµνήµη γιαγιαανάγνωσηανάγνωση, , προκαλούνπροκαλούν αυξηµένηαυξηµένη κυκλοφορίακυκλοφορία στηνστην αρτηρίααρτηρία, ,

–– όλεςόλες οιοι εγγραφές, , είτεείτε επιτυχηµένεςεπιτυχηµένες -- είτεείτε αποτυχηµένεςαποτυχηµένες, , προκαλούνπροκαλούν αύξησηαύξηση κυκλοφορίαςκυκλοφορίας στηνστην αρτηρίααρτηρία. .

ΕναλλακτικήΕναλλακτική λύσηλύση είναιείναι όλεςόλες οιοι κρυφέςκρυφές µνήµεςµνήµες ναναπαρακολουθούνπαρακολουθούν συνεχώςσυνεχώς τηντην αρτηρίααρτηρία..

–– ΌτανΌταν µιαµια κρυφήκρυφή µνήµηµνήµη εντοπίσειεντοπίσει µιαµια εγγραφήεγγραφή προςπρος µιαµιαδιεύθυνσηδιεύθυνση µνήµηςµνήµης πουπου είναιείναι εφικτήεφικτή σεσε αυτήναυτήν, , είτεείτε διαγράφειδιαγράφειαυτήαυτή τητη θέσηθέση απόαπό τηντην κρυφήκρυφή µνήµηµνήµη είτεείτε τηντην ενηµερώνειενηµερώνει µεµετητη νέανέα τιµήτιµή. .

–– ΑυτήΑυτή ηη κρυφήκρυφή µνήµηµνήµη ονοµάζεταιονοµάζεται κατοπτεύουσακατοπτεύουσα κρυφήκρυφήµνήµηµνήµη ((snoopy cachesnoopy cache), ), αφούαφού κατοπτεύεικατοπτεύει διαρκώςδιαρκώς τηντηναρτηρίααρτηρία. .

Page 26: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

26

26

ΜιαΜια αποτελεσµατικήαποτελεσµατική σχεδίασησχεδίαση, , αποτελείταιαποτελείται απόαπόκατοπτεύουσεςκατοπτεύουσες κρυφέςκρυφές µνήµεςµνήµες ταυτόχρονηςταυτόχρονης εγγραφήςεγγραφής,, είναιείναισυνεπήςσυνεπής καικαι µηµη ορατήορατή ((transparenttransparent) ) στονστον προγραµµατιστήπρογραµµατιστή. .

ΣχεδόνΣχεδόν όλοιόλοι οιοι πολυεπεξεργαστέςπολυεπεξεργαστές πουπου βασίζονταιβασίζονται σεσεαρτηρίααρτηρία χρησιµοποιούνχρησιµοποιούν τητη συγκεκριµένησυγκεκριµένη αρχιτεκτονικήαρχιτεκτονική ήήκάποιακάποια συναφήσυναφή µεµε αυτήαυτή. . ΜεΜε αυτόαυτό τοτο σχήµασχήµα, , είναιείναι δυνατόδυνατό νανα λειτουργήσουνλειτουργήσουνπερίπουπερίπου 32 32 έωςέως 6464 τοτο πολύπολύ CPUsCPUs σεσε µιαµια µοναδικήµοναδικήαρτηρίααρτηρία. .

Page 27: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

27

27

9.2.2. 9.2.2. ΠολυεπεξεργαστέςΠολυεπεξεργαστές ΜεταγωγήςΜεταγωγήςΓιαΓια τηντην κατασκευήκατασκευή πολυεπεξεργαστήπολυεπεξεργαστή µεµεπερισσότερουςπερισσότερους απόαπό 64 64 επεξεργαστέςεπεξεργαστές

∆ιαιρούµε∆ιαιρούµε τητη µνήµηµνήµη σεσε τµήµατατµήµατα καικαι νανα τατασυνδέσουµεσυνδέσουµε µεµε τητη CPUCPU µέσωµέσω ενόςενός πίνακαπίνακαµεταγωγήςµεταγωγής ((crossbar switchcrossbar switch))ΚάθεΚάθε CPUCPU καικαι κάθεκάθε µνήµηµνήµη έχουνέχουν µιαµιαεξερχόµενηεξερχόµενη γραµµήγραµµή σύνδεσηςσύνδεσης. . ΣεΣε κάθεκάθε διασταύρωσηδιασταύρωση υπάρχειυπάρχει έναένα πολύπολύ

µικρόµικρό ηλεκτρονικόηλεκτρονικό σηµείοσηµείο µεταγωγήςµεταγωγής((crosspoint switchcrosspoint switch) ) πουπου µπορείµπορεί νανα ανοίξειανοίξεικαικαι νανα κλείσεικλείσει µεµε χρήσηχρήση υλικούυλικού..

Page 28: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

28

28

ΤοΤο πλεονέκτηµαπλεονέκτηµα τουτου πίνακαπίνακα µεταγωγήςµεταγωγής είναιείναι ότιότι πολλέςπολλέςCPUsCPUs µπορούνµπορούν νανα έχουνέχουν πρόσβασηπρόσβαση στηστη µνήµηµνήµη τηντην ίδιαίδιαχρονικήχρονική στιγµήστιγµή, , αναν καικαι στηνστην περίπτωσηπερίπτωση πουπου δύοδύο CPUsCPUsεπιχειρήσουνεπιχειρήσουν νανα προσπελάσουνπροσπελάσουν τηντην ίδιαίδια µνήµηµνήµη ταυτόχροναταυτόχρονα, , ηη µίαµία απόαπό αυτέςαυτές θαθα πρέπειπρέπει νανα περιµένειπεριµένει. .

ΤοΤο µειονέκτηµαµειονέκτηµα τουτου πίνακαπίνακα µεταγωγήςµεταγωγής είναιείναι ότιότι έχονταςέχοντας ννCPUsCPUs καικαι νν µνήµεςµνήµες χρειάζονταιχρειάζονται νν22 σηµείασηµεία µεταγωγήςµεταγωγής, , αριθµόςαριθµός οο οποίοςοποίος µπορείµπορεί νανα είναιείναι απαγορευτικόςαπαγορευτικός γιαγια µεγάλεςµεγάλεςτιµέςτιµές τουτου νν. .

Page 29: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

29

29

ΜεΜε τηντην κατάλληληκατάλληλη τοποθέτησητοποθέτηση τωντων µεταγωγώνµεταγωγών, , κάθεκάθε CPUCPUµπορείµπορεί νανα έχειέχει πρόσβασηπρόσβαση σεσε κάθεκάθε µνήµηµνήµη. . ΣτηΣτη γενικήγενική περίπτωσηπερίπτωση, , µεµε νν CPUsCPUs καικαι νν µνήµεςµνήµες τοτο ωµέγαωµέγα δίκτυοδίκτυοαπαιτείαπαιτεί νν στάδιαστάδια µεταγωγήςµεταγωγής, , κάθεκάθε έναένα απόαπό τατα οποίαοποία περιέχειπεριέχει loglog22ννµεταγωγέςµεταγωγές, , µεµε έναένα σύνολοσύνολο ννloglog22νν µεταγωγώνµεταγωγών. .

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

ΤοΤο δίκτυο ωµέγαδίκτυο ωµέγα ((omega networkomega network) ) περιέχει τέσσερις 2περιέχει τέσσερις 2xx2 µεταγωγές, 2 µεταγωγές, κάθε µια από τις οποίες έχει 2 κάθε µια από τις οποίες έχει 2 εισόδους και 2 εξόδους. εισόδους και 2 εξόδους.

Κάθε µεταγωγή µπορεί να Κάθε µεταγωγή µπορεί να δροµολογήσει οποιαδήποτε είσοδο δροµολογήσει οποιαδήποτε είσοδο προς οποιαδήποτε έξοδοπρος οποιαδήποτε έξοδο

Page 30: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

30

30

ΤοΤο δίκτυοδίκτυο ωµέγαωµέγα έχειέχει δύοδύο σηµαντικάσηµαντικά µειονεκτήµαταµειονεκτήµατα::

ΤοΤο πλήθοςπλήθος τωντων µεταγωγώνµεταγωγών::–– ΓιαΓια µεγάλεςµεγάλες τιµέςτιµές νν, , τοτο πλήθοςπλήθος ννloglog22νν τωντων µεταγωγώνµεταγωγών είναιείναιαναµφισβήτητααναµφισβήτητα καλύτεροκαλύτερο απόαπό τοτο νν22, , συνεχίζεισυνεχίζει όµωςόµως ναναθεωρείταιθεωρείται ιδιαίτεραιδιαίτερα µεγάλοµεγάλο. .

ΤηνΤην καθυστέρησηκαθυστέρηση::–– ΓιαΓια νν=1024 =1024 υπάρχουνυπάρχουν 10 10 στάδιαστάδια µεταγωγήςµεταγωγής απόαπό τηντην CPUCPU µέχριµέχριτητη µνήµηµνήµη καικαι ακόµαακόµα 10 10 προκειµένουπροκειµένου νανα επιστρέψειεπιστρέψει ηη ζητούµενηζητούµενηλέξηλέξη. .

–– ΑνΑν υποτεθείυποτεθεί ότιότι ηη CPUCPU είναιείναι 50 50 MHzMHz, , προκύπτειπροκύπτει ότιότι οο χρόνοςχρόνοςεκτέλεσηςεκτέλεσης τηςτης εντολήςεντολής είναιείναι 20 20 nsecnsec. .

–– ΑνΑν ηη απαίτησηαπαίτηση τηςτης µνήµηςµνήµης χρειάζεταιχρειάζεται νανα διασχίσειδιασχίσει 20 20 στάδιαστάδιαµεταγωγήςµεταγωγής σεσε 20 20 nsecnsec, , τότετότε οο χρόνοςχρόνος µεταγωγήςµεταγωγής πρέπειπρέπει νανα είναιείναι1 1 nsecnsec. .

–– ΟλόκληροςΟλόκληρος οο πολυεπεξεργαστήςπολυεπεξεργαστής θαθα χρειαστείχρειαστεί 10.240 10.240 µεταγωγέςµεταγωγέςτουτου 1 1 nsecnsec, , οπότεοπότε ηη υλοποίησηυλοποίηση αυτήαυτή, , δεδε φαίνεταιφαίνεται νανα είναιείναιιδιαίτεραιδιαίτερα φθηνήφθηνή. .

Page 31: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

31

31

ΓιαΓια τητη µείωσηµείωση τουτου κόστουςκόστους προτάθηκεπροτάθηκε ((LaRowe et alLaRowe et al. . 1991) 1991) µίαµία άλληάλλη σχεδίασησχεδίαση: :

MMίαία µνήµηµνήµη συσχετίζεταισυσχετίζεται µεµε κάθεκάθε CPUCPU..ΚάθεΚάθε CPUCPU µπορείµπορεί νανα προσπελάσειπροσπελάσει τητη δικήδική τηςτης µνήµηµνήµη γρήγοραγρήγορα, , αλλάαλλά ηη πρόσβασηπρόσβαση σεσε οποιαδήποτεοποιαδήποτε άλληάλλη µνήµηµνήµη είναιείναι πιοπιο αργήαργή. . ΑυτήΑυτή ηη σχεδίασησχεδίαση οδήγησεοδήγησε στηστη δηµιουργίαδηµιουργία τηςτης µηχανήςµηχανής πουπου είναιείναιγνωστήγνωστή ωςως NUMANUMA ((ΜηΜη ΟµοιόµορφηΟµοιόµορφη ΠρόσβασηΠρόσβαση ΜνήµηςΜνήµης --NonUniform Memory AccessNonUniform Memory Access)). . ΣτιςΣτις µηχανέςµηχανές NUMANUMA παρουσιάζεταιπαρουσιάζεται µίαµία νέανέα επιπλοκήεπιπλοκή, , ηητοποθέτησητοποθέτηση τουτου προγράµµατοςπρογράµµατος καικαι τωντων δεδοµένωνδεδοµένων στηνστην τοπικήτοπικήµνήµηµνήµη. .

ΣυνοψίζονταςΣυνοψίζοντας διαφαίνεταιδιαφαίνεται ότιότι ηη κατασκευήκατασκευή ενόςενός µεγάλουµεγάλου, , στενάστενάσυνδεδεµένουσυνδεδεµένου, , διαµοιράσιµηςδιαµοιράσιµης µνήµηςµνήµης πολυεπεξεργαστήπολυεπεξεργαστή είναιείναισχεδιαστικάσχεδιαστικά δύσκοληδύσκολη, , αλλάαλλά καικαι ακριβήακριβή επιλογήεπιλογή. .

Page 32: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

32

32

9.2.3. 9.2.3. ΠολυυπολογιστέςΠολυυπολογιστές ΒασισµένοιΒασισµένοι σεσε ΑρτηρίαΑρτηρία

ΗΗ κατασκευήκατασκευή ενόςενός πολυυπολογιστήπολυυπολογιστή είναιείναι σχετικάσχετικά εύκοληεύκολη διαδικασίαδιαδικασία, , αφούαφού κάθεκάθε CPUCPU έχειέχει µιαµια άµεσηάµεση σύνδεσησύνδεση µεµε τητη δικήδική τηςτης µόνονµόνον τοπικήτοπικήµνήµηµνήµη. . ΤοπολογικάΤοπολογικά οο πολυυπολογιστήςπολυυπολογιστής βασισµένοςβασισµένος σεσε αρτηρίααρτηρία, , φαίνεταιφαίνεται

ίδιοςίδιος µεµε ένανέναν πολυεπεξεργαστήπολυεπεξεργαστή βασισµένοβασισµένο σεσε αρτηρίααρτηρία. . ΣτηνΣτην πραγµατικότηταπραγµατικότητα όµωςόµως ηη κεντρικήκεντρική αρτηρίααρτηρία, , µπορείµπορεί νανα είναιείναι έναέναπολύπολύ χαµηλότερηςχαµηλότερης ταχύτηταςταχύτητας LANLAN ((τυπικάτυπικά 1010--100 100 MbpsMbps συγκριτικάσυγκριτικάµεµε τατα 300 300 MbpsMbps, , τουλάχιστοντουλάχιστον, , µιαςµιας κεντρικήςκεντρικής αρτηρίαςαρτηρίας).).ΟΟ κυκλοφοριακόςκυκλοφοριακός φόρτοςφόρτος θαθα είναιείναι αρκετέςαρκετές τάξειςτάξεις µεγέθουςµεγέθουςχαµηλότεροςχαµηλότερος απόαπό τηντην περίπτωσηπερίπτωση όπουόπου τοτο δίκτυοδίκτυο διασύνδεσηςδιασύνδεσηςχρησιµοποιείταιχρησιµοποιείται καικαι γιαγια τηντην κυκλοφορίακυκλοφορία απόαπό τητη CPUCPU στηστη µνήµηµνήµη. .

Η κατασκευή ενός πολυυπολογιστή είναι σχετικά εύκολη διαδικασία, αφού κάθεCPU έχει µια άµεση σύνδεση µε τη δική της µόνον τοπική µνήµη. Το µόνο πρόβληµα που παραµένει αφορά στον τρόπο µε τον οποίο οι CPUsεπικοινωνούν µεταξύ τους, αλλά µε βάση το γεγονός ότι αφορά µόνο στηνεπικοινωνία από CPU προς CPU, ο κυκλοφοριακός φόρτος θα είναι αρκετέςτάξεις µεγέθους χαµηλότερος από την περίπτωση όπου το δίκτυο διασύνδεσηςχρησιµοποιείται και για την κυκλοφορία από τη CPU στη µνήµη. Τοπολογικά ο πολυυπολογιστής βασισµένος σε αρτηρία, φαίνεται ίδιος µε ένανπολυεπεξεργαστή βασισµένο σε αρτηρία. Στην πραγµατικότητα όµως η κεντρική αρτηρία, µπορεί να είναι ένα πολύχαµηλότερης ταχύτητας LAN (τυπικά 10-100 Mbps συγκριτικά µε τα 300 Mbps, τουλάχιστον, µιας κεντρικής αρτηρίας).

Page 33: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

33

33

9.2.4. 9.2.4. ΠολυυπολογιστέςΠολυυπολογιστές ΜεταγωγήςΜεταγωγήςΠολλάΠολλά δίκτυαδίκτυα διασύνδεσηςδιασύνδεσης έχουνέχουνκατασκευαστείκατασκευαστεί µεµε κοινόκοινό χαρακτηριστικόχαρακτηριστικό ότιότικάθεκάθε CPUCPU έχειέχει άµεσηάµεση καικαι αποκλειστικήαποκλειστικήπρόσβασηπρόσβαση στηστη δικήδική τηςτης ιδιωτικήιδιωτική µνήµηµνήµη. .

ΟιΟι δηµοφιλέστερεςδηµοφιλέστερες τοπολογίεςτοπολογίες είναιείναι::

τουτου πλέγµατοςπλέγµατος ((gridgrid) ) τουτου υπερκύβουυπερκύβου ((hypercubehypercube). ).

ΗΗ τοπολογίατοπολογία τουτου πλέγµατοςπλέγµατος εφαρµόζεταιεφαρµόζεται σεσεπλακέτεςπλακέτες τυπωµένωντυπωµένων κυκλωµάτωνκυκλωµάτων καικαιεπιλέγεταιεπιλέγεται γιαγια τηντην επίλυσηεπίλυση προβληµάτωνπροβληµάτωνπουπου έχουνέχουν έµφυτηέµφυτη δισδιάσταστηδισδιάσταστη φύσηφύση((θεωρίαθεωρία γράφωνγράφων,, τεχνητήτεχνητή όρασηόραση κλπκλπ.). .).

Ένας υπερκύβος είναι ένας κύβος ν διαστάσεων. Ο συνηθισµένος υπερκύβοςείναι 4 διαστάσεων. Μπορεί να γίνει αντιληπτός σα δύο συνηθισµένοι κύβοι, έχοντας ο καθένας 8 κορυφές και 12 ακµές. Κάθε κορυφή είναι µια CPU. Κάθεακµή είναι µια σύνδεση ανάµεσα σε δύο CPU. Οι αντίστοιχες κορυφές ανάµεσαστους δύο κύβους συνδέονται µεταξύ τους.

Για την επέκταση του υπερκύβου στις ν διαστάσεις, κάθε CPU έχει ν συνδέσειςµε άλλες CPU. Έτσι η πολυπλοκότητα των συνδέσεων αυξάνει λογαριθµικάανάλογα µε το µέγεθος. Οι υπερκύβοι µε 1024 CPUs είναι διαθέσιµοι στοεµπόριο εδώ και αρκετά χρόνια, ενώ υπερκύβοι ακόµα και µε 16.384 CPUsαρχίζουν σήµερα και γίνονται διαθέσιµοι.

Page 34: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

34

34

9.3. 9.3. ΖΗΤΗΜΑΤΑΖΗΤΗΜΑΤΑ ΛΟΓΙΣΜΙΚΟΥΛΟΓΙΣΜΙΚΟΥ

ΤοΤο χαλαράχαλαρά συνδεδεµένοσυνδεδεµένο λογισµικόλογισµικό επιτρέπειεπιτρέπει στιςστις µηχανέςµηχανέςκαικαι τουςτους χρήστεςχρήστες ενόςενός κατανεµηµένουκατανεµηµένου συστήµατοςσυστήµατος

–– νανα είναιείναι θεµελιωδώςθεµελιωδώς ανεξάρτητοιανεξάρτητοι µεταξύµεταξύ τουςτους, , –– αλλάαλλά νανα αλληλεπιδρούναλληλεπιδρούν σεσε κάποιοκάποιο περιορισµένοπεριορισµένο βαθµόβαθµό, , όπουόπουαυτόαυτό είναιείναι απαραίτητοαπαραίτητο. .

ΠΠαράδειγµααράδειγµα χαλαράχαλαρά συνδεδεµένουσυνδεδεµένου συστήµατοςσυστήµατος::–– µίαµία οµάδαοµάδα προσωπικώνπροσωπικών υπολογιστώνυπολογιστών πάνωπάνω σεσε έναένα LANLAN, , κάθεκάθεέναςένας απόαπό τουςτους οποίουςοποίους έχειέχει τητη δικήδική τουτου CPUCPU, , τητη δικήδική τουτουµνήµηµνήµη, , τοτο δικόδικό τουτου σκληρόσκληρό δίσκοδίσκο καικαι τοτο δικόδικό τουτου λειτουργικόλειτουργικόσύστηµασύστηµα, , αλλάαλλά µοιράζονταιµοιράζονται κοινούςκοινούς πόρουςπόρους, , όπωςόπως εκτυπωτέςεκτυπωτέςκαικαι βάσειςβάσεις δεδοµένωνδεδοµένων. .

Page 35: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

35

35

ΑνΑν τοτο δίκτυοδίκτυο καταρρεύσεικαταρρεύσει γιαγια κάποιοκάποιο λόγολόγο::–– οιοι ανεξάρτητεςανεξάρτητες µηχανέςµηχανές µπορούνµπορούν νανα συνεχίσουνσυνεχίσουν τηντηνεκτέλεσηεκτέλεση τηςτης εργασίαςεργασίας τουςτους σεσε έναένα σηµαντικόσηµαντικό βαθµόβαθµό, , έστωέστωκαικαι αναν απολεστείαπολεστεί µέροςµέρος τηςτης λειτουργικότητάςλειτουργικότητάς τουςτους ((ππ..χχ. . ηηδυνατότηταδυνατότητα εκτύπωσηςεκτύπωσης αρχείωναρχείων).).

ΈναςΈνας πολυεπεξεργαστήςπολυεπεξεργαστής πουπου αφιερώνεταιαφιερώνεται στηνστηνπαράλληληπαράλληλη εκτέλεσηεκτέλεση ενόςενός συγκεκριµένουσυγκεκριµένου προγράµµατοςπρογράµµατοςσκακιούσκακιού..

–– ΣεΣε κάθεκάθε CPUCPU ανατίθεταιανατίθεται ηη εκτίµησηεκτίµηση τωντων θέσεωνθέσεων µιαςµιαςσκακιέραςσκακιέρας καικαι συνεπώςσυνεπώς αναλώνειαναλώνει τοτο χρόνοχρόνο τηςτης στηνστην εξέτασηεξέτασηαυτώναυτών καθώςκαθώς καικαι όλωνόλων τωντων θέσεωνθέσεων πουπου µπορείµπορεί ναναπροκύψουνπροκύψουν. .

–– ΤοΤο λογισµικόλογισµικό γιαγια αυτόαυτό τοτο σύστηµασύστηµα, , δηλαδήδηλαδή τόσοτόσο τοτολογισµικόλογισµικό εφαρµογήςεφαρµογής όσοόσο καικαι τοτο λειτουργικόλειτουργικό σύστηµασύστηµα πουπουαπαιτείταιαπαιτείται γιαγια νανα τοτο υποστηρίξειυποστηρίξει, , είναιείναι φανεράφανερά πολύπολύπερισσότεροπερισσότερο στενάστενά συνδεδεµένασυνδεδεµένα σεσε σχέσησχέση µεµε τοτο προηγούµενοπροηγούµενοπαράδειγµαπαράδειγµα. .

Page 36: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

36

36

9.3.1. 9.3.1. ΛειτουργικάΛειτουργικά ΣυστήµαταΣυστήµατα ∆ικτύου∆ικτύου καικαι NFSNFS

ΣεΣε πολλούςπολλούς οργανισµούςοργανισµούς, , χαλαράχαλαράσυνδεδεµένοσυνδεδεµένο λογισµικόλογισµικό καικαι χαλαράχαλαράσυνδεδεµένοσυνδεδεµένο υλικόυλικό,, είναιείναι ηη περισσότεροπερισσότεροσυνηθισµένησυνηθισµένη υλοποίησηυλοποίηση. . ΠαράδειγµαΠαράδειγµα αντίστοιχηςαντίστοιχης περίπτωσηςπερίπτωσηςαποτελείαποτελεί έναένα δίκτυοδίκτυο πουπου αποτελείταιαποτελείταιαπόαπό σταθµούςσταθµούς εργασίαςεργασίας πουπουσυνδέονταισυνδέονται µέσωµέσω ενόςενός LANLAN. .

ΣεΣε αυτόαυτό τοτο µοντέλοµοντέλο::

••κάθεκάθε χρήστης έχει ένα σταθµό εργασίας για αποκλειστικά δική του χρήσχρήστης έχει ένα σταθµό εργασίας για αποκλειστικά δική του χρήσηη••ο σταθµός εργασίας µπορεί να διαθέτει ή να µη διαθέτει σκληρό δίο σταθµός εργασίας µπορεί να διαθέτει ή να µη διαθέτει σκληρό δίσκοσκο••κάθε σταθµός εργασίας έχει οπωσδήποτε το δικό του λειτουργικό σύκάθε σταθµός εργασίας έχει οπωσδήποτε το δικό του λειτουργικό σύστηµαστηµα••όλες οι εντολές εκτελούνται τοπικά στο σταθµό εργασίας.όλες οι εντολές εκτελούνται τοπικά στο σταθµό εργασίας.

Page 37: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

37

37

ΥπάρχειΥπάρχει όµωςόµως ηη δυνατότηταδυνατότητα γιαγια έναένα χρήστηχρήστη νανα συνδεθείσυνδεθείαποµακρυσµένααποµακρυσµένα µεµε κάποιοκάποιο άλλοάλλο σταθµόσταθµό εργασίαςεργασίας, , χρησιµοποιώνταςχρησιµοποιώντας εντολήεντολή τηςτης µορφήςµορφής::

rlogin machinerlogin machine11

ΤοΤο αποτέλεσµααποτέλεσµα αυτήςαυτής τηςτης εντολήςεντολής είναιείναι ηη µετατροπήµετατροπή τουτουσταθµούσταθµού εργασίαςεργασίας τουτου χρήστηχρήστη, , σεσε αποµακρυσµένοαποµακρυσµένο τερµατικότερµατικό((remote terminalremote terminal) ) πουπου συνδέεταισυνδέεται µεµε τηντην αποµακρυσµένηαποµακρυσµένη µηχανήµηχανή. .

Page 38: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

38

38

ΤαΤα δίκτυαδίκτυα σταθµώνσταθµών εργασίαςεργασίας διαθέτουνδιαθέτουν επίσηςεπίσης, , στιςστιςπερισσότερεςπερισσότερες περιπτώσειςπεριπτώσεις, , µιαµια εντολήεντολή αποµακρυσµένηςαποµακρυσµένηςαντιγραφήςαντιγραφής, , προκειµένουπροκειµένου νανα αντιγράφονταιαντιγράφονται αρχείααρχεία απόαπό µιαµιαµηχανήµηχανή σεσε µιαµια άλληάλλη, , όπωςόπως

rcp machine1:file1 machine2:file2rcp machine1:file1 machine2:file2

ΟΟ τρόποςτρόπος αυτόςαυτός επικοινωνίαςεπικοινωνίας είναιείναι, , υπόυπό µίαµία έννοιαέννοια, , σχετικάσχετικάπαλαιόςπαλαιός καικαι έχειέχει οδηγήσειοδηγήσει τουςτους σχεδιαστέςσχεδιαστές συστηµάτωνσυστηµάτων στηνστηναναζήτησηαναζήτηση περισσότεροπερισσότερο εύχρηστωνεύχρηστων τρόπωντρόπων επικοινωνίαςεπικοινωνίας καικαιδιαµοιρασµούδιαµοιρασµού τηςτης πληροφορίαςπληροφορίας. .

Page 39: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

39

39

ΜιαΜια προσέγγισηπροσέγγιση είναιείναι νανα παρέχεταιπαρέχεται έναένα διαµοιράσιµοδιαµοιράσιµο καικαικαθολικόκαθολικό σύστηµασύστηµα αρχείωναρχείων ((file systemfile system), ), προσπελάσιµοπροσπελάσιµο απόαπόόλουςόλους τουςτους σταθµούςσταθµούς εργασίαςεργασίας. .

ΤοΤο σύστηµασύστηµα αρχείωναρχείων υποστηρίζεταιυποστηρίζεται απόαπό µίαµία ήή περισσότερεςπερισσότερεςµηχανέςµηχανές πουπου ονοµάζονταιονοµάζονται εξυπηρέτεςεξυπηρέτες αρχείωναρχείων ((file serversfile servers). ). ΟιΟιεξυπηρέτεςεξυπηρέτες αρχείωναρχείων δέχονταιδέχονται αιτήσειςαιτήσεις απόαπό τατα προγράµµαταπρογράµµατα τωντωνχρηστώνχρηστών, , τατα οποίαοποία εκτελούνταιεκτελούνται σεσε άλλεςάλλες µηχανέςµηχανές πουπου ονοµάζονταιονοµάζονταιεξυπηρετούµενοιεξυπηρετούµενοι ((clientsclients). ).

ΚάθεΚάθε αίτησηαίτηση, , σταστα πλαίσιαπλαίσια λειτουργίαςλειτουργίας τηςτης::εξετάζεταιεξετάζεταιεκτελείταιεκτελείταιαποστέλλεταιαποστέλλεται ηη απάντησηαπάντηση στονστον εξυπηρετούµενοεξυπηρετούµενο..

Page 40: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

40

40

•Οι εξυπηρέτες αρχείων συνήθως διατηρούν ιεραρχικά συστήµατα αρχείων•Το λειτουργικό σύστηµα που χρησιµοποιείται σε αυτό το περιβάλλονπρέπει να διαχειρίζεται τους ανεξάρτητους σταθµούς εργασίας, τους εξυπηρέτες αρχείων και επίσης να φροντίζει για την επικοινωνία ανάµεσά τους.

Οι εξυπηρέτες αρχείων συνήθως διατηρούν ιεραρχικά συστήµατα αρχείων, έχοντας το καθένα ένα πρωταρχικό κατάλογο που περιέχει υποκαταλόγους καιαρχεία. Οι σταθµοί εργασίας µπορούν να εισάγουν (import) ή να προσαρτήσουν(mount) αυτά τα συστήµατα αρχείων προσαυξάνοντας τα δικά τους τοπικάσυστήµατα αρχείων µε αυτά που βρίσκονται στους εξυπηρέτες.

Ενώ δεν έχει σηµασία αν ένας εξυπηρετούµενος προσαρτήσει έναν εξυπηρέτηστη δική του ιεραρχία καταλόγων, είναι σηµαντικό να παρατηρήσουµε ότιδιαφορετικοί εξυπηρετούµενοι µπορεί να έχουν µια διαφορετική όψη τουσυστήµατος αρχείων. Κάθε σταθµός εργασίας λειτουργεί σχετικά ανεξάρτητααπό τους υπολοίπους, το πιθανότερο είναι ότι δεν παρουσιάζουν όλοι την ίδιαιεραρχία καταλόγων στα προγράµµατά τους.

Το λειτουργικό σύστηµα που χρησιµοποιείται σε αυτό το περιβάλλον πρέπει ναδιαχειρίζεται τους ανεξάρτητους σταθµούς εργασίας, τους εξυπηρέτες αρχείωνκαι επίσης να φροντίζει για την επικοινωνία ανάµεσά τους.

Page 41: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

41

41

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

MMίαία κατάστασηκατάσταση όπωςόπως ηη παραπάνωπαραπάνω, , όπουόπου κάθεκάθε µηχανήµηχανή έχειέχει ένανένανυψηλόυψηλό βαθµόβαθµό αυτονοµίαςαυτονοµίας καικαι υπάρχουνυπάρχουν λίγεςλίγες απαιτήσειςαπαιτήσεις πουπουαφορούναφορούν στοστο σύνολοσύνολο τουτου συστήµατοςσυστήµατος, , χαρακτηρίζεταιχαρακτηρίζεται ωςωςλειτουργικόλειτουργικό σύστηµασύστηµα δικτύουδικτύου ((network operating systemnetwork operating system)). .

Page 42: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

42

42

ΈναΈνα απόαπό τατα περισσότεροπερισσότερο γνωστάγνωστά λειτουργικάλειτουργικά συστήµατασυστήµαταδικτύουδικτύου είναιείναι τοτο NFS NFS ΣύστηµαΣύστηµα ΑρχείωνΑρχείων ∆ικτύου∆ικτύου ((Network Network File SystemFile System). ). ΤοΤο NFSNFS αρχικάαρχικά σχεδιάστηκεσχεδιάστηκε καικαι υλοποιήθηκευλοποιήθηκε απόαπό τηντην SunSun

ΜΜicrosystemsicrosystems γιαγια χρήσηχρήση στουςστους βασισµένουςβασισµένους σεσε UUΝΝIXIXσταθµούςσταθµούς εργασίαςεργασίας τηςτης. . ΣήµεραΣήµερα, , τοτο υποστηρίζουνυποστηρίζουν καικαι άλλοιάλλοι κατασκευαστέςκατασκευαστές, , τόσοτόσο

γιαγια UNIXUNIX όσοόσο καικαι γιαγια άλλαάλλα λειτουργικάλειτουργικά συστήµατασυστήµατα

ΤοΤο NFSNFS υποστηρίζειυποστηρίζει καικαι ετερογενήετερογενή συστήµατασυστήµατα. . ΕίναιΕίναισυνηθισµένοσυνηθισµένο νανα υπάρχουνυπάρχουν MSMS--DOSDOS εξυπηρετούµενοιεξυπηρετούµενοι, , πουπουεκτελούνταιεκτελούνται σεσε Intel Intel 386 386 CPUCPU καικαι εξυπηρετούνταιεξυπηρετούνται απόαπό UNIXUNIXεξυπηρέτεςεξυπηρέτες αρχείωναρχείων, , πουπου εκτελούνταιεκτελούνται σεσε ΜΜotorolaotorola 68030 68030 ήήSun SPARC CPUSun SPARC CPU. .

Page 43: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

43

43

9.3.2. 9.3.2. ΠραγµατικάΠραγµατικά ΚατανεµηµέναΚατανεµηµένα ΣυστήµαταΣυστήµατα

ΤοΤο NFSNFS αποτελείαποτελεί έναένα παράδειγµαπαράδειγµα χαλαράχαλαρά συνδεδεµένουσυνδεδεµένουλογισµικούλογισµικού σεσε χαλαράχαλαρά συνδεδεµένοσυνδεδεµένο υλικόυλικό..ΚάθεΚάθε χρήστηςχρήστης µπορείµπορεί νανα τρέχειτρέχει τοτο δικόδικό τουτου λειτουργικόλειτουργικό

σύστηµασύστηµα καικαι νανα κάνεικάνει όό,,τιτι επιθυµείεπιθυµεί οο ιδιοκτήτηςιδιοκτήτης τουτου..∆εν∆εν υπάρχειυπάρχει ουσιαστικάουσιαστικά κανέναςκανένας συντονισµόςσυντονισµός, , εκτόςεκτός απόαπό τοντον

κανόνακανόνα ότιότι ηη κυκλοφορίακυκλοφορία ανάµεσαανάµεσα στουςστους εξυπηρέτεςεξυπηρέτες καικαιεξυπηρετούµενουςεξυπηρετούµενους πρέπειπρέπει νανα υπακούειυπακούει σταστα πρωτόκολλαπρωτόκολλα τουτουNFSNFS. . ΣτηνΣτην πραγµατικήπραγµατική διάστασηδιάσταση ενόςενός κατανεµηµένουκατανεµηµένου

συστήµατοςσυστήµατος, , υπάρχειυπάρχει µόνονµόνον έναένα διαµοιραζόµενοδιαµοιραζόµενο σύστηµασύστηµααρχείωναρχείων..

Page 44: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

44

44

ΤοΤο επόµενοεπόµενο βήµαβήµα τηςτης εξέλιξηςεξέλιξης είναιείναι στενάστενά συνδεδεµένοσυνδεδεµένο λογισµικόλογισµικόπάνωπάνω σεσε χαλαράχαλαρά συνδεδεµένοσυνδεδεµένο υλικόυλικό ((πολυυπολογιστέςπολυυπολογιστές).).

ΣκοπόςΣκοπός ενόςενός τέτοιουτέτοιου συστήµατοςσυστήµατος είναιείναι ηη δηµιουργίαδηµιουργία τηςτηςψευδαίσθησηςψευδαίσθησης στουςστους χρήστεςχρήστες ότιότι τοτο όλοόλο δίκτυοδίκτυο υπολογιστώνυπολογιστών είναιείναιέναένα µοναδικόµοναδικό σύστηµασύστηµα διαµοιρασµούδιαµοιρασµού χρόνουχρόνου ((timesharingtimesharing) ) καικαι όχιόχιµιαµια συλλογήσυλλογή απόαπό διακριτέςδιακριτές µηχανέςµηχανές. . ΜεΜε βάσηβάση τατα παραπάνωπαραπάνωθεωρούµεθεωρούµε ότιότι::

ΚατανεµηµένοΚατανεµηµένο είναιείναι έναένα σύστηµασύστηµα, , τοτο οποίοοποίο τρέχειτρέχει σεσε µιαµια συλλογήσυλλογήµηχανώνµηχανών πουπου δενδεν έχουνέχουν διαµοιραζόµενηδιαµοιραζόµενη µνήµηµνήµη, , ενώενώ δίνειδίνει στουςστους χρήστεςχρήστες τηντην εντύπωσηεντύπωση ενόςενός µοναδικούµοναδικούυπολογιστήυπολογιστή ((virtual uniprocessorvirtual uniprocessor -- single system imagesingle system image).).

Page 45: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

45

45

ΤαΤα κυριότερακυριότερα χαρακτηριστικάχαρακτηριστικά ενόςενός κατανεµηµένουκατανεµηµένουσυστήµατοςσυστήµατος είναιείναι::

1. 1. έναςένας µοναδικόςµοναδικός καικαι καθολικόςκαθολικός µηχανισµόςµηχανισµός διαδιεργασιακήςδιαδιεργασιακήςεπικοινωνίαςεπικοινωνίας, , είτεείτε πρόκειταιπρόκειται γιαγια τοπικήτοπική είτεείτε γιαγια αποµακρυσµένηαποµακρυσµένηεπικοινωνίαεπικοινωνία

2. 2. καθολικόκαθολικό σχήµασχήµα προστασίαςπροστασίας

3. 3. οµοιόµορφηοµοιόµορφη διαχείρισηδιαχείριση διεργασιώνδιεργασιών

Page 46: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

46

46

4. 4. εκτέλεσηεκτέλεση ταυτόσηµωνταυτόσηµων πυρήνωνπυρήνων σεσε όλεςόλες τιςτις µηχανέςµηχανές, , ώστεώστενανα έχουµεέχουµε τηντην ίδιαίδια διασύνδεσηδιασύνδεση προςπρος τιςτις κλήσειςκλήσεις συστήµατοςσυστήµατος((system callsystem call))

5. 5. καθολικόκαθολικό σύστηµασύστηµα αρχείωναρχείων µεµε καλάκαλά ορισµένηορισµένησηµασιολογίασηµασιολογία ((semanticssemantics))

6. 6. σηµαντικόσηµαντικό βαθµόβαθµό αυτοτέλειαςαυτοτέλειας τουτου κάθεκάθε πυρήναπυρήνα σεσε θέµαταθέµαταδιαχείρισηςδιαχείρισης τοπικήςτοπικής µνήµηςµνήµης, , χρονοδροµολόγησηςχρονοδροµολόγησης κλπκλπ..

Page 47: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

47

47

9.3.3. 9.3.3. ΠολυεπεξεργαστικάΠολυεπεξεργαστικά ΣυστήµαταΣυστήµατα ∆ιαµοιρασµού∆ιαµοιρασµού ΧρόνουΧρόνου

ΟΟ τελευταίοςτελευταίος συνδυασµόςσυνδυασµός είναιείναι στενάστενά συνδεδεµένοσυνδεδεµένολογισµικόλογισµικό σεσε στενάστενά συνδεδεµένοσυνδεδεµένο υλικόυλικό. . ΚλασικέςΚλασικέςπεριπτώσειςπεριπτώσεις ανάλογωνανάλογων µηχανώνµηχανών είναιείναι::

1. 1. µηχανέςµηχανές ειδικούειδικού σκοπούσκοπού ((αφοσιωµένεςαφοσιωµένες µηχανέςµηχανές βάσεωνβάσεωνδεδοµένωνδεδοµένων -- dedicated data base machinesdedicated data base machines))

2. 2. µηχανέςµηχανές γενικούγενικού σκοπούσκοπού -- πολυεπεξεργαστέςπολυεπεξεργαστές..

Περισσότερο ενδιαφέρον παρουσιάζουν οι πολυεπεξεργαστές (Sequent καιEncore), οι οποίοι λειτουργούν σαν ένα χρονοδιαµοιραζόµενο σύστηµα UNIX, έχοντας απλώς πολλαπλές CPUs αντί για µόνο µία.

Page 48: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

48

48

•Το βασικό χαρακτηριστικό αυτής της κλάσης συστηµάτων είναι η ύπαρξη µιας µόνο ουράς εκτέλεσης (µιας µόνο ουράς εκτέλεσης (run queuerun queue),), µιας δοµής δεδοµένων που αποθηκεύεται στην υπάρχουσα διαµοιραζόµενη µνήµη.

•Ο µόνος παράγοντας που έχει κάποια µικρή επίδραση στην επιλογή της CPU είναι η ανεπαίσθητη αύξηση της απόδοσης όταν µια διεργασία ξεκινά να εκτελείται σε µια CPU που έχει στην κρυφή της µνήµη ένα τµήµα από το χώρο διευθύνσεων της.

Το βασικό χαρακτηριστικό αυτής της κλάσης συστηµάτων είναι η ύπαρξη µιας µόνο ουράς εκτέλεσης (run queue), µιαςδοµής δεδοµένων που αποθηκεύεται στην υπάρχουσα διαµοιραζόµενη µνήµη.

Επειδή καµία CPU δεν έχει τοπική µνήµη και όλα τα προγράµµατα αποθηκεύονται στην καθολική και διαµοιράσιµηµνήµη δεν έχει σηµασία σε ποια CPU εκτελείται µια διεργασία. Αν µια διεργασία χρονοδροµολογηθεί αρκετές φορέςπροτού ολοκληρωθεί, κατά µέσο όρο θα περάσει περίπου το ίδιο χρονικό διάστηµα τρέχοντας σε κάθε CPU.

Ο µόνος παράγοντας που έχει κάποια µικρή επίδραση στην επιλογή της CPU είναι η ανεπαίσθητη αύξηση της απόδοσηςόταν µια διεργασία ξεκινά να εκτελείται σε µια CPU που έχει στην κρυφή της µνήµη ένα τµήµα από το χώρο διευθύνσεωντης.

Έτσι όταν µια διεργασία δεσµευθεί για είσοδο/έξοδο σε ένα πολυεπεξεργαστή, το λειτουργικό σύστηµα µπορεί ναεπιλέξει να αναστείλει τη διεργασία ή να την αφήσει σε κατάσταση ενεργούς αναµονής (busy waiting). Αν οιπερισσότερες εργασίες εισόδου/εξόδου ολοκληρώνονται σε χρόνο µικρότερο από ό,τι χρειάζεται για να πραγµατοποιηθείεναλλαγή διεργασίας (process switch), τότε η ενεργός αναµονή είναι προτιµότερη.

Μια περιοχή στην οποία αυτό το είδος πολυεπεξεργαστή διαφέρει σηµαντικά από ένα δίκτυο ή ένα κατανεµηµένοσύστηµα είναι η οργάνωση του συστήµατος αρχείων. Το λειτουργικό σύστηµα συνήθως περιέχει ένα παραδοσιακό σύστηµα αρχείων, που περιλαµβάνει ένα µοναδικό καιενοποιηµένο µπλοκ µνήµης παρακράτησης. Όταν µια διεργασία εκτελέσει µια κλήση συστήµατος:

δηµιουργείται µια παγίδα (trap) στο λειτουργικό σύστηµα,το λειτουργικό σύστηµα διεκπεραιώνει την κλήση χρησιµοποιώντας σηµαφόρους (semaphores), παρακολουθητές

(monitors) ή κάτι παρόµοιο προκειµένου να κλειδώσει έξω τις άλλες CPUs για όσο χρόνο εκτελούνται κρίσιµα τµήµατα ήυπάρχει πρόσβαση σε κεντρικούς πίνακες.

Με αυτόν τον τρόπο, όταν πραγµατοποιείται µια κλήση WRITE:

κλειδώνεται το κεντρικό µπλοκ της µνήµης παρακράτησηςτα νέα δεδοµένα εισάγονται στη µνήµητο κλείδωµα αποδεσµεύεται.

Κάθε µεταγενέστερη κλήση READ θα αναγνώσει τα νέα δεδοµένα, ακριβώς όπως σε ένα σύστηµα µε ένα µοναδικόεπεξεργαστή.

Page 49: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

49

49

ΜίαΜία σχεδιαστικήσχεδιαστική επιλογήεπιλογή θαθα ήτανήταν οο καθορισµόςκαθορισµός µιαςµιας απόαπότιςτις CPU CPU στηνστην εκτέλεσηεκτέλεση τουτου λειτουργικούλειτουργικού συστήµατοςσυστήµατος, , ενώενώ οιοιάλλεςάλλες νανα αφοσιώνονταιαφοσιώνονται σεσε προγράµµαταπρογράµµατα τωντων χρηστώνχρηστών. .

–– ΑυτήΑυτή ηη κατάστασηκατάσταση, , όµωςόµως, , είναιείναι µηµη επιθυµητήεπιθυµητή λόγωλόγω τουτου ότιότιστηστη µηχανήµηχανή τουτου λειτουργικούλειτουργικού συστήµατοςσυστήµατος συχνάσυχνάπροκαλείταιπροκαλείται συµφόρησησυµφόρηση--bottleneckbottleneck

ΟιΟι µέθοδοιµέθοδοι πουπου χρησιµοποιούνταιχρησιµοποιούνται σεσε έναένα πολυεπεξεργαστήπολυεπεξεργαστήπροκειµένουπροκειµένου νανα έχειέχει τηντην εµφάνισηεµφάνιση ενόςενός ιδεατούιδεατούµονοεπεξεργαστήµονοεπεξεργαστή δενδεν είναιείναι εφαρµόσιµεςεφαρµόσιµες σεσε µηχανέςµηχανές πουπου δενδενέχουνέχουν διαµοιράσιµηδιαµοιράσιµη µνήµηµνήµη. . ΚεντρικοποιηµένεςΚεντρικοποιηµένες ουρέςουρές εκτέλεσηςεκτέλεσης καικαι µπλοκµπλοκ µνήµηςµνήµηςπαρακράτησηςπαρακράτησης µπορούνµπορούν νανα λειτουργήσουνλειτουργήσουν, , µόνονµόνον ότανόταν όλεςόλεςοιοι CPUsCPUs έχουνέχουν πρόσβασηπρόσβαση σεσε αυτέςαυτές µεµε πολύπολύ µικρήµικρήκαθυστέρησηκαθυστέρηση. .

Page 50: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

50

50

ΖΗΤΗΜΑΤΑΖΗΤΗΜΑΤΑ ΣΧΕ∆ΙΑΣΗΣΣΧΕ∆ΙΑΣΗΣ ΚΑΤΑΝΕΜΗΜΕΝΩΝΚΑΤΑΝΕΜΗΜΕΝΩΝΣΥΣΤΗΜΑΤΩΝΣΥΣΤΗΜΑΤΩΝ

∆ιαφάνεια∆ιαφάνειαΕυελιξίαΕυελιξίαΑξιοπιστίαΑξιοπιστίαΑπόδοσηΑπόδοσηΙκανότηταΙκανότητα ΚλιµάκωσηςΚλιµάκωσης

Page 51: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

51

51

∆ιαφάνεια∆ιαφάνειαΣτόχοιΣτόχοι–– Απόκρυψη της λειτουργίας του συστήµατος από το χρήστηΑπόκρυψη της λειτουργίας του συστήµατος από το χρήστη–– Απόκρυψη της αρχιτεκτονικής του από τους προγραµµατιστέςΑπόκρυψη της αρχιτεκτονικής του από τους προγραµµατιστέςΘέµαταΘέµατα–– ΤοποθέτησηΤοποθέτηση

»» Τα ονόµατα δε πρέπει να φανερώνουν την τοποθεσίαΤα ονόµατα δε πρέπει να φανερώνουν την τοποθεσία–– ΜετανάστευσηΜετανάστευση

»» Οι πόροι πρέπει να µπορούν να µετακινηθούν χωρίς να αλλάζουν Οι πόροι πρέπει να µπορούν να µετακινηθούν χωρίς να αλλάζουν όνοµα ή να αναγκάζουν άλλους να αλλάζουν τις αναφορές τους όνοµα ή να αναγκάζουν άλλους να αλλάζουν τις αναφορές τους

–– ΟµοιοτυπίαΟµοιοτυπία»» Οι χρήστες δε γνωρίζουν πόσα αντίγραφα ενός αρχείου υπάρχουνΟι χρήστες δε γνωρίζουν πόσα αντίγραφα ενός αρχείου υπάρχουν

–– ΤαυτοχρονισµόςΤαυτοχρονισµός»» Οι χρήστες µπορούν να διαµοιράζονται πόρους αυτόµαταΟι χρήστες µπορούν να διαµοιράζονται πόρους αυτόµατα

–– ΠαραλληλισµόςΠαραλληλισµός»» Οι χρήστες δε γνωρίζουν αν είναι σε σύστηµα µε πολλούς Οι χρήστες δε γνωρίζουν αν είναι σε σύστηµα µε πολλούς επεξεργαστέςεπεξεργαστές

Το σηµαντικότερο σχεδιαστικό ζήτηµα είναι να βρεθούν οι τεχνικές και οι υλοποιήσεις, ώστε ένα κατανεµηµένο σύστηµανα εξασφαλίζει την ιδεατή εικόνα του ενός και µοναδικού συστήµατος. Ένα σύστηµα που επιτελεί αυτόν το σκοπό συχνάαποκαλείται διαφανές. Η έννοια της διαφάνειας µπορεί να εφαρµοστεί σε αρκετούς τοµείς των κατανεµηµένων συστηµάτων. Σύµφωνα µε τοRM-ODP του ISO (1992) (International Standard Organization's Reference Model, for Open Distributed Processing) καθορίζονται επτά τοµείς διαφάνειας:

1. διαφάνεια δικτύου (network transparency), η οποία αναλύεται σε:διαφάνεια προσπέλασης (access transparency)διαφάνεια τοποθέτησης (location transparency)

2. διαφάνεια ταυτοχρονισµού (concurrency transparency)

3. διαφάνεια οµοιοτυπίας (replication transparency)

4. διαφάνεια σφαλµάτων (failure transparency)

5. διαφάνεια µετανάστευσης (migration transparency)

6. διαφάνεια απόδοσης (performance transparency)

7. διαφάνεια κλιµάκωσης (scaling transparency)Αναλυτικά, τα βασικότερα σηµεία του κάθε τοµέα διαφάνειας είναι:

Η διαφάνεια δικτύου, επηρεάζει σε µεγάλο βαθµό τη χρησιµοποίηση (utilization) των πόρων του συστήµατος, ενώ ηπαρουσία της εξασφαλίζει ίδιου επιπέδου ανωνυµία πόρων, όπως και στα κεντρικοποιηµένα υπολογιστικά συστήµατα. Κλασική περίπτωση απουσίας διαφάνειας δικτύου είναι η χρήση της εντολής rlogin στο περιβάλλον Unix.

Αντίθετα, παράδειγµα υλοποίησης της διαφάνειας δικτύου αποτελεί η χρήση διεύθυνσης ηλεκτρονικού ταχυδροµείου στοInternet.Η διαφάνεια προσπέλασης, επιτρέπει τη δυνατότητα προσπέλασης σε αντικείµενα - οντότητες (information object), ενεργοποιώντας αντίστοιχες διαδικασίες, είτε υλοποιείται τοπική, είτε αποµακρυσµένη λειτουργία.

Η διαφάνεια τοποθέτησης, αναφέρεται στο γεγονός ότι σε ένα πραγµατικό κατανεµηµένο σύστηµα οι χρήστες δεγνωρίζουν που βρίσκονται τοποθετηµένοι οι πόροι του συστήµατος (υλικό και λογισµικό). Αυτό δηλώνει σαφώς ότι τοόνοµα του πόρου δεν πρέπει έµµεσα να υποδηλώνει την τοποθεσία του.Η διαφάνεια ταυτοχρονισµού, δίνει τη δυνατότητα σε περισσότερες από µία διεργασίες να λειτουργούν ταυτόχρονα, χρησιµοποιώντας διαµοιράσιµα αντικείµενα του συστήµατος. Για την αντιµετώπιση της περίπτωσης κατά την οποία δύοχρήστες θα προσπαθήσουν να προσπελάσουν τον ίδιο πόρο την ίδια χρονική στιγµή, ένας µηχανισµός υλοποίησης θαµπορούσε να είναι το αυτόµατο κλείδωµα του πόρου από το σύστηµα από τη στιγµή που κάποιος άρχισε να τοχρησιµοποιεί, ενώ το σύστηµα θα τον ξεκλειδώνει µόνον όταν η πρόσβαση στο συγκεκριµένο πόρο έχει ολοκληρωθεί.

Η διαφάνεια οµοιοτυπίας, εξασφαλίζει τη δυνατότητα σε ένα κατανεµηµένο σύστηµα ναδηµιουργεί επιπρόσθετα οµοιότυπα αντικειµένων - οντοτήτων (π χ αρχείων κλπ) µε δική του πρωτοβουλία Με τον τρόπο

Page 52: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

52

52

ΕυελιξίαΕυελιξίαΣτόχοιΣτόχοι–– Επιτρέπει την ανάπτυξη του συστήµατος και την Επιτρέπει την ανάπτυξη του συστήµατος και την ενσωµάτωση νέων τεχνολογιών ενσωµάτωση νέων τεχνολογιών

ΠροσεγγίσειςΠροσεγγίσεις–– Μονολιθικός πυρήναςΜονολιθικός πυρήνας

»» ΚεντρικοποιηµένοΚεντρικοποιηµένο Λ/Σ, προσαυξηµένο µε ευκολίες δίκτυο και Λ/Σ, προσαυξηµένο µε ευκολίες δίκτυο και αποµακρυσµένων υπηρεσιώναποµακρυσµένων υπηρεσιών

–– ΜικροπυρήναςΜικροπυρήνας»» Ελάχιστες υπηρεσίεςΕλάχιστες υπηρεσίες

IPC, IPC, διαχείριση µνήµης, διαχείριση διεργασιών χαµηλού διαχείριση µνήµης, διαχείριση διεργασιών χαµηλού επιπέδου, είσοδοςεπιπέδου, είσοδος--έξοδος χαµηλού επίπέδου έξοδος χαµηλού επίπέδου Όχι διαχείριση αρχείων, καταλόγων, κλήσεων συστήµατοςΌχι διαχείριση αρχείων, καταλόγων, κλήσεων συστήµατος

»» Παρέχει ένα κοινό και οµοιόµορφο µηχανισµό διαχείρισης µεταξύ Παρέχει ένα κοινό και οµοιόµορφο µηχανισµό διαχείρισης µεταξύ των µηχανών των µηχανών

»» Επιτρέπει την προσθήκη, διαγραφή, µετατροπή υπηρεσιών χωρίς την Επιτρέπει την προσθήκη, διαγραφή, µετατροπή υπηρεσιών χωρίς την αλλαγή του πυρήνααλλαγή του πυρήνα

Ένα ιδιαίτερα βασικό ζήτηµα της σχεδίασης κατανεµηµένων συστηµάτων είναι η ύπαρξη ευελιξίας. Υπάρχουν δύο τάσεις- µοντέλα, τα οποία διακρίνονται από διαφορετικό προσανατολισµό, σε ό,τι αφορά στη δοµή των κατανεµηµένωνσυστηµάτων.

1. Η µία τάση, η οποία προωθεί το µοντέλο του µονολιθικού πυρήνα (monolithic kernel), υποστηρίζει ότι κάθε µηχανήπρέπει να τρέχει ένα παραδοσιακό πυρήνα, ο οποίος παρέχει τις περισσότερες υπηρεσίες.

2. Η άλλη τάση, η οποία έχει προτείνει το µοντέλο του µικροπυρήνα (microkernel), υποστηρίζει ότι ο πυρήνας θα πρέπεινα παρέχει όσον το δυνατόν λιγότερες υπηρεσίες, ενώ ο κύριος όγκος των υπηρεσιών του λειτουργικού συστήµατος θαείναι διαθέσιµος από εξυπηρέτες στο επίπεδο του χρήστη.Ο µονολιθικός πυρήνας είναι αντίστοιχος µε αυτόν του σηµερινού κεντρικοποιηµένου λειτουργικού συστήµατος, προσαυξηµένος µε ευκολίες δικτύου και ολοκλήρωσης αποµακρυσµένων υπηρεσιών. Οι περισσότερες κλήσειςσυστήµατος πραγµατοποιούνται προκαλώντας παγιδεύσεις στον πυρήνα, πραγµατοποιώντας εκεί όλη την εργασία καιεπιβάλλοντας στη συνέχεια στον πυρήνα να επιστρέφει τα επιθυµητά αποτελέσµατα στη διεργασία του χρήστη.Όµως, τα περισσότερα κατανεµηµένα συστήµατα που έχουν σχεδιαστεί από την αρχή χρησιµοποιούν τη µέθοδο τουµικροπυρήνα. Ο µικροπυρήνας είναι πιο ευέλικτος γιατί παρέχει απλώς και µόνον τέσσερις ελάχιστες υπηρεσίες:

Ένα µηχανισµό επικοινωνίας ανάµεσα στις διεργασίες∆ιαχείριση της µνήµης σε κάποιο βαθµόΠεριορισµένη διαχείριση διεργασιών σε χαµηλό επίπεδο & χρονοδροµολόγησηΕίσοδο / έξοδο χαµηλού επιπέδου

Αντίθετα µε το µονολιθικό πυρήνα, ο µικροπυρήνας δεν παρέχει:

το σύστηµα αρχείωντο σύστηµα καταλόγωνπλήρη διαχείριση των διεργασιώντη διαχείριση του µεγαλύτερου τµήµατος των κλήσεων συστήµατος.

Στόχος είναι να κρατηθεί µικρό το µέγεθος του µικροπυρήνα, για το λόγο αυτό και οι υπηρεσίες που παρέχειπεριλαµβάνονται σε αυτόν, επειδή είναι δύσκολο να παρέχονται οπουδήποτε αλλού, ή είναι ιδιαίτερα ακριβό.

Όλες οι άλλες υπηρεσίες του λειτουργικού συστήµατος συνήθως υλοποιούνται ως εξυπηρέτες στο επίπεδο του χρήστη. Για αναζήτηση ενός ονόµατος, ανάγνωση αρχείου, ή χρησιµοποίηση κάποιας άλλης υπηρεσίας, ο χρήστης στέλνει έναµήνυµα στον κατάλληλο εξυπηρέτη, ο οποίος εκτελεί την εργασία και επιστρέφει το αποτέλεσµα.Το ιδιαίτερα σηµαντικό πλεονέκτηµα αυτής της διαδικασίας είναι ότι είναι τµηµατοποιηµένη (modular) σε µεγάλο βαθµό:

1. υπάρχει µια καλά ορισµένη διασύνδεση προς κάθε υπηρεσία, δηλαδή είναι καλά καθορισµένο το σύνολο τωνµηνυµάτων που καταλαβαίνει ο εξυπηρέτης

2. κάθε υπηρεσία εξασφαλίζει ισότιµη πρόσβαση σε κάθε εξυπηρετούµενο, ανεξάρτητα από την τοποθεσία

3. είναι εύκολο να υλοποιηθούν και εγκατασταθούν νέες υπηρεσίες, αφού η τροποποίηση µιας υπηρεσίας δεν απαιτεί τη

Page 53: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

53

53

ΑξιοπιστίαΑξιοπιστίαΣτόχοιΣτόχοι–– Αύξηση απόδοσης σε σχέση µε τα Αύξηση απόδοσης σε σχέση µε τα συστήµτασυστήµτα ενός ενός επεξεργαστήεπεξεργαστή

ΘέµαταΘέµατα–– Αξιοπιστία Αξιοπιστία

»» Μείωση πιθανότητας µη λειτουργίας του συστήµατος Μείωση πιθανότητας µη λειτουργίας του συστήµατος

–– ∆ιαθεσιµότητα∆ιαθεσιµότητα»» Το ποσοστό του χρόνου που είναι το σύστηµα σε χρήσηΤο ποσοστό του χρόνου που είναι το σύστηµα σε χρήση

– Ακεραιότητα των δεδοµένων»» Τα αντίγραφα πρέπει να είναι πανοµοιότυπα Τα αντίγραφα πρέπει να είναι πανοµοιότυπα

–– ΑσφάλειαΑσφάλεια»» Οι αποστολείς των µηνυµάτων πρέπει να πιστοποιούνται Οι αποστολείς των µηνυµάτων πρέπει να πιστοποιούνται

–– Ανεκτικότητα σε σφάλµαταΑνεκτικότητα σε σφάλµατα»» Κατάρρευση των Κατάρρευση των εξυπηρετητώνεξυπηρετητών πρέπει να µην επιφέρει κατάρεση πρέπει να µην επιφέρει κατάρεση στους χρήστεςστους χρήστες

Ένας από τους πρωταρχικούς στόχους για την κατασκευή κατανεµηµένων συστηµάτων ήταν ναγίνουν περισσότερο αξιόπιστα από τα συστήµατα µοναδικού επεξεργαστή. Η βασική ιδέα είναιότι όταν καταρρεύσει µια µηχανή, κάποια άλλη µηχανή από τις διατιθέµενες αναλαµβάνει τηνεργασία της, οπότε αν η πιθανότητα να διακοπεί η λειτουργία ενός είναι 0,05 τότε τεσσάρωνεξυπηρετών αρχείων η πιθανότητα είναι 0,054 = 0,000006, η οποία είναι πολύ καλύτερη από τηναντίστοιχη οποιουδήποτε ανεξάρτητου εξυπηρέτη. Οι διάφορες όψεις της αξιοπιστίας είναι:

Η διαθεσιµότητα (availability), αναφέρεται στο ποσοστό του χρόνου κατά το οποίο το σύστηµαείναι διαθέσιµο. Η διαθεσιµότητα µπορεί να επαυξηθεί µέσω µιας σχεδίασης που δεν απαιτεί τηνταυτόχρονη λειτουργία ενός αριθµού κρίσιµων συστατικών τµηµάτων του συστήµατος.

Ένα άλλο εργαλείο για τη βελτίωση της διαθεσιµότητας είναι ο πλεονασµός (redundancy). Θαπρέπει να δηµιουργούνται αντίγραφα κύριων τµηµάτων υλικού και λογισµικού, έτσι ώστε ανδιακοπεί η λειτουργία κάποιου από αυτά, τα υπόλοιπα να είναι σε θέση να αναπληρώσουν τοκενό που εµφανίζεται. Ένα θέµα που προάγει την υψηλή αξιοπιστία ενός συστήµατος σχετίζεται µε τη διατήρηση καιακεραιότητα των δεδοµένων (data integrity). Τα δεδοµένα δεν πρέπει να χαθούν ή νααλλοιωθούν µε οποιοδήποτε τρόπο. Μία µέθοδος που ακολουθείται είναι η αποθήκευση τωναρχείων σε πολλαπλούς εξυπηρέτες. Ο σχεδιαστής του συστήµατος πρέπει να εξασφαλίσει ότιόλα τα οµοιότυπα κρατούνται συνεπή.

Ένα άλλο ζήτηµα που σχετίζεται µε τη συνολική αξιοπιστία είναι η ασφάλεια(security). Τα αρχεία καθώς και οι άλλοι πόροι του συστήµατος πρέπει να προστατεύονται απόµη εξουσιοδοτηµένη χρήση.

Άµεση σχέση µε την αξιοπιστία έχει και η ανεκτικότητα σε σφάλµατα (fault tolerance). Πρέπει να µελετηθεί η συµπεριφορά του εξυπηρέτη σε περίπτωση κατάρρευσής του, καθώς και η δυνατότητα επανόρθωσης των εξελισσοµένων διεργασιών.

Page 54: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

54

54

ΑπόδοσηΑπόδοσηΣτόχοςΣτόχος–– ∆ιατήρηση ταχύτητας ως προς τα συστήµατα ενός επεξεργαστή∆ιατήρηση ταχύτητας ως προς τα συστήµατα ενός επεξεργαστή

ΜετρήσειςΜετρήσεις–– Χρόνος απόκρισηςΧρόνος απόκρισης

»» Αίτηση απάντησηςΑίτηση απάντησης

–– Ρυθµός απόδοσηςΡυθµός απόδοσης»» Εργασίες ανά ώραΕργασίες ανά ώρα»» Μηνύµατα ανά εργασίαΜηνύµατα ανά εργασία

–– Αξιοποίηση του συστήµατοςΑξιοποίηση του συστήµατος»» Χρόνος αναµονής για υπηρεσίες δικτύουΧρόνος αναµονής για υπηρεσίες δικτύου

–– Χρησιµοποιούµενη χωρητικότητα δικτύουΧρησιµοποιούµενη χωρητικότητα δικτύου»» bps bps ανά δευτερόλεπτοανά δευτερόλεπτο

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

Για τη µέτρηση της απόδοσης µπορούν να χρησιµοποιηθούν πολλοί δείκτες, όπως:

ο χρόνος απόκρισης (response time)ο ρυθµός απόδοσης (throughput), δηλαδή ο αριθµός εργασιών ανά ώραο βαθµός αξιοποίησης του συστήµατος (system utilisation)η χρησιµοποιούµενη χωρητικότητα (capacity) του δικτύου.Οι εργασίες που περιλαµβάνουν µεγάλο αριθµό υπολογισµών µικρού µεγέθουςκαι ιδιαίτερα αυτές που χαρακτηρίζονται από µεγάλο βαθµό αλληλεπίδρασης, µπορεί να προκαλέσουν προβλήµατα σε ένα κατανεµηµένο σύστηµα µε σχετικάαργή επικοινωνία. Αυτές οι εργασίες λέγεται ότι επιδεικνύουν χαµηλής τάξηςπαραλληλισµό (fine-grained parallelism).

Από την άλλη πλευρά, εργασίες που περιλαµβάνουν µεγάλους υπολογισµούς, χαµηλό ρυθµό αλληλεπίδρασης και λίγα δεδοµένα, δηλαδή εργασίες µε υψηλήςτάξης παραλληλισµό (coarse-grain parallelism), είναι εφαρµογές που ιδιαίτερααυξάνουν την απόδοσή τους σε κατανεµηµένο σύστηµα.

Page 55: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

55

55

ΑπόδοσηΑπόδοση

–– ΤάξηΤάξη µεγέθουςµεγέθους::»» ΧαµηλήΧαµηλή: : µικροί υπολογισµοί, υψηλή µικροί υπολογισµοί, υψηλή αλληλεπίδραση, µεγάλος όγκος δεδοµένων αλληλεπίδραση, µεγάλος όγκος δεδοµένων

»» ΥψηλήΥψηλή::µεγάλοι υπολογισµοί, µικρή µεγάλοι υπολογισµοί, µικρή αλληλεπίδραση, λίγα δεδοµένα αλληλεπίδραση, λίγα δεδοµένα

–– Ανεκτικότητα σε σφάλµαταΑνεκτικότητα σε σφάλµατα»» Προσθήκη επιπλέον µηνυµάτωνΠροσθήκη επιπλέον µηνυµάτων

Page 56: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

56

56

9.4.5. 9.4.5. ΙκανότηταΙκανότητα ΚλιµάκωσηςΚλιµάκωσης ((scalingscaling))

ΤαΤα περισσότεραπερισσότερα σηµερινάσηµερινά κατανεµηµένακατανεµηµένα συστήµατασυστήµατα έχουνέχουνσχεδιαστείσχεδιαστεί γιαγια νανα εργάζονταιεργάζονται µεµε δεκάδεςδεκάδες ήή τοτο πολύπολύ µερικέςµερικέςεκατοντάδεςεκατοντάδες CPUsCPUs. . ΕίναιΕίναι πιθανόνπιθανόν ότιότι τατα µελλοντικάµελλοντικά συστήµατασυστήµαταθαθα είναιείναι κατάκατά πολλέςπολλές τάξειςτάξεις µεγέθουςµεγέθους µεγαλύτεραµεγαλύτερα καικαι λύσειςλύσειςπουπου αποδεικνύονταιαποδεικνύονται ικανοποιητικέςικανοποιητικές γιαγια εκατοντάδεςεκατοντάδες µηχανέςµηχανέςενδεχοµένωςενδεχοµένως νανα αποτύχουναποτύχουν γιαγια συστήµατασυστήµατα µεµε χιλιάδεςχιλιάδεςµικροεπεξεργαστέςµικροεπεξεργαστές..

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

Page 57: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

57

57

ΟιΟι αλγόριθµοιαλγόριθµοι οιοι οποίοιοποίοι θαθα πρέπειπρέπει νανα χρησιµοποιούνταιχρησιµοποιούνται, , πρέπειπρέπει νανα έχουνέχουν τατα παρακάτωπαρακάτω χαρακτηριστικάχαρακτηριστικά::

ΚαµίαΚαµία µηχανήµηχανή δενδεν έχειέχει ολοκληρωµένηολοκληρωµένη πληροφόρησηπληροφόρηση γιαγιατηντην κατάστασηκατάσταση τουτου συστήµατοςσυστήµατοςΟιΟι µηχανέςµηχανές παίρνουνπαίρνουν αποφάσειςαποφάσεις βασιζόµενεςβασιζόµενες µόνοµόνο στιςστις

τοπικάτοπικά διαθέσιµεςδιαθέσιµες πληροφορίεςπληροφορίεςΗΗ κατάρρευσηκατάρρευση µιαςµιας µηχανήςµηχανής δενδεν καταστρέφεικαταστρέφει τοντον

αλγόριθµοαλγόριθµο∆εν∆εν υπονοείταιυπονοείται ότιότι υπάρχειυπάρχει καθολικόκαθολικό ρολόιρολόι

Page 58: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

58

58

9.4.6. 9.4.6. ΑνοιχτάΑνοιχτά συστήµατασυστήµατα ((opennessopenness))

ΑνοιχτάΑνοιχτά κατανεµηµένακατανεµηµένα συστήµατασυστήµατα ((open distributed systemsopen distributed systems) ) χαρακτηρίζονταιχαρακτηρίζονται εκείναεκείνα, , τατα οποίαοποία έχειέχει προβλεφθείπροβλεφθεί ναναεπικοινωνούνεπικοινωνούν µεµε οποιοδήποτεοποιοδήποτε άλλοάλλο όµοιοόµοιο σύστηµασύστηµα, , υπακούονταςυπακούονταςσεσε τυποποιηµένουςτυποποιηµένους κανόνεςκανόνες, , οιοι οποίοιοποίοι καθορίζουνκαθορίζουν τητη µορφήµορφή, , τοτοπεριεχόµενοπεριεχόµενο καικαι τοτο νόηµανόηµα τωντων µηνυµάτωνµηνυµάτων, , τατα οποίαοποίααποστέλλονταιαποστέλλονται καικαι λαµβάνονταιλαµβάνονται..

ΈναΈνα σύστηµασύστηµα χαρακτηρίζεταιχαρακτηρίζεται ωςως ανοιχτόανοιχτό ήή κλειστόκλειστό, , µεµεπροσανατολισµόπροσανατολισµό::στοστο υλικόυλικό ((νέανέα περιφερειακάπεριφερειακά, , µνήµηµνήµη, , διασύνδεσηδιασύνδεση επικοινωνιώνεπικοινωνιών

-- communication interfacescommunication interfaces) ) στοστο λογισµικόλογισµικό ((πρόσθεσηπρόσθεση νέωννέων χαρακτηριστικώνχαρακτηριστικών -- featuresfeatures στοστο

λειτουργικόλειτουργικό σύστηµασύστηµα, , επικοινωνιακάεπικοινωνιακά πρωτόκολλαπρωτόκολλα καικαι υπηρεσίεςυπηρεσίεςδιαµοιρασµούδιαµοιρασµού πόρωνπόρων).).

Page 59: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

59

59

ΈναΈνα κατανεµηµένοκατανεµηµένο σύστηµασύστηµα αποτιµάταιαποτιµάται ωςως ανοιχτόανοιχτό, , απόαπό τητηδυνατότηταδυνατότητα νανα προστεθούνπροστεθούν νέανέα χαρακτηριστικάχαρακτηριστικά ωςως ταταπροαναφερόµεναπροαναφερόµενα, , χωρίςχωρίς νανα επηρεασθούνεπηρεασθούν ήδηήδη υπάρχουσεςυπάρχουσεςυπηρεσίεςυπηρεσίες..

ΤαΤα ανοιχτάανοιχτά κατανεµηµένακατανεµηµένα συστήµατασυστήµατα::βασίζονταιβασίζονται στηστη χρήσηχρήση οµοιόµορφουοµοιόµορφου µηχανισµούµηχανισµού

διαδιεργασιακήςδιαδιεργασιακής επικοινωνίαςεπικοινωνίας γιαγια επίτευξηεπίτευξη προσπέλασηςπροσπέλασης σεσεδιαµερίσιµουςδιαµερίσιµους πόρουςπόρουςσυνίστανταισυνίστανται, , στηστη γενικήγενική περίπτωσηπερίπτωση, , απόαπό ετερογενούςετερογενούς

µορφήςµορφής υλικόυλικό καικαι λογισµικόλογισµικό..

Page 60: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

60

60

9.4.7 9.4.7 ΣυνοπτικάΣυνοπτικά σχεδιαστικάσχεδιαστικά θέµαταθέµατα ((basic design issuesbasic design issues))

ΤαΤα βασικάβασικά σχεδιαστικάσχεδιαστικά θέµαταθέµατα τατα οποίαοποία προκύπτουνπροκύπτουν απόαπό τηντηνκατανεµηµένηκατανεµηµένη φύσηφύση τωντων συστηµάτωνσυστηµάτων όπωςόπως αναλύθηκαναναλύθηκαν παραπάνωπαραπάνωείναιείναι::

ΟνοµασίαΟνοµασία ((namingnaming) )

ΤαΤα κατανεµηµένακατανεµηµένα συστήµατασυστήµατα βασίζονταιβασίζονται στοστο διαµοιρασµόδιαµοιρασµό τωντωνπόρωνπόρων καικαι στηστη διαφάνειαδιαφάνεια τηςτης κατανοµήςκατανοµής τωντων. . ΤαΤα ονόµαταονόµατα πουπουαντιστοιχούναντιστοιχούν σταστα αντικείµενααντικείµενα τουτου συστήµατοςσυστήµατος, , πρέπειπρέπει νανα έχουνέχουνκαθολικήκαθολική σηµασίασηµασία καικαι νανα είναιείναι ανεξάρτηταανεξάρτητα απόαπό τηντην πραγµατικήπραγµατικήθέσηθέση τουςτους. . ΒασικόςΒασικός σχεδιαστικόςσχεδιαστικός στόχοςστόχος είναιείναι νανα προκύψουνπροκύψουνυπηρεσίεςυπηρεσίες ((servicesservices) ) πουπου υλοποιούνυλοποιούν καικαι υποστηρίζουνυποστηρίζουν διερµηνευτικάδιερµηνευτικάσχήµατασχήµατα ((interpretation systemsinterpretation systems), ), τατα οποίαοποία βοηθούνβοηθούν στηνστην αποδοτικήαποδοτικήπροσπέλασηπροσπέλαση καικαι συνολικήσυνολική αξιοποίησηαξιοποίηση τωντων πόρωνπόρων..

Page 61: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

61

61

ΕπικοινωνίαΕπικοινωνία ((communicationcommunication) )

ΗΗ αποδοτικότητααποδοτικότητα καικαι αξιοπιστίααξιοπιστία τωντων τεχνικώντεχνικών πουπουχρησιµοποιούνταιχρησιµοποιούνται γιαγια τηντην επικοινωνίαεπικοινωνία, , είναιείναι ιδιαίτεραιδιαίτερασηµαντικέςσηµαντικές γιαγια τηντην απόδοσηαπόδοση τουτου κατανεµηµένουκατανεµηµένου συστήµατοςσυστήµατοςστοστο σύνολόσύνολό τουτου. . ΆραΆρα βασικόςβασικός σχεδιαστικόςσχεδιαστικός στόχοςστόχος είναιείναι ηηανάπτυξηανάπτυξη βελτιστοποιηµένωνβελτιστοποιηµένων τεχνικώντεχνικών γιαγια επικοινωνίαεπικοινωνία, , λαµβάνονταςλαµβάνοντας υπόψηυπόψη τηντην εγγενήεγγενή πολυπλοκότηταπολυπλοκότητα τουτουλογισµικούλογισµικού. . ΚυριότερηΚυριότερη µέθοδοςµέθοδος επικοινωνίαςεπικοινωνίας σταστακατανεµηµένακατανεµηµένα συστήµατασυστήµατα είναιείναι τοτο µοντέλοµοντέλο εξυπηρετούµενουεξυπηρετούµενου-- εξυπηρέτηεξυπηρέτη ((clientclient -- server modelserver model).).

Page 62: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

62

62

∆οµή∆οµή λογισµικούλογισµικού ((software structuresoftware structure) )

ΗΗ υλοποίησηυλοποίηση τωντων ιδιοτήτωνιδιοτήτων τωντων ανοιχτώνανοιχτών συστηµάτωνσυστηµάτωνεπιτυγχάνεταιεπιτυγχάνεται µεµε τοτο σχεδιασµόσχεδιασµό καικαι τηντην ανάπτυξηανάπτυξη λογισµικούλογισµικούµεµε καλάκαλά ορισµένεςορισµένες αρχέςαρχές διασύνδεσηςδιασύνδεσης ((interfacesinterfaces). ). ΣταΣτακατανεµηµένακατανεµηµένα συστήµατασυστήµατα οιοι σχεδιαστέςσχεδιαστές προσανατολίζονταιπροσανατολίζονταιστηστη χρήσηχρήση λειτουργικώνλειτουργικών συστηµάτωνσυστηµάτων, , τατα οποίαοποία δενδεν έχουνέχουνχαρακτηριστικάχαρακτηριστικά µονολιθικούµονολιθικού πυρήναπυρήνα, , αλλάαλλά µικροπυρήναµικροπυρήνα οοοποίοςοποίος, , όπωςόπως προαναφέρθηκεπροαναφέρθηκε, , υλοποιείυλοποιεί στοστο εσωτερικόεσωτερικό τουτουβασικάβασικά θέµαταθέµατα διαχείρισηςδιαχείρισης πόρωνπόρων καικαι συνοδεύεταισυνοδεύεται απόαπόδιάφορουςδιάφορους εξυπηρέτεςεξυπηρέτες ((serversservers) ) γιαγια τηντην υλοποίησηυλοποίηση τωντωνλοιπώνλοιπών διευκολύνσεωνδιευκολύνσεων καικαι παραπέραπαραπέρα επεκτάσεωνεπεκτάσεων τουτουσυστήµατοςσυστήµατος..

Page 63: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

63

63

ΚατανοµήΚατανοµή φόρτουφόρτου ((workload allocationworkload allocation) )

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

ΣυνέπειαΣυνέπεια ((consistency maintenanceconsistency maintenance) )

ΘέµαταΘέµατα συνέπειαςσυνέπειας προκύπτουνπροκύπτουν σταστα κατανεµηµένακατανεµηµένασυστήµατασυστήµατα, , εξαιτίαςεξαιτίας τουτου διαµοιρασµούδιαµοιρασµού τωντων πόρωνπόρων καικαιεξαιτίαςεξαιτίας τουτου φαινοµένουφαινοµένου τουτου ταυτοχρονισµούταυτοχρονισµού. .

Page 64: 9. ΚΑΤΑΝΕΜΗΜΕΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ€¦ · ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Στέφανος Γκρίτζαλης Αναπληρωτής

64

64

ΚυριότεραΚυριότερα σηµείασηµεία σταστα οποίαοποία εµφανίζεταιεµφανίζεται τοτο πρόβληµαπρόβληµα τηςτηςσυνέπειαςσυνέπειας είναιείναι::

συνέπειασυνέπεια ενηµέρωσηςενηµέρωσης δεδοµένωνδεδοµένων ((update dataupdate data consistencyconsistency))συνέπειασυνέπεια αντιγράφωναντιγράφων ((replication consistencyreplication consistency))συνέπειασυνέπεια γρήγορηςγρήγορης--κρυφήςκρυφής µνήµηςµνήµης ((cache consistencycache consistency))συνέπειασυνέπεια αποτυχίαςαποτυχίας ((failure consistencyfailure consistency))συνέπειασυνέπεια χρόνουχρόνου ((clock consistencyclock consistency))συνέπειασυνέπεια περιβάλλοντοςπεριβάλλοντος χρήστηχρήστη ((user interface user interface

consistencyconsistency).).