[Advcomparch] Φύση των μετροπρογραμμάτων
Nikos Anastopoulos
anastop at cslab.ece.ntua.gr
Sat May 2 03:34:39 EEST 2009
Καλησπέρα,
συγκεκριμένες πληροφορίες για τα χαρακτηριστικά καθενός ξεχωριστά από τα
benchmarks δεν είμαι σε θέση να γνωρίζω, καθώς δεν έχει τύχει να κοιτάξω
κώδικα από τα benchmarks αυτά (που είναι ο πιο ασφαλής τρόπος να εξάγεις
συμπεράσματα για τη "φύση" τους, κατά τη γνώμη μου).
Αυτό που μπορώ να πω ωστόσο είναι ότι και τα 3 αυτά προγράμματα ανήκουν
στην ευρεία κατηγορία των integer benchmarks (CINT2000). Από την
εμπειρία μου, τα benchmarks αυτού του είδους έχουν τα εξής γενικά
χαρακτηριστικά που τα διαφοροποιούν π.χ. από τα floating-point: είναι
λιγότερο απαιτητικά σε cpu και περισσότερο σε λειτουργίες μνήμης, με
πολλές πράξεις δεικτών και πολλές ακανόνιστες/τυχαίες αναφορές στη
μνήμη. Αυτό συμβαίνει διότι, σε αντίθεση με τα fp που είναι κατά κόρον
array based, αριθμητικά προγράμματα με "regular" μοτίβα αναφορών, τα
integer benchmarks χρησιμοποιούν αναδρομικές δομές δεδομένων
(συνδεδεμένες λίστες, δέντρα, γράφους, κ.λπ.) που δεσμεύονται δυναμικά
στη μνήμη, κάνουν έντονη χρήση δεικτών, και η απόσταση ενός στοιχείου
από το "επόμενο" είναι τυχαία και μεταβλητή. Ως εκ τούτου έχουν
χειρότερη τοπικότητα αναφορών και χειρότερο, γενικά, cache performance
σε σχέση με τα πιο "προβλέψιμα" fp.
Από κει και πέρα, αν παρατηρούνται διαφορές ανάμεσα σε benchmarks ίδιας
"φύσης", μπορεί να ευθύνονται άλλοι παράγοντες όπως π.χ. το μέγεθος του
data set του benchmark. Για παράδειγμα, τα συνολικά δεδομένα ενός
benchmark μπορεί να χωράνε εξολοκλήρου στην cache, και έτσι να έχει πολύ
λιγότερα cache misses σε σχέση με ένα άλλο benchmark με αρκετά
μεγαλύτερο data set (υποθέτοντας ότι και τα δύο κάνουν πάνω-κάτω την
ίδια επαναχρησιμοποίηση στα δεδομένα τους).
Γενικά, η άσκηση δε ζητάει να κάνετε σαφείς συσχετίσεις ανάμεσα στην
παρατηρούμενη απόδοση και την φύση του κάθε benchmark. Τα σχόλια θα
πρέπει να επικεντρώνονται πιο πολύ στη μεταβολή της απόδοσης με βάση τις
αλλαγές στa cache configurations.
Για όποιον ενδιαφέρεται ωστόσο, περισσότερες πληροφορίες για τα
benchmarks μπορείτε να βρείτε εδώ:
http://www.spec.org/cpu2000/CINT2000/
http://www.spec.org/osg/cpu2000/papers/COMPUTER_200007-abstract.JLH.html
Ν.
p3tris wrote:
> Γειά,
>
> αν γίνεται να μας πείτε λίγο για τη φύση των 3 μετροπρογραμμάτων για
> να μπορέσουμε να δικαιολογήσουμε τα αποτελέσματα
> (π.χ. πολλές πράξεις πινάκων, πολλά loop κλπ).
>
> Συγκεκριμένα το Crafty πρόγραμμα βγάζει ανάποδα αποτελέσματα από τα
> άλλα 2 σε κάποια προσομοίωση.
>
> Να μιλήσουμε γενικά γιατί μπορεί να συμβαίνει αυτό;
>
>
> Ευχαριστώ,
> --
> p3tris
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
More information about the Advcomparch
mailing list