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

Ο νόμος του Amdahl

Ο νόμος του Amdahl χρησιμοποιείται για τον υπολογισμό του κέρδους στην απόδοση, όταν βελτιωθεί κάποιο τμήμα-portion του υπολογιστή. Πιο συγκεκριμένα, η βελτίωση της απόδοσης που μπορούμε να επιτύχουμε χρησιμοποιώντας έναν πιο γρήγορο τρόπο εκτέλεσης, περιορίζεται από το κλάσμα του χρόνου που μπορεί να χρησιμοποιηθεί αυτός ο πιο γρήγορος τρόπος εκτέλεσης.

Ο νόμος του Amdahl δίνει τον ορισμό της επιτάχυνσης που μπορούμε να επιτύχουμε χρησιμοποιώντας ένα συγκεκριμένο χαρακτηριστικό. Εάν υποθέσουμε ότι μπορούμε να κάνουμε κάποια βελτίωση στον υπολογιστή μας η οποία βελτιώνει την απόδοση όταν χρησιμοποιείται, τότε η επιτάχυνση ορίζετε ως εξής (τύπος 1.13):

    (Τύπος 1.13)

ή εναλλακτικά (τύπος 1.14):

    (Τύπος 1.14)

Η επιτάχυνση δηλώνει πόσο επισπεύδεται η ολοκλήρωση μιας εργασίας, αν αυτή εκτελεστεί σε έναν υπολογιστή που έχει υποστεί κάποια βελτίωση συγκριτικά με τον αρχικό υπολογιστή.
Ο νόμος του Amdahl μας δίνει έναν γρήγορο τρόπο να υπολογίζουμε την επιτάχυνση που προκύπτει από κάποια βελτίωση που κάνουμε στο σύστημά μας, ο οποίος εξαρτάται από δύο παράγοντες:

  1. Από το κλάσμα του χρόνου υπολογισμού στον αρχικό υπολογιστή που μπορεί να μετατραπεί λόγω της βελτίωσης.

Παράδειγμα στον <i>Νόμο του Amdahl</i> Παράδειγμα

Εάν ο συνολικός χρόνος εκτέλεσης ενός προγράμματος είναι 60 sec και τα 20 sec από αυτά μπορούν να χρησιμοποιήσουν την εξέλιξη, τότε το κλάσμα είναι 20/60. Αυτή η τιμή η οποία ονομάζεται Κλάσμαβελτιωμένο (Fractionenhanced ) είναι πάντα μικρότερο ή ίσο της μονάδας.

Κλάσμαβελτιωμένο 1 Ένδειξη τέλους Παραδείγματος

  1. Η βελτίωση που πετυχαίνουμε με τον βελτιωμένο τρόπο εκτέλεσης, δηλαδή πόσο πιο γρήγορα θα εκτελεστεί η εργασία αν χρησιμοποιηθεί ο βελτιωμένος τρόπος για ολόκληρο το πρόγραμμα. Αυτή η τιμή είναι ο χρόνος του αρχικού τρόπου εκτέλεσης προς το χρόνο του βελτιωμένου τρόπου.

Παράδειγμα

Εάν ο βελτιωμένος τρόπος χρειάζεται 2sec για ένα τμήμα του προγράμματος το οποίο μπορεί να χρησιμοποιήσει ολόκληρο τον τρόπο αυτό, ενώ α αρχικός τρόπος χρειάζεται 5 sec για το ίδιο τμήμα η βελτίωση είναι 5/2.  Ένδειξη τέλους Παραδείγματος

Θα ονομάζουμε αυτή την τιμή, η οποία είναι πάντα μεγαλύτερη της μονάδας, επιτάχυνσηβελτιωμένη.
Εάν χρησιμοποιήσουμε τον αρχικό αλλά βελτιωμένο υπολογιστή, ο χρόνος εκτέλεσης θα είναι το άθροισμα του χρόνου που καταναλώνεται χρησιμοποιώντας τμήμα του υπολογιστή που δεν έχει βελτιωθεί και του χρόνου που καταναλώθηκε χρησιμοποιώντας την βελτίωση (τύπος 1.15 - 1.16):

    (Τύπος 1.15)


    (Τύπος 1.16)

'Οσο προσθέτουμε βελτιώσεις η αυξανόμενη βελτίωση στην επιτάχυνση που επιτυγχάνουμε από μία επιπρόσθετη βελτίωση ελαττώνεται. Μία απόρροια του νόμου του Amdahl είναι ότι αν μία βελτίωση χρησιμοποιείται μόνο σε ένα κλάσμα της εργασίας, δεν μπορούμε να επιταχύνουμε την εργασία αυτή περισσότερο από το αντίστροφο του 1 μείον αυτό το κλάσμα..

Μπορούμε να χρησιμοποιήσουμε τον νόμο του Amdahl για να βρούμε πόσο θα συμβάλλει στην βελτίωση της απόδοσης η βελτίωση που θα κάνουμε στον υπολογιστή και πως θα κατανεμηθούν οι πόροι του συστήματος για την βελτίωση του λόγου κόστος/απόδοση. Ακόμη μπορούμε να τον χρησιμοποιήσουμε για να συγκρίνουμε δύο εναλλακτικά σχέδια υπολογιστή.

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

Έστω ότι ο βελτιωμένος υπολογιστής είναι 10 φορές ταχύτερος από τον αρχικό, αλλά χρησιμοποιεί μόνον το 40% του χρόνου του. Να βρείτε ποια είναι η ολική επιτάχυνση που πραγματοποιήθηκε από την ενσωμάτωση της βελτίωσης;

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 1

Παραδείγματα στην υποενότητα 2.1.1Παράδειγμα

Στο προηγούμενο παράδειγμα έπρεπε να γνωρίζουμε τον χρόνο που καταναλώνεται από τις βελτιωμένες λειτουργίες κινητής υποδιαστολής. Συνήθως είναι δύσκολο να υπολογίσουμε αυτούς τους χρόνους απ' ευθείας. Ακολουθεί ένας άλλος τρόπος σύγκρισης των εναλλακτικών σχεδίων, που χρησιμοποιεί μια εξίσωση ανάλυσης του χρόνου εκτέλεσης της ΚΜΕ σε τρία συστατικά μέρη. Εάν γνωρίζουμε τον τρόπο επιρροής της εναλλακτικής λύσης στα συστατικά αυτά, προσδιορίζεται και η επιρροή στη συνολική απόδοση. Επιπλέον μπορούμε να φτιάξουμε εξομοιωτές που υπολογίζουν αυτά τα συστατικά της εξίσωσης πριν σχεδιαστεί το υλικό (hardware) του υπολογιστή.