Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων

Συνεχίζουμε να μιλάμε για εργαλεία για την αξιολόγηση της απόδοσης της CPU σε μηχανές Linux. Σήμερα στο υλικό: temci, uarch-bench, likwid, perf-tools και llvm-mca.

Περισσότερα σημεία αναφοράς:

Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων
Фото - Λούκας Μπλάζεκ — Ξεβιδώστε

temci

Αυτό είναι ένα εργαλείο για την εκτίμηση του χρόνου εκτέλεσης δύο προγραμμάτων. Ουσιαστικά, σας επιτρέπει να συγκρίνετε τον χρόνο εκτέλεσης δύο εφαρμογών. Ο συγγραφέας του βοηθητικού προγράμματος ήταν ένας φοιτητής από τη Γερμανία, ο Johannes Bechberger, ο οποίος το ανέπτυξε ως μέρος της προπτυχιακής του διατριβής το 2016. Το σημερινό εργαλείο διανέμονται από με άδεια χρήσης με τη Γενική Δημόσια Άδεια GNU.

Ο Johannes ήθελε να δημιουργήσει ένα εργαλείο που θα του επέτρεπε να μετρήσει την απόδοση ενός υπολογιστικού συστήματος σε ένα ελεγχόμενο περιβάλλον. Επομένως, ένα από τα κύρια χαρακτηριστικά του temci είναι η δυνατότητα ρύθμισης ενός δοκιμαστικού περιβάλλοντος. Για παράδειγμα, μπορεί κανείς να: αλλαγή των ρυθμίσεων διαχείρισης συχνότητας CPU, απενεργοποίηση υπερκωδικοποίηση και L1 και L2 cache, απενεργοποιήστε τη λειτουργία turbo σε επεξεργαστές Intel, κ.λπ. Για συγκριτική αξιολόγηση, το temci χρησιμοποιεί εργαλεία ώρα, perf_stat и απόπειρα.

Έτσι φαίνεται το βοηθητικό πρόγραμμα στην πρώτη περίπτωση:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

Με βάση τα αποτελέσματα της συγκριτικής αξιολόγησης, το σύστημα δημιουργεί βολική αναφορά με διαγράμματα, πίνακες και γραφήματα, που ξεχωρίζει το temci από παρόμοιες λύσεις.

Μεταξύ των ελλείψεων του temci ξεχωρίζει η «νεανικότητα» του. Εξαιτίας αυτού δεν υποστηρίζονται τα πάντα διαμορφώσεις υλικού και λογισμικού. Για παράδειγμα, είναι δύσκολο να εκτελεστεί σε macOS και ορισμένες λειτουργίες δεν είναι διαθέσιμες σε ένα σύστημα που βασίζεται σε ARM. Στο μέλλον, η κατάσταση μπορεί να αλλάξει, καθώς ο συγγραφέας αναπτύσσει ενεργά το έργο και ο αριθμός των αστεριών στο GitHub αυξάνεται σταδιακά - όχι πολύ καιρό πριν ακόμη και temci συζητήθηκε στα σχόλια στο Hacker News.

αρχι-πάγκος

Ένα βοηθητικό πρόγραμμα για την αξιολόγηση της απόδοσης των λειτουργιών της CPU χαμηλού επιπέδου, που αναπτύχθηκε από τον μηχανικό Travis Downs (Τράβις Ντάουνς). Τον τελευταίο καιρό ασχολείται με το blogging Θέματα Απόδοσης στις Σελίδες GitHub, το οποίο μιλά για εργαλεία συγκριτικής αξιολόγησης και άλλα σχετικά πράγματα. Γενικά, το uarch-bench μόλις αρχίζει να κερδίζει δημοτικότητα, αλλά είναι ήδη αρκετά κοινό που αναφέρθηκαν κάτοικοι του Hacker News σε θεματικά νήματα ως βασικό εργαλείο για συγκριτική αξιολόγηση.

Το Uarch-bench σάς επιτρέπει να αξιολογείτε την απόδοση της μνήμης, την ταχύτητα φόρτωσης παράλληλων δεδομένων και τις εργασίες καθαρισμού Μητρώα ΥΜΜ. Μπορείτε να βρείτε πώς μοιάζουν τα αποτελέσματα συγκριτικής αξιολόγησης που δημιουργούνται από το πρόγραμμα στο επίσημο αποθετήριο στο κάτω μέρος της σελίδας.

Αξίζει να σημειωθεί ότι ο πάγκος, όπως και το temci, απενεργοποιεί Λειτουργία Intel Turbo Boost (αυξάνει αυτόματα την ταχύτητα του ρολογιού του επεξεργαστή υπό φορτίο) έτσι ώστε τα αποτελέσματα των δοκιμών να είναι συνεπή.

Προς το παρόν, το έργο βρίσκεται στα αρχικά στάδια ανάπτυξης, επομένως το uarch-bench δεν διαθέτει λεπτομερή τεκμηρίωση και η λειτουργία του μπορεί να περιέχει σφάλματα - για παράδειγμα, οι δυσκολίες είναι γνωστές με κυκλοφορία στο Ryzen. Επίσης, υποστηρίζονται μόνο σημεία αναφοράς για αρχιτεκτονικές x86. Ο συγγραφέας υπόσχεται να προσθέσει περισσότερες λειτουργίες στο μέλλον και σας προσκαλεί να συμμετάσχετε στην ανάπτυξη.

υγρό

Αυτό είναι ένα σύνολο εργαλείων για την αξιολόγηση της απόδοσης μηχανών Linux με επεξεργαστές Intel, AMD και ARMv8. Δημιουργήθηκε υπό την αιγίδα του Γερμανικού Ομοσπονδιακού Υπουργείου Παιδείας και Έρευνας το 2017 και κυκλοφόρησε σε ανοιχτό κώδικα.

Μεταξύ των εργαλείων likwid, μπορούμε να επισημάνουμε το likwid-powermeter, το οποίο εμφανίζει πληροφορίες από τους καταχωρητές RAPL σχετικά με την ισχύ που καταναλώνει το σύστημα, καθώς και το likwid-setFrequencies, που σας επιτρέπει να ελέγχετε τη συχνότητα του επεξεργαστή. Μπορείτε να δείτε την πλήρη λίστα βρείτε στο αποθετήριο.

Το εργαλείο χρησιμοποιείται από μηχανικούς που ασχολούνται με την έρευνα HPC. Για παράδειγμα, με το likwid έργα μια ομάδα ειδικών από το Περιφερειακό Υπολογιστικό Κέντρο του Πανεπιστημίου του Ερλάνγκεν-Νυρεμβέργης (RRZE) στη Γερμανία. Συμμετέχει επίσης ενεργά στην ανάπτυξη αυτού του συνόλου εργαλείων.

Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων
Фото - Clem Onojeghuo — Ξεβιδώστε

perf-εργαλεία

Αυτό το εργαλείο για την ανάλυση της απόδοσης των διακομιστών Linux εισήχθη Μπρένταν Γκρεγκ. Είναι ένας από τους προγραμματιστές DTrace — ένα δυναμικό πλαίσιο ανίχνευσης για τον εντοπισμό σφαλμάτων εφαρμογών σε πραγματικό χρόνο.

Το perf-tools βασίζεται στα υποσυστήματα του πυρήνα perf_events και ftrace. Τα βοηθητικά προγράμματα τους σάς επιτρέπουν να αναλύετε την καθυστέρηση εισόδου/εξόδου (iosnoop), να παρακολουθείτε ορίσματα κλήσεων συστήματος (unccount, funcslower, funcgraph και functrace) και να συλλέγετε στατιστικά στοιχεία για "επιτυχίες" στην προσωρινή μνήμη αρχείων (cachestat). Στην τελευταία περίπτωση, η εντολή μοιάζει με αυτό:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Μια αρκετά μεγάλη κοινότητα έχει σχηματιστεί γύρω από το όργανο (σχεδόν 6 χιλιάδες αστέρια στο GitHub). Και υπάρχουν εταιρείες που χρησιμοποιούν ενεργά perf-tools, για παράδειγμα Netflix. Αλλά το εργαλείο αναπτύσσεται και τροποποιείται περαιτέρω (αν και πρόσφατα έχουν κυκλοφορήσει ενημερώσεις αρκετά σπάνια). Επομένως, ενδέχεται να προκύψουν σφάλματα στη λειτουργία του - ο συγγραφέας γράφει ότι μερικές φορές το perf-tools προκαλεί πανικό στον πυρήνα.

llvm-mca

Ένα βοηθητικό πρόγραμμα που προβλέπει πόσους υπολογιστικούς πόρους θα απαιτήσει ο κώδικας της μηχανής σε διαφορετικές CPU. Αυτή αξιολογεί Οδηγίες ανά κύκλο (IPC) και το φορτίο στο υλικό που δημιουργεί μια συγκεκριμένη εφαρμογή.

Το llvm-mca παρουσιάστηκε το 2018 ως μέρος του έργου LLVM, η οποία αναπτύσσει ένα καθολικό σύστημα ανάλυσης, μετασχηματισμού και βελτιστοποίησης προγραμμάτων. Είναι γνωστό ότι οι συγγραφείς του llvm-mca εμπνεύστηκαν από μια λύση για την ανάλυση της απόδοσης λογισμικού IACA από την Intel και προσπάθησε να δημιουργήσει μια εναλλακτική. Και σύμφωνα με τους χρήστες, η έξοδος του εργαλείου (η διάταξη και η ποσότητα τους) μοιάζει πραγματικά με την IACA - παράδειγμα μπορείτε να βρείτε εδώ. Ωστόσο, το llvm-mca δέχεται μόνο Σύνταξη AT&T, οπότε πιθανότατα θα χρειαστεί να χρησιμοποιήσετε μετατροπείς για να εργαστείτε μαζί του.

Τι γράφουμε στα ιστολόγια και στα κοινωνικά μας δίκτυα:

Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων "Χαλάκι. μοντέλο Wall Street" ή πώς να βελτιστοποιήσετε το κόστος του cloud

Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων Πώς να ασφαλίσετε το σύστημά σας Linux: 10 συμβουλές
Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων Ελαχιστοποίηση κινδύνου: πώς να μην χάσετε τα δεδομένα σας

Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων Βιβλία για όσους ασχολούνται ήδη με τη διαχείριση του συστήματος ή μόλις σχεδιάζουν να ξεκινήσουν
Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείων Επιλογή: πέντε βιβλία και ένα μάθημα για τα δίκτυα

Σημεία αναφοράς για διακομιστές Linux: μια επιλογή ανοιχτών εργαλείωνΕμείς στο 1cloud.ru προσφέρουμε μια δωρεάν υπηρεσία "Φιλοξενία DNS" Μπορείτε να διαχειριστείτε τις εγγραφές DNS σε έναν μόνο προσωπικό λογαριασμό.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο