HEAL DSpace

Improving Reliability & Efficiency Of Performance Monitoring In Linux

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Δημακοπούλου, Μαρία el
dc.contributor.author Dimakopoulou, Maria el
dc.date.accessioned 2014-10-27T09:38:00Z
dc.date.available 2014-10-27T09:38:00Z
dc.date.issued 2014-10-27
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/39378
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.5508
dc.rights Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ *
dc.subject performance monitoring, hardware counters, Linux kernel, PMU, Hyper-Threading, perf_events, scheduling optimization en
dc.subject παρακολούθηση επίδοσεων, μετρητές υλικού, χρονοπρογραμματισμός συμβάντων, πυρήνας του Linux el
dc.title Improving Reliability & Efficiency Of Performance Monitoring In Linux en
dc.contributor.department Τομέας Πληροφορικής - Εργαστήριο Συστημάτων Υπολογιστών el
heal.type bachelorThesis
heal.generalDescription Η εργασία έχει βραβευθεί από την Intel και τη Google. el
heal.generalDescription This thesis has received honorary awards from Intel and Google. en
heal.classification Computer Systems en
heal.classification Συστήματα Υπολογιστών el
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2014-06-10
heal.abstract Processor hardware performance counters have improved in quality and features in recent years. At the same time, the performance monitoring support in Linux has been significantly revamped with the development of the perf_events subsystem. Those factors concur in making performance monitoring a more common practice among developers. However, no performance analysis is possible without reliable hardware counter data. In this thesis, we focus on a published correctness erratum in the performance monitoring unit of recent Intel processors when Hyper-Threading is enabled. This erratum causes cross hyper-thread hardware counter corruption and may produce unreliable results. We propose a cache-coherence style protocol that we implement in the Linux kernel to circumvent the issue by introducing cross hyper-thread dynamic event scheduling. We also introduce an event scheduling algorithm that achieves the optimal scheduling of events onto hardware counters at all times. The proposed optimizations do not require any user level changes and leverage the internal design of the perf_events subsystem. The source code has been posted to the upstream Linux kernel and our contribution has received honorary awards from Intel and Google. en
heal.abstract Κατά τα τελευταία έτη, οι μετρητές επιδόσεων υλικού στους επεξεργαστές έχουν βελτιωθεί τόσο σε ποιότητα, όσο και σε χαρακτηριστικά. Ταυτόχρονα, η υποστήριξη παρακολούθησης επιδόσεων (performance monitoring) στο Linux έχει ανανεωθεί σημαντικά χάρη στην ανάπτυξη του υποσυστήματος perf_events. Αυτοί οι παράγοντες έχουν καταστήσει την παρακολούθηση επιδόσεων μια πιο κοινή πρακτική για τους προγραμματιστές. Ωστόσο, χωρίς αξιόπιστους μετρητές δεδομένων υλικού η ανάλυση επιδόσεων δεν είναι δυνατή. Σε αυτή την εργασία, εστιάζουμε σε ένα δημοσιευμένο σφάλμα ορθότητας μετρήσεων στην μονάδα παρακολούθησης επιδόσεων (PMU) των πρόσφατων επεξεργαστών της Intel που συμβαίνει όταν η τεχνολογία Υπερ-Νηματισμού (Hyper-Threading) είναι ενεργοποιημένη. Αυτό το σφάλμα, μπορεί να προκαλέσει αλλοίωση των δεδομένων στους μετρητές υλικού μεταξύ των υπερ-νημάτων (hyper-threads), οδηγώντας έτσι σε αναξιόπιστα αποτελέσματα. Προκειμένου να παρακάμψουμε αυτό το πρόβλημα, προτείνουμε ένα πρωτόκολλο παρόμοιο με πρωτόκολλα συνάφειας μνημών cache (cache-coherence), το οποίο υλοποιούμε στον πυρήνα του Linux. Η λύση μας στηρίζεται στον προγραμματισμό των συμβάντων υλικού στους μετρητές επίδοσης κατά δυναμικό τρόπο, βάσει της κατάστασης των υπερ-νημάτων. Παρουσιάζουμε επίσης έναν αλγόριθμο που επιτυγχάνει πάντοτε βέλτιστο χρονοπρογραμματισμό των συμβάντων στους μετρητές υλικού. Οι βελτιστοποιήσεις που προτείνουμε δεν απαιτούν αλλαγές σε επίπεδο χρήστη και αξιοποιούν την εσωτερική σχεδίαση του υποσυστήματος perf_events. Ο πηγαίος κώδικας που αναπτύχθηκε έχει προσφερθεί στον πυρήνα του Linux και η συνεισφορά μας έχει βραβευθεί από την Intel και τη Google. el
heal.advisorName Κοζύρης, Νεκτάριος el
heal.committeeMemberName Σταφυλοπάτης, Ανδρέας el
heal.committeeMemberName Eranian, Stephane el
heal.academicPublisher Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 87
heal.fullTextAvailability true


Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα