Πόσο γρήγορος είναι το Linux PC σου;

Audio Encoding

Θα τρέξουμε δύο benchmarks τα οποία θα κάνουν encoding ένα κομμάτι μουσικής WAV σε FLAC (lossless format) και MP3 (με τον LAME encoder). Σκοπός μας είναι να δούμε πόσο γρήγορα το συστημά μας θα εκτελέσει αυτή τη μετατροπή, από μία μορφή ήχου σε μία άλλη.



AI Computing

Εδώ έχουμε να κάνουμε περισσότερο με τον επεξεργαστή και τις δυνατότητές του και machine learning προβλήματα και αλγορίθμους τεχνιτής νοημοσύνης. Τι καλύτερο λοιπόν από μία παρτίδα σκάκι, όπως θα έλεγε και ο καθηγητής Falcon. Για να δούμε λοιπόν, θα νικήσει ο Τζόσουα;


Κάνοντας compile από Source

Άλλο ένα benchmark που είναι CPU intensive - δηλαδή απασχολεί κυρίως τον επεξεργαστή παρά το υπόλοιπο σύστημα. Εδώ θα κάνουμε compile κάποια γνωστά Open Source προγράμματα και θα μετρήσουμε τον χρόνο που χρειάστηκε για την μεταγλώτισή τους. Σίγουρα θα έχει μεγάλο ενδιαφέρον για τους φίλους που χρησιμοποιούν Gentoo. Επίσης, ένα generic τέτοιο benchmark θεωρείται το CompileBench (ακόμα δεν έχει φτάσει στην έκδοση 1.0).


Kernel

Θα τρέξουμε μία σειρά από benchmarks τα οποία σχετίζονται (ή μαλλον θα ήταν καλύτερο να πούμε ότι επηρεάζονται) με τον εκάστωτε Kernel της διανομής μας. Στην ουσία, εδώ περιμένουμε να δούμε μία μεγάλη διαφορά ανάμεσα στους δύο kernels.


Postmark

Πρόκειται για ένα benchmark της εταιρείας NetApp το οποίο σχεδιάστηκε για να εξομοιώνει δικτυακές συνθήκες φόρτου ενός mail server (ή γενικότερα ενός fileserver) που επεξεργεγάζεται ένα τεράστιο αριθμό αρχείων μικρού μεγέθους, όπως για παράδειγμα e-mails, νέα και e-commerce. Όπως συμβαίνει και στα e-mails, άλλωτε γράφετε 1 παράγραφο, και άλλωτε τυγχαίνει να αρκεί μία πρόταση. Συνεπώς το μέγεθος ενός αρχείου e-mail μπορεί να ξεκινάει από 1KB και να φτάνει μέχρι μερικά εκατοντάδες KB, αλλα σαν σύνολο αποτελούν ένα τεράστιο όγκο δεδομένων. Για παράδειγμα, ένας μεταξύ των πολλών mail servers που διαθέτει στην κατοχή της η Google, καλείται να επεξεργαστεί την ημέρα περίπου 1 εκατομ. e-mails, δηλαδή περίπου 41.667 e-mails / ώρα. Καταλαβαίνετε λοιπόν ότι πλέον υπάρχει ανάγκη για τεχνολογίες data mining που αναλαμβάνουν να στήσουν ένα workstation που θα επεξεργάζεται τον συγκεκριμένο τύπο δεδομένων κατά τον βέλτιστιο δυνατό τρόπο.

Τρέχοντας το Postmark μπορούμε να αξιολογήσουμε το κατά πόσο μπορεί ο υπολογιστής μας να βγάλει εις πέρας τα καθήκοντα ενός σημερινού mail server. Πιο συγκεκριμένα, εξετάζουμε την ταχύτητα ανάγνωσης/εγγραφής των αρχείων -- ένας ακόμα τρόπος για να αξιολογήσουμε το file allocation του filesystem (πχ ext4, btrfs, xfs, jfs κ.α.). Για να μπορέσει το Postmark να δημιουργήσει παρόμοιες συνθήκες, φτιάχνει ένα μεγάλο workload από txt αρχεία τυχαίου (αλλά μικρού) μεγέθους, και αρχίζει να κάνει transactions (δημιουργήσει, διαβάσει, γράψει, διαγράψει, ανοίξει, αποθηκεύσει) μεταξύ των αρχείων. Το συγκεκριμένο profile που τρέξαμε εκτελεί 25.000 transactions με workload 500 αρχείων μεγέθους από 5 μέχρι 512 kilobytes.

Το αποτέλεσμα του Postmark θα μας δείξει πόσα transaction μπορεί να βγάλει εις πέρα το filesystem ανά δευτερόλεπτο. Όσο περισσότερα TPS (Transcations per Second) τόσο καλύτερες επιδόσεις.



RAMspeed/SMP

To RAMSpeed, όπως δηλώνει και το όνομά του, είναι ένα benchmark που μετράει την ταχύτητα της μνήμης RAM. To /SMP δηλώνει ότι δεν είναι single-threaded εφαρμογή, πράγμα που σημαίνει ότι εάν έχετε περισσότερους από έναν πυρήνες, τότε το RAMspeed θα τους λάβει υπόψην του και θα τους χρησιμοποιήσει.

Τι σχέση έχει η RAM με τους πυρήνες του επεξεργαστή; Πρακτικά καμία, αλλά αν σκαλίσετε λίγο under the hood, θα δείτε πως οι σύγχρονοι πολυπήρυνοι επεξερξαστές διαθέτουν τον ελεγκτή μνήμης (IMC - Integrated Memory Controller) μέσα τους, και όχι πάνω στην μητρική όπως συνηθιζόταν παλαιότερα (στα τσιπάκια Northbridge/Southbridge). Άρα, αφού πλέον ο επεξεργαστής είναι αυτός που καθορίζει τις RAM και τα κανάλια της (dual channel, triple channel, quad channel), είναι λογικό για το RAMspeed να το λαμβάνει υπόψην του. Συγκεκριμένα, αν και οι παλαιότερες εκδόσεις του προγράμματος είχαν γραφτεί σε C, πλέον υπάρχει αρκετά καλύτερο optimization σε i386 πλατφορμές με κώδικα γραμμένο σε Assembly.

Το αποτελέσμα του RAMspeed θα μας δείξει πόσο γρήγορη είναι η RAM μας. Θα φτιάξει μία array με συγκεκριμένο μέγεθος και θα αρχίζει να γεμίζει kilobytes εκθετικά με δυνάμεις του 2. Όσο πιο γρήγορα, τόσο το καλύτερο. Η μονάδα μέτρησης είναι το MB/s (MB ανά δευτερόλεπτο).


Filesystem benchmark

Ext4, ext3, reseirfs κλπ . Βάλτε πάνω το FS Mark και μετρήστε τις επιδόσεις. Είναι τελείως gtp σε σχέση με τους νέους δίσκους, αλλά είναι ένα (έστω και χάλια) reference.


C-Ray

Το C-Ray αποτελεί έναν απλό raytracer που σχεδιάστηκε για να αξιολογίσει την επίδοση floating-point του επεξεργαστή. Γενικότερα, η μέθοδος της ακτινικής καταγραφής (ray tracing) χρησιμοποιεί την μαθηματική τεχνική προσομοίωσης Monte Carlo για να δώσει ένα στατιστικό αποτέλεσμα των rays που θα αποτελέσουν το μοντέλο του σήματος. Το συγκεκριμένο πρόγραμμα, υπολογίζει 8 rays ανά pixel με σκοπό να κατασκευάσει μία εικόνα ανάλυσης 1600x1200.

Όσο πιο γρήγορα την κατασκευάσει, τόσο καλύτερο επεξεργαστή έχουμε. Άρα εδώ θέλουμε να δούμε όσο το δυνατόν πιο μικρό νούμερο (seconds).



Apache Benchmark

Βλέποντα το όνομα Apache, φαντάζομαι ότι αρκετοί έχετε ήδη καταλάβει περί τίνος πρόκειται. Ο καλύτερος web server του διαδικτύου, Apache, αποτελεί την Νο1 επιλογή για πολλά websites που στήνονται καθημερινά. Συνεπώς, δεν θα μπορούσαμε παρά να μην τρέξουμε ένα benchmark το οποίο θα μας δίνει κάποια στοιχεία για το πόσο καλά αποδίδει ο Apache στο σύστημά μας.

Το σενάριο είναι το εξής: αρχίζει μία "επίθεση" από 700.000 requests προς τον υπολογιστή μας, όπου κάθε 100 requests έρχονται ταυτόχρονα.

Το αποτέλεσμα του Apache Benchmark θα μας δείξει πόσα από αυτά τα requests μπορεί να απαντήσει ο υπολογιστής μας ανα δευτερόλεπτο. Προφανώς, όσο περισσότερα, τόσο το καλύτερο.

Υπαρχουν κι αλλα, όμως προς το παρών θα ψάξω αυτά να δω τι παίζει. Εσείς τι benchmarks χρησιμοποιείτε;