Ένα τσιπ υπολογιστή με 36 πυρήνες παρουσίασαν ερευνητές του ΜΙΤ στο πλαίσιο του International Symposium on Computer Architecture, με επικεφαλής τον Λι Σιουάν Πεχ.
Ένα τσιπ υπολογιστή με 36 πυρήνες παρουσίασαν ερευνητές του ΜΙΤ στο πλαίσιο του International Symposium on Computer Architecture, με επικεφαλής τον Λι Σιουάν Πεχ.
Όσο περισσότερους πυρήνες – μονάδες επεξεργαστή- διαθέτει ένα τσιπ υπολογιστή, τόσο μεγαλύτερο είναι το πρόβλημα της συνεργασίας/ επικοινωνίας μεταξύ τους. Κατά τον Πεχ, τα multicore τσιπ του μέλλοντος θα πρέπει να μοιάζουν με «μικρά Ίντερνετ», όπου ο κάθε πυρήνες θα έχει ένα δικό του «router» και τα δεδομένα μεταξύ των πυρήνων θα μεταδίδονται σε «πακέτα» συγκεκριμένου μεγέθους.
Το 36πύρηνο τσιπ που παρουσιάστηκε διαθέτει ακριβώς ένα τέτοιο «δίκτυο σε τσιπ» και ενσωματώνει πολλές παλαιότερες ιδέες της ομάδας του Πεχ, ενώ παράλληλα επιλύει ένα από τα προβλήματα αντίστοιχων προσπαθειών του παρελθόντος: τη διατήρηση της συνοχής cache (cache coherence)- την εξασφάλιση ότι οι τοπικά αποθηκευμένες κόπιες δεδομένων παραμένουν ανανεωμένες και επίκαιρες.
Στα σημερινά τσιπ, όλοι οι πυρήνες (μεταξύ δύο και έξι) συνδέονται με ένα καλώδιο (bus). Όταν δύο πυρήνες πρέπει να επικοινωνήσουν, αποκτούν αποκλειστική πρόσβαση σε αυτό. Ωστόσο αυτή η μέθοδος αντιμετωπίζει προβλήματα όσο αυξάνονται οι πυρήνες, καθώς αναγκαστικά θα πρέπει να περνούν χρόνο περιμένοντας την απελευθέρωση του bus αντί να πραγματοποιούν υπολογισμούς.
Στην περίπτωση του network-on-chip ο κάθε πυρήνες συνδέεται μόνο με αυτούς που είναι ακριβώς δίπλα του. «Μπορείς να φτάσεις πολύ γρήγορα στους ‘γείτονές’ σου» σημειώνει η Μπάβια Ντάγια, φοιτήτρια ηλεκτρολογίας/ μηχανολογίας και επιστήμης υπολογιστών του ΜΙΤ και πρώτη συντάκτρια του σχετικού paper. «Μπορείς επίσης να έχεις πολλαπλά μονοπάτια προς τον προορισμό σου. Οπότε, αν πρέπει να πας κάπου μακριά, αντί να έχεις ένα συνωστισμένο δρόμο, μπορείς να έχεις πολλαπλούς».
Ένα πλεονέκτημα του bus, ωστόσο, είναι ότι διευκολύνει τη διατήρηση του cache coherence. Κάθε πυρήνας σε ένα τσιπ έχει τη δική του cache: μία τοπική, υψηλής ταχύτητας memory bank, όπου αποθηκεύει δεδομένα που χρησιμοποιούνται συχνά. Καθώς πραγματοποιεί υπολογισμούς, ενημερώνει τα δεδομένα στην cache και ανά χρονικά διαστήματα μεταφέρει τα δεδομένα πίσω στην κύρια μνήμη. Εάν ένας άλλος πυρήνας χρειαστεί τα δεδομένα αυτά πριν μεταφερθούν στην κύρια μνήμη, τότε ενεργοποιείται το πρωτόκολλο «snoopy», το οποίο στην ουσία είναι η παρακολούθηση επικοινωνιών άλλων πυρήνων. Όταν ένας πυρήνας θέλει ένα συγκεκριμένο κομμάτι δεδομένων, μεταδίδει ένα αίτημα σε όλους τους άλλους πυρήνες και όποιος το έχει του το στέλνει. Εάν όλοι οι πυρήνες μοιράζονται ένα bus, τότε όταν ένας από αυτούς λαμβάνει ένα τέτοιο αίτημα, «ξέρει» ότι πρόκειται για το πλέον πρόσφατο αίτημα- αντίστοιχα, ο πυρήνας που λαμβάνει τα δεδομένα «ξέρει» ότι είναι τα πλέον ανανεωμένα.
Σε ένα network-on-a-chip τα δεδομένα «πετούν» παντού και τα «πακέτα» μπορούν να φτάνουν σε διαφορετικούς πυρήνες σε διαφορετικές ακολουθίες. Οι ερευνητές του ΜΙΤ έλυσαν αυτό το πρόβλημα εφοδιάζοντας το τσιπ με ένα δεύτερο δίκτυο, το οποίο αποτελεί «σκιά» του πρώτου. Τα κυκλώματα που συνδέονται σε αυτό είναι πολύ απλά, και το μόνο που κάνουν είναι να «ανακοινώνουν» ότι οι πυρήνες με τους οποίους σχετίζονται έχουν στείλει αιτήματα για δεδομένα στο κύριο δίκτυο. Οι «ανακοινώσεις» αυτές είναι εξαιρετικά απλές, οπότε και το δεύτερο δίκτυο μπορεί να τις διαχειριστεί εύκολα.
Επόμενος «σταθμός» μετά τη δοκιμή των πρωτότυπων τσιπ είναι η χρήση τους με μία έκδοση του Linux ειδικά διαμορφωμένη για να «τρέχει» σε 36 πυρήνες, και η αξιολόγηση των επιδόσεων σε πραγματικές εφαρμογές.