Τετάρτη, 27 Αυγούστου 2008

Software bugs που γράφουν ιστορία

Με την καλοκαιρινή αποδιοργάνωση του Αυγούστου μερικοί ίσως έχασαν 3 κλασικές περιπτώσεις όπου ένα σφάλμα σε Η/Υ μπορεί να οδηγήσει σε τραγικά ή κωμικά αποτελέσματα

Περίπτωση πρώτη (8/8): Τελετή έναρξης των Ολυμπιακών αγώνων του Πεκίνου. Καθώς ο λαμπαδηδρόμος κρέμεται πάνω από τους θεατές "τρέχοντας" με τη φλόγα προς την κορύφωση της τελετής, κάποιοι από τους projectors του σταδίου προβάλλουν την πολύ γνωστή και συνηθισμένη (δυστυχώς) μπλε εικόνα με χοντρά λευκά courier γράμματα, αριθμούς και σύμβολα που όποιοι τα ξέρουν καλά τους λούζει ιδρώτας όποτε τα βλέπουν - λέγονται BSOD ή αλλιώς "Blue Screens of Death", που σημαίνουν ότι τα Windows σε κάποιο PC έσκασαν από το κακό τους και χρειάζονται ροπαλιά για να επανέλθουν. Να τι έπαθαν οι Κινέζοι διοργανωτές με τα δικά τους:

*** "Blue Screen of Death on The Opening Ceremony of Beijing 2008 Olympic Games"

Περίπτωση δεύτερη (15/8): Και ενώ ακόμα και τα κανάλια που βάρεσαν λουκέτο λόγω διακοπών τώρα έχουν αρχίσει να λένε κάτι τέλος πάντων για το χαμό που γίνεται από τις 8/8 στη Γεωργία, μερικοί Αμερικανοί αποδεικνύουν ότι δεν ξεκολλάνε ΜΕ ΤΙΠΟΤΑ. Το Google News βγάζει την είδηση για τον πόλεμο και την εισβολή των τανκς και ακριβώς δίπλα το Google Maps βγάζει (από λάθος) τις συντεταγμένες της Georgia στις ΗΠΑ αντί για τη Γεωργία στον Καύκασο. Αποτέλεσμα; Οι αγρότες της περιοχής ψάχνουν από τα παράθυρα να δούνε ρωσικά στρατεύματα στην αυλή του σπιτιού τους, το Google News και το Yahoo! γίνονται βούκινο και όλος ο κόσμος γελάει μέσα στο δράμα που συμβαίνει εκείνες τις ημέρες.

*** "Google News informs us that the Russians are invading the South"
*** "I live in georegia but i dont see rusia no where..." (Yahoo Answers)

Σημειωτέον ότι η παραπάνω σελίδα δεν είναι προσβάσιμη πλέον στο Yahoo Answers (το παραπάνω link είναι από το Google cache), προφανώς ήταν τόσο ντροπιαστικό το διανοητικό επίπεδο κάποιων users τους που το θεώρησαν δυσφήμιση για τους ίδιους και το κατέβασαν άρον-άρον....

Περίπτωση τρίτη (26/8): ...και το πιο σοβαρό. Ένα σφάλμα σε τηλεπικοινωνιακό εξοπλισμό στο data center της FAA, της αμερικανικής υπηρεσίας πολιτικής αεροπορίας που είναι υπεύθυνη για τη διαχείριση των σχεδίων και τις ασφάλειας των πτήσεων, προκάλεσε απανωτές καταρρεύσεις σε μορφή χιονοστιβάδας. Παρόμοιο περιστατικό είχε συμβεί και στις 8 Ιουνίου του 2007.

Λόγω του αρχικά απλού σφάλματος, το σύστημα δεν μπορούσε να εισάγει νέα σχέδια πτήσης. Μέχρι να λυθεί το πρόβλημα, οι τεχνικοί πραγματοποίησαν ανακατεύθυνση όλων των αιτήσεων εισαγωγής στο ένα από τα δύο κέντρα του δικτύου της χώρας, ελπίζοντας ότι θα αντέξει. Στο μεταξύ, πολλές πτήσεις ήταν ήδη στο διάδρομο απογείωσης και προσπαθούσαν να υποβάλλουν εκ νέου τα σχέδια πτήσης για να φύγουν. Ως αποτέλεσμα, το ένα (μοναδικό πλέον) κέντρο υπερφορτώθηκε τόσο, ώστε δεν μπορούσε να διαχειριστεί νέες αιτήσεις για αρκετή ώρα, προκαλώντας καθυστερήσεις σε εκατοντάδες πτήσεις από μισή ως μία ώρα.

Με πρώτη ματιά δεν φαίνεται και πολύ σοβαρό - άλλωστε εμείς εδώ στην Ελλάδα είμαστε συνηθισμένοι να περιμένουμε 3-4 ώρες στο αεροδρόμιο πριν πετάξουμε για τον προορισμό μας. Αλλά γιατί ένα φαινομενικά απλό σφάλμα στο σύστημα προκάλεσε τόσο μεγάλη αναστάτωση; Πολύ απλά, γιατί στις ΗΠΑ ανά πάσα στιγμή βρίσκονται στον αέρα περίπου 5000 πτήσεις: αν θεωρήσουμε ότι κάθε μια διαρκεί ας πούμε 3-4 ώρες, αυτό σημαίνει ότι πρέπει να υποβάλλονται περίπου 1400 νέα σχέδια πτήσης το 24ωρο ή περίπου 60/ώρα. Μια καθυστέρηση 30 λεπτών σε 60 αεροπλάνα ενώ βρίσκονται σε διαδικασία απογείωσης σημαίνει: (1) συμφόρηση στα αεροδρόμια και καθυστέρηση ακόμα περισσότερων πτήσεων, (2) αύξηση της πιθανότητας ατυχήματος, και μάλιστα με αεροπλάνα γεμάτα καύσιμα στο έδαφος, (3) ΠΟΛΛΑ λεφτά που καίγονται σε καύσιμα καθώς τα αεροπλάνα περιμένουν έτοιμα για απογείωση.

*** "Flights Delayed by Communications Problems" (NY Times)
*** "FAA computers delay hundreds of flights" (CNN)
*** "FAA says communication breakdown delayed flights" (AP)
*** "Communications disruption delays flights nationwide, FAA says" (LA Times)

Το παραπάνω είναι ένα κλασικό παράδειγμα του πως ένα κεντρικό μοντέλο διαχείρισης και συντονισμού σε στοχαστικό σύστημα "αφίξεων" μπορεί να καταρρεύσει πολύ εύκολα όταν υπάρχει αυξημένη κίνηση. Στη θεωρία, τα παραπάνω συμπεριλαμβάνονται στη Θεωρία Ουρών Αναμονής (Queuing Theory) και ο συνηθέστερος τρόπος αντιμετώπισης παρόμοιων προβλημάτων είναι η διαχείριση της κίνησης "τοπικά", όταν η κεντρική διαχείριση είναι εξαιρετικά πολύπλοκη ή επικίνδυνη διαδικασία (περίπτωση κατάρρευσης). Αυτός είναι και ο λόγος που δεν υπάρχει προς το παρόν κεντρικό σύστημα διαχείρισης της εναέριας κυκλοφορίας σε παγκόσμια κλίμακα, παρά μόνο εσωτερικά στην κάθε χώρα (αυτόνομα) και κυρίως στο τελικό στάδιο προσέγγισης σε αεροδρόμιο. Δηλαδή, κάθε πτήση ακολουθεί γενικές εναέριες "λεωφόρους" κυκλοφορίας, αλλά "φανάρια" και "τροχονόμοι" υπάρχουν μόνο κοντά σε αεροδρόμια.


Για μια ιστορική αναδρομή στα πιο γνωστά και σημαντικά software bugs, δείτε και την παρακάτω λίστα:

*** "History's Worst Software Bugs" (Wired.com)
.

Δεν υπάρχουν σχόλια: