Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι

Σχετικά έγγραφα
Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

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

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

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

«Λειτουργικά Συστήματα Πραγματικού Χρόνου»

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ανάλυση επιδόσεων συστημάτων πραγματικού χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Σκελετός Παρουσίασης

Λειτουργικά Συστήματα (Λ/Σ)

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

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

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

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Κατανεμημένα Συστήματα Πραγματικού Χρόνου Έννοιες, Θέματα, Προσεγγίσεις, Προοπτικές.

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

Συστήματα σε Ολοκληρωμένα Κυκλώματα

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

Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2005

ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΤΟ ΠΕΡΙΟΔΙΚΟ ΜΟΝΤΕΛΟ ΣΤΑΜΑΤΙΟΥ Α. ΑΣΗΜΗ

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

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

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

Χρονοδρομολογητής Κυκλικής Επαναφοράς

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

Λειτουργικά Συστήματα

Λειτουργικά συστήματα πραγματικού χρόνου

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Η/Υ

Περιγραφή και Έλεγχος ιεργασιών

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

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

Λειτουργικά Συστήματα

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

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

ΛΟΓΙΣΜΙΚΟ (software)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ENOTHTA 5 XPONO POMOΛOΓHΣH

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Το πρόβληµα του αµοιβαίου αποκλεισµού στα λειτουργικά συστήµατα. Αντώνιος Μπέλλος. Επιβλέπων καθηγητής: Ταμπακάς Βασίλειος

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8

Λειτουργικά Συστήματα (Λ/Σ)

Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Παραλληλισμός σε επίπεδο εντολών

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

ροµολόγηση Επεξεργαστή

Βέλτιστη Κατανομή Ροών Εργασίας Πραγματικού Χρόνου με Πιθανοτική Εγγύηση Επιπέδου Υπηρεσίας ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ

Λειτουργικά Συστήματα

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling)

Λειτουργικά Συστήματα

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

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Εργαστήριο Υπολογιστικών Συστημάτων

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty)

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης

Εισαγωγικά & Βασικές Έννοιες

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

ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ, ΤΜΗΥΠ ΤΟΜΕΑΣ ΛΟΓΙΚΟΥ ΤΩΝ Η/Υ

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

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

Χρονοπρογραµµατισµός ΚΜΕ (CPU Scheduling)

Δρομολόγηση σε σύστημα ενός επεξεργαστή

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

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

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

Λειτουργικά Συστήματα Η/Υ

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε:

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

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

ιοίκηση Παραγωγής και Υπηρεσιών

BOINC CS. BOINC Control System. Νικόλαος Πασσαλής 1/15

Προσεγγιστικά Σχήµατα για Προβλήµατα Χρονοδροµολόγησης

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός (ή Χρονοδρομολόγηση ή Δρομολόγηση)

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Προσομοίωση Συστημάτων

Απόδοση Υπολογιστικών Συστημάτων

Transcript:

Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Μ.Στεφανιδάκης

Χρονοδρομολόγηση (scheduling) αλγόριθμος επιλογή (init) READY RUNNING (terminate) BLOCKED Αλγόριθμος χρονοδρομολόγησης Επιλογή διεργασίας προς εκτέλεση Τήρηση περιορισμών διεργασίας Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 2

Χρονοδρομολόγηση Χρονοδρομολόγηση σε πραγματικό χρόνο: Κατανομή υπολογιστικής ισχύος Χρήση CPU με εξασφάλιση περιορισμών διεργασιών Χρονικές προθεσμίες (deadlines) Σειρά εκτέλεσης Χρήση κοινών πόρων Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 3

Δυνατότητα χρονοδρομολόγησης (schedulability) δυνατότητα χρονοδρομολόγησης ομάδας διεργασιών Με συγκεκριμένους περιορισμούς Μπορούν να εξασφαλιστούν οι περιορισμοί αυτοί; Υπολογισμός on-line τεστ αποδοχής (acceptance test) τι συμβαίνει σε περίπτωση απόρριψης; Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 4

Μοντέλο εκτέλεσης διεργασίας J i D i J i r i C i d i t r i : χρόνος έκδοσης (release ή arrival time) J i γίνεται READY C i : χρόνος εκτέλεσης (execution time) D i : σχετική προθεσμία (relative deadline) διαθέσιμος χρόνος ολοκλήρωσης Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 5

Περιοδικές διεργασίες D i C i φ i T i d i t φ i : έκδοση πρώτου τμήματος διεργασίας (phase) T i : χρόνος μεταξύ διαδοχικών εκδόσεων (min) Περίοδος Και προθεσμία αν δεν ορίζεται το D i U i : χρησιμοποίηση (utilization) = C i /T i Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 6

Μη περιοδικές διεργασίες Άγνωστος χρόνος έκδοσης (άφιξης) Εξωτερικά γεγονότα Συνύπαρξη με περιοδικές διεργασίες Προθεσμίες Soft ή καθόλου: μη περιοδικές διεργασίες Hard: σποραδικές διεργασίες Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 7

Χρόνος εκτέλεσης Πώς υπολογίζεται; Κρίσιμο μέγεθος Είσοδος σε όλους τους αλγορίθμους χρονοδρομολόγησης Χρόνος εκτέλεσης χειρότερης περίπτωσης Worst Case Execution Time (WCET) Η μόνη προσέγγιση του πραγματικού χρόνου εκτέλεσης! Ακρίβεια προσέγγισης Ασφάλεια λειτουργιών πραγματικού χρόνου Αποδοτική χρησιμοποίηση CPU Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 8

Υπολογισμός WCET Στατικά Υψηλή περιγραφή αλγορίθμου: Εξαγωγή μονοπατιών (ροής) εκτέλεσης Χαμηλό επίπεδο (κώδικας μηχανής) Υπολογισμός χρονικών καθυστερήσεων Εξαρτάται από σύστημα εφαρμογής! Μέσω μετρήσεων Ευριστικές μέθοδοι Επιλεγμένα σετ δεδομένων εισόδου Στοχαστικά Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 9

Υπολογισμός WCET αναπαράσταση κώδικα Μοντέλο (Matlab/Simulink) κώδικας C ενδιάμεσος κώδικας assembly binary code ευριστικά απλό caches pipeline μοντέλο εκτέλεσης dataflow analysis δεδομένα ροής προγράμματος Ανοικτό ερευνητικό πεδίο! και στο εφαρμοσμένο επίπεδο της βιομηχανίας... Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 10

Υλικό: παράγοντες απροσδιοριστίας Επίδραση στον χρόνο εκτέλεσης Μνήμες cache Pipeline επεξεργαστή Διακοπές (interrupts) DMA, ανανέωση DRAM κ.λ.π. Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 11

Μοντέλο εκτέλεσης διεργασίας: παραδοχές και διορθώσεις Περιοδικές διεργασίες μοντέλο server για μη περιοδικές Προσθήκη καθυστερήσεων για: context-switching διαμοιρασμό πόρων αυτο-αδρανοποίηση (self-suspending) Προεκτοπιστικό (preemptive) σύστημα Εκτέλεση χρονοδρομολογητή σε κάθε scheduling event (δημιουργία, τερματισμός διεργασίας) Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 12

Μέθοδοι χρονοδρομολόγησης RT-scheduling off-line on-line clock-driven fixed priority dynamic priority RM EDF Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 13

Προτεραιότητα διεργασιών (C 1 =25, T 1 =50) (C 2 =40, T 2 =100) 0 10 20 30 40 50 60 70 80 90 100 110 120 t προτεραιότητα 1 > προτεραιότητα 2 Σχήμα fixed-priority: σταθερή προτεραιότητα σε όλη τη διάρκεια εκτέλεσης. Χρονοδρομολόγηση με βάση προτεραιότητες. Μέθοδος επιλογής προτεραιοτήτων; Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 14

Προτεραιότητα διεργασιών (C 1 =25, T 1 =50) (C 2 =40, T 2 =100) 0 10 20 30 40 50 60 70 80 90 100 110 120 t προτεραιότητα 2 > προτεραιότητα 1 Rate Monotonic scheduling ανάθεση προτεραιοτήτων πριν την εκτέλεση όσο μικρότερη η περίοδος, τόσο μεγαλύτερη η προτεραιότητα θα διάλεγε μεγαλύτερη προτεραιότητα για διεργασία-1 Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 15

Αλγόριθμος RM Ο αλγόριθμος RM είναι βέλτιστος (optimal) μεταξύ fixed-priority αλγορίθμων: εάν μία ομάδα διεργασιών δεν μπορεί να χρονοδρομολογηθεί με τον RM, δεν μπορεί με κανέναν άλλον fixed-priority αλγόριθμο Αλλά (ίσως) δεν χρησιμοποιεί πλήρως CPU U = Σ C i T i i Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 16

Ικανότητα χρονοδρομολόγησης RM Όριο U με χρήση του RM για n διεργασίες: U RM = n(2 1/n -1) όταν περίοδος ίση με προθεσμία! τείνει στο 69% (0.693) κάθε σύνολο διεργασιών με U μικρότερο του U RM μπορεί να χρονοδρομολογηθεί επιτυχώς ικανή αλλά όχι αναγκαία συνθήκη! λεπτομερέστερος υπολογισμός; αρμονικές περίοδοι διεργασιών U RM =1 Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 17

Δυναμική ανάθεση προτεραιοτήτων Όταν οι διεργασίες αλλάζουν προτεραιότητα κατά τη διάρκεια εκτέλεσης καλύτερη χρησιμοποίηση επεξεργαστή πολυπλοκότερη χρονοδρομολόγηση μεγαλύτερος κώδικας ευριστικοί αλγόριθμοι λιγότερο προβλέψιμη συμπεριφορά σε υπερφόρτωση τρέχουσα προτεραιότητα υπολογίζεται από διάφορες παραμέτρους προθεσμίες Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 18

Αλγόριθμος EDF U = 0.91 (C 1 =0.9, T 1 =2) (C 2 =2.3, T 2 =5) Τ1 Τ2 0 1 2 3 4 5 6 7 8 t Earliest Deadline First (EDF) εκτέλεση της διεργασίας με την αμεσότερη (απόλυτη) προθεσμία Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 19

Ικανότητα χρονοδρομολόγησης EDF εάν υπάρχει τρόπος ορθής χρονοδρομολόγησης ομάδας διεργασιών, ο τρόπος που υπολογίζει ο EDF είναι ορθός Κριτήριο δυνατότητας χρονοδρομολόγησης ομάδας n διεργασιών (ικανή μόνο συνθήκη) : Σ i C i min(t i, D i ) < 1 πρόβλεψη και της περίπτωσης T i D (αν D i = T i τότε ικανή και αναγκαία συνθήκη) Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 20

Σύγκριση μεθόδων χρονοδρομολόγησης Fixed Priority μεγαλύτερη προβλεψιμότητα μικρότερη χρησιμοποίηση CPU γενικευμένη χρήση σε εμπορικά ΛΣ Dynamic Priority καλύτερη χρησιμοποίηση CPU ασταθής συμπεριφορά σε κατάσταση υπερφόρτωσης υποστηρίζεται από νεώτερα ΛΣ Λειτουργικά Συστήματα Πραγματικού Χρόνου Χρονοδρομολόγηση Ι 21