Εξερευνώντας τη μαύρη τρύπα των υπολογιστών

Εξερευνώντας τη μαύρη τρύπα των υπολογιστών

Ενα στα 1.000 τσιπ κάνει λάθος χωρίς να το αντιλαμβάνεται κανείς. Μια ομάδα ερευνητών από το Πανεπιστήμιο Αθηνών προσπαθεί να εξιχνιάσει το μυστήριο για λογαριασμό της Meta

8' 11" χρόνος ανάγνωσης
Ακούστε το άρθρο

Τα μικροτσίπ των υπολογιστών μας δεν είναι αλάνθαστα. Κάνουν «σιωπηλά σφάλματα», δηλαδή λανθασμένους υπολογισμούς που δεν γίνονται αντιληπτοί. Ο καθηγητής Αρχιτεκτονικής Υπολογιστών του ΕΚΠΑ, Δημήτρης Γκιζόπουλος, και η ερευνητική ομάδα του κέρδισαν μια συνεργασία με τη Meta, προκειμένου να μετρήσουν το σοβαρό αυτό πρόβλημα και να το περιορίσουν.

Οταν ψάχνουμε μια πληροφορία στη διαδικτυακή μηχανή αναζήτησης, εμπιστευόμαστε ότι το αποτέλεσμα που θα πάρουμε είναι αξιόπιστο. Οταν μπαίνουμε στο e-banking μας πιστεύουμε ότι το ποσό που εμφανίζεται στην οθόνη μας είναι σωστό, και κοιμόμαστε ήσυχοι. Ποιος από εμάς ελέγχει τα αποτελέσματα που του δίνουν αδιάκοπα οι υπολογιστές; Μέχρι πρότινος, η εμπιστοσύνη αυτή ήταν βάσιμη, καθώς οι ερευνητές που μελετούν την αξιοπιστία των υπολογιστικών συστημάτων θεωρούσαν ότι η πιθανότητα εμφάνισης σφαλμάτων στη λειτουργία των μικροεπεξεργαστών κυμαίνονταν από το 1 στο εκατομμύριο τσιπ μικροεπεξεργαστών, έως το 1 στο δισεκατομμύριο τσιπ, δηλαδή πολύ σπάνια. Τον Φεβρουάριο του 2021, ωστόσο, η εταιρεία Meta (εκείνη την εποχή ακόμη ως Facebook) ήρθε να ταράξει τα νερά, δημοσιεύοντας μια μελέτη η οποία ανέφερε ότι τα σφάλματα των μικροτσίπ εμφανίζονται πολύ συχνότερα: φτάνουν το 1 στα 1.000 μόλις τσιπ επεξεργαστών. Με απλά λόγια, ένα στα χίλια τσιπάκια δίνει λάθος αποτελέσματα. Στην κοινότητα της τεχνολογίας προκλήθηκε ένας μικρός σεισμός. Οι New York Times έγραψαν χαρακτηριστικά «μικρά τσιπ, τεράστιοι πονοκέφαλοι».

Τέσσερις μήνες μετά την αποκάλυψη της Meta, ήρθε και η Google να επιβεβαιώσει το πρόβλημα και τη συχνότητά του. Χωρίς χρονοτριβή, ο τεχνολογικός κολοσσός Meta έσπευσε να προκηρύξει ένα διαγωνισμό προς τη διεθνή ακαδημαϊκή κοινότητα, αναζητώντας λύσεις για τα επονομαζόμενα «σιωπηλά σφάλματα» των υπολογιστών. Ανάμεσα στα πέντε μόλις πανεπιστήμια που κέρδισαν, συγκαταλέγεται το Τμήμα Πληροφορικής και Τηλεπικοινωνιών του Εθνικού Καποδιστριακού Πανεπιστημίου Αθηνών. Ο Δημήτρης Γκιζόπουλος, καθηγητής Αρχιτεκτονικής Υπολογιστών, και η ομάδα του κατάφεραν να πείσουν τη Meta ότι μπορούν να βρουν απαντήσεις σε αυτό το περίπλοκο και δυνητικά ανησυχητικό πρόβλημα. «Είναι μια σημαντική επιτυχία, δηλωτική του υψηλού επιπέδου των πανεπιστημιακών ιδρυμάτων και των ερευνητών μας ακόμη και στην έρευνα των τεχνολογιών αιχμής», επισημαίνει ο εισηγητής της πρότασης. «Εγιναν 62 προτάσεις από 54 πανεπιστήμια όλου του κόσμου και μαζί με τη δική μας εγκρίθηκαν εκείνες κορυφαίων ιδρυμάτων μόνο της Βορείου Αμερικής: του Στάνφορντ, του Κάρνεγκι Μέλον, του Νορθίστερν των ΗΠΑ και το Μπρίτις Κολούμπια του Καναδά», συμπληρώνει ο καθηγητής.

«Ενας υπολογιστής μπορεί να μη δουλέψει σωστά για πολλούς λόγους», εξηγεί ο κ. Γκιζόπουλος. «Μπορεί ο μικροεπεξεργαστής να μην έχει σχεδιαστεί σωστά ή να μην έχει κατασκευαστεί σωστά, ή να επηρεάζεται η λειτουργία του από περιβαλλοντικούς παράγοντες (ακτινοβολία, θερμοκρασία) ή, τέλος, μπορεί ν’ αρχίσει να φθείρεται από την έντονη και μακροχρόνια χρήση. Και οι τέσσερις αυτοί λόγοι μπορεί να οδηγήσουν σε εσφαλμένη εκτέλεση των προγραμμάτων μας. Αυτό δεν είναι κάτι νέο, το γνωρίζαμε για δεκαετίες. Ξέραμε κυρίως ότι το πρόβλημα είναι στις κύριες μνήμες και στις μαγνητικές ή στις άλλες εξωτερικές συσκευές μαζικής αποθήκευσης, τους λεγόμενους δίσκους. Δεν ξέραμε ότι το πρόβλημα είναι τόσο εκτεταμένο στην κεντρική μονάδα επεξεργασίας (CPU), δηλαδή στον επεξεργαστή».

Ο κ. Γκιζόπουλος τονίζει ότι στις μονάδες αποθήκευσης έχουμε ευκολότερους τρόπους για να αντιληφθούμε ότι υπάρχει λάθος ή και να το διορθώσουμε χωρίς ο χρήστης να το αντιληφθεί. Ομως, ακόμη κι όταν το σφάλμα δεν μπορεί να διορθωθεί, τότε συνήθως παρουσιάζεται μια εύκολα αντιληπτή εσφαλμένη λειτουργία. Είναι αυτό που συμβαίνει όταν «κρασάρουν» οι υπολογιστές και βγάζουν «μπλε οθόνη» τα Windows. Συχνά, τόσο μέσα στο hardware όσο και μέσα στο software, υπάρχουν κώδικες διόρθωσης ή ανίχνευσης σφαλμάτων, οι οποίοι υποδεικνύουν στον χρήστη ότι κάτι δεν δουλεύει σωστά, και γι’ αυτό δεν θα πρέπει να λάβει υπόψη του το αποτέλεσμα. Στη CPU, όμως, εκεί όπου βρίσκεται ο μικροεπεξεργαστής, τα πράγματα είναι διαφορετικά. Μπορεί να υπάρχει πρόβλημα και το αποτέλεσμα ενός κρίσιμου αριθμητικού υπολογισμού να είναι λανθασμένο, αλλά να μην το μάθει ποτέ κανείς εγκαίρως, γι’ αυτό και τα σφάλματα εκεί ονομάζονται «σιωπηλά».

«Αν βάλω στο Excel 5 συν 7 και δεν μου δώσει 12 το καταλαβαίνω αμέσως», εξηγεί ο κ. Γκιζόπουλος. «Το Excel όμως δεν το χρησιμοποιώ για να κάνω τόσο απλούς υπολογισμούς, του λέω 11,356 επί 145,8, και μου δίνει ένα αποτέλεσμα και πηγαίνω κι αγοράζω ένα αυτοκίνητο ή λέω τόσα χρήματα έχω στην τράπεζα. Ελέγχετε ποτέ αυτό που σας δίνει το Excel; Το σφάλμα που περιέγραψε η Meta στην πρώτη δημοσίευση είναι το εξής: μια συγκεκριμένη CPU δεν κάνει σωστά μια ύψωση σε δύναμη: 1,153 ενώ όλα τα άλλα τα κάνει σωστά. Αντί να δώσει το σωστό αποτέλεσμα δίνει μηδέν. Αυτό το μηδέν αντιστοιχούσε στο μέγεθος ενός αρχείου στον δίσκο. Ο πελάτης έβλεπε το αρχείο στον δίσκο αλλά ο μετρητής του έδειχνε μηδέν, οπότε έλεγε “αφού το αρχείο υπάρχει γιατί μου λέει μηδέν;”. Μια άλλη CPU εκτελούσε σωστά τον παραπάνω υπολογισμό ενώ έκανε λάθος στον υπολογισμό 1,1 – 3 και μια τρίτη στον υπολογισμό 1,1107. Δεκάδες μηχανικοί έψαχναν να δουν τι συμβαίνει για διάστημα πολλών μηνών μέχρι να εντοπίσουν τις ελαττωματικές CPU και τη λανθασμένη εντολή στην καθεμιά. Στην εταιρεία επικράτησε πανικός».

Η Meta κι έπειτα η Google εντόπισαν το πρόβλημα γιατί δεν έχουν όπως όλοι εμείς μόνο ένα λάπτοπ να δουλεύει λίγες ώρες την ημέρα, αλλά έχουν δεκάδες εκατομμύρια μηχανές, επί τέσσερις, οκτώ πυρήνες η καθεμιά, οι οποίες δουλεύουν 24 ώρες την ημέρα εκτελώντας κάθε λογής προγράμματα. «Η διαπίστωση αυτή, ότι 1 στα 1.000 τσιπς της CPU αστοχεί, είναι κάτι τρελό. Αυτή τη στιγμή αν κάνετε στο τμήμα μας μια βόλτα, έχουμε σίγουρα πολλές χιλιάδες τσιπάκια επεξεργαστών. Πολλά απ’ αυτά, λοιπόν, είναι χαλασμένα και κανείς δεν ξέρει ποια». Το δυσεπίλυτο του προβλήματος σχετίζεται με την «ησυχία» του, γιατί «αν το πρόγραμμα που τρέχει ο υπολογιστής δεν χρησιμοποιεί την εσφαλμένη αριθμητική μονάδα, τότε όλες οι πράξεις του είναι σωστές. Αν όμως το πρόγραμμα που τρέχει ο υπολογιστής κάνει συνέχεια αυτή την πράξη, θα παράγει συνέχεια λανθασμένα αποτελέσματα, τα οποία όμως δεν θα γίνονται αντιληπτά».

«Είναι εφιαλτικό. Είναι συναρπαστικό. Ο δικός μας βασικός στόχος είναι να μετρήσουμε το μέγεθος του προβλήματος και να φτιάξουμε δοκιμές που θα ανιχνεύουν τα χαλασμένα τσιπάκια».

Οι προσομοιώσεις

«Ο ρυθμός εμφάνισης του σφάλματος εξαρτάται απ’ το hardware, απ’ το software και απ’ τις συνθήκες», εξηγεί ο κ. Γκιζόπουλος. «Εξαρτάται απ’ τη θερμοκρασία του δωματίου, απ’ την ηλικία του μηχανήματος, απ’ το υψόμετρο και άλλους παράγοντες. Μιλάμε για αριθμητικές πράξεις που απλώς δίνουν λανθασμένο αποτέλεσμα, δεν “κρασάρουν” τον υπολογιστή, και κανένας κώδικας ανίχνευσης, ή διόρθωσης δεν ανιχνεύει το λάθος. Είναι εφιαλτικό. Είναι συναρπαστικό. Θα μπορούσε να γίνει και σενάριο για ταινία. Ο δικός μας βασικός στόχος είναι να μετρήσουμε το μέγεθος του προβλήματος και να φτιάξουμε δοκιμές που θα ανιχνεύουν τα χαλασμένα τσιπάκια. Προσπαθούμε να κάνουμε μια προσομοίωση του προβλήματος, σε συνεργασία και με τις κατασκευάστριες εταιρείες των τσιπ, την Intel και την AMD, και να επινοήσουμε έξυπνες δοκιμές ώστε όταν χρησιμοποιήσεις το τσιπ σε πολλές μηχανές να μπορέσεις να ανιχνεύσεις σφάλματα και να μη χρησιμοποιήσεις περαιτέρω τα εσφαλμένα αποτελέσματα που αυτά δίνουν. Η ερευνητική συνεργασία τρέχει εδώ και μερικούς μήνες και είναι ένα μόνο κομμάτι του μεγάλου παζλ του προβλήματος».

Ο κ. Γκιζόπουλος δεν μπορεί να είναι βέβαιος για το μέγεθος του προβλήματος. «Μπορεί να βλέπουμε μόνο την κορυφή του παγόβουνου», προειδοποιεί. «Το πρόβλημα είναι σίγουρα πολύ μεγαλύτερο. Η Meta και η Google είχαν από έναν πελάτη που γύρισε και τους είπε ότι ο υπολογισμός που μου δώσατε ήταν λανθασμένος, γιατί το έλεγξα. Οι υπόλοιποι που δεν παραπονέθηκαν ποτέ, πόσοι είναι;».

Και τι μ’ ενδιαφέρει εμένα, θα αναρωτιέται ο μέσος άνθρωπος. Γιατί χρειάζονται ο κ. Γκιζόπουλος και η ομάδα του να παίξουν τον ρόλο των ντετέκτιβ για ένα πρόβλημα που εντοπίστηκε στα κέντρα δεδομένων της Meta και της Google; Η προφανής απάντηση είναι ότι όλοι χρησιμοποιούμε εφαρμογές αυτών των δύο εταιρειών. Επιπλέον, τα ίδια αυτά τσιπάκια μικροεπεξεργαστών χρησιμοποιούμε καθημερινά όλοι μας σε τεράστια κλίμακα σ’ όλες μας τις συσκευές: κινητά τηλέφωνα, ταμπλέτες, φορητούς υπολογιστές, επιτραπέζιους υπολογιστές. Τα τσιπάκια αυτών των συσκευών «γερνούν», «φθείρονται», επηρεάζονται από τις συνθήκες του περιβάλλοντος: άρα μπορεί να γεννούν τα ίδια σιωπηλά σφάλματα με τα τσιπ των Meta και Google.

Δύσκολη εξίσωση

Γνωρίζοντας ότι 1 στα 1.000 τσιπάκια μπορεί να κάνει λάθος υπολογισμούς, αρχίζει κανείς αναπόφευκτα να επανεκτιμά πολλά πράγματα, καθώς η ζωή μας βασίζεται ολοένα και περισσότερο στις ψηφιακές τεχνολογίες. Το γεγονός ότι είναι δύσκολο να μάθουμε ποια είναι τα προβληματικά τσιπάκια, δεν μπορεί παρά να εντείνει την ανησυχία. «Ενας απλός τρόπος για να βεβαιωθεί κάποιος είναι να τρέξει τους υπολογισμούς του σε δύο διαφορετικούς επεξεργαστές και να συγκρίνει το αποτέλεσμα», λέει ο καθηγητής, αλλά τέτοιες μέθοδοι επιβαρύνουν την απόδοση και την κατανάλωση ενέργειας των συσκευών. «Συνεπώς, στις CPU που χρησιμοποιούμε καθημερινά δεν είναι καθόλου απλό ή φθηνό να αντιληφθούμε το πρόβλημα αυτό. Σε εφαρμογές με υψηλή ανάγκη αξιοπιστίας το υψηλό κόστος πληρώνεται. Στα αεροπλάνα, για παράδειγμα, χρησιμοποιούνται τρεις CPU και δουλεύουν παράλληλα κάνοντας την ίδια δουλειά. Οι τράπεζες, επίσης, φροντίζουν να ελέγχουν τα αποτελέσματα των υπολογισμών. Εχουν πλεονασμό υπολογιστικής ικανότητας. Σε κάποιες περιοχές εφαρμογών, όμως, μπορεί να υπάρχει σοβαρός κίνδυνος και όχι πολλές δυνατότητες αντιμετώπισής του. Το πρόβλημα ξεκινά απ’ την κλίμακα. Αν η κλίμακα και οι συνθήκες χρήσης της CPU είναι τέτοιες που να έχεις μαζικότητα, πίεση, δύσκολους και χρονοβόρους υπολογισμούς, τότε μπορεί να υπάρχει πρόβλημα. Στους υπερυπολογιστές μπορεί το αποτύπωμά του να είναι σημαντικό. Στην έρευνα για τα εμβόλια, για παράδειγμα. Αν οι υπολογισμοί έχουν σφάλμα θα σε οδηγήσουν σε σοβαρά λάθη, κάτι που σε περιόδους εκτάκτου ανάγκης μπορεί να αποβεί καταστροφικό».

Σύμφωνα με τον κ. Γκιζόπουλο, τα «σιωπηλά σφάλματα» δεν πρέπει να μας προκαλούν πανικό. «Το πρόβλημα δεν θα λυθεί ποτέ οριστικά αφού οι μέθοδοι σχεδίασης και οι τεχνικές κατασκευής επεξεργαστών γίνονται όλο και ποιο πολύπλοκες, αλλά αυτοί που θα είναι διατεθειμένοι να πληρώσουν το κόστος, θα βρουν λύσεις. Αυτή τη στιγμή, ο σκοπός είναι να μετρηθεί με ακρίβεια η έκταση του προβλήματος και να περιοριστεί». Εμείς οι υπόλοιποι ελπίζουμε ότι, όπως στο τέλος πολλών αστυνομικών ταινιών, ο ντετέκτιβ να βρει τους ενόχους και να συνεχίσουμε ως χρήστες και θεατές να κοιμόμαστε ήσυχοι.

⇒ Ειδήσεις σήμερα

Ακολουθήστε το kathimerini.gr στο Google News και μάθετε πρώτοι όλες τις ειδήσεις

Δείτε όλες τις τελευταίες Ειδήσεις από την Ελλάδα και τον Κόσμο, στο kathimerini.gr 

Λάβετε μέρος στη συζήτηση 0 Εγγραφείτε για να διαβάσετε τα σχόλια ή
βρείτε τη συνδρομή που σας ταιριάζει για να σχολιάσετε.
Για να σχολιάσετε, επιλέξτε τη συνδρομή που σας ταιριάζει. Παρακαλούμε σχολιάστε με σεβασμό προς την δημοσιογραφική ομάδα και την κοινότητα της «Κ».
Σχολιάζοντας συμφωνείτε με τους όρους χρήσης.
Εγγραφή Συνδρομή