ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Κύπρου
Νήµατα Threads Τι είναι τα νήµατα; Πως υλοποιούνται; Σε επίπεδο χρήστη Σε επίπεδο πυρήνα Χρονοδροµολόγηση νηµάτων Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 2
Συστήµατα Υπολογιστών µε πολλούς επεξεργαστές Το Μοντέλο Σταθµών Εργασίας Το Μοντέλο Σταθµών Εργασίας (ΣΕ) (Workstation model) Ένα σύνολο υπολογιστικών µονάδων οι οποίες είναι συνδεδεµένοι σε ένα τοπικό δίκτυο Οι υπολογιστικές αυτές µονάδες µπορεί να είναι πλήρης ή χωρίς τοπικούς δίσκους. Αναφέρετε πλεονεκτήµατα και µειονεκτήµατα αυτών των δυο περιπτώσεων Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 3
Χρήση αδρανών σταθµών εργασίας Πότε ένας ΣΕ είναι Idle; Όταν δε έχει κανείς Login σε αυτόν; Όταν δεν τρέχει καµία διεργασία σε αυτόν; (είναι αυτό συχνό φαινόµενο;) Πως µπορούµε να προσδιορίσουµε idle ΣΕ; Πως µπορεί να εκτελεστεί µια διεργασία αποµακρυσµένα; Τι θα συµβεί αν ο ιδιοκτήτης µιας µηχανής κάνει Login σε αυτή ενώ µια αποµακρυσµένη διεργασία τρέχει σε αυτή; Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 4
Συστήµατα Υπολογιστών µε πολλούς επεξεργαστές Το Μοντέλο εξαµενής Επεξεργαστών (Processor pool model) Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 5
Το Μοντέλο εξαµενής Επεξεργαστών (Processor pool model) (2) Βάση στη θεωρία ουρών Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 6
Το Μοντέλο εξαµενής Επεξεργαστών (Processor pool model) (3) Έστω ότι έχουµε ένα επεξεργαστή: λ ο ρυθµός αιτήσεων ανά δευτερόλεπτο µ ο ρυθµός µε το οποίο ένας Server εξυπηρετεί αιτήσεις Ο χρόνος εξυπηρέτησης µιας αίτησης θα είναι Τ = 1/ (µ-λ) Τι θα συµβεί αν έχουµε n επεξεργαστές σε µια δεξαµενή; Πόσος θα είναι ο χρόνος που χρειάζεται για να εξυπηρετηθεί µια αίτηση; Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 7
Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 8
Ανάθεση Επεξεργαστών Θέµατα τα οποία καθορίζουν τον τρόπο ανάθεσης επεξεργαστών σε αιτήσεις υνατότητα µετανάστευσης (migration) και µη- µετανάστευσης (non-migration) µιας διεργασίας η οποία έχει αρχίσει να εκτελείται σε ένα επεξεργαστή Μεγιστοποίηση Αξιοποίησης όλων των CPU s Ελαχιστοποίηση Χρόνου απόκρισης (response time) ελαχιστοποίηση του λόγου απόκρισης Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 9
Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 10
Θέµατα Σχεδιασµού Αλγορίθµων Ανάθεσης Επεξεργαστών 1. Ντετερµινιστικοί έναντι Ευρετικών αλγορίθµων 2. Κεντρικοποιηµένοι έναντι κατανεµηµένων αλγορίθµων 3. Παράδειγµα 4. Βέλτιστοι έναντι σχεδόν βέλτιστων αλγορίθµων 5. Τοπικοί έναντι καθολικών αλγορίθµων 6. Sender-initiated έναντι receiver-initiated algorithms Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 11
Θέµατα υλοποίησης Αλγορίθµων Ανάθεσης Επεξεργαστών Κάθε µηχανή θα πρέπει να µετρά το δικό της φόρτο εργασίας. Τι θα µπορούµε να ορίζει το φόρτο εργασίας; Ποιες οι επιβαρύνσεις που προκύπτουν από τον υπολογισµού του φόρτου, την µετανάστευση διεργασιών, τη χρήση του δικτύου. Ποια η πολυπλοκότητα ενός αλγόριθµου; Θέµατα ευστάθειας δεδοµένου ότι οι µηχανές εκτελούν τους αλγορίθµους τους ασύγχρονα. Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 12
Παραδείγµατα Αλγορίθµων Ανάθεσης Επεξεργαστών Ένας Γραφο-θεωρητικός Ντετερµινιστικός Αλγόριθµος Έστω G(V, E) ένα γράφηµα µε βάρη οι κορυφές του οποίου είναι οι διεργασίες σε ένα κατανεµηµένο σύστηµα και οι ακµές του υποδηλώνουν ροή µηνυµάτων ανάµεσα σε συνεργαζόµενες διεργασίες. Έστω ότι σε ένα σύστηµα υπάρχουν K επεξεργαστές. Πως θα γίνει ανάθεση των διεργασιών στους Κ επεξεργαστές κάτω από ένα σύνολο περιορισµών (όπως η συνολική χρήση CPU και µνήµης να µην ξεπερνά κάποια όρια σε κάθε επεξεργαστή); Λύση: εύρεση ενός συνόλου τοµής ακµών (cut set) το οποίο να χωρίζει το γράφηµα σε K υπογραφήµατα τα οποία θα ικανοποιούν τους περιορισµούς. Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 13
Παραδείγµατα Αλγορίθµων Ανάθεσης Επεξεργαστών Ένας Κεντρικοποιηµένος Αλγόριθµος Ο αλγόριθµος up-down είναι κεντρικοποιηµένος µε την έννοια ότι κάποιος συντονιστής διατηρεί ένα πίνακα χρήσης (usage table) στον οποίο υπάρχει µια εγγραφή για κάθε µηχανή µε αρχική τιµή 0. Στόχος του είναι η δίκαιη χρήση των επεξεργαστών από τους χρήστες και όχι η µεγιστοποίηση χρήσης των CPU s. Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 14
Ένας Κεντρικοποιηµένος Αλγόριθµος (2) Όταν κάποιος κάνει αίτηση (στο συντονιστή) για εξυπηρέτηση µιας διεργασίας του, τότε αν δεν υπάρχει ελεύθερος επεξεργαστής τότε αρνείται προσωρινά την αίτηση αυτή και ενηµερώνει το χρήστη. Αν κάποια άλλη διεργασία του χρήστης αυτού εκτελείτε σε κάποιο επεξεργαστή εκείνη την ώρα τότε αυτός παίρνει κάποιες κυρώσεις (παίρνει ένα αριθµό µονάδων ανάλογα µε το χρόνο που θέλει η διεργασία του να εκτελεστεί). Όταν έχει ανικανοποίητες διεργασίες οι κυρώσεις του ελαττώνονται. Όταν κάποιος επεξεργαστής είναι ελεύθερος, τότε ο συντονιστής επιλέγει να του αναθέσει την διεργασία (που είναι σε αναστολή) της οποίας ο χρήστης έχει τις λιγότερες κυρώσεις. Γιατί αυτός ο αλγόριθµος είναι δίκαιος ως προς τους χρήστες; Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 15
Ένας Ιεραρχικός Αλγόριθµος Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 16
Α sender-initiated distributed heuristic Έστω ότι µια διεργασία Χ δηµιουργείται σε µια µηχανή Μ. Τότε στέλνονται µηνύµατα από την Μ σε άλλες µηχανές (επιλεγµένες τυχαία) όπου γίνεται ερώτηση αν αυτές µε βάση τον φόρτο που έχουν αν µπορούν να εκτελέσουν την Χ. Αν η Μ πάρει θετική απάντηση από κάποιο άλλη µηχανή, τότε µεταναστεύει την Χ σε εκείνη τη µηχανή για αν εκτελεστεί. αν µετά από ένα αριθµό µηνυµάτων η Μ δεν λάβει θετική απάντηση. Τότε αποφασίζει να εκτελέσει η ίδια την Χ. Πέστε µειονεκτήµατα και πλεονεκτήµατα του αλγορίθµου αυτού. Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 17
A receiver-initiated distributed heuristic Έστω µια µηχανή Μ µόλις έχει τελειώσει τις διεργασίες που εκτελούσε. Τότε στέλνει ένα κατάλληλο µήνυµα σε άλλες µηχανές και τις ενηµερώνει ότι είναι ελεύθερη και µπορεί να αναλάβει την εκτέλεση δικών τους διεργασιών. Η Μ συνεχίζει να στέλνει το µήνυµα µέχρι κάποια µηχανή να της δώσει κάποια από τις διεργασίες της για να εκτελέσει ή µέχρι να στείλει το µήνυµα µια φορά σε κάθε άλλη µηχανή. Πέστε µειονεκτήµατα και πλεονεκτήµατα του αλγορίθµου αυτού. Μαρία Ι. Ανδρέου Κατανεµηµένα Συστήµατα 18