Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές Βασίλης Βλάχος vbill@aueb.gr Υποψήφιος Διδάκτορας Τμήματος Διοικητικής Επιστήμης και Τεχνολογίας 1
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Υποστηριζόμενες λειτουργίες σήμερα Αναπαραγωγή μουσικής Ραδιόφωνο Παιχνίδια WAP Java εφαρμογές GPRS Υποστηριζόμενες λειτουργίες στο μέλλον Αναπαραγωγή video Τηλεδιάσκεψη (Video conference) Δίκτυα 3G 2
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Philips Nexperia Πολυεπεξεργαστικά Ολοκληρωμένα Κυκλώματα (Chip Multi Processor- CMP) : SUN MAJC IBM Power4 MIT M-machine Stanford Hydra Philips Nexperia Improvsys Jazzu 3
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Live from FZ-TV Τα πολυεπεξεργαστικά συστήματα χρησιμοποιούνται ευρύτατα ως εξυπηρετητές (servers) και σε επιστημονικές εφαρμογές, άλλα όχι σε ενσωματωμένα συστήματα γιατί Δεν υπάρχουν αποτελεσματικοί μεταγλωττιστές (compilers) Η διαδικασία αυτή όταν γίνεται χειροκίνητα απαιτεί πολύ μεγάλη προσπάθεια 4
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Ταχύτητα (speed) n Ισχύς (power) n 3 Ενέργεια (energy) n 2 5
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Μεγαλύτερη αυτονομία των ενσωματωμένων συστημάτων μπορεί να επιτευχθεί με Μείωση του μεγέθους των τρανζίστορ Βελτίωση των χρησιμοποιούμενων υλικών στα ολοκληρωμένα κυκλώματα Βελτίωση στην τεχνολογία κατασκευής μπαταριών Χρησιμοποίηση του κατάλληλου λογισμικού 6
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης void BIFSDecoder :: ParseInsertionCommand () { int nid; MediaObject *pnode; if (!m_pscene) throw BifsException (BIFX_NODEID_NOT_FOUND);. switch (ParseInt (2, "type")) { case 0: nid = ParseInt (GetNodeIDbits (), "NodeID"); case 3: ParseRoute (m_pscene); Προσέγγιση Άσπρου Κουτιού Υπερβολικά λεπτομερές Όλες οι αποφάσεις πρέπει να ληφθούν κατά την διάρκεια του σχεδιασμού 7
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Delivery Layer Data Channel Data Channel Data Channel Data Channel Buffer Buffer Buffer Buffer OD Wavelet BIFS Buffer Buffer Προσέγγιση Μαύρου Κουτιού Εύκολη διαχείριση Ανεπαρκείς πληροφορίες προκειμένου να ληφθούν οι κατάλληλες σχεδιαστικές αποφάσεις 8
Task MTG μοντέλο: Συνδυασμός Petri-Net και CDFG μοντέλου Thread Frame Thread Frame MTG Thread TN Thread TN TN Thread Frame Thread TN TN Thread TN CDFG TN Threa d Frame TN Thread (νήμα): ένα σύνολο από TN : thread thread node frames. Είναι ένα ανεξάρτητο κομμάτι κώδικα το οποίο εκτελεί μια συγκεκριμένη λειτουργία. Event Thread frame (πλαίσιο νήματος): ένα σύνολο από thread nodes. Thread node (κόμβος νήματος): το μικρότερο τμήμα κώδικα που μπορεί να χρονοπρογραμματιστεί από τον design-time scheduler. Αποτελείται από κόμβους και ακμές ενός CDFG γράφου 9
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Thread Node 1 Thread Node 2 Thread Node n Χρονοπρογραμματισμός σε μονοεπεξεργαστικά (single-processor) περιβάλλοντα ARM V dd =3.0V 20nJ/instr. 1TU/instr. TimeUnits Energy 110 M TUs 110M instr. 2200 mj 10
Σχεδιασμός ενσωματωμένων συστημάτων χαμηλής ενεργειακής κατανάλωσης Χρονοπρογραμματισμός σε πολυεπεξεργαστικά (multi -processor) περιβάλλοντα More TimeUnits TN 1 V dd =1.5V 5nJ/instr. 2TUs/instr. TN 2 Tradeoff TN n V dd =3.0V 20nJ/instr. 1TU/instr. More energy 40M instr. 70M instr. 80 M TUs 80M TU 70M TU 1600 mj 200 mj 1400 mj 180 M TUs 90M instr. 180M TUs 450 mj 20M instr. 20M Tus 400 mj 850 mj 11
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης Στατικός χρονοπρογραμματισμός (static scheduling): 1 compiling 2 3 1 3 2 4 4 Δυναμικός χρονοπρογραμματισμός (dynamic scheduling): new task 4 1 3 2 run time 1 3 4 2 12
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης Δυναμικός χρονοπρογραμματισμός Ο δυναμικός χρονοπρογραμματιστής πρέπει να είναι ταχύτατος Απαιτείται ελάχιστη υπολογιστική πολυπλοκότητα κατά την διάρκεια της εκτέλεσης (run-time) O δυναμικός χρονοπρογραμματιστής δεν είναι σε θέση να επιτύχει βελτιστοποιήσεις των σχημάτων χρονοπρογραμματισμού Δεν επιτρέπει καθόλου προβλεψιμότητα Στατικός χρονοπρογραμματισμός Ο στατικός χρονοπρογραμματιστής είναι υποχρεωμένος να επιλέξει ένα μόνο σημείο λειτουργίας Δεν διαθέτει ευελιξία Δεν είναι σε θέση να ανταποκριθεί σε μεταβαλλόμενα περιβάλλοντα όπου εμφανίζεται μη ντετερμινισμός, δυναμική δημιουργία/ διαγραφή αντικειμένων Πρέπει πάντα να επιλέγει την χειρότερη δυνατή περίπτωση 13
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης thread 1 thread 2 1 3 2 Συνδυασμός στατικού και δυναμικού χρονοπρογραμματισμού A B Static Scheduling Static Scheduling P r o c 1 P r o c 2 1 2 3 Dynamic Scheduling P r o c 1 P r o c 2 A B P r o c 1 1 2 P r o c 1 B P r o c 2 3 P r o c 2 A.. P r o c 1 P r o c 2 A B Στατικός χρονοπρογραμματισμός: πραγματοποιείται κατά την διάρκεια του compilation ερευνώντας όλες τις δυνατές βελτιστοποιήσεις.. Δυναμικό χρονοπρογραμματισμός: πραγματοποιείται κατά την διάρκεια του run time, παρέχοντας ευελιξία και δυναμικότητα με χαμηλό κόστος 1 2 3.. 14
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης Γράφος διεργασιών Πλατφόρμα Περιορισμοί προτεραιότητας (Precedence constraint) Αριθμός επεξεργαστών Χρόνος εκτέλεσης Κατανάλωση ενέργειας 15
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης P 1 P 2 P 3 task graph processors Προβλήματα που πρέπει να επιλυθούν: Ποίος κόμβος? Πότε θα ανατεθεί? Σε ποιόν επεξεργαστή? Στόχος: Ελαχιστοποίηση του ενεργειακού κόστους εντός των υφιστάμενων χρονικών περιορισμών 16
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης Γενετικοί αλγόριθμοι Αλγόριθμοι βασισμένοι σε Μεικτό Ακέραιο Γραμμικό Προγραμματισμό (MILP) Ευρετικοί Αλγόριθμοι 17
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης Cost X: Non-optimal points x x x x x x scheduling alternatives TB6 TB5 TB4 TB3 TB2 TB1 Time Budget 18
Αλγόριθμοι χρονοπρογραμματισμού χαμηλής ενεργειακής κατανάλωσης Καμπύλες Pareto: Αριθμός σημείων Pareto: Πολλά διαφορετικά σχήματα χρονοπρογραμματισμού Πεδίο τιμών: Χρονικό περιθώριο εκτέλεσης των διεργασιών Σύνολο τιμών: Ενεργειακή κατανάλωση των διεργασιών 19
Αλγόριθμοι Μεικτού Ακέραιου Γραμμικού Προγραμματισμού Πλεονεκτήματα Ικανοποιητικός αριθμός σημείων Pareto Ικανοποιητικά ενεργειακά και χρονικά περιθώρια Εξαγωγή βέλτιστων σημείων Pareto Ντετερμινιστικοί Μειονεκτήματα Μεγάλος χρόνος εξαγωγής αποτελεσμάτων, λόγω αναζήτησης βέλτιστων σημείων 20
Γενετικοί αλγόριθμοι Οι γενετικοί αλγόριθμοι χρησιμοποιούν Μετάλλαξη Διασταύρωση Αναπαραγωγή Για να βελτιώσουν την υγεία των χρωμοσωμάτων και να προσεγγίσουν εγγύτερα την λύση του προβλήματος 21
Γενετικοί αλγόριθμοι Χρονοπρογραμματισμού Πλεονεκτήματα Ικανοποιητικός αριθμός σημείων Pareto Ικανοποιητικά ενεργειακά και χρονικά περιθώρια Λογικός χρόνος εξαγωγής των αποτελεσμάτων Μειονεκτήματα Μη ντετερμινιστικοί δηλαδή τα αποτελέσματα διαφέρουν ακόμα και με την ίδια είσοδο 22
Ευρετικός Αλγόριθμος Χρονοπρογραμματισμού Πλεονεκτήματα Ταχύτατη εξαγωγή αποτελεσμάτων Ντετερμινιστικός Σχεδόν βέλτιστα σημεία Pareto Μειονεκτήματα Μη ικανοποιητικός αριθμός σημείων Pareto Μη ικανοποιητικό ενεργειακά και χρονικά περιθώρια 23
Ευρετικός Αλγόριθμος Χρονοπρογραμματισμού Κριτήρια Βάρος (Weight): ο χρόνος εκτέλεσης στον υψηλής ταχύτητας επεξεργαστή Φορτίο (Load): το άθροισμα των βαρών των εξαρτώμενων κόμβων Επιλογή του κατάλληλου υποψήφιου κόμβου Όταν ο κόμβος έχει το μέγιστο βάρος και το μέγιστο φορτίο Ένας κόμβος έχει το μέγιστο βάρος και ο άλλος έχει το μέγιστο φορτίο W = 10 W = 15 L = 18 L = 6 W = 2 L = 6 W = 6 L = 0 24
Ευρετικός Αλγόριθμος Χρονοπρογραμματισμού Βελτιστοποιήσεις Πολλαπλές Στρατηγικές Επιλογής Κόμβου προς εκτέλεση: Μέγιστου Φορτίου-Μέγιστου Βάρους Ελάχιστου Φορτίου-Μέγιστου Βάρους Μέγιστου Φορτίου-Ελάχιστου Βάρους Πολλαπλές Στρατηγικές Επιλογής Επεξεργαστή : Προεπιλογή Διαφορετικού Επεξεργαστή 25
Πλατφόρμα 4 επεξεργαστών. Σύγκριση μεταξύ αρχικού αλγορίθμου και επεκταμένου αλγορίθμου, πλήρως βελτιστοποιημένου. 26
Επεκταμένος ευρετικός αλγόριθμος Πλεονεκτήματα Ικανοποιητικός αριθμός σημείων Pareto Ικανοποιητικά ενεργειακά και χρονικά περιθώρια Σχεδόν βέλτιστα σημεία Pareto Ντετερμινιστικός Λογικός χρόνος εξαγωγής αποτελεσμάτων Μειονεκτήματα Σειριακοί γράφοι 27
Μελλοντικές επεκτάσεις Ζητήματα που πρέπει να επιλυθούν Κόστος επικοινωνιών Κόστος μεταφοράς δεδομένων Κόστος εναλλαγής διεργασιών (context switching) Χρησιμοποίηση ετερογενών επεξεργαστών 28