Pocket Guide to Digital Transformation #8: Going to the Moon is no longer a Moonshot
Die Mondlandung der „Apollo 11“ jährte sich in diesem Jahr zum fünfzigsten Mal. Ein wahnwitziges Unterfangen, das am 21.07.1969 seinen Höhepunkt feierte. Ein spannendes Detail unter vielen: Der bei den Apollo Missionen eingesetzte Flugcomputer war der erste Computer der Geschichte, der eine Verantwortung für Menschenleben trug. Zeit zurückzuschauen und einen Blick auf damalige und heutige Technologien sowie Moonshots zu werfen, sich zu fragen wie komplex unsere Welt geworden ist, was wir von ihr wirklich verstehen und ob die Zukunft für die Gegenwart bürgen sollte.
Am 25. Mai 1961 verkündete John F. Kennedy, dass sich die USA verpflichten solle, innerhalb einer Dekade einen Mann auf den Mond und wieder zurück zu bringen. Was folgte ist hinlänglich bekannt. Am 21. Juli 1969 um 3:56 Uhr MEZ betraten im Zuge der Mission Apollo 11 die ersten Menschen den Mond.
Auch nach 50 Jahren ist die Apollo Mission ein positives Symbol für den Umgang mit Ungewissheit, Wagnis und Risiko. Niemand war damals von Kennedy überraschter, als die Wissenschaftler und Ingenieure der NASA. Denn niemand wusste wie man eine Rakete baut, die groß genug ist, um den Mond zu erreichen. Niemand wusste, wie man einen Computer baut, der klein und stark genug ist, um ein Raumschiff zu fliegen. Auch wusste niemand, wie die Oberfläche des Mondes aussah, geschweige denn wie Astronauten im Weltraum essen sollten. Amerika hatte im Mai 1961 ganze fünfzehn Minuten Raumfahrterfahrung und nur fünf davon außerhalb der Atmosphäre. Auch in der Sowjetunion fehlte zur damaligen Zeit die Expertise. Die russischen Hunde Strelka und Belka, sowie 40 Mäuse, 2 Ratten und Pflanzen waren die einzigen Lebewesen, die damals sicher in den Weltraum gestartet sind und sicher auf der Erde landeten.
Was in den kommenden Jahren folgte, kann man derzeit überall nachlesen und sehen. Mehr als 400.000 Wissenschaftler, Ingenieure und Fabrikarbeiter arbeiteten 24/7 an 365 Tagen im Jahr, um Neil Armstrong, Michael Collins und Buzz Aldrin am 21. Juli 1969 zum Mond zu bringen.
Abbildung 1: Das Team der Apollo 11 verfolgt den Start im Launch Control Center, Stabilo Werbung
Der Wettlauf ins All und der spätere Wettlauf zum Mond führte dazu, dass in vielen Bereichen grundlegende Erkenntnisse gewonnen und Durchbrüche gefeiert wurden. Zehntausende von Problemen wurden gelöst, bevor die unmögliche Mission im Juli 1969 Wirklichkeit wurde. Ohne die Mondlandung gäbe es vielleicht heute keine Computer-Mikrochips, Photovoltaikmodule, GPS oder kein Hubble Weltraumteleskop, keine Gravitationswellen-Observatorien und interplanetare Missionen. Das Leitbild beflügelte Politik, Wissenschaft, Forschung und Technologie über den kalten Krieg hinaus.
Der Apollo-Flugcomputer war der erste Computer der Geschichte, der eine Verantwortung für Menschenleben trug
Eines der zehntausend unmöglichen Unterfangen war die automatische und autonome Weltraumnavigation. Niemand wusste auch nur annähernd, wie man zum Mond navigiert. Geschweige denn, wie man einen Computer baut, der verlässlich ist, möglichst wenig Strom verbraucht, nicht viel Platz einnimmt und einfach zu bedienen ist. Die damaligen Rechner waren so groß wie mehrere Kühlschränke, stürzten häufig ab und mussten über Lochstreifen mit Informationen gefüttert werden.
Deswegen startete man am MIT Instrumentation Laboratory die Entwicklung der Flugsoftware für das Raumfahrtprogramm Apollo 11. Die Forscher entwickelten eine neue, bisher unbekannte Art der Speicherung von Computerprogrammen und schufen eine neue Programmiersprache. Geleitet wurde das Programm von Margaret Hamilton. Mit über 400 Mitarbeitern entwickelte sie in der Software Engineering Division den ca. 40.000 Lines of Code starken Quellcode (andere Quellen nennen 145.000 LOC) für den Apollo Guidance Computer (AGC) – der inzwischen auch auf Github zu finden ist und voller Easter Eggs und Kommentare steckt.
Abbildung 2: Hamilton neben Ausdrucken der Apollo-Flugsoftware, Wikipedia
Auch wenn der Vergleich mit der Gegenwart hinkt, zeigt er auf, was sich in den letzten 50 Jahren verändert hat: Der Prozessor des AGC lief mit 0.043 MHz und konnte 2048 Datenworte zu 16 bit (also etwa 4 Kilobyte) im Arbeitsspeicher halten. Eine Festplatte gab es nicht, lediglich ein read-only ROM-Speicher von etwa 72 Kilobyte existierte. Alle wichtigen Berechnungen wurde vom Team auf der Erde durchgeführt.
Der Prozessor des neuesten iPhone läuft mit etwa 2490 MHz und weist einen 4 GB RAM Speicher auf. Vier Gigabyte sind 34.359.738.368 Bit. Das ist mehr als eine Million mal mehr Speicher als der Apollo-Computer im RAM hatte. Das iPhone ist mit einem bis zu 512 GB großen ROM-Speicher ausgestattet. Das ist mehr als das Siebenmillionenfache. Hinsichtlich der Rechenleistung sieht es ähnlich aus. Das iPhone verfügt über die einhunderttausendfache Rechenleistung des Computers, der vor 50 Jahren auf dem Mond landete.
Baut man mit dem AGC Bitcoins ab (was wirklich jemand versucht hat), braucht man ca 10,3 Sekunden für einen Bitcoin Hash. Das bedeutet, dass der AGC im heutigen Bitcoin-Netzwerk ungefähr das Alter des Universums multipliziert mit einer Million brauchen würde, um einen einzigen Bitcoin Block erfolgreich abzubauen, der rund 140.000 USD wert ist. Selbst Taschenrechner, Glühbirnen, smarte Toaster, Luftbefeuchter oder Kühlschränke wären ertragreicher. Zumindest könnten sie hunderte, wenn nicht sogar tausende, Mondlandungen parallel organisieren.
In Sachen Lines of Code fallen die Unterschiede ähnlich extrem aus. Jaguar Land Rover geht davon aus, dass autonome Fahrzeuge 1000 Mal mehr Computercode benötigen werden als der Apollo Guidance Computer. Apollo, die von Baidu entwickelte offene Software-Plattform für selbstfahrende Fahrzeuge, ist bereits innerhalb eines Jahres von 165.000 Zeilen Code im Januar 2018 auf 400.000 LOC im Februar 2019 gewachsen.
Zum Vergleich: Die durchschnittliche iPhone-App hat ca. 50.000 Zeilen Code, während Googles gesamte Codebasis mehr als zwei Milliarden Zeilen für alle Dienste umfasst. Im Gegensatz stehen dazu z.B. eine Boeing 787 (8-14M LOC), F35 Kampfjets (24M), Facebook (61M LOC), der Large Hadron Collider (50M LOC) oder ein moderner Ford F150 (150M LOC), die irgendwo zwischen den Extremen liegt.
Abbildung 3: Lines of Code diverser Maschinen
Zugegeben, auch der Vergleich ist unpassend. Hardware und Informationsnetzwerke der 1960er sind schwer mit unserer Gegenwart zu vergleichen. Und eigentlich hätte man auch für die AGC LOC Messung die Codes berücksichtigen müssen, die für die Durchführung der Flüge erforderlich waren (z.B. Flug- und Bodensysteme). Dennoch wird deutlich, wie komplex heute alltägliche Anwendungen sind.
Allgemein gilt: Problemlösung mit wenigen Codezeilen schlägt Problemlösung mit vielen Codezeilen. Viele Codezeilen bedeuten oft, dass der eigentliche Code stützenden Code benötigt, der sich nicht direkt auf das zu lösende Problem bezieht, sondern aufgrund des gewählten Mechanismus existiert. Je weniger stützenden Code man im Code hat, desto besser. Auch weil mit jeder Zeile Code Entwickler härter und länger arbeiten müssen, um weiteren komplexeren Code zu implementieren oder diesen zu warten.
Die menschliche Interaktion mit digitalen Daten und Prozessen hat in den vergangenen Jahren um ein Vielfaches zugenommen
Immer häufiger versuchen wir komplizierte Probleme mit komplexen Lösungen – jede Anwendung mit mehr als einer Million Lines of Code und Konnektivität zu anderen Systemen ist komplex – zu bewältigen. Ein Grund dafür – und auch der Grund für viele Codezeilen – ist die Fülle an nahezu kostenlosem Cloudspeicher, ubiquitär verfügbarer Rechenleistung und flächendeckender Bandbreite. Wenn man aus dem Vollen schöpfen kann, braucht es keine Einfachheit, Kreativität oder Eleganz. Warum optimieren, wenn sich alle achtzehn Monate die Anzahl der Transistoren verdoppelt oder man mehr Rechenleistung für weniger Geld bekommt oder ein Machine Learning Algorithmus das eigentliche Problem automatisiert? Warum effiziente und schlanke Websites bauen, wenn man doch so viele schöne GIFs, Videos und Werbungen hat, um adipöse Websites zu bauen? Warum lange mit Partnern oder Wettbewerbern über Systemhoheit und Ökosystemeffizienz streiten, wenn man seine Komponenten nicht einfach auch mit Sensorik und Konnektivität ausstatten kann? Das Ergebnis sind smarte aber komplexe Autos, mit dutzenden unabhängigen Firmwares, Protokollen, Betriebssystemen, Modulen, Sensoren, ADAS-Systemen und eben unglaublichen 150M Lines of Code.
Tatsächlich ist die Rückkehr zum Mond heute schwieriger als vor 50 Jahren. Zwar hat sich die Technologie dramatisch entwickelt. Doch neben fehlenden finanziellen Mitteln sind insbesondere die Erwartungen an die Mission gestiegen: Die eingesetzten Raumschiffe müssen wiederverwertbar sein und es müssen Standardtechnologien eingesetzt werden (die Rechenleistung des neuen Orion-Raumschiffs beträgt weniger als 500MHz*), weil man keine Zeit und kein Geld für die Entwicklung neuer Technologien hat. Alles muss verbunden, verknüpft und aus der Ferne steuerbar sein. Auch ist die NASA weniger tolerant gegenüber Gesundheitsrisiken. Zudem sollen die Raumschiffe bequemer werden, weil die Astronauten zehnmal so lange auf dem Mond und noch länger im Orbit verweilen sollen. Obendrein soll der ganze Spaß natürlich von GoPros aufgenommen und gestreamt werden. Immerhin leben wir im Zeitalter von Youtube, Twitch und Twitter. Was mal ein Moonshot Projekt war, ist heute ein medienwirksames Spektakel.
Je mehr Informationen wir haben, desto weniger verstehen wir
Durch die zunehmende Verknüpfung der analogen Welt mit der digitalen Sphäre schaffen wir ein immer dichteres Netz aus Information, Akteueren, Schnittstellen und Algorithmen. Unsere Welt – und auch die der NASA – wird immer komplexer und undurchdringlicher
Konnten die Apollo Astronauten der Software von Margaret Hamilton vertrauen? Mit Sicherheit. Millionen von Arbeitsstunden auf der Erde sind für wenige Weltraumstunden erbracht worden. Die „Software“ war hardgecoded – d.h. angepasst an die Hardware und die Situation. Der Weltraum ist mit seinen Parametern „relativ“ einfach in seiner Umgebungsstruktur beschreibbar und die Navigationsintelligenz musste keine Billionen von Daten verarbeiten, wie es im Stadtverkehr der Fall ist. Der Computer hatte eine Aufgabe und ein Ziel: Die sicherste aller sicheren Reisen zum Mond und wieder zurück zu ermöglichen. Und die Software für das Apollo-Programm war zuverlässig. Während allen Apollo Missionen wurden keine Bugs gefunden und die Software wurde später für den Einsatz in der Weltraumstation Skylab, im Space Shuttle und in den ersten Fly-by-Wire-Systemen angepasst.
Können gegenwärtige Astronauten und Astronautinnen Software vertrauen? Bestimmt. Die NASA versucht Risiko auf ein Minimum zu reduzieren. Doch können wir den Moonshots unserer Gegenwart vertrauen?
Obwohl wir uns bereits einer gewissen Ohnmacht bewusst sind, gestalten wird immer mehr Räume, Prozesse und Systeme, die so komplex sind, dass sie mittlerweile nur noch von Maschinen und künstlichen Intelligenzen erfasst und verarbeitet werden können. Börsenparkette sind leer, weil das Geld mit autonomem Hochfrequenzhandel in Datencentern erwirtschaftet wird. Die Warenlager von Amazon müssen von einer KI gemanagt werden, weil das eingesetzte chaotische System effizienter als Ordnung ist. In ihnen sind Menschen nur noch als roboterhafte Wesen erlaubt. Der Verkehr der Zukunft soll autonomen, elektrisch angetriebenen Fahrzeugen gehören, die immer dann dort stehen, wo wir sie brauchen, optimal vernetzt und gesteuert von einer künstlichen Intelligenz.
Abbildung 4: Ein gefangenes selbstfahrendes Auto, James Bridle
Zwar werden im Bereich der autonomen Mobilität und auch in anderen Bereichen die Forschungsinitiativen von Tag zu Tag ehrgeiziger und ambitionierter. Allerdings ist unsere Umwelt keine Mikrowelt, deren Komplexität, Dynamik und Undurchsichtigkeit beschreibbar ist. Milliarden von vernetzten Variablen treffen in unserer Welt auf Millionen von Dynamiken. Beginnt man einmal die Ausnahme der Ausnahme zu beschreiben, endet man im Chaos. Es wird noch Jahrzehnte dauern und hunderte Milliarden US Dollar kosten, bis man allein nur das Problem „intelligenter Verkehr“ gelöst hat.
Die Zukunft sollte sich nicht für die Gegenwart verbürgen
Apollo 11 hat es nur zum Mond und wieder zurück geschafft, weil die NASA alle damals denkbaren Szenarien simulierte, um das Risiko eines Fehlversuches so gering wie möglich zu halten. Und auch heute wird bei der NASA alles getan, um denkbare wie undenkbare Szenarien mit in die Planung einzubeziehen. Das oberste Gebot ist der Schutz der Besatzung.
Man kann sich nur wünschen, dass Technologieunternehmen ähnlich vorgehen. Vor allem dann, wenn Menschenleben auf dem Spiel stehen. Doch das scheint eine Illusion. Nur wenige Produkte werden auf Herz und Nieren getestet oder so entwickelt, dass sie nahezu fehlferfrei sind. Wenn das große Geld winkt und es darum geht, schneller als alle anderen zu wachsen, heißt es nur noch: Fake it, until you make it. Gepatcht wird danach.
Der Glaube an die zukünftige Macht von Künstlicher Intelligenz und Automatisierung ist so stark, dass selbst Misserfolge und fatale Unglücke die Begeisterung nicht bremsen können. Unfälle, wie der Absturz des Lion-Air-Fluges 610, bei dem der Pilot absolut keine Ahnung hatte, was das Bordsystem von ihm wollte, werden als singuläres und überwindbares Problem abgetan. Spätestens mit dem nächsten OTA Update kommt eine Lösung. In diesem abstrakten Zukunftsvertrauen, dass rosige Zukünfte alles entschuldigen, schwelt einer der größten Gefahren unserer Zeit. Reibungslose Zukunftsbilder schwindeln uns vor, dass die Probleme der Gegenwart künftig mit ein paar Zeilen Code überwunden werden können: Es ist OK etwas unfertiges am Markt zu platzieren. Es ist OK Algorithmen entscheiden zu lassen, auch wenn wir nicht verstehen wie sie funktionieren oder Entscheidungen treffen. Lasst uns lieber den Mantel des Schweigens über die Komplexität der Realität werfen und Ungewissheiten bewusst maskieren.
Wir sollten uns nicht von hochgejazzten Potentialen und Chancen blenden lassen, die Unternehmen für den Produktverkauf produzieren. Die Welt befindet sich im stetigen Wandel. Die Zukunft ist tief, facettenreich, vage und verankert in einer komplexen Gegenwart. Heute mehr als gestern. Durch das Erkennen des Notwendigen, Möglichen und Gewollten können wir sie gestalten. Da sich die zukunftsfixierten Visionäre unserer Zeit nicht gern erinnern, sollten wir das tun. Wir müssen deswegen mehr über Risiken, Ungewissheiten, Relevanz und Implikationen von gegenwärtigen und vergangenen Moonshots diskutieren. Nur so können wir aus vergangenen Fehlern lernen und positive wie negative Implikationen antizipieren. Und nur so können wir gemeinsam die Geschichte der Zukunft neu definieren.
* Ja, 500Mhz reichen aus, um den Mond zu erreichen und entspannt auf einem Weltraumflughafen auf der Erde zu landen. Das Problem jeder neuen Generation ist Verlässlichkeit, Verfügbarkeit und Robustheit. Folglich setzt die NASA auch lieber auf Altbewährtes, anstatt auf neue ungestüme Technologien.