[Advcomparch] απόκλιση αποτελεσμάτων TLB

Vasilis Karakostas vkarakos at cslab.ece.ntua.gr
Thu Mar 30 17:26:40 EEST 2017


Καλησπέρα,

Κατά την εκτέλεση του ίδιου benchmark στο ίδιο μηχάνημα, μπορούν όντως να
παρατηρηθούν αποκλίσεις στα αποτελέσματα του simulator pintool που σας
δίνουμε, και γενικότερα για ένα pintool που χρησιμοποιεί εικονικές
διευθύνσεις για τον υπολογισμό μετρικών.
Οι αποκλίσεις δεν αφορούν μόνο το TLB -- διαφορές μπορούν να παρατηρηθούν
και για τις L1 και L2 caches στα επισυναπτόμενα αρχεία.

Ο λόγος των διαφορών στα hits/misses είναι το Address Space Layout
Randomization (ASLR - https://en.wikipedia.org/wiki/
Address_space_layout_randomization) που χρησιμοποιεί το Linux.
Με το ASLR ενεργοποιημένο αλλάζουν οι εικονικές διευθύνσεις που λαμβάνει
ένα πρόγραμμα κατά τη διάρκεια διαφορετικών εκτελέσεων, με αποτέλεσμα να
επηρεάζεται και η συμπεριφορά των hits και misses στα caches/TLB.
Αυτή η διαφορά παρατηρείται πιο έντονα στο TLB γιατί έχει σημαντικά
λιγότερες καταχωρίσεις (μέγεθος) σε σχέση με τις L1/L2 caches.

Κατά την προετοιμασία της άσκησης, οι διαφορές που παρατηρήσαμε εμείς δεν
ήταν αρκετά σημαντικές ώστε να επηρεάσουν την ουσία της (trends στις
γραφικές, συμπεράσματα που μπορούν να εξαχθούν, κτλ).

Ωστόσο, εάν κάποιος θα ήθελε να είναι 100% τυπικός, θα μπορούσε να
επαναλάβει το κάθε πείραμα για έναν ικανοποιητικό αριθμό επαναλήψεων (π.χ.
5) και να λάβει υπόψιν το μέσο όρο.

Διαφορετικά, για να ελαχιστοποιήσει κανείς αυτό το variation, θα μπορούσε
να απενεργοποιήσει το ASLR.
Ένας τρόπος απενεργοποιήσης του ASLR για όλο το σύστημα κατά τη διάρκεια
των πειραμάτων είναι:
#απενεργοποίηση ASLR
sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"
[..εκτέλεση πειραμάτων..]
#ενεργοποίηση ASLR
sudo sh -c "echo 2 > /proc/sys/kernel/randomize_va_space"

Εναλλακτικά, θα μπορούσε κάποιος να απενεργοποιεί το ASLR κάθε φορά μόνο
για την συγκεκριμένη εφαρμογή εκτελώντας:
setarch `uname -m` -R $PIN_EXE [..υπόλοιπα arguments]

--
Βασίλης


2017-03-30 1:17 GMT+03:00 Athinagoras Skiadopoulos <athinagoras96 at gmail.com>
:

> Καλησπέρα,
> Στα μέρη 7.1.1, 7.1.2 ξανατρέχοντας το ίδιο benchmark με τα ίδια
> χαρακτηριστικά παίρνω σημαντικές αποκλίσεις στα μεγέθη που αφορούν το TLB.
> Για παράδειγμα στην προσομοίωση freqmine.dcache.L2_2048_08_256 για τα
> Tlb-Load-Misses παίρνω από 0.09% έως 0.66%. Τα τεστ εκτελέστηκαν στο ίδιο
> μηχάνημα.
> Ευχαριστώ εκ των προτέρων,
> Αθηναγόρας
>
>
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/attachments/20170330/b3ab42d9/attachment-0001.htm>


More information about the Advcomparch mailing list