CPU, GPU, NPU, SPU… und was nu?

Einen schönen neuen Webauftritt hast Du, liebe Arbeitsgruppe Kommunikationssysteme! Doch nicht nur Schönheit spricht für die neue Webseite: Etwas überspitzt könnte man auch sagen, dass eine Artikelreihe “Future Web” im alten und angestaubten Typo3-Gewand gleich ein Widerspruch in sich gewesen wäre. Im aktuellen Auftritt jedenfalls kommen Form und Funktion schön zusammen. Auf eine solche Webseite möchte ich als ehemaliges Mitglied der Arbeitsgruppe auch einmal einen Beitrag setzen:

Tja, nun lebe ich hier schon eine Weile im kalifornischen Sunnyvale und arbeite in den Oracle Labs. Ich habe mich schon oft gefragt, ob ich mich durch mein Studium und durch meine Arbeit am IfI der CAU eigentlich gut vorbereitet fühle. Nun, ein Lob an das Institut für Informatik: Ich bin der festen Auffassung, dass ehrgeizige Studenten sich an der Uni Kiel sehr gut vorbereiten können auf die spätere Aufgabe. Ich sehe nicht, dass etwa ein guter Student des IfI der CAU schlechter sein sollte als ein Absolvent einer deutschen “Eliteuniversität”. Zumindest aus meiner Sicht steht das IfI auch thematisch nicht schlecht da, bietet interessante und relevante Forschungsthemen und die Grundlagen sowieso. Einer meiner Kollegen (kein Deutscher), der schon einige Jahre hier ist, meinte kürzlich sogar, dass die Verteilung der Absolventenqualität in den USA breiter ist als in Deutschland, es gibt womöglich also eine größere Elite und auch mehr Nieten. Im Durchschnitt jedoch, so seine Aussage, sei ein deutscher Student besser!

Meinen Dank also an deutsche Bildungseinrichtungen im Allgemeinen und das IfI der CAU im Besonderen!

Aus meiner Sicht gibt es momentan einen Wechsel der Richtung, in die die Forschung und die Wirtschaft getrieben wird: Stromverbrauch ist von einem wichtigen zu einem entscheidenden Argument geworden. Seit Jahren weiß man: Allein die Kühlung von Supercomputern kostet jedes Jahr Millionen, Google verlegt Server-Farmen schon in den hohen Norden, und bei Smartphones ist ebenfalls die Akkulaufzeit ausschlaggebend. Und dennoch, die Wichtigkeit von “energy-efficient” oder wenigsten “energy-aware computing” nimmt noch weiter zu. Anfang Januar war ich beim “Berkeley Par Lab”, eine Veranstaltung, bei der eine Industrie-gesponserte Arbeitsgruppe der Universität Berkeley ihre Ergebnisse ihren Sponsoren vorstellt. Energie war eines der wichtigen Themen, dennoch war der Hauptkritikpunkt der Industrie(!), dass noch immer viel zu wenig Gewicht auf diesem Thema liegt. Einige Industrievertreter erklärten, sie würden keine Performancegrafiken mehr sehen wollen, sondern stattdessen Grafiken, die den Energieverbrauch darstellen! Und es waren nicht nur Samsung und Nokia, die das anmerkten, sondern beispielsweise auch NVIDIA. Ich glaube, für Gamer sind Grafikkarten eigentlich so wie Autoquartett: die größere Zahl sticht. Jedenfalls habe ich noch nie gesehen, dass Gamer ehrfürchtig staunen, wenn jemand von seiner neuen, sparsamen Grafikkarte erzählt. Aber was erklärte hier einer der NVIDIA-Vertreter? Für NVIDIA sei die Zukunft mobil, also müsse man noch viel mehr tun, um Energie-effiziente Systeme zu entwickeln!

Es gibt viele Beispiele für diesen Paradigmenwechsel, der letztlich durch steigende Leistungsanforderungen bei zugleich begrenzter Verfügbarkeit von Energieträgern vorangetrieben wird (sei es nun ein kleiner Akku oder der steigende Preis von knappem Öl). So sind beispielsweise für Banken, Börsen und “Electronic Traders” schnellere System schon nicht mehr per se besser: Der Mehrwert kann durchaus von den höheren Energiekosten wieder aufgebraucht werden. Einen besonders schönen Beleg für diesen Wechsel sieht man auch im BAA der DARPA hier. Darin wird aufgefordert, Systeme mit einer bestimmten Rechenleistung pro Watt zu entwickeln!

Durch diesen Richtungswechsel scheint die Rechenlandschaft wieder heterogener zu werden. Es wird nicht nur nach schnellen Lösungen, sondern auch nach effizienten Lösungen gesucht. Unterschiedliche Anwendung erfordern daher mitunter unterschiedliche Hardware. Systems-on-a-Chip sind nicht nur kompakter, sie bringen die Daten auch dichter an die Recheneinheit und sparen Energie, wenn Daten oft bewegt werden. Special-Function-Units in CPUs machen bestimmte Berechnungen nicht nur viel schneller, sondern auch viel effizienter als entsprechende Softwarelösungen. FPGAs lösen datenparallele Probleme schneller und mit ungleich weniger Energieverbrauch als CPUs. Einfache Arithmetik mit einfacher Genauigkeit kann mit mehr und billigeren Recheneinheiten Energie-effizient berechnet werden, etwa mit GPUs.

Ich frage mich, ob dieser Aspekt auch in der Ausbildung verstärkt behandelt werden muss, um die Studenten auf neue heterogene Rechenlandschaft vorzubereiten. Schließlich kommen mit Smartphones, Grafikkarten oder Playstations jedes Jahr Milliarden für jedermann nutzbare (und programmierbare!) nicht-x86-Rechensysteme in den Markt. Oder ist die Lehre von diesen Hardware-Themen zu “praktisch” für universitäre Informatik? Ich weiß es nicht. Ich würde mir aber jedenfalls nachträglich für mich wünschen, es hätte ein Hardware-Gegenstück zum SysInf-Vorlesungskanon gegeben. Ich habe mich schon oft gefragt, warum ich gleich mehrere Page-Replacement-Algorithmen kenne, aber nicht so richtig weiß, was eine Northbridge, ein Front Side Bus, Hypertransport oder QPI ist. Warum erlerne ich verschiedene Caching-Strategien, befasse mich aber im Studium nicht mit (ebenfalls viel verwendeten) Prozessoren, die gar keinen Cache haben, wie etwa Grafikkarten? Ich denke, für die späteren Aufgaben als Informatiker kann Hardware-SysInf genauso wichtig (oder unwichtig) wie Software-SysInf sein.

Meinen Job hier habe ich jedenfalls nicht nur, weil wir uns in der AG Comsys mit neuen Algorithmen für XML-Verarbeitung und -Sortieren befasst haben: Interessant war unsere Forschung für Oracle auch deshalb, weil wir sie im speziellen Umfeld einer “ungewöhnlichen” Hardware getan haben!

Ich sende beste Grüße ins heimatliche Norddeutschland und bin gespannt auf Kommentare!

Hagen

Comments
4 Responses to “CPU, GPU, NPU, SPU… und was nu?”
  1. Steffen Börm says:

    Ich denke darüber nach, ob ich im nächsten Wintersemester eine Vorlesung zum Thema “Hochleistungsrechnen” anbieten sollte. Dabei würde es zwar nicht um Operationen pro Watt gehen, sondern eben doch wieder um Operationen pro Sekunde, aber die Programmierung von Multicore-, Vektor- und GPGPU-Architekturen sollte breiten Raum einnehmen. Im Moment suche ich noch nach Literatur, die man Studierenden als Grundlage empfehlen könnte. Vorschläge sind herzlich willkommen.

  2. Norbert Luttenberger says:

    Lieber Herr Peters,
    zunächst einmal ein ganz herzliches Dankeschön für Ihren großartigen Beitrag zu unserem Blog! (Na klar, ich habe mich nicht nur über Ihre positive Rückschau auf das Informatik-Studium in Kiel gefreut, sondern auch ganz dolle über Ihre Anerkennung für unsere neuen Seiten. Ich denke, Sie haben unschwer erkannt, daß ein wichtiger Anstoß, die Seiten neu und in dieser Form zu gestalten, durch Sie selbst bzw. durch Ihren “Arne goes to California”-Blog gekommen ist. Wenn Sie sich also beschweren würden: “Warum erst jetzt? Und nicht schon, als ich noch in Kiel war?”, dann hätten Sie hiermit die Antwort: Wie schön ein Blog sein kann, habe ich erst begriffen, als ich Ihren gelesen habe. Naja, ich kann es nicht verhehlen: Und auch die Kochblogs.)
    Nun aber genug der Blumen. Ihr Beitrag hat eine Menge Gedanken bei mir ausgelöst, die sich an Ihre zentrale Frage anschließen: “Ist die Lehre zu diesen Hardware-Themen zu ‘praktisch’ für universitäre Informatik?” Meine Antwort ist ein klares NEIN. Es kommt meiner Meinung nach ausschließlich darauf an, wie ein Gebiet gelehrt wird, und für die Qualifizierung dieses “wie” ist praktisch/theoretisch ein untaugliches Begriffspaar. “Nachhaltig”, “Fragen-generierend” sind für mich Vokabeln, die gute Universitätslehre beschreiben.
    Aber … zur Lehre würde auch eine Forschung gehören. Und auch da würde ich sagen: Forschung zu den von Ihnen angesprochenen Themen ist durchaus “universitätsverdächtig”; allenfalls könnten belanglose Forschungsresultate dazu führen, daß man “Energieeffizienz” als Lehr- und Forschungsthema von einer Universität verbannt. Ich denke, Energieeffizienz ist ein derart komplexes Thema, daß es den besten Köpfen gut anstände, sich damit zu beschäftigen.
    So weit, so klar. Sehr viel unklarer ist die Antwort auf die Frage, ob “Energieeffizienz” nach Kiel gehört. Wir haben ein weitgehend von Theoretikern und Mathematikern dominiertes Institut für Informatik, das mit diesem Thema eher nichts anfangen kann, und wir haben keine besonders gute Kooperation mit der Elektrotechnik, die sich mittlerweile ganz und gar der Materialwissenschaft und ihrem Leitthema “Nanotechnologie” ergeben hat (mit einem kleinen Dekoblümchen in der Windkrafterzeugung). Diese beiden Umstände scheinen derzeit nur schwer veränderbar. Wie sieht es mit der Technischen Informatik in Kiel aus? Nachdem die Abschaffung der Professur “Kommunikationssysteme” ja nach wie vor beschlossene Sache ist, glauben manche Kollegen, das Problem auf der Überholspur lösen zu können: Soll man doch Technische Informatik und Kommunikationssysteme in eine Professur zusammenpacken, dann sieht man das entstehende Loch vielleicht nicht so deutlich. Daß ich nichts von solchen Gedankenspielen halte, können Sie sich leicht vorstellen. Am Ende gäbe es weder “Energieeffizienz”, noch “Future Web”, sondern nur … ach, ich mag mir das jetzt gar nicht ausmalen.
    Bei aller Anerkenntnis der Notwendigkeit des Themas “Energieeffizienz” scheint mir das unter den gegebenen Umständen kein Thema für Kiel zu sein. Schade! Chance vertan. Stattdessen doch weiterhin Page-Replacement-Algorithmen — naja und vor allem: ihre Komplexität …

  3. Reinhard von Hanxleden says:

    Danke für Ihren Beitrag, und die lobenden Worte zur Kieler Ausbildung – welche ja auch zu einem großen Teil von unseren Mitarbeitern und Studierenden höherer Semester getragen wird.

    Zur Energieeffizienz kann ich nur bestätigen, dass die Metrik Operationen/Joule gegenüber Operationen/sec ein zentrales Zukunftsthema ist und bleiben wird. Dabei ist Operation nicht unbedingt gleich Operation – eine CISC-Operation bringt mehr als eine RISC-Operation. Entsprechend sind Programme in Sprachen, welche sehr gut an die Anwendungsebene angepasst sind und mit dementsprechend weniger Operationen auskommen, im Vorteil. In der (Weitere)entwicklung solcher Sprachen wird die Informatik weiter gefordert sein. Als ein Beispiel erlaube ich mir auf http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5669271 Fig. 10 zu verweisen 🙂

    Mit vielen Grüßen zurück aus Norddeutschland

    • Hagen Peters says:

      Vielen Dank für Ihren Hinweis! Es zeigt sich:
      A. Das IfI ist an den wichtigen Themen dran.
      B. Ich hätte öfter auf die andere Seite der Etage schauen müssen 🙂

      Neu war für mich an dem DARPA Projekt vor allem, dass die DARPA die Energieeffizienz als Vorgabe für ein ziemlich leistungsfähiges Komplettsysteme anwenden will, nicht “nur” für ein kleines System im mWatt-Bereich. Die wollen 1 KW ‘reinstecken und 75 TFlops herausbekommen.

      Ich meinem Artikel habe ich eine weitere sehr interessante (wenn auch nicht ganz zuverlässige) Quelle vergessen: die Green500, ein Supercomputer-Ranking geordnet nach der MFlops/W. Der grünste Computer kommt da auf gerade 2 GFlops/W.