dc.contributor.author | Γαλανού, Άννα | el |
dc.contributor.author | Galanou, Anna | en |
dc.date.accessioned | 2020-01-28T09:55:20Z | |
dc.date.available | 2020-01-28T09:55:20Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/49721 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.17419 | |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
dc.subject | Διαχείριση μνήμης | el |
dc.subject | Βελτιστοποίηση κατανάλωσης ενέργειας | el |
dc.subject | Εικονικοποίηση | el |
dc.subject | Ενεργά χρησιμοποιούμενη μνήμη | el |
dc.subject | Μετρητές απόδοσης υλικού | el |
dc.subject | Memory management | en |
dc.subject | Energy consumption optimization | en |
dc.subject | Virtualization | en |
dc.subject | Working set | en |
dc.subject | Hardware performance counters | en |
dc.title | Υλοποίηση και ανάλυση τεχνικών μέτρησης ενεργά χρησιμοποιούμενης μνήμης | el |
heal.type | bachelorThesis | |
heal.classification | Υπολογιστικά συστήματα | el |
heal.language | el | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2019-08-01 | |
heal.abstract | Η μνήμη αποτελεί ένα από τα βασικότερα και πλέον κοστοβόρα στοιχεία που δομούν ένα σύστημα υπολογιστών και συνεπώς οι σύγχρονες τεχνικές διαχείρισής της τείνουν να ακολουθούν το μοτίβο του overcommiting για την καλύτερη αξιοποίησή της. Αυτόν το σκοπό εξυπηρετεί και η εικονικοποίηση με την οποία τα σύγχρονα datacenters καταφέρνουν και παρέχουν ελαστική διαχείριση πόρων στους χρήστες μέσω των εικονικών μηχανών. Συχνό φαινόμενο στα σύγχρονα συστήματα του cloud αποτελεί η σπατάλη μνήμης, η οποία αν και εικονικά φαίνεται να είναι απεριόριστη στην ουσία είναι πεπερασμένη, και δεν υπάρχει περιθώριο για αναποτελεσματική χρήση της. Συνεπώς, τίθεται το ζήτημα της ακριβής μέτρησης μνήμης που πραγματικά χρειάζεται κάθε εικονική μηχανή, που στην ουσία αποτελεί το working set της. Στην παρούσα διπλωματική εργασία, μελετάμε λεπτομερώς κάποιες από τις τεχνικές που έχουν προταθεί στην βιβλιογραφία για τη μέτρηση του working set των εφαρμογών. Αρχικά, εστιάζουμε στην λεγόμενη idle page tracking τεχνική. Η συγκεκριμένη τεχνική βασίζεται στο idle page tracking API που προστέθηκε στο σύστημα Linux από την έκδοση πυρήνα 4.3 και μετά, και επιτρέπει στον χρήστη να εντοπίσει ποιες και πόσες σελίδες μνήμης έχουν προσπελαστεί πρόσφατα από τη διεργασία ή είναι αδρανείς (idle). Επιπλέον, υλοποιήσαμε δύο τεχνικές που βασίζονται σε δειγματοληψία και hardware performance counters και που σκοπό έχουν την μείωση του αντίκτυπου της μέτρησης του working set στην επίδοση των εφαρμογών. Στη συνέχεια, επικεντρωθήκαμε στην επέκταση του πυρήνα Linux, εγκαθιστώντας μια νέα διεπαφή για τη λήψη μετρήσεων του working set των εφαρμογών χρησιμοποιώντας τη λειτουργία του idle page tracking και μεθόδους δειγματοληψίας για την καλύτερη απόδοση του μηχανισμού. Εκμεταλλευόμενοι τη συγκεκριμένη επέκταση, τη συνδυάζουμε με τις μελετούμενες τεχνικές μέτρησης του working set. Αξιολογήσαμε τις τεχνικές σε περιβάλλον Linux εκτελώντας πειράματα με τα μετροπρογράμματα SPEC CPU2017. Τα πειραματικά αποτελέσματα μας δείχνουν πως οι προταθείσες τεχνικές είναι κατάλληλες για το σκοπό μας, καθώς μειώνουν το κόστος παρακολούθησης της μνήμης χωρίς απώλεια ακρίβειας στις μετρήσεις. | el |
heal.abstract | Memory makes up a big part of the total cost of equipping a data center and as a result, data-center operators try to make the best use of memory they can, generally overcommitting it significantly. To this end, numerous datacenters are relying on virtualization, as it provides flexible resource management means such as virtual machine (VM) checkpoint/restart, migration and consolidation. However, one of the main hindrances to server consolidation is physical memory. In nowadays cloud, memory is generally statically allocated to VMs and wasted if not used. Techniques (such as ballooning) were introduced for dynamically reclaiming memory from VMs, such that only the needed memory is provisioned to each VM. However, the challenge is to precisely monitor the needed memory, i.e., the working set of each VM. In this diploma thesis, we thoroughly review some of the main techniques that were proposed for monitoring the working set of processes, among which is idle page tracking. This is a feature that allows us to track which memory pages are being accessed by a workload and which are idle. Additionally, we have implemented the main techniques in a native Linux 4.9.110 environment and we have evaluated their efficiency using the SPEC CPU2017 benchmarks. We also ran some experiments in virtual Linux system 4.9.110 using QEMU/KVM as hypervisor. We also propose an extension to the Linux kernel 4.9.110 which leverages idle page tracking and sampling methods in order to provide an interface for taking measurements of the working set size metric. We exploit this extension to optimize the proposed techniques and then evaluate their performance using the same SPEC CPU2017 benchmarks. Finally, we prove that the techniques we implemented are suitable for monitoring the working set of processes, since they manage to lower the overhead of memory tracking without a significant loss of accuracy. | en |
heal.advisorName | Γκούμας, Γεώργιος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Παπασπύρου, Νικόλαος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Υπολογιστικών Συστημάτων | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 230 σ. | |
heal.fullTextAvailability | true |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: