Ο νόμος της AMDAHL δηλώνει ότι η μέγιστη επιτάχυνση που επιτυγχάνεται με την παραλληλισμό ενός προγράμματος περιορίζεται από το τμήμα του προγράμματος που * δεν μπορεί να παραλληλιστεί. Ας το σπάσουμε:
* σειριακό τμήμα: Ορισμένα μέρη ενός προγράμματος απαιτούν εγγενώς διαδοχική εκτέλεση. Για παράδειγμα, ένας μόνο βρόχος που εξαρτάται από το αποτέλεσμα της προηγούμενης επανάληψης δεν μπορεί να παραλληλιστεί αποτελεσματικά. Αυτό είναι το κλάσμα του προγράμματος που παραμένει διαδοχικό, συχνά υποδηλώνεται ως «F».
* Παράλληλο τμήμα: Αυτό είναι το κλάσμα του προγράμματος που * μπορεί * να παραλληλιστεί, (1 - F).
* Αριθμός επεξεργαστών: Το 'n' αντιπροσωπεύει τον αριθμό των επεξεργαστών που χρησιμοποιούνται.
Ο νόμος τύπος του Amdahl:
Speedup =1 / (f + (1 - f) / n)
Γιατί είναι σχετικό με τους παράλληλους υπολογιστές:
Ανεξάρτητα από το πόσοι επεξεργαστές ('n') προσθέτετε, αν ακόμη και ένα μικρό τμήμα του προγράμματος ('f') είναι εγγενώς διαδοχική, η επιτάχυνση θα καλύψει. Για παράδειγμα:
* Εάν το 10% του προγράμματος είναι διαδοχικό (F =0,1), ακόμη και με έναν άπειρο αριθμό επεξεργαστών (N προσεγγίζει το Infinity), η μέγιστη ταχύτητα είναι μόνο 1 / 0,1 =10.
Ως εκ τούτου, ο νόμος της Amdahl δεν αφορά τους παράλληλους υπολογιστές * όχι * να υπόκεινται στις αρχές του. Πρόκειται για την προβολή των εγγενών περιορισμών τους στην επιτάχυνση. Ο αποτελεσματικός παράλληλος προγραμματισμός απαιτεί ελαχιστοποίηση του διαδοχικού τμήματος ('F') για τη μεγιστοποίηση των οφέλη της παραλληλισμού. Η παραβίαση του νόμου της Amdahl οδηγεί σε μη ρεαλιστικές προσδοκίες σχετικά με τα κέρδη απόδοσης που επιτυγχάνονται μέσω της παράλληλης επεξεργασίας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα