Δίνουμε μια προτεινόμενη μέθοδο για την εκτέλεση προγραμμάτων σε Linux με βελτιωμένο και σχεδόν προβλέψιμο χρόνο εκτέλεσης. Δίνουμε όλη την απαραίτητη τεκμηρίωση για κατευθυνόμενα ακυκλικά γραφήματα (DAGs), τη σχετική ιστορική έρευνα στον τομέα χρονοπρογραμματισμού και τις γνώσεις σχετικά με τις δυνατότητες προγραμματισμού του πυρήνα Linux. Εμφανίζουμε όλα τα ενδιάμεσα στάδια από DAG γενικά, DAG για την αναπαράσταση προγραμμάτων Linux, τον αλγόριθμο προγραμματισμού HEFT και τα εργαλεία για τη μέτρηση του μετροπρογράμματος μας για χρόνο εκτέλεσης, τοπικότητα δεδομένων, μνήμη και χρήση CPU. Εμφανίζουμε τα τελικά συγκεντρωτικά αποτελέσματα για να δείξουμε βελτιώσεις στις περιγραφόμενες περιοχές. Περαιτέρω έρευνα απαιτείται για την αυτοματοποίηση αυτών των βελτιώσεων με τη συνεργασία μεταγλωττιστών και τη χρήση πληροφοριών από τον προγραμματιστή του πυρήνα Linux.
A proposed method for running programs in Linux with improved and almost predictable execution time is given. We give all the necessary documentation for directed acyclic graphs (DAGs), the relevant historical research in the scheduling field and the knowledge around Linux kernel scheduling capabilities. We show all the intermediate stages from DAGs in general, to DAGs for Linux programs representation, to HEFT scheduling algorithm and the tools to measure our benchmark program for execution time, data locality, memory and CPU utilization. We show final aggregated results to show improvements in described areas. Further investigation needed to automate improvements by collaboration of compilers and use of information by Linux kernel scheduler.
Αναπαράσταση προγραμμάτων ως ακυκλικά κατευθυνόμενα γραφήματα και χρονοπρογραμματισμός τους από τον πυρήνα του Linux Description: 74622_Simatos_Dionysios.pdf (pdf)
Book Reader Licence: Attribution-NonCommercial-NoDerivatives 4.0 Διεθνές Info: Κυρίως σώμα διπλωματικής Size: 3.6 MB
Αναπαράσταση προγραμμάτων ως ακυκλικά κατευθυνόμενα γραφήματα και χρονοπρογραμματισμός τους από τον πυρήνα του Linux - Identifier: 160349
Internal display of the 160349 entity interconnections (Node labels correspond to identifiers)