Ενημέρωση  »   Άρθρα   »  [arcl-0020]

Ο υπολογιστής στο φεγγάρι

   Αναρωτηθήκατε ποτέ με τι είδους υπολογιστές ήταν εφοδιασμένο το Απόλλων 11 στην αποστολή του προς τη Σελήνη; Ήταν ισχυρές μηχανές σε μέγεθος ντουλάπας ή κτιριακού ορόφου; Τότε όμως δεν θα χωρούσαν στη μικρή σεληνάκατο του σκάφους. Πως αλλιώς άραγε θα ήταν δυνατόν, με την τεχνολογία της εποχής, να πραγματοποιηθεί μια ημιαυτόματη πλοήγηση τέτοιας εκπληκτικής ακρίβειας; Αφού αντιμετώπιζαν τόσο σοβαρά προβλήματα οι Αμερικανοί, τι έκαναν οι σαφώς φτωχότεροι ανταγωνιστές τους, οι Ρώσοι; Έστειλαν μήπως τη Λάικα και τον Γκαγκάριν σε τροχιά μόνο με την “ωμή” ισχύ των πυραύλων τους; Και για να δυσκολέψουμε ακόμα περισσότερο το γρίφο: πως έβρισκαν γερμανικοί V2 το φονικό τους δρόμο στο Β' Παγκόσμιο Πόλεμο; Ξεκινάμε για μια διερεύνηση των συναρπαστικών αυτών ερωτημάτων, με την αφήγηση της διαστημικής εποποιίας από τη σκοπιά ενός low profile ηλεκτρονικού πιονιέρου: κυρίες και κύριοι, σας παρουσιάζουμε την - κωμική και συγχρόνως δραματική - περιπέτεια "Ο Υπολογιστής Αστροναύτης".

ΑΝΑΛΟΓΙΚΟΙ “ΠΡΩΤΟΠΟΡΟΙ”

   Στην αρχή του αιώνα, οι ενθουσιώδεις πρωτεργάτες των πυραύλων δεν είχαν παρά ένα πράγμα στο μυαλό τους: πώς οι ρουκέτες θα ξεπεράσουν τη βαρύτητα της Γης. Οι πειραματικές εκτοξεύσεις τους συνέτειναν μεν στην ανάπτυξη των τεχνικών προώθησης, στο μυστικισμό των πυραύλων και στη ροπή προς τα αστέρια, αλλά δεν φαίνεται να τους απασχολούσε ιδιαίτερα πού ακριβώς θα πάει η ρουκέτα τους. Πρώτο τους μέλημα ήταν πόσο ψηλά θα φτάσει. Ένας από αυτούς τους ρομαντικούς της διαστημικής πτήσης ήταν κατά βάθος και ο Βέρνερ Φον Μπράουν, παρ' ότι χρησιμοποίησε ευχαρίστως το μηχανισμό του γερμανικού στρατού για να φτιάξει τον περίφημο V-2 (Vengeance weapon στα γερμανικά), τον πρώτο καθοδηγούμενο πύραυλο. Μέσα στο V2 υπήρχε μία μικρή υπολογιστική μηχανή που βοηθούσε τη ρουκέτα να κατευθυνθεί στο μακρινό της στόχο. Τη συσκευή είχε εφεύρει ο νεαρός ηλεκτρολόγος μηχανικός Helmut Hoelzer, όταν πιλοτάριζε ανεμόπτερα το 1935, αφού η συνθήκη των Βερσαλλιών δεν επέτρεπε να χρησιμοποιούν οι Γερμανοί αεροπλάνα με κινητήρα. Ενώ λοιπόν διέθετε όργανο για να μετρά την ταχύτητά το, θέλησε επίσης να μετρήσει και το πόσο γρήγορα χανόταν το έδαφος κάτω από το σκάφος του (Σημ: οι δύο αυτές ταχύτητες είναι ίσες μόνο σε νηνεμία). Για να επιλύει τις απαραίτητες διαφορετικές εξισώσεις, ο Hoelzer αποφάσισε να μιμηθεί το σχεδιασμό της υπολογιστικής μηχανής που έκανε ο Vannevar Bush στο ΜΙΤ το 1927. Όταν αργότερα ο χαρισματικός μηχανικός τοποθετήθηκε στην ομάδα του Φον Μπράουν, σκέφτηκε να χρησιμοποιήσει το υπολογιστικό του ταχύμετρο, που μπορούσε να αναπαριστά σύνθετες εξισώσεις κίνησης, για να διορθώσει τα γυροσκοπικά συστήματα ελέγχου του V2. Μετά την επιτυχία του εγχειρήματος, ο φιλόδοξος νεαρός ετοιμάστηκε να προχώρηση παραπέρα, σχεδιάζοντας έναν προσομοιωτή (simulator) που θα δοκίμαζε το σύστημα πλοήγησης – μιμούμενο τη συμπεριφορά της ρουκέτας στον αέρα -, χωρίς να απαιτείται η δαπανηρή και αβέβαιη πειραματική εκτόξευση. Το κλίμα όμως στο γερμανικό επιστημονικό επιτελείο ήταν πολύ αρνητικό. Θεωρούσαν τους υπολογιστές βοήθημα των βραδυνόων, που δεν διαπρέπουν στην αφηρημένη σκέψη, ενώ και ο ίδιος ο Μπράουν παρακινούσε τον υφιστάμενό του να “σταματήσει να παίζει με ηλεκτρονικά παιγνίδια”. Αυτός όμως επέμεινε, έφτιαξε με τη συνδρομή φίλου σε ειδικό μυστικό δωμάτιο ένα μοντέλο και οργάνωσε το 1941 μια εντυπωσιακή επίδειξη, η οποία έπεισε πανηγυρικά τους πάντες. Ο Hoelzer πήρε το 1946 το πρώτο διδακτορικό που δόθηκε ποτέ στην Επιστήμη Υπολογιστών και μετανάστευσε μαζί με τον αναλογικό “διαστιμικό” του υπολογιστή στις Ηνωμένες Πολιτείες, δίνοντας έτσι στους Αμερικανούς σημαντικό πλεονέκτημα για την κατοπινή διαστημική κούρσα. Η σοβιετική πλευρά ξεκίνησε επίσης με βάση τον V2, αλλά αδιαφορώντας για τον υπολογιστή του. Οι Ρώσοι ειδικοί, όπως παραδέχτηκαν πολλές δεκαετίες μετά, αντιμετώπισαν εξαρχής τις υπολογιστικές μηχανές ως κλασικό παράδειγμα “μπουρζουάδικης” ψευδούς επιστήμης. Το 1956 (ένα χρόνο πριν από την εκτόξευση του Σπούτνικ) διέθεταν το γιγαντιαίο BESM, έναν υπολογιστή με λυχνίες που καταλάμβανε δέκα μεγάλα δωμάτια. Ήταν εντελώς πρωτόγονος: διέθετε μόνο τρεις "διευθύνσεις” καταχώρισης (registers), με αποτέλεσμα να μην μπορεί να προγραμματιστεί ικανοποιητικά ούτε με γλώσσα μηχανής. Ουσιαστικά χρησίμευε για την αποθήκευση των τμηματικών πράξεων, οι οποίες εκτελούνταν σε γερμανικές αριθμομηχανές και μεταφέρονταν κατόπιν από χειριστές στο στιβαρό BESM. Με τον τρόπο αυτό, κάθε ανθρώπινη απροσεξία μεταδιδόταν στο σύστημα και ήταν εξαιρετικά δύσκολο να ανιχνευθεί. Διέθετε 2KB RAM και 6KB ROM. Το μηχάνημα υπερθερμαινόταν σε αφάνταστο βαθμό, οπότε ακόμα και εν μέσω ρωσικού χειμώνα, ο εξαερισμός δούλευε στο μάξιμουμ και το περίλυπο προσωπικό εργαζόταν με τα παλτά κουμπωμένα. Το διαστημικό πρόγραμμα μπορούσε μάλιστα να τον χρησιμοποιεί μόνο κατά τις νυχτερινές ώρες, καθώς το πρωί ο BESM έπρεπε να βρίσκεται στη διάθεση του πυρηνικού προγράμματος κάποιου άλλου τομέα δικό του ανάλογο υπολογιστή. Εν κατακλείδι, επειδή η μεγάλη μηχανή δεν μπορούσε να μετακινηθεί, ενώ και οι απλές αξιόπιστες αριθμομηχανές σπάνιζαν, ένα σεβαστό μέρος των τεράστιων αριθμητικών πράξεων γινόταν με μολύβι και χαρτί, ειδικά όσες έπρεπε να εκτελεστούν κοντά στα πεδία εκτόξευσης. Αξίζει θαυμασμός στους ανθρώπους αυτούς που πέτυχαν να υποκαταστήσουν τους ηλεκτρονικούς υπολογιστές- μέσα στην αχτύπητη έδρα τους- με μόνα όπλα τη συγκέντρωση, το πείσμα και την υπομονή. Μόνο στα τέλη της δεκαετίας του '60, όταν είχαν χάσει πλέον την πρωτοκαθεδρία (και τον επικεφαλής σχεδιαστή τους Sergei Pavlovich Corolev) , έδωσαν οι Σοβιετικοί αξιόλογα κονδύλια στην υπολογιστική έρευνα. Ήταν όμως πολύ αργά και έτσι το απεγνωσμένο πλάνο N-1/L-3 τούς βοήθησε μεν να φτιάξουν σοβαρότερους υπολογιστές, αλλά δεν τους έστειλε στο φεγγάρι.

ΟΙ ΨΗΦΙΑΚΕΣ ΜΗΧΑΝΕΣ ΣΤΟ ΔΙΑΣΤΗΜΑ

   Το Μάρτιο του 1962, η IBM δέχεται μια τερατώδη παραγγελία : φτιάξτε μας το ηλεκτρονικό νευρικό σύστημα - για πλοήγηση, έλεγχο και τηλεκατεύθυνση - των διαστημικών σκαφών του προγράμματος Gemini. Ο υπολογιστής αυτός θα ήταν το πρώτο μηχάνημα γενικών καθηκόντων που εκτοξεύτηκε ποτέ και θα εξασφάλιζε την πολυπόθητη αυτονομία σκάφους και πληρώματος από την επίγεια βάση. Πώς όμως να χωρέσει ένα ογκώδες mainframe στο θαλαμίσκο μιας διαστημικής πτήσης; Ο project manager της ΙΒΜ παρομοίωσε το εγχείρημα με την τοποθέτηση ενός ψυγείου εντός κομψής θήκης γυναικείου καπέλου. Παρόλα αυτά ένα χρόνο αργότερα παραδόθηκε μια ψηφιακή συσκευή, απαρτιζόμενη από πολλά τρανζίστορ, που ζύγιζε 58 κιλά. Επειδή δεν χωρούσε και συσκευή backupστο θάλαμο, οι υπολογιστές δοκιμάστηκαν εντατικά ως προς την αντοχή τους σε τραπέζι κραδασμών, ενώ ταυτόχρονα γινόταν σύγκριση των επιδόσεων του με αυτές ειδικού προσομοιωτή που έτρεχε σε ΙΒΜ 7094. Τελικά το πρόγραμμα Gemini εξυπηρετήθηκε, όμως το βεληνεκές του προγράμματος προς τη σελήνη ήταν εντελώς άλλης τάξης μεγέθους, καθώς οι αστροναύτες του λόγω της απόστασης αλλά και της φοβίας σοβιετικών παρεμβολών δεν μπορούσαν να ελπίζουν σε σημαντική επίγεια υποστήριξη. Θα ήταν μόνοι γύρω από τη σελήνη μαζί με τους υπολογιστές τους. Χρειάζονταν λοιπόν κάτι πολύ καλύτερο και θα το είχαν, αφού η NASA είχε φροντίζει να ειδοποιήσει εγκαίρως για τις ανάγκες της τους κατάλληλους ανθρώπους: μια από τις κορυφαίες ομάδες του ΜΙΤ. Όταν οι “αξιωματούχοι” της NASA είδαν πόσα διαφορετικά πράγματα θα έπρεπε να κάνει ο υπολογιστής του ΄΄ Απόλλων ΄΄, εξέφρασαν μεγάλες αμφιβολίες για το πόσο θα ήταν έτοιμος πριν τελειώσει η δεκαετία του 60, άρα και το όριο που είχε θέσει ο Τζόν Κένεντι για τον πρώτο Αμερικανό στο φεγγάρι. Ο πιλότος και μηχανικός Charles Stark Draper όμως, επικεφαλής του εργαστηρίου οργάνων ακριβείας του ΜΙΤ που ανέλαβε το έργο, ήταν τόσο βέβαιος για την επιτυχία, ώστε ζήτησε να συμπληρώσει τις απαραίτητες αιτήσεις για να πάει ο ίδιος με τον υπολογιστή του στη Σελήνη.

   Η μνημειώδης αυτή ανάθεση ολοκληρωμένου έργου Πληροφορικής δεν είχε παρά μόνο μία προδιαγραφή: “πάρτε μας στο φεγγάρι”. Χωρίς λοιπόν άλλα οχληρά “specifications” οι έτοιμοι για όλα ανάδοχοι έβαλαν τη φαντασία τους να δουλέψει. Από τη στιγμή που επελέγη η στρατηγική της συνάντησης (ραντεβού) ανάμεσα στο σκάφος ελέγχου και στη σεληνάκατο, έγινε φανερό ότι θα απαιτούνταν δύο υπολογιστές, ένας σε κάθε μονάδα, και κάποιο ειδικό λογισμικό για το συντονισμό τους. Η τεχνολογία που χρησιμοποίησε το εργαστήριο του MIT κατάφερε να ενσωματώσει 4.100 ολοκληρωμένα κυκλώματα σε μία κεντρική μονάδα, τα οποία είχαν την ίδια υπολογιστική ισχύ με ένα μικροτσίπ της επόμενης δεκαετίας. Ενώ όμως όλα κυλούσαν καλά στο hardware, αντίθετα στο λογισμικό η αξίωση της απόλυτης αυτονομίας από τη Γη πρόσθετε στον επεξεργαστή έργο που η μνήμη του δεν μπορούσε να αντέξει. Η NASA αποφάσισε να φερθεί πραγματιστικά, να παρακάμψει τους ψυχροπολεμικούς, παρανοϊκούς φόβους για σοβιετικές παρεμβολές και να προκρίνει την ανταλλαγή πληροφορίας ανάμεσα στην επίγεια βάση και τις μηχανές της αποστολής. Η λύση αυτή, αντί να χαροποιήσει τους προγραμματιστές του MIT, τους έριξε σε βαθιά μελαγχολία ονόμασαν τη μέρα που έμαθαν το νέο (13/5/1966) “Μαύρη Παρασκευή”, γιατί έπρεπε να ξαναφτιάξουν τον κώδικα από την αρχή. Την εποχή εκείνη δεν υπήρχαν φυσικά μηχανικοί λογισμικού (οι “προγραμματιστές” ήταν μαθηματικοί με υπομονή Κινέζου μινιατουρίστα ή φυλακισμένου “ναυπηγού” με σπίρτα) και ο προγραμματισμός ήταν τέχνη μάστορα, όχι δομημένο επιστημονικό σύστημα. Σαν να μην έφτανε αυτό, η ΝΑSΑ τους επέβαλλε έναν αμείλικτο ελεγκτή και παράγγειλε να μην αλλαχτεί ούτε ένα μπιτ χωρίς την έγκρισή του. Πάντως, χάρη στα εξαντλητικά τεστ του λογισμικού με προχωρημένους προσομοιωτές mainframe, μέχρι το κρίσιμο καλοκαίρι του 1969 δεν απέμεινε κανένα σκοτεινό σημείο, φυσικά και κανένα bug, στον επίφοβο κώδικα. Οι αστροναύτες επικοινωνούσαν με τους υπολογιστές μέσα από μία μονάδα εισόδου-εξόδου (DSKY Display and keyboard unit). Χρησιμοποιώντας μία πρωτόγονη γλώσσα από αριθμούς –από το 00 έως το 99- έστελναν στο μηχάνημα 100 διαφορετικές εντολές του τύπου “δείξε μας την ταχύτητα” ή “φόρτωσε το πρόγραμμα”. Αν και είχαν κάνει είδη συστηματική εξάσκηση στις υπολογιστικές εντολές, για καλό και για κακό είχαν γεμίσει την καμπίνα με κάρτες υπενθύμισης (κάτι σαν post-it) με τις πιο συνηθισμένες από αυτές.

Ο “ΑΕΤΟΣ” ΚΑΙ Ο ΠΙΣΤΟΣ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗΣ

   Στις 16 Ιουλίου 1969 το “ψηφιακό” πλέον Απόλλων 11 εκτοξευόταν μέσα σε εκκωφαντικό θόρυβο, σύννεφα ατμού, κλασικές κραυγές “GO! GO! GO!” από τους παρατηρητές και κρυφές προσευχές από μηχανικούς υπολογιστών. Οι τελευταίοι έβλεπαν για ακόμα μία φορά, μετά τις δοκιμές του AGC (Apollo Guidance Computer) στις προηγούμενες πτήσεις, τη σημασία ζωής και θανάτου μιας ακολουθίας από το 0 και 1. Ύστερα από τέσσερις ημέρες η σεληνάκατος “Αετός” αποχωρίστηκε από το σκάφος διακυβέρνησης “Κολούμπια” για να μεταφέρει τον Άρμστρονγκ και τον Όλντριν στο τελευταίο σκέλος του ταξιδιού, δηλαδή πάνω στην επιφάνεια της Σελήνης. Δύο υπολογιστές βρίσκονταν λοιπόν σε τροχιά γύρω από τη Σελήνη και ο ένας του “Αετού”, θα καθοδηγούσε την πρώτη προσσελήνωση. Οι επικοινωνίες ανάμεσα στη γη και στην άκατο είχαν ανάψει, ο κόσμος παρακολουθούσε με κομμένη την ανάσα, οι εκφωνητές πάσχιζαν να περιγράψουν τη διαδικασία και τεράστιοι επίγειοι υπολογιστές – μεγέθους δωματίου – ανέλυαν τα μηνύματα που έστελνε ο κομψός απόγονός τους από το Απόλλων. Ακριβώς την κατάλληλη στιγμή ο υπολογιστής πυροδότησε, στέλνοντας τα σωστά bit και ανάλογα ηλεκτρικά σήματα, τις ρουκέτες καθόδου. Καθώς πλησίαζαν στην επιφάνεια, η άκατος επιβράδυνε τις μηχανές της, ώστε να αναλάβει υπηρεσία και η σεληνιακή βαρύτητα. Έμεναν επτά μόλις λεπτά και για μια στιγμή όλοι πάγωσαν: η επίγεια βάση αναγνώρισε ένδειξη υπολογιστικού προβλήματος, καθώς λυχνίες ένδειξης αναβόσβηναν στον υπολογιστή του “Αετού”. Το ραντάρ επιστροφής της ακάτου είχε ανάψει πριν από την ώρα του, υπερφορτώνοντας μοιραία τον επεξεργαστή, αλλά ευτυχώς αυτός τοποθέτησε τις απανωτές αιτήσεις σε ουρά χαμηλής προτεραιότητας και τελικά τις αγνόησε. Μέχρι όμως να ξεκαθαριστεί η κατάσταση, ο Άρμστρονγκ που πιλοτάριζε την άκατο βρέθηκε να κατευθύνετε σε ένα κρατήρα μεγέθους ποδοσφαιρικού γηπέδου, γεμάτο με βράχους και ογκόλιθους. Η θάλασσα της Ηρεμίας δεν ήταν τελικά ο πλέον κατάλληλος χώρος προσεδάφισης. Με τα βίας πρόλαβε να προσεδαφιστεί σε παρακείμενο ασφαλές, ομαλό έδαφος, έχοντας μόλις 16 δευτερόλεπτα καύσιμο για τις μηχανές καθόδου, και να ανακοινώσει στη Γη πως “ο Αετός πάτησε στο έδαφος”. Ο άνθρωπος και ο ψηφιακός βοηθός του έφταναν μαζί-ο πρώτος όμως με την ψυχή στο στόμα-σε έναν άλλο κόσμο (αν θέλετε να δοκιμάσετε πόσο εύκολο ήταν το πιλοτάρισμα της σεληνακάτου, παίξτε με το simulator στη διεύθυνση http://www.retroweb.com/lamder.html.). Μετά τη θριαμβευτική επιστροφή των αστροναυτών στη Γη, πολλοί κατηγόρησαν τη NASA για την “απαράδεχτη” ταχύτητα αντίδρασης των υπολογιστών της σε συγκεκριμένα σημεία της αποστολής. Πώς είναι δυνατόν, διακήρυσσαν, ενώ έχουν κυκλοφορήσει ένα, δύο χρόνια πριν ταχύτεροι επεξεργαστές, το “Απόλλων” να χρησιμοποιεί σχεδόν πεπαλαιωμένη τεχνολογία. Οι ενστάσεις αυτές δεν έλαβαν καθόλου υπόψη το μεγάλο διάστημα ανάπτυξης, δοκιμής, προσαρμογής και εκπαίδευσης των συντελεστών μιας διαστημικής αποστολής στα υπολογιστικά της εργαλεία. Η NASA δεν μπορούσε να βγει στα μαγαζιά για ψώνια λίγες βδομάδες πριν από την εκτόξευση, να πάρει το τελευταίο μοντέλο και να το συνδέσει πρόχειρα στα διαστημόπλοιά της. Χρειαζόταν ένα ψηφιακό εργαλείο απόλυτα προσαρμοσμένο, οργανικό τμήμα της αποστολής, με το οποίο οι αστροναύτες να αισθάνονται εντελώς εξοικειωμένοι. Ούτε βέβαια οι “κατάδικοι” - προγραμματιστές του MIT θα κατάφερναν να μετατρέψουν κατάλληλα ή να απαλλάξουν από κάθε πιθανό bug με αξιοπιστία τον κώδικα όλου του προγράμματος μέσα στον ελάχιστο διαθέσιμο χρόνο. Η κατασκευή του υπολογιστή καθοδήγησης του “Απόλλων” ήταν ένας άθλος συνεργασίας και πίστης στο σκοπό, αλλά και ένα σημαντικό τεχνικό επίτευγμα που επιτάχυνε τις εξελίξεις στο δρόμο προς το πρώτο μικροτσίπ. Συνέχισε μάλιστα να προσφέρει τις υπηρεσίες του και σε όλες τις επόμενες επανδρωμένες αποστολές στη Σελήνη. Οι σημερινές ανάγκες πλοήγησης στο Διάστημα απαιτούν προφανώς εξαιρετικά πιο ισχυρούς υπολογιστές: η αντιστοιχία των σημερινών υπολογιστικών συστημάτων με του “Απόλλων” μοιάζει με τη σχέση του εξάντα με το δορυφορικό GPS (Global Positioning System). Όπως λοιπόν θαυμάζουμε την αφάνταστη μεγαλοφυία του εφευρέτη του εξάντα (αν δεν υπήρχε, θα αρμενίζαμε ακόμα ξυστά στην ακτή), έτσι αξίζει να μελετήσουμε και τις συνθήκες κατασκευής των πρώτων ψηφιακών υπολογιστών. Άλλωστε, με τον τρόπο αυτό θα οδηγηθούμε και σε μια αναπόφευκτη διαπίστωση για τη μαγική, δημοκρατική εξέλιξη της υπολογιστικής τεχνολογίας, ότι δηλαδή ο πιο παλιός και άχρηστος υπολογιστής που μπορεί να κρύβεται στο κελάρι μας, είναι παρασάγγες ανώτερος από το εργαλείο που οδήγησε τους αστροναύτες στο φεγγάρι. Αναλογιζόμενοι πού και πού το προφανές αυτό γεγονός, και τιμάμε τους ηρωικούς πρωτοπόρους, όπως τους αξίζει, και κολακεύουμε ανώδυνα τη ματαιοδοξία.

Η. ΜΠΟΓΔΑΝΟΣ

Περιεχόμενα