Κεφάλαιο 1 | Ενότητα1 | Ερωτήσεις επισκόπησης | Προηγούμενο |Επόμενο| Λεξικό όρων

Προγράμματα δοκιμής

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

Υπάρχουν 4 διαφορετικά επίπεδα προγραμμάτων που χρησιμοποιούνται για την εκτίμηση της απόδοσης ενός υπολογιστή, τα οποία παρατίθονται με σειρά φθίνουσας ακρίβειας πρόβλεψης.

Πραγματικά προγράμματα: χρησιμοποιούνται για την επίλυση πραγματικών προβλημάτων. Μερικά παραδείγματα πραγματικών προγραμμάτων είναι οι μεταγλωτιστές της C, το λογισμικό επεξεργασίας κειμένου, όπως το TEX κτλ. Τα προγράμματα αυτά δέχονται είσοδο δίνοντας κάποια έξοδο και παρέχουν στους χρήστες τη δυνατότητα επιλογής κατά την εκτέλεση του προγράμματος.

Πυρήνες: Οι πυρήνες είνα μικρά τμήματα “κλειδιά “ κώδικα που έχουν εξαχθεί από πραγματικά προγράμματα και χρησιμοποιούνται για τον υπολογισμό της απόδοσης ενός συστήματος. Σε αντίθεση με τα πραγματικά προγράμματα οι πυρήνες δεν εκτελούνται από τους χρήστες, αφού χρησιμοποιούνται μόνο για την εκτίμηση της απόδοσης ξεχωριστών χαρακτηριστικών ενός συστήματος και για εξηγήσουν τις διαφορές στην απόδοση των προγραμμάτων. Μερικά παραδείγματα πυρήνων είναι το Linpack και τα Livermore loops.

Προγράμματα δοκιμής παιχνιδιών: είναι συνήθως 10 έως 100 γραμμές κώδικα που παράγουν αποτέλεσμα ήδη γνωστά στο χρήστη, πριν την εκτέλεσή τους. Αντιπροσωπευτικά είναι “το κόσκινο του Ερατοσθένη” και η “Quicksort”. Είναι ιδιαίτερα δημοφιλή γιατί είναι μικρά, εύκολα στη γραφή και τρέχουν σχεδόν σε όλους τους υπολογιστές.

Σύνθετα προγράμματα δοκιμής: όπως και οι πυρήνες προσπαθούν να εξομοιώσουν την μέση συχνότητα των λειτουργιών και τελεστέων ενός μεγάλου συνόλου από προγράμματα. Τα πιο γνωστά από αυτά είναι το Whetstone και Dhrystone. Οι χρήστης αποφεύγουν την εκτέλεσή τους, αφού δεν τους προσφέρουν τίποτα χρήσιμο. Σε αντίθεση με τους πυρήνες δεν είναι τμήματα κώδικα από πραγματικά προγραμμάτα, αλλά είναι κώδικας ο οποίος έχει δημιουργηθεί ώστε να ανταποκρίνεται σε ένα μέσο προφίλ εκτέλεσης εντολών.

Επειδή η οικονομική ανάπτυξη και γενικά η καθιέρωση μίας εταιρίας υπολογιστών στην αγορά εξαρτάται από τον λόγο τιμή/απόδοση των προϊόντων της σε σχέση με εκείνο των ανταγωνιστών τους, έχουν βρεθεί τρόποι βελτίωσης της απόδοσης των προγραμμάτων που χρησιμοποιούνται ευρέως για την αξιολόγηση ενός υπολογιστικού συστήματος. Ειδικότερα, γίνονται βελτιώσεις τόσο στο λογισμικό όσο και στο υλικό με σκοπό την αύξηση της απόδοσης των σύνθετων προγραμμάτων δοκιμής, των πυρήνων και των πραγματικών προγραμμάτων. Οι αλλαγές αυτές είναι δύσκολες όχι όμως και ακατόρθωτες για τα πραγματικά προγράμματα. Γι' αυτό τον λόγο, οι προμηθευτές προγραμμάτων δοκιμής προσδιορίζουν τους κανόνες κάτω από τους οποίους λειτουργούν οι μεταγλωττιστές. Απότερος σκοπός είναι να βελτιστοποιήσουν το προϊόν τους, ώστε να εμφανίζει μεγαλύτερη ταχύτητα από άλλα παρόμοια προιόντα για το συγκεκριμένο πρόγραμμα δοκιμής.

Εκτός από τα τέσσερα επίπεδα προγραμμάτων που εφαρμόζονται για τον υπολογισμό της απόδοσης των επεξεργαστών χρησιμοποιούνται και ακολουθίες από προγράμματα δοκιμής. Οι ακολουθίες προγραμμάτων δοκιμής πλεονεκτούν έναντι των μεμονωμένων προγραμμάτων δοκιμής, διότι η αδυναμία μίας μεμονωμένης δοκιμής απόδοσης μειώνεται με την παρουσία των υπολοίπων δοκιμών της ακολουθίας. Αυτό συμβαίνει γιατί οι μέθοδοι που χρησιμοποιούνται για τη σύνοψη της απόδοσης της ακολουθίας αναφέρονται στο χρόνο εκτέλεσης ολόκληρης της ακολουθίας. Οι ακολουθίες προγραμμάτων δοκιμής είναι συλλογές προγραμμάτων, μερικά από τα οποία μπορεί να είναι πυρήνες και άλλα να είναι πραγματικά προγράμματα. Ένα τέτοιο παράδειγμα είναι το SPEC92 .

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 3

Να απαριθμήσετε τα διαφορετικά επίπεδα προγραμμάτων που χρησιμοποιούνται για την εκτίμηση της απόδοσης ενός υπολογιστή και να αναφέρετε τουλάχιστον ένα παράδειγμα από τα προγράμματα που χρησιμοποιούνται για κάθε ένα από αυτά. Στην περίπτωση που δυσκολεύεστε να απαντήσετε στην ερώτηση αυτή, κρίνεται σκόπιμο να επαναλάβετε την ανάγνωση της προηγούμενης παραγράφου: «Προγράμματα δοκιμής».