Διαφορές μεταξύ SIMD και MIMD

Ο παράλληλος υπολογισμός λειτουργεί διαιρώντας μεγάλα προβλήματα σε μικρότερα προβλήματα τα οποία στη συνέχεια λύνονται ταυτόχρονα. Το SIMD και το MIMD είναι δύο διαφορετικές αρχιτεκτονικές παράλληλων υπολογιστών που χρησιμοποιούν πολλαπλούς επεξεργαστές και μερικές φορές πολλούς υπολογιστές για την επεξεργασία δεδομένων. Το SIMD σημαίνει Ενιαία ροή εντολών Multiple Data stream, ενώ MIMD σημαίνει Multiple Instruction stream Multiple Data stream. Οι αρχιτεκτονικές SIMD και MIMD εκτελούν παρόμοιες βασικές λειτουργίες, αλλά διαφέρουν τόσο πρακτικά όσο και τεχνικά.

Καθορισμένο SIMD

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

Το βίντεο της ημέρας

Καθορισμένο MIMD

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

Πρακτικές διαφορές

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

Τεχνικές Διαφορές

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