Parallel fault simulation and test generation automation processes for chip multiprocessors

Stavros Hadjitheophanous · Gnosis · 2018

Ζούμε στη εποχή των αρχιτεκτονικών πολλαπλών πυρήνων όπου προϊόντα καθημερινής χρήσης όπως τα έξυπνα τηλέφωνα, wearable’s, τάμπλετς ακόμα και αυτοκίνητα εμπεριέχουν ολοκληρωμένα κυκλώματα πολλαπλών πυρήνων. Ο αριθμός των ενσωματωμένων πυρήνων ποικίλει από μερικές δεκάδες σε συσκευές χαμηλών προδιαγραφών σε μερικές εκατοντάδες στους υπερυπολογιστές. Η διαχρονική σμίκρυνση της τεχνολογίας και οι προβλέψεις για ακόμα περεταίρω αύξηση στον αριθμό των πυρήνων ανα τσιπ έχουν θέσει του πολυπύρηνους επεξεργαστές στο επικέντρο του ενδιαφέροντος από διάφορα ερευνητικά προγράματα. Οι πολύ-επεξεργαστές έχουν την δυνατότητα να εκτελούν πολλαπλές εντολές παράλληλα σε διαφορετικούς πυρήνες μειώνοντας σημαντικά τον συνολικό χρόνο εκτέλεσης του προγράμματος. Επιπρόσθετα, προσφέρουν μεγάλη επεξεργαστική δύναμη, γρήγορη και ομοιόμορφη πρόσβαση ενσωματωμένης μνήμης και έξυπνους μηχανισμούς ενδο-επικοινωνίας μεταξύ των πυρήνων και αποφυγής συγκρούσεων στην κοινή μνήμη (shared memory coherency) καθιστώντας τους ιδανικούς για πολλές εφαρμογές όπως εφαρμογές επεξεργασίας ψηφιακού σήματος, ενσωματωμένων συστημάτων, δικτύων, μονάδων επεξεργασίας γραφικών (GPUs) και πολλά αλλά. Θεμελιώδης και επεξεργαστικά δύσκολα προβλήματα αυτόματου έλεγχου όπως το πρόβλημα της προσομοίωσης σφαλμάτων (fault simulation) και παραγωγής διανυσμάτων δοκιμής (test generation) μπορούν να εκμεταλλευτούν τις τελευταίες εξελίξεις στο τομέα των πολυπύρηνων επεξεργαστών για να προσφέρουν πιο αποτελεσματικές λύσεις. Η δομή των αλγορίθμων αλλά και η στοχευμένη εκτέλεση των προγραμμάτων μπορούν να επηρεάσουν σημαντικά τη απόδοση των πολυεπεξεργαστών. Σύμφωνα με τον νόμο του Amdahl η επιτάχυνση που επιτυγχάνετε μέσω του παραλληλισμού είναι άμεσα συνδεδεμένη με το ποσοστό του κώδικα που μπορεί να παραλληλοποιηθεί. Για την παραλληλοποιήση βασικών προβλήματων αυτόματου ελέγχου οι μηχανικοί έχουν την τάση να βασίζονται σε εκλεπτυσμένους μεταγλωττιστές και αυτόματα εργαλεία παραλληλοποίησης κώδικα τα οποία δεν εκμεταλλεύονται πλήρως τους επεξεργαστικούς πόρους της εκάστοτε αρχιτεκτονικής. Τα συγκεκριμένα προβλήματα λόγω την αυξημένης τους πολυπλοκότητας και της δυναμικής τους φύσης είναι πολύ δύσκολο να προβλεφθεί η ροή εκτέλεσης τους και ως αποτέλεσμα οι μεταγλωττιστές και τα αυτόματα εργαλεία παραλληλοποίησης του κώδικα δεν μπορούν να δουλέψουν αποδοτικά και συχνά καταλήγουν σε μη--βέλτιστες λύσεις. Οι ευκαιρίες που προσφέρονται από την εξέλιξη των πολυπύρηνων επεξεργαστών δημιουργούν μεγαλύτερες προκλήσεις για την παραλληλοποίηση δύσκολων προβλημάτων αυτόματου έλεγχου. Διάφοροι παραδοσιακοί αλγόριθμοι θα πρέπει να ξανασχεδιαστούν λαμβάνοντας υπόψη όλα τα πλεονεκτήματα και μειονεκτήματα που προσφέρονται από τη ανάπτυξη των πολυπύρηνων επεξεργαστών. Αυτή η διατριβή μελετά την επίδραση που έχει οδιαχωρισμός του φόρτου εργασίας κατά την παραλληλοποίηση δύσκολων προβλημάτων αυτόματου ελέγχου ο οποίος μπορεί να έχει σημαντική επιρροή στην αποδοτικότητα αλλά και στην ποιότοιτα των αποτελεσμάτων τους. Επιπρόσθετα αναλύονται διάφορες μεθόδοι παραλληλοποίησης οι οποίες στοχεύουν να βελτιώσουν σημαντικά την απόδοση των προβλημάτων προσομοίωσης σφαλμάτων (fault simulation) και παραγωγής διανυσμάτων δοκιμής (test generation), βασισμένοι στις πολυπύρηνες ομογενείς αρχιτεκτονικές κοινής μνήμης. Οι προτεινόμενες μέθοδοι είναι ικανές να διατηρούν την επεκτασιμότητα τους καθώς αυξάνετε ο αριθμός των επεξεργαστών που χρησιμοποιούνται καθώς επίσης να διατηρούν και την καλή ποιότητα των αποτελεσμάτων. Επίσης, η διατριβή προτείνει μια τροποποιημένη παράλληλη μέθοδο την παραγωγή διανυσμάτων δοκιμής για το πρόβλημα των πολλαπλών ανιχνεύσεων (n-detect) test set. Τα αποτελέσματα των πειραμάτων επιβεβαιώνουν τις μεγάλες δυνατότητες των προτεινόμενων λύσεων. Επιπρόσθετα, η παρούσα διατριβή μελετά αλγόριθμους για την βελτίωση της αξιοπιστίας σε μικρό-επεξεργαστές πολλαπλών πυρήνων (CMP). Η παρατεταμένη καταπόνηση ενός συγκεκριμένου μέρους των επεξεργαστών πολλαπλών πυρήνων συνδέεται με τη αυξανόμενη ευαισθησία στην φθορά. Ενώ μια αποτυχία σε ένα τμήμα του τσιπ μπορεί να μην είναι απαραιτήτως καταστροφική για ολόκληρο το σύστημα, εντούτοις, ακόμη και μια απλή φθορά σε ένα κρίσιμο μονοπάτι για παράδειγμα σε συστήματα δίκτυων σε τσιπ (NoC) ή σε ένα από τους επεξεργαστές πυρήνα μπορεί να θέσει εκτός λειτουργιάς ολόκληρο το CMP. Διάφορα διανύσματα δοκιμής μπορούν να δημιουργηθούν κατά την διάρκεια του σχεδιασμού του CMP και μπορούν να εφαρμοστούν κατά τη διάρκεια αδράνειας της λειτουργιάς του για να βοηθήσουν στην παράταση της διάρκειας ζωής του. Στην παρούσα διατριβή παρουσιάζεται μια νέα τεχνική παραγωγής διανυσμάτων δοκιμής (exercise vectors) βασισμένη κυρίως σε τεχνικές αυτόματης παραγωγής διανυσμάτων δοκιμής (ATPG) η οποία μπορεί να παράξει ένα μικρό αριθμό διανυσμάτων που βοηθούν στην βελτίωση της αξιοπιστίας των CMP.

Read the paper · More papers on PaperTik