<div dir="ltr"><div><div>Καλησπέρα,<br><br></div>Κατά την εκτέλεση του ίδιου benchmark
στο ίδιο μηχάνημα, μπορούν όντως να παρατηρηθούν αποκλίσεις στα
αποτελέσματα του simulator pintool που σας δίνουμε, και γενικότερα για
ένα pintool που χρησιμοποιεί εικονικές διευθύνσεις για τον υπολογισμό
μετρικών.<br></div><div>Οι αποκλίσεις δεν αφορούν μόνο το TLB --
διαφορές μπορούν να παρατηρηθούν και για τις L1 και L2 caches στα
επισυναπτόμενα αρχεία.<br><br></div><div>Ο λόγος των διαφορών στα hits/misses είναι το Address Space Layout Randomization (ASLR - <a href="https://en.wikipedia.org/wiki/Address_space_layout_randomization" target="_blank">https://en.wikipedia.org/wiki/<wbr>Address_space_layout_randomiza<wbr>tion</a>) που χρησιμοποιεί το Linux.<br></div><div>Με
το ASLR ενεργοποιημένο αλλάζουν οι εικονικές διευθύνσεις που λαμβάνει
ένα πρόγραμμα κατά τη διάρκεια διαφορετικών εκτελέσεων, με αποτέλεσμα να
επηρεάζεται και η συμπεριφορά των hits και misses στα caches/TLB.<br></div><div>Αυτή
η διαφορά παρατηρείται πιο έντονα στο TLB γιατί έχει σημαντικά
λιγότερες καταχωρίσεις (μέγεθος) σε σχέση με τις L1/L2 caches.<br></div><div><br></div><div>Κατά
την προετοιμασία της άσκησης, οι διαφορές που παρατηρήσαμε εμείς δεν
ήταν αρκετά σημαντικές ώστε να επηρεάσουν την ουσία της (trends στις
γραφικές, συμπεράσματα που μπορούν να εξαχθούν, κτλ).<br><br></div><div>Ωστόσο,
εάν κάποιος θα ήθελε να είναι 100% τυπικός, θα μπορούσε να επαναλάβει
το κάθε πείραμα για έναν ικανοποιητικό αριθμό επαναλήψεων (π.χ. 5)
και να λάβει υπόψιν το μέσο όρο.<br><br></div><div>Διαφορετικά, για να ελαχιστοποιήσει κανείς αυτό το variation, θα μπορούσε να απενεργοποιήσει το ASLR.<br>Ένας τρόπος απενεργοποιήσης του ASLR για όλο το σύστημα κατά τη διάρκεια των πειραμάτων είναι:<br></div><div>#απενεργοποίηση ASLR<br></div><div>sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_<wbr>space"<br></div><div>[..εκτέλεση πειραμάτων..]<br></div><div>#ενεργοποίηση ASLR<br>sudo sh -c "echo 2 > /proc/sys/kernel/randomize_va_<wbr>space"<br></div><div><br></div><div>Εναλλακτικά, θα μπορούσε κάποιος να απενεργοποιεί το ASLR κάθε φορά μόνο για την συγκεκριμένη εφαρμογή εκτελώντας:<br>setarch `uname -m` -R $PIN_EXE [..υπόλοιπα arguments]</div><div><br>--<br></div>Βασίλης<br><br><div class="gmail_extra"><br><div class="gmail_quote">2017-03-30 1:17 GMT+03:00 Athinagoras Skiadopoulos <span dir="ltr"><<a href="mailto:athinagoras96@gmail.com" target="_blank">athinagoras96@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>Καλησπέρα,<br></div>Στα μέρη 7.1.1, 7.1.2 ξανατρέχοντας το ίδιο benchmark με τα ίδια χαρακτηριστικά παίρνω σημαντικές αποκλίσεις στα μεγέθη που αφορούν το TLB. Για παράδειγμα στην προσομοίωση freqmine.dcache.L2_2048_08_256 για τα Tlb-Load-Misses παίρνω από 0.09% έως 0.66%. Τα τεστ εκτελέστηκαν στο ίδιο μηχάνημα.<br></div>Ευχαριστώ εκ των προτέρων,<br></div>Αθηναγόρας<br><div><br><div><br></div></div></div>
<br>______________________________<wbr>_________________<br>
Advcomparch mailing list<br>
<a href="mailto:Advcomparch@lists.cslab.ece.ntua.gr" target="_blank">Advcomparch@lists.cslab.ece.nt<wbr>ua.gr</a><br>
<a href="http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch" rel="noreferrer" target="_blank">http://lists.cslab.ece.ntua.gr<wbr>/mailman/listinfo/advcomparch</a><br>
<br></blockquote></div><br></div></div>