Linux στο διάστημα - Το μέχρι τώρα ιστορικό στη NASA και την ESA

Ανώνυμος (χωρίς επαλήθευση) | Κυρ, 02/10/2008 - 16:27 | 43' | 3

Ποιος θα το πίστευε ό,τι ένα λειτουργικό σύστημα που δημιουργείται όχι από μια εταιρεία με μονοπωλιακές διαθέσεις και τεράστια κονδύλια για marketing, αλλά από developers και χρήστες απ' όλο τον κόσμο με βάση τις αρχές του ανοικτού κώδικα, θα μπορούσε να φτάσει μέχρι το διάστημα και να είναι σήμερα υπεύθυνο για τη λειτουργία πανάκριβων οργάνων, ρομπότ αλλά και για τον έλεγχο ολόκληρων διαστημικών αποστολών;Αυτό το άρθρο είναι ένα μικρό οδοιπορικό-φόρος τιμής στους πρωτοπόρους ..."πιγκουίνους" του διαστήματος.

To Linux και το λογισμικό ανοικτού κώδικα έχουν πλέον πάρα πολλές χρήσεις τόσο για τον απλό χρήστη όσο και για τις επιχειρήσεις, λόγω των συγκριτικών πλεονεκτημάτων τους έναντι του κλειστού κώδικα: ελεύθερία προσαρμογής του κώδικα, μικρότερο κόστος, πλήθος εργαλείων ανάπτυξης και προγραμματισμού, κλπ. Μια ακόμη τρανή απόδειξη της χρησιμότητας και της αξιοπιστίας του Linux είναι ότι χρησιμοποιείται όλο και περισσότερο σε διαστημικά projects. Μάλιστα, τροποποιημένες διανομές Linux έχουν ήδη 'ταξιδέψει' στο διάστημα και υπάρχουν πολλά σχέδια για μεγαλύτερη χρήση τους σε μελλοντικές διαστημικές αποστολές καθώς και στα συστήματα που τις υποστηρίζουν στη Γη. Η Αμερικανική NASA [National Aeronautics and Space Agency] και η Ευρωπαϊκή ESA [European Space Agency] έχουν αρκετά τέτοια projects, στο παρελθόν αλλά και τώρα. Παρακάτω θα σας παρουσιάσουμε μερικά από αυτά.

Στην υπηρεσία της NASA

Ένα από τους βασικούς και επίσημους στόχους της NASA είναι "η ανάπτυξη και προώθηση τεχνολογιών αιχμής στο λογισμικό που θα αυξάνουν την απόδοση μειώνοντας το κόστος στις διαστημικές αποστολές και στα υπολογιστικά συστήματα που τις υποστηρίζουν". Προκειμένου να πετύχει αυτό το στόχο, η Αμερικάνικη Διαστημική Υπηρεσία χρησιμοποιεί ή αναπτύσσει η ίδια πολλές τεχνολογίες ανοικτού κώδικα και φυσικά το Linux. Παρακάτω θα διαπιστώσετε ό,τι το Linux στις διάφορες μορφές του εισχωρεί σταδιακά στις εφαρμογές της NASA για τα συστήματα ελέγχου των διαστημοπλοίων, τη δημιουργία υπερυπολογιστών-προσομοιωτών διαστημικών αποστολών καθώς και σε πολλά μελλοντικά και εν πολλοίς άγνωστα projects της Αμερικάνικης Υπηρεσίας.

Διαστημικά λάχανα!

Στις 4 Απριλίου του 1997, η αποστολή STS-83 του [αργότερα άτυχου] διαστημόπλοιου Columbia ξεκίνησε από το διαστημικό κέντρο Kennedy μεταφέροντας στο payload του διάφορα πειράματα στο διάστημα. Ανάμεσα σε αυτά ήταν η συσκευή PGBA [Plant Generic Bioprocessing Apparatus]. Επρόκειτο για ένα μικροσκοπικό θάλαμο υδροπονικής ειδικά διαμορφωμένο για συνθήκες έλλειψης βαρύτητας στον οποίο είχαν προσαρμοστεί διάφοροι αισθητήρες, βαλβίδες, χρωματογράφοι, και δύο μικροσκοπικές κάμερες, που όλα κατέληγαν σε ένα PC που έτρεχε Linux. Στην παγωμένη σιωπή του διαστήματος, χάρη στο Linux, οι επιστήμονες του Πανεπιστημίου του Colorado θα επιχειρούσαν να μελετήσουν από απόσταση την ανάπτυξη φυτών χωρίς χώμα! Το PC ήταν υπεύθυνο για να παρακολουθεί και να ελέγχει τις περιβαλλοντικές συνθήκες μέσα στον θάλαμο δίνοντας τις κατάλληλες ποσότητες νερού και φωτός στα φυτά. Ταυτόχρονα με την παρακολούθηση της ανάπτυξής των φυτών, θα έστελνε ανταποκρίσεις στο κέντρο ελέγχου στη Γη μαζί με φωτογραφίες των διαστημικών ...λαχανικών. Θα πείτε "σιγά τα ...λάχανα", αλλά δεν θα έχετε δίκιο. Κάθε γραμμάριο που μεταφέρεται στο διάστημα έχει δυσανάλογο κόστος και επομένως κάθε πείραμα που γίνεται στο διάστημα είναι κριτικής σημασίας.

Η διανομή Linux που ήταν υπεύθυνη για το πείραμα ήταν το Debian GNU/Linux που δημιούργησε ο Ian Murdock στο Πανεπιστήμιο Purdue, το 1993. Η ερευνητική ομάδα του PGBA επέλεξε το Debian Linux επειδή ήταν πιο εύκολο στο debugging και είχε περισσότερα στοιχεία απ' ότι το DOS, στο οποίο είχε γίνει το ίδιο πείραμα, επιτυχώς, σε προηγούμενη αποστολή. Η έκδοση του Debian ήταν η 1.2, με πυρήνα Linux 2.0.27. Στην καρδιά του πειράματος βρισκόταν ένας 486DX4 στα 100Mhz με 16ΜΒ RAM και το σύστημα δεν είχε καθόλου δίσκους για ασφάλεια και μείωση της κατανάλωσης ρεύματος. Στη θέση τους υπήρχε ένα FlashDisk 40ΜΒ της εταιρείας SanDisk. Οι αστροναύτες μπορούσαν να ελέγχουν το πείραμα από μια μικρή οθόνης αφής η οποία παρουσίαζε πληροφορίες για την κατάσταση του συστήματος. Όλα αυτά απαιτούσαν μόλις 10Watt ισχύος.

Ένας από τους στόχους των επιστημόνων ήταν να υποβάλλουν το θάλαμο σε διάφορες μετακινήσεις μέσα στο διαστημικό σταθμό. Αυτό θα απαιτούσε προσπάθεια από τους αστροναύτες και αναγκαστικές διακοπές ρεύματος, αλλά θα ήταν και μια γενική πρόβα για την μετακίνηση φορτίων από το διαστημικό λεωφορείο προς τον διαστημικό σταθμό ISS [International Space Station]. Δυστυχώς, μια βλάβη στα ηλεκτρικά συστήματα του λεωφορείου υποχρέωσε την αποστολή να επιστρέψει στη Γη μόλις σε 4 ημέρες. Έτσι το πείραμα ουσιαστικά δεν έγινε ποτέ [τα φυτά επέστρεψαν όμως σώα].


Η συσκευή BGBA όπου θα γινόταν το πείραμα υδροπονικής του Πανεπιστημίου του Colorado, στην αποστολή STS-83 του Columbia το 1997.


O ερευνητής τοποθετεί τα φυτά στις ειδικές υποδοχές για να τα βάλει στο θάλαμο υδροπονικής.


Το πείραμα δεν έγινε ποτέ, αλλά τα φυτά επέστρεψαν στη Γη σώα και αβλαβή...

Το Linux πετάει!

Μερικά χρόνια μετά, η NASA δημιούργησε ένα δικό της project για την αξιολόγηση του Linux ως πλατφόρμας λειτουργίας των υπολογιστών που βρίσκονται σε σκάφη σε τροχιά γύρω από τη Γη. Επρόκειτο για το FlightLinux, μια ειδικά διαμορφωμένη διανομή Linux η οποία δοκιμάστηκε στην πράξη στον δορυφόρο UoSAT-12, που το 2001 είχε γίνει ο πρώτος διαστημικός κόμβος του Internet αλλά και ο πρώτος web-server που έτρεχε στο διάστημα στα πλαίσια του προγράμματος OMNI [Operating Missions as Nodes on the Internet] της NASA!


Η homepage του πρώτου web server στο διάστημα.

Αρχικός στόχος του FlightLinux Project ήταν η δημιουργία ενός custom, embedded πυρήνα Linux με real-time δυνατότητες [πράγμα που λείπει από τις κανονικές εκδόσεις του πυρήνα Linux] που θα μπορούσε να χρησιμοποιηθεί σε PC και επεξεργαστές που βρίσκονται σε διαστημικά λεωφορεία αλλά και στις επικοινωνίες μεταξύ των δορυφόρων που βρίσκονται σε τροχιά γύρω από τη Γη. To project κατάφερε να δημιουργήσει και να τεστάρει ένα τέτοιο πυρήνα που ενσωματώνει ειδικούς drivers για την υποστήριξη συσκευών "τεχνολογικής ετοιμότητας" επιπέδου 7 [TRL 7]. Για όσους δεν γνωρίζουν, τα επίπεδα TRL έχουν δημιουργηθεί από τη NASA για τον έλεγχο και την ταξινόμηση του hardware και του software, και στο επίπεδο 7 κατατάσσονται τεχνολογίες και υλικά που έχουν πιστοποιηθεί ό,τι μπορούν να χρησιμοποιηθούν στο διάστημα. Με απλά λόγια, το FlightLinux πήρε την έγκριση της NASA για χρήση σε διαστημικές αποστολές.

To τελικό προϊόν του project ήταν η ομώνυμη διανομή FlightLinux η οποία δοκιμάστηκε το 2002 στον επεξεργαστή Intel 80386ΕX που βρισκόταν στο δορυφόρο UoSAT-12 . Η διανομή μεταφέρθηκε επίσης και σε επεξεργαστές όπως ο RHPPC, ένας PowerPC ειδικά κατασκευασμένος για αντοχή στην ακτινοβολίες, ο ERC32 της ESA [που βασίζεται στην τεχνολογία SPARC της SUN] και ο ανθεκτικός στην ακτινοβολία Pentium-συμβατός των Sandia Labs [εργαστήριο των ΗΠΑ που ασχολείται με πυρηνική τεχνολογία].

Στα πλεονεκτήματα του FlightLinux ήταν η διαθεσιμότητα του κώδικα του λειτουργικού συστήματος και των drivers, και η υποστήριξη ενός μεγάλου αριθμού γλωσσών προγραμματισμού, δικτυακών πρωτοκόλλων και συστημάτων αρχείων. Δυστυχώς, παρότι το FlighLinux είναι ανοικτού κώδικα, η Αμερικάνικη κυβέρνηση δεν επέτρεψε την ελεύθερη διανομή του πηγαίου κώδικά του, για ευνόητους λόγους, λόγω της φύσης των συστημάτων που μπορούσε να ελέγξει. Το project ολοκληρώθηκε στις 30 Ιουνίου 2002.

To τραγικό Columbia

Όπως πιθανώς γνωρίζετε, η αποστολή STS-107 του λεωφορείου Columbia σημάδεψε την ιστορία της NASA, καθώς το σκάφος καταστράφηκε ολοσχερώς κατά την επάνοδό του στην ατμόσφαιρα, παίρνοντας μαζί του και τα 7 μέλη του άτυχου πληρώματος, την 1η Φεβρουαρίου 2003. Αυτό που δεν είναι γνωστό, είναι ότι το Columbia, ανάμεσα σε άλλα, μετέφερε στο Hitchhiker φορτίο του το πείραμα CANDOS/LPT. Το πείραμα Communication And Navigation Demonstration On Shuttle [CANDOS] αποτελούνταν από έναν επεξεργαστή-αναμεταδότη χαμηλής ισχύος [Low Power Tranceiver, LPT] και τέσσερις κεραίες. Το LPT βασιζόταν σε ένα PC-104 με επεξεργαστή AMD 686 στα 233MHz, με 256ΜΒ RAM και 144ΜΒ Flashdisk. Ο επεξεργαστής έτρεχε Red Hat Linux 6.1 με πυρήνα 2.2.12. Στόχος του πειράματος ήταν η δοκιμή του αναμεταδότη και των web servers για την επικοινωνία του προσωπικού εδάφους με το λεωφορείο μέσω ενός απλού browser. Παράλληλα δοκιμάστηκαν τα πρωτόκολλα Mobile IP, SSH και GPS.

Στις 16 Ιανουαρίου 2004, το Columbia εκτοξεύθηκε επιτυχώς και δυομιση ώρες μετά ο επεξεργαστής CANDOS άρχισε να λειτουργεί. Το πείραμα είχε απόλυτη επιτυχία. Δυστυχώς, η αποστολή STS-107 είχε τραγικό τέλος κατά την επιστροφή της στη Γη.


Το Red Hat Linux 6.2 έτοιμο για το διάστημα. Ο επεξεργατής LPT βρίσκεται στο ασημί κουτί με τα κόκκινα καλώδια.


Tο λογότυπο του πειράματος CANDOS της άτυχης αποστολής STS-107.

Και στον Άρη!

Στις 3 Ιανουαρίου 2004, το πρώτο σκέλος της αποστολής Mars Exploration Rover [MER] της NASA στέφθηκε με επιτυχία καθώς το module προσεδάφισης συνολικής μάζας 1 τόνου χτύπησε την επιφάνεια του Άρη. Χάρη στο αλεξίπτωτο και τους αερόσακους, το πολύτιμο φορτίο του δεν έπαθε τίποτε από την πρόσκρουση. Τριακόσια μέτρα από το σημείο πρόσκρουσης, το module σταμάτησε, οι αερόσακοι ξεφούσκωσαν και αποκαλύφθηκε μια μεταλλική πυραμίδα μέσα στην οποία κρυβόταν ένα ρομποτικό ρόβερ με έξι ρόδες, το Spirit. Το Spirit που είχε στόχο την γεωλογική μελέτη του εδάφους του Άρη, ακολούθησε μετά από 3 εβδομάδες το δίδυμο αδερφάκι του, το Opportunity. Και τα δύο ρόβερ διέθεταν επιστημονικά όργανα, πομπούς, δέκτες και κάμερες που θα βοηθούσαν τους επιστήμονες να τα καθοδηγήσουν στην 3μηνη, όπως αρχικά αναμενόταν, περιπλάνησή τους στην επιφάνεια του "κόκκινου πλανήτη" με στόχο την εύρεση στοιχείων για την παλιότερη παρουσία νερού στον Άρη.

Τα δύο ρόβερ βασίζονται στο λειτουργικό σύστημα VxWorks της WindRiver, αλλά για την καθοδήγησή τους από τη Γη οι επιστήμονες χρησιμοποίησαν Linux και εφαρμογές που ανέπτυξαν με ανοικτού κώδικα βιβλιοθήκες. Η αποστολή MER ήταν η πρώτη που χρησιμοποίησε το Linux για κρίσιμης σημασίας λειτουργίες, όπως ο επιστημονικός σχεδιασμός, η αποστολή εντολών, η οπτικοποίηση των δεδομένων και η προσομοίωση των συνθηκών στις οποίες βρίσκονται τα δύο οχήματα. Αυτές τις λειτουργίες τις επιτελεί η σουίτα RSVP [Rover Sequencing and Visualization Program] που αναπτύχθηκε, δοκιμάστηκε και λειτουργεί σε Linux. Το RSVP χρησιμοποιείται για την τελική παραγωγή των εντολών που αφορούν όλες τις δραστηριότητες κίνησης και επεξεργασίας των δύο ρόβερ. Αποτελείται από το RοSE [Rover Sequense Editor], ένα JAVA interface για την επεξεργασία των εντολών και τη μοντελοποίηση τους πριν την αποστολή στα οχήματα, και το Hyperdrive, ένα 3D προσομοιωτή του ρόβερ και του περιβάλλοντος του που επιτρέπει στους χειριστές να ελέγξουν την ασφάλεια των κινήσεων του κάθε οχήματος. To Hyperdrive γράφτηκε στις ανοικτού κώδικα βιβλιοθήκες GTK+, Glade και OpenGL και αντίθετα με το RoSE, ασχολείται μόνο τις εντολές εκείνες που έχουν να κάνουν με την οπτική αναπαράσταση. Έτσι το HyperDrive δείχνει την κίνηση του ρόβερ, το ρομποτικό βραχίονα και τις εντολές σαν μια σειρά από εικονίδια πάνω στο 3D τεραίν, καθένα από τα οποία είναι τοποθετημένο στο σημείο όπου θα εκτελεστεί η αντίστοιχη ενέργεια. Έχει όμως και τη δυνατότητα να προβάλει τα ίδια εικονίδια των ενεργειών πάνω σε πραγματικές φωτογραφίες της επιφάνειας του Αρη που συνθέτει από τα δεδομένα που στέλνουν τα ρόβερ στη Γη αλλά και να δημιουργεί δοκιμαστικά animation με τις κινήσεις του ρόβερ όταν θα εκτελέσει τις προκαθορισμένες εντολές ώστε να μπορούν οι ελεγκτές του να ελέγξουν κάθε άποψη της κίνησής του από πριν.


Καλλιτεχνική απεικόνιση του Spirit πάνω στην επιφάνεια του Άρη.


Τρισδιάστατη απεικόνιση στο RSVP της διαδικασίας κίνησης του βραχίονα του ρόβερ.


Το HyperDrive χρησιμοποιεί τεχνολογίες της nVIDIA για να απεικονίσει τρισδιάστατα την επιφάνεια του Άρη, επιτρέποντας στους επιστήμονες να προβάρουν διάφορα σενάρια κινήσεων και πειραμάτων πριν τα στείλουν οριστικά για εκτέλεση στα ρόβερ.


Το HyperDrive μπορεί να συνδυάσει τις πραγματικές εικόνες από τον Άρη με τα γραφικά για να δημιουργήσει μια "αυξημένης πραγματικότητας άποψη" του περιβάλλοντος χώρου κάθε ρόβερ.


Ο επεξεργαστής εντολών RoSE για την καθοδήγηση των ρόβερ γράφτηκε σε GNU Emacs με τη γλώσσα Java.


To SAP/Maestro χρησιμοποιείται από τους επιστήμονες του προγράμματος Mars Expendition για τη δημιουργία των δραστηριοτήτων που θα εκτελέσουν τα ρόβερ κατά τη διάρκεια της αρειανής ημέρας.

Εκτός από αυτά η επιστημονική ομάδα χρησιμοποιεί το SAP/Maestro [Science Activity Planner] για να δημιουργήσει το πλάνο των ημερήσιων δραστηριοτήτων του κάθε οχήματος. Από τις εικόνες του Maestro, οι επιστήμονες δημιουργούν μια λίστα δραστηριοτήτων που με τη σειρά τους θα γίνουν εντολές μέσω του RSVP. Λόγω των μεγάλης διάρκειας της 'ημέρας' στον Άρη, οι επιστήμονες πρέπει να σχεδιάζουν επακριβώς τις εντολές που θέλουν να στείλουν στα οχήματα και μετά να τις εκπέμπουν σε αυτά κατά τη διάρκεια της Αρειανής νύκτας. Τα rover εκτελούν τις εντολές την επόμενη ημέρα.To Maestro διατέθηκε εξ' αρχής στο κοινό και ανακηρύχθηκε καλύτερη εφαρμογή του 2004 για τη NASA. Η αποστολή MER είναι μια από τις πιο επιτυχημένες της ιστορίας της NASA καθώς, αντίθετα με τις αρχικές προβλέψεις, τα δύο ρόβερ εξαξολουθούν να αλωνίζουν πάνω στον Άρη μέχρι σήμερα.

Και στη σελήνη (;)

Μπορεί τα ρόβερ του MER να μην τρέχουν Linux, ωστόσο η NASA ίσως χρησιμοποιήσει το Linux για την ...επιστροφή της στη Σελήνη. Στην έρημο της Αριζόνα, οι επιστήμονες δοκίμασαν πρόσφατα τις δυνατότητες ενός νέου αυτοκινούμενου οχήματος εξερεύνησης που λέγεται Κ-10 και τρέχει Linux. Το K-10, ή κάποια μελλοντική εξέλιξή του, ίσως χρησιμοποιηθεί από τη NASA στην αποστολή που θα σημάνει την επιστροφή των Αμερικανών στο μοναδικό φυσικό δορυφόρο του πλανήτη μας.

Σε αντίθεση με τo Spirit και το Opportunity, το K-10 αποτελείται από υλικά που υπάρχουν στο εμπόριο ενώ στην καρδιά του τρέχει μια έκδοση του Red Hat Linux, πάνω σε ένα IBM ThinkPad με Intel Pentium M 1.4GHz. Οι επιστήμονες ελέγχουν το Κ-10 ασύρματα, μέσω του 802.11g Wi-Fi interface. Εκτός από το K-10 οι επιστήμονες δοκιμάζουν ένα ακόμη αυτόνομο όχημα που βασίζεται σε Linux, το Scout, που τρέχει Gentoo Linux πάνω σε δύο 'απλά' laptops της Dell και έχει δυνατότητα τηλεκατεύθυνσης μέσω joystick.

Τα δύο οχήματα αναπτύσσονται από την ομάδα D-RATS [Desert Research and Technology Studies] που αποτελείται από επιστημόνες, της NASA και μη, με αντικείμενο τη δοκιμή οχημάτων στα πλαίσια του προγράμματος Constellation που σκοπεύει στη δημιουργία αυτοκινούμενων οχημάτων για επανδρωμένες και μη αποστολές εξερεύνησης άλλων πλανητών. Δείτε: http://science.ksc.nasa.gov/d-rats/


Ο “εγκέφαλος” του K-10 είναι ένα απλό ΙΒΜ Thinkad στα 1.4GHz που τρέχει Red Hat Linux.

Modular υπολογιστές με Linux

Ένα πιο πρόσφατο project της NASA που εμπλέκει το Linux είναι το RSC [Reconfigurable Scalable Computing] που αναπτύσσεται από το Πανεπιστήμιο του Queensland της Αυστραλίας με προϋπολογισμό 18 εκ. δολάρια. Σκοπός είναι η αύξηση της απόδοσης και της ευελιξίας των υπολογιστών που ενσωματώνονται σε πλανητικά ρόβερ, οχήματα εξερεύνησης, κλπ. Αυτό θα επιτεχυθεί με την κατασκευή ενός νέου τύπου υπολογιστή που αποτελείται από modules μεγέθους μόλις 10x13 εκατοστών που καθένα θα τρέχει μια έκδοση Linux [uCLinux] πάνω σε μία μίνι μητρική FPGA [field programmable gate arrays]. Αυτά τα modules θα μπορούν να συνδέονται, να αποσυνδέονται και να δημιουργούν συστοιχίες διαφόρων μεγεθών ώστε να προσαρμόζονται στις απαιτήσεις της αποστολής ενώ στο μέλλον θα έχουν την δυνατότητα αυτο-ρύθμισης. Αυτές οι δυνατότητες οφείλονται στα λογικά κυκλώματα που περιέχονται στις FPGA 'μητρικές' οι οποίες μπορούν να επαναπρογραμματιστούν από απόσταση για να προσαρμοστούν στις μεταβαλλόμενες συνθήκες μιας διαστημικής αποστολής.

Η NASA πιστεύει ότι με την τεχνολογία RSC θα μπορέσει να αποκτήσει υπολογιστικά συστήματα που θα συνδυάζουν μεγάλη επεξεργαστική ισχύ με τη δυνατότητα προσαρμογής ή διόρθωσης των όποιων τεχνικών λαθών μετά την εκτόξευση του διαστημικού οχήματος. Δείτε: http://tinyurl.com/y74pjo


Κάθε σύστημα RSC θα αποτελείται από modules με μινι μητρικές FPGA που θα τρέχουν Linux.


Τα συστήματα RSC θα μπορούν να συνδυάζονται μεταξύ τους.

Ένα "ηρωικό" project

Το Beowulf είναι ίσως ένα από τα γνωστότερα projects της NASA που βασίζονται σε ανοικτό κώδικα. Πρόκειται για μια τεχνολογία clustering με βάση το Linux που αναπτύχθηκε στο Goddard Space Flight Center της NASA το 1994 και επιτρέπει τη δημιουργία τεράστιων συστοιχιών από φθηνά PCs που μπορούν να ανταγωνιστούν άνετα τους μεγαλύτερους και ακριβότερους υπερυπολογιστές του κόσμου. Η επιτυχία του project ήταν τέτοια που πλέον υπάρχει αναγνωρισμένη "κλάση" υπερυπολογιστών που βασίζονται στο Beowulf και χρησιμοποιούνται σε υψηλών απαιτήσεων υπολογισμούς τόσο σε εμπορικό όσο και σε ακαδημαϊκό επίπεδο. Μάλιστα πολλές μεγάλες εταιρείες, όπως η HP, η Northrop Grumman, η Penguin Computing κά, κατασκευάζουν και πωλούν συστοιχίες Beowulf. Για την ιστορία, το Beowulf είναι ένα επικό ποίημα του 7ου-10ου αιώνα μΧ, όπου ο ομώνυμος Γότθος ήρωας ταξιδεύει στη Δανία για να σκοτώσει ένα τέρας που λέγεται Grendel. Περιέργως, η NASA επέλεξε αυτό το όνομα για αυτήν την τεχνολογία clustering.

Ένα παράδειγμα υπερυπολογιστή της NASA που βασίζεται στην τεχνολογία Beowulf είναι ο DAREVEN [Distributed ARtificial EVolution ENgine] που χρησιμοποιείται για τη δημιουργία και δοκιμή "γενετικών αλγορίθμων" που αυτοματοποιούν τη σχεδίαση και βελτιστοποίηση πολύπλοκων μηχανικών συστημάτων της NASA. Η συστοιχία αποτελείται από 122 κόμβους (PCs) με διάφορους επεξεργαστές [32 Pentium III 500MHz, 32 AMD Athlon 1200ΜΗz, 12 AMD Athlon 1.67 GHz, 46 AMD Athlon MP 2600+] που διασυνδέονται μέσω ενός απλού δικτύου Ethernet 100Mbs με Cisco switches και τρέχουν Red Hat Linux. Δείτε: http://www.beowulf.org


To Beowulf cluster DAREVEN της NASA.

Εξομοιωτής διαστήματος και όχι μόνο...

Μια πολύ σημαντική προσπάθεια της NASA, που βασίζεται σε Linux, είναι το Columbia Project που ξεκίνησε το 2004. Αντικείμενο του είναι η δημιουργία ενός υπερυπολογιστή για την εξομοίωση της εξερεύνησης του διαστήματος, που φέρει το όνομα Columbia προς τιμήν των μελών του άτυχου διαστημικού λεωφορείου. O υπερυπολογιστής στήθηκε μόλις σε μερικούς μήνες του 2004 και αποτελείται από 20 υπερσυστοιχίες [superclusters] Altix της SGI, καθεμία από τις οποίες διαθέτει 512 επεξεργαστές Intel Itanium 2, 1.5 GHz με 1 Terabyte μνήμης RAM. Δηλαδή, ο Columbia διαθέτει συνολικά 10.240 επεξεργαστές ενώ έχει 440 Τerabytes αποθηκευτικού χώρου σε Fibre Channel RAID. H συνολική του αποθηκευτική δυνατότητα φτάνει τα 10 Petabytes! Το σύστημα ανακυρήχθηκε ο πιο γρήγορος υπολογιστής του κόσμου για το 2004 [σήμερα είναι στην 4η θέση] με επίδοση 51.9 TeraFlops [τρισεκατομύρια πράξεις το δευτερόλεπτο] και τρέχει Red Hat Linux με πυρήνα Linux 2.4, αν και υπάρχουν σχέδια να 'περάσει' σύντομα σε SUSE Linux με πυρήνα 2.6.

Ο Columbia χρησιμοποιείται στην εξερεύνηση του διαστήματος, τη μελέτη του φαινομένου του θερμοκηπίου και την αεροδιαστημική τεχνολογία. Για παράδειγμα, ο υπολογισμός και η ανάλυση των παραμέτρων επανεισόδου ενός διαστημικού λεωφορείου στη Γη χρειαζόταν 2 με 4 μήνες, ενώ με το Columbia μπορεί να γίνει μόλις σε μια ημέρα. Το σύστημα χρησιμεύει και στη μοντελοποίηση του καιρού αλλά και τη σχεδίαση αεροσκαφών. Έτσι το μονοπάτι που θα ακολουθήσει ένας τυφώνας μπορεί πλέον να υπολογιστεί επακριβώς πέντε μέρες πριν την εμφάνιση του.


Μια άποψη του υπερυπολογιστή Columbia του κέντρου Advanced Supercomputing της NASA [NAS]


Στιγμιότυπο από animation προσομοίωσης δύο γαλαξιών που έχουν στο κέντρο τους μια μαύρη τρύπα. Δημιουργήθηκε στον Columbia.

Βέβαια, το Columbia Project δεν ήταν η πρώτη φορά που συνεργάστηκε η NASA με την SGI με βάση το Linux. Η Υπηρεσία είχε ήδη συνεργαστεί με την SGI για τη δημιουργία του πρώτου Linux server της με 512 κοινούς επεξεργαστές και λογισμικό ανοικτού κώδικα. Ο υπερυπολογιστής λεγόταν Kalpana [από το όνομα του αστροναύτη Kalpana Chawla του διαστημόπλοιου Columbia]. Δείτε: http://tinyurl.com/yk4zdo και http://tinyurl.com/ygxuhg.

Διαστημικοί βοηθοί

Μια πολύ πιο high-tech εφαρμογή του Linux από τη NASA θα είναι στη μελλοντική δημιουργία ενός προσωπικού διαστημικού βοηθού, ένα είδος R2D2 [το ρομπότ-οδηγός του Luke Skywalker στο Star Wars]. Το project λέγεται PSA [Personal Satellite Assistant] και σκοπεύει στη δημιουργία ενός ρομπότ με σχήμα σφαίρας που θα αιωρείται δίπλα από τον αστροναύτη καθώς εκείνος κάνει τη δουλειά του!


Το PSA χωρά σε μια ανθρώπινη παλάμη, αλλά θα βοηθά τους αστροναύτες στην επικονωνία και σε δύσκολες καταστάσεις. Εδώ δοκιμάζεται σε συνθήκες έλλειψης βαρύτητας.

Tο PSA θα τρέχει Linux και θα μπορεί να μετακινείται εκούσια, να ανιχνεύει τοξικά αέρια, να παρακολουθεί την ατμοσφαιρική πίεση, να λειτουργεί ως μέσο τηλεδιάσκεψης και να επικοινωνεί με άλλες συσκευές στο λεωφορείο ή στο διαστημικό σταθμό. Η συσκευή θα έχει διάμετρο μόλις 15.6 εκατοστά, θα ενσωματώνει μικρή οθόνη, αισθητήρες και θα μπορεί να πετά μόνη της ή σε ομάδες σε επικίνδυνα σημεία που υπάρχουν υψηλές συγκεντρώσεις θερμότητας ή τοξικών αερίων. Ουσιαστικά θα λειτουργεί στο πλάι του αστροναύτη παρακολουθώντας την κατάσταση του περιβάλλοντος χώρου και θα μπορεί να τον βοηθά στην επικοινωνία του με το υπόλοιπο πλήρωμα και τα όργανα του σκάφους ενώ δεν αποκλείεται να του δίνει και λεπτομερείς οδηγίες για τη διεξαγωγή διάφορων εργασιών.


Οι επιστήμονες της NASA εμπνεύστηκαν το PSA από το R2D2 του George Lucas [Star Wars].

Και ως πλατφόρμα δοκιμών...

Ένας ακόμη ρομποτικός βοηθός της NASA που χρησιμοποιεί Linux είναι το Extra-Vehicular Activity Robotic Assistant [ERA]. Πρόκειται για ένα αυτοκινούμενο όχημα που θα μπορούσε να είναι χρήσιμο στην επιφάνεια ενός πλανήτη όπως ο Άρης. Ουσιαστικά όμως το ERA είναι περισσότερο μια πλατφόρμα δοκιμών και έρευνας για τις ανάγκες της συνεργασίας αστροναυτών και αυτόνομων ρομπότ. Το ρομπότ αυτό συμμετέχει σε διάφορες δοκιμές σε ερήμους της Γης για τη μελέτη της συνεργασίας των ρομπότ με αστροναύτες σε σενάρια που θα μπορούσαν να συμβούν στο διάστημα. Τα αποτελέσματα χρησιμοποιούνται ως feedback για την βελτίωση του ρομπότ αλλά και των απαραίτητων οργάνων του διαστημικού σκάφους. Τo ERA περιλαμβάνει αισθητήρες GPS, όρασης και πλοήγησης ανάμεσα σε εμπόδια, μέτρησης απόστασης, πυξίδα, μετρητές κλίσης κλπ. Βασίζεται σε τέσσερα PC-104 Pentium II που τρέχουν Linux.


Το ERA στοχεύει στη μελέτη της αλληλεπίδρασης αστροναυτών με τα ρομπότ στην επιφάνεια πλανητών όπως ο Άρης.

To Linux στην ESA

Η NASA δεν είναι μόνη της στην διαστημική κούρσα, αφού η αντίστοιχη Ευρωπαϊκή Υπηρεσία Διαστήματος, η ESA, έχει να επιδείξει αρκετά αξιόλογο έργο. Μάλιστα έχει ανακοινώσει ότι για το νέο σκάφος ανεφοδιασμού ATV [Automated Transfer Vehicle] θα χρησιμοποιήσει και το Linux. Το πρώτο ATV αναμένεται να εκτοξευθεί το 2007 και, για την υποστήριξη και το έλεγχό του, η ESA έχει αναπτύξει δύο Linux εφαρμογές, το RACSI και το GOAS.

Beagle-2

Πριν όμως δούμε τις δύο εφαρμογές ελέγχου του ATV, αξίζει να αναφέρουμε μια ...αποτυχία: το Beagle-2. Το Beagle-2 ήταν η απόπειρα αποστολής και προσεδάφισης στον Άρη μιας Βρετανικής ερευνητικής συσκευής [όχι ρόβερ]. H συσκευή θα έφτανε στον Άρη με την αποστολή Mars Express της ESA, που κύριος στόχος ήταν να στείλει και να θέσει σε τροχία γύρω από τον Άρη το ομώνυμο Ευρωπαϊκό δορυφόρο. Πάνω στον δορυφόρο είχε προσαρμοστεί το Beagle-2 που έμοιαζε σαν ένα στρείδι που περιβαλόταν από ισχυρές ασπίδες θερμότητας και απορροφητικά υλικά. H ESA χρησιμοποιούσε Linux τόσο για τον έλεγχο της αποστολής όσο και για την επικοινωνία με τη συσκευή και τη λειτουργία των οργάνων της στην επιφάνεια του Άρη, όταν θα έφτανε εκεί. Όταν ο δορυφόρος έμπαινε σε τροχιά, το Beagle-2 θα αποκολλούνταν για να 'πέσει' στην επιφάνεια του Άρη, όπου το 'στρείδι' θα άνοιγε για να αποκαλύψει πεντε ηλιακούς συλλέκτες που θα τροφοδοτούσαν με ρεύμα έναν ηλεκτρικό βραχίονα στον οποίο ήταν προσαρμοσμένα όλα τα επιστημονικά όργανα. Πάνω στο βραχίονα υπήρχε ένα μικροσκοπικό αυτοκινούμενο εργαλείο, το PLUTO, το οποίο συνδεόταν με το βραχίονα μέσω καλωδίου ρεύματος και είχε τη δυνατότητα να μετακινείται 1 εκατοστό κάθε 5 δευτερόλεπτα μέσω ενός μηχανισμού συμπιεσμένου ελατηρίου. Σκοπός του PLUTO ήταν η μελέτη του υπεδάφους του Άρη και η συλλογή δειγμάτων.

Στόχος του Beagle-2 ήταν οι γεωλογικές μελέτες του σημείου προσεδάφισης, η μελέτη της ατμόσφαιρας, η συλλογή στοιχείων για τις κλιματολογικές συνθήκες του Άρη και η ανίχνευση πιθανών μορφών ζωής. Η βολίδα εκτοξεύθηκε το 2003, αλλά παρότι ο δορυφόρος μπήκε κανονικά σε τροχιά, το Beagle-2 δεν τα κατάφερε κατά την πτώση του στην επιφάνεια του κόκκινου πλανήτη τα Χριστούγεννα του ίδιου έτους, αφού το κέντρο ελέγχου της Γης δεν κατάφερε ποτέ να επικοινωνήσει μαζί του. Τελικά η αποστολή του κρίθηκε αποτυχημένη στις 6 Φεβρουαρίου 2004. Το τι ακριβώς απέγινε το Beagle-2 παραμένει μέχρι σήμερα μυστήριο.


To Beagle-2 σε δοκιμές πριν από την αποστολή στον Άρη. Διακρίνεται το PLUTO, το μόνο εργαλείο που θα μπορούσε να απομακρυνθεί κάπως από το σημείο πρόσκρουσης της συσκευής για να φέρει δείγματα του εδάφους.

Linux στον ISS

Όπως είπαμε πριν, ο διαστημικός σταθμός ISS τρέχει αυτό τον καιρό δύο πειραματικές εφαρμογές που βασίζονται στο Linux: το RACSI και το GOAS, που μελλοντικά θα ελέγχουν τις λειτουργίες προσέγγισης και πρόσδεσης του μελλοντικού μη επανδρωμένου διαστημόπλοιου ATV.

Το RACSI (Remote Control of ESA's Pre-development Program Automatic Transfer Vehicle) είναι μια εφαρμογή Linux που θα επιτρέπει στους αστροναύτες που βρίσκονται στον ISS να ελέγχουν από απόσταση τις κινήσεις του ATV. Το σύστημα βασίζεται σε ένα IBM ThinkPad, που τρέχει Linux, με 64ΜΒ RAM και 40MB σκληρό δίσκο και δίνει τριών ειδών πληροφορίες στο χρήστη: την φάση της αποστολής, δεδομένα για την τροχιά του ATV και προειδοποιήσεις. Ο αστροναύτης θα έχει τη δυνατότητα να παρακολουθεί μέσω βίντεο την πορεία του ATV και να του δίνει δύο ειδών εντολές, είτε για την ακινητοποίησή του είτε για την εκτέλεση κάποιας μανούβρας.

To GOAS (Ground Operator Assistant System), που τρέχει επίσης σε Linux, θα χρησιμεύει και αυτό για τον έλεγχο και πρόσδεση του ATV με τον ISS, αλλά από τη Γη. Η εφαρμογή έχει παρόμοια χρησιμότητα με το RACSI αλλά είναι μεγαλύτερη και πιο πολυπλοκη αφού επιτρέπει τον έλεγχο και παρέμβαση των χειριστών από το έδαφος σε πιο δύσκολες συνθήκες σφαλμάτων. Το GOAS είναι ουσιαστικά μια εφαρμογή X-Windows που τρέχει σε ένα σύστημα Intel Pentium 233ΜHz με 48MB RAM. Σύμφωνα με τον Guillermo Ortega, που εργάζεται στην ESA , η Ευρωπαϊκή Υπηρεσία επέλεξε το Linux γιατί "έχει τέσσερα κρίσιμα στοιχεία για διαστημικές εφαρμογές: αξιοπιστία, απόδοση, μεταφερσιμότητα και οικονομική προσιτότητα".

Παράλληλα, η Novell ανακοίνωσε πρόσφατα ότι θα συνεργαστεί με την ESA για τη δημιουργία ενός συστήματος αποθήκευσης δεδομένων στο module Columbus Labs με βάση το SUSE Linux Enterprise 8. To module Columbus είναι η μεγαλύτερη συνεισφορά της Ευρώπης στον Διεθνή Διαστημικό Σταθμό και θα χρησιμεύσει για την εκτέλεση πειραμάτων της επιστήμης υλικών, της ρευστοδυναμικής κλπ σε συνθήκες έλλειψης βαρύτητας. To module είναι ήδη έτοιμο και αναμένεται ότι θα ενσωματωθεί στον διεθνή διαστημικό σταθμό ISS μέχρι το τέλος του 2007.


To νέο module Columbus περιμένει την στιγμή της ενσωμάτωσής του στον ISS. Για την ασφάλεια των δεδομένων των πειραμάτων θα χρησιμοποιεί SUSE Linux.

Αντί επιλόγου

Βασικός παράγοντας που ωθεί τη NASA και την ESA να επιλέγουν όλο και περισσότερο το Linux για διάφορες αποστολές στο διάστημα ή την υποστήριξή τους από το έδαφος είναι φυσικά το μικρότερο κόστος σε σχέση με τα εμπορικά λειτουργικά συστήματα. Δεν είναι όμως μόνο αυτό. Το Linux και ο ανοικτός κώδικας γενικότερα έχουν αποδείξει ότι διακρίνονται για την αξιοπιστία, τις επιδόσεις και τη δυνατότητα εύκολης μεταφοράς τους σε άλλες αρχιτεκτονικές υπολογιστών. Η χρήση του Linux και των εργαλείων ανοικτού κώδικα συνεπάγεται μεγαλύτερη ταχύτητα ανάπτυξης του λογισμικού και αυξημένη δυνατότητα συνεργασίας μεταξύ των προγραμματιστών, όπως για παράδειγμα συμβαίνει χάρη στα ανοικτού κώδικα συστήματα ταυτόχρονης έκδοσης λογισμικού [CVS]. Το μέλλον του Linux στις δύο βασικές αεροδιαστημικές υπηρεσίες είναι λαμπρό. Αυτό που λείπει πιθανώς είναι η αλλαγή μερικών κανόνων που σχετίζονται με τις προμήθειες λογισμικού και τις άδειες χρήσης και τότε το Linux θα πετάξει ακόμα πιο μακρυά...

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Πολύ ωραίο κ περιεκτικό αρθρό!
Να προσθέσω κ εγώ μερικές "inside" πληροφορίες για τη σχέση της ESA με το Linux:

Μετά την επιτυχή χρήση του ERC32, η ESA ανέθεσε στην εταιρεία Gaisler Research την ανάπτυξη του επεξεργαστή LEON (άλλος ένας SPARC-compatible επεξεργαστής). Ο LEON3 κυκλοφορεί ήδη, με 2 άδειες: GPLv2 για ερευνητικούς σκοπούς, κ commercial.
Επίσης, ο LEON3 κυκλοφορεί σε κανονική κ "fault-tolerant" (FT) εκδοχή, ειδικά για διαστημικές εφαρμογές.

Ο LEON3, μαζί με τα περιφερειακά του (GRLIB) μπορεί να τοποθετηθεί σε μια FPGA για τη δημιουργία ενός πραγματικού System-on-Chip, με πλήρη λειτουργικότητα (ελεγκτές μνήμης, δίσκων, οθόνης, θυρών, SpaceWire κ.α.), ή να "κοπεί" σε ASIC τσιπάκι, για πολυάριθμη παραγωγή.

Κ φυσικά, τι άλλο μπορεί να τρέξει σε ένα τόσο εξωτικό σύστημα (αρχιτεκτονική SPARC, ρολόι < 100MHz, λιγοστή μνήμη, κ όλα μαζί μέσα σε ένα μόνο τσιπάκι) πέρα από Linux? ;)

Για όσους ασχολούνται με τέτοια θέματα, ορίστε κ μερικά links:

* http://www.gaisler.com/cms/index.php?option=com_content&task=view&id=13&Itemid=53
* http://www.gaisler.com/cms/index.php?option=com_content&task=section&id=13&Itemid=125

* http://en.wikipedia.org/wiki/LEON
* http://www.esa.int/TEC/Microelectronics/

Κάπως έτσι σκέφτεται και η κυβέρνησή μας και έσπευσε να κλείσει τη συμφωνία με τον Bill. Βλέπετε με
το ανοιχτό λογισμικό δεν υπάρχουν περιθώρια για κρατικές προμήθειες, μίζες ή κάτι αναλόγως
οικείο για τους γνωστούς άγνωστους καρεκλοκένταυρους του δήμοσιου βίου μας. Το δημόσιο
συμφέρον αν δεν περάσει απο τις τσέπες τους δεν υφίσταται και δεν λογίζεται ως τέτοιο.
Τώρα γιατί εμείς όλοι ψηφίζουμε τους ίδιους και τους ίδιους συνεχώς είναι μάλλον γιατί ο
καθένας μας όταν έρχονται εκλογές δεν κάνει την αυτοκριτική του.