Σημαντικό σφάλμα στους νέους επεξεργαστές της AMD

Dragonfly BSD.jpg

Ο Matt Dillon (όχι, όχι ο ηθοποιός), γνωστός ως ο δημιουργός του Dragonfly BSD και, παλαιότερα, της εφαρμογής μεταφοράς αρχείων Diablo (όχι, όχι το παιχνίδι), εντόπισε ένα σημαντικό πρόβλημα στους επεξεργαστές της AMD – το οποίο επιβεβαίωσε και η ίδια. Αν και το πρόβλημα δεν επηρεάζει τον τυπικό, “μέσο χρήστη”, ούτε τις περισσότερες περιπτώσεις χρήσης, μπορεί να οδηγήσει σε εσφαλμένα αποτελέσματα σε ορισμένες, συγκεκριμένες διαδικασίες. Εκτός αν κάποιος χρησιμοποιεί το Dragonfly BSD.

Σε αυτό εντόπισε αρχικά ο Matt το πρόβλημα, αφού το λειτουργικό σύστημα φαινόταν να “κολλάει” χωρίς λόγο (“εμφάνιζε segmentation faults”, στα Windows κάτι τέτοιο συνήθως οδηγεί “σε μπλε οθόνες”) όταν ο επεξεργαστής ήταν αρκετά “φορτωμένος”. Χρειάστηκε να… τραβάει τα μαλλιά του για ένα χρόνο στην προσπάθεια να εντοπίσει το πρόβλημα και, τελικά, κατέληξε στο συμπέρασμα πως ίσως “κάτι παίζει” με το ίδιο το hardware. Το οποίο ήταν κάτι φαινομενικά αδύνατο – όπως είπε και ο ίδιος, “δεν τυγχαίνει συχνά κάποιος σαν εμένα να εντοπίσει σφάλμα σε εμπορικά διαθέσιμους επεξεργαστές – και μάλιστα, μεγάλου κατασκευαστή”.

Ο τρόπος εντοπισμού του προβλήματος είναι κομματάκι τεχνικός, και μάλλον δεν υπάρχει λόγος να αναλωθούμε σε αυτόν. Εν συντομία, ο Matt παρατήρησε πως το πρόβλημα κάνει την εμφάνιση του ευκολότερα…

Quote:

…όταν τρέχει σε loop το “cc1” μέσω του gcc-4.4…

…που τυγχάνει (ο gcc) ο πιο διαδεδομένος C compiler στο χώρο του Open Source (με αυτόν “πακετάρονται” από τον αρχικό τους κώδικα όλες οι εφαρμογές – ώστε “να είναι εκτελέσιμες”, για να το θέσουμε απλά). Σε αυτή την περίπτωση το σφάλμα εμφανίζεται μέσα σε 60 δευτερόλεπτα, ενώ μέχρι να εντοπίσει αυτή τη μέθοδο, χρειαζόταν μέχρι και 2 ημέρες με 48 πυρήνες σε πλήρη φόρτο μέχρι να εμφανιστεί.

Ο Matt έστειλε ένα custom image του Dragonfly BSD με τις κατάλληλες ρυθμίσεις στην AMD, που χρησιμοποιώντας επιβεβαίωσε την ύπαρξη του προβλήματος. Λύση… μάλλον δεν προβλέπεται, αφού το πρόβλημα “βρίσκεται σε επίπεδο hardware” και – το τονίζουμε, δεν είμαστε δημιουργοί επεξεργαστών, “μάλλον” – θα χρειαστεί ανασχεδίαση τους για την αποτελεσματική αντιμετώπιση του. Για την ώρα, αναμένεται επίσημη ανακοίνωση από την εταιρεία.

Info

Η ανακοίνωση του Matt Dillon βρίσκεται εδώ. Η περιγραφή του προβλήματος και του πώς να το αναπλάσει κανείς είναι αναρτημένη εδώ.

Source:

”Matt Dillon of DragonFly BSD just announced that AMD confirmed a CPU bug he found. Matt quotes part of the mail exchange and it looks like ‘consecutive back-to-back pops and (near) return instructions can create a condition where the processor incorrectly updates the stack pointer.’ The specific manifestations in DragonFly were random segmentation faults under heavy load.”

...γνωστός και ως Οδυσσέας Κουράφαλος, αρχικός υπεύθυνος για το unregistered. Συντάκτης, γραφίστας, "μαλτιμηντιάς", φανατικός της science fiction και των αστείων γατιών στου ιντερνέτ. "Δηλώνω graphics whore" (παίζω Ms. Pac-Man στο MAME με 2xSAL και το πρώτο Max Payne με FXAA antialiasing). Load "unreg*",8,1.