Rückschau: Das war das GameCamp Munich 2009

Foto: Simon Muhm - www.simon-muhm.de
Es soll ja Leute geben, die mit ihrem Wochenende etwas anzufangen wissen: Entweder gehen sie in die Berge zum Wandern oder besuchen Tante Ilse aufm Land oder machen sonst was. Und was mache ich?
Ich treibe mich lieber an zwei Tagen auf dem GameCamp Munich 2009 herum, das vorigen Samstag und Sonntag bei Microsoft in Unterschleißheim stattgefunden hat.
Jetzt mag sich manch einer fragen: GameCamp, was’n das?! Hierzu habe ich erst kürzlich etwas verfasst, was bei der Beantwortung dieser Frage weiterhelfen könnte. Insgesamt war das GCMUC09 eine gut gelungene Veranstaltung, die gemeinsam von Microsoft und Flobbymedia initiiert und organisiert wurde. Den Machern des Barcamps ging es vor allem darum
die interdisziplinäre Vernetzung der Branche, die Entwicklung neuer Thesen und Ideen sowie die Förderung der Videospielkultur
voranzutreiben. Ob ihnen das gelungen ist, kann ich nicht sagen. Aber am Ende waren wohl alle (sehr) zufrieden. Behandelt wurden unter anderem folgende Themen:
Bücher und Webinar an Software-Entwickler zu verschenken
Über das Intel Software Partner Program (Intel SPP) hatte ich Ende Oktober ausführlich berichtet. Kurz gefasst geht es um die Möglichkeit, als Software-Entwickler von Intel in Sachen Programmierung unterstützt zu werden. Das reicht von vergünstigten Einkaufskonditionen für Software-Tools bis hin zur Möglichkeit, an professionell erstelltes Marketingmaterial heranzukommen.
Um am Intel SPP teilnehmen zu können, muss man sich natürlich erst mal registrieren. Logisch. Um dies ein wenig schmackhafter zu machen, verschenkt Intel derzeit 50 Exemplare des Buchs Multi-Core Programming, das ich übrigens auf meinem Schreibtisch liegen habe. Dabei handelt es um einen wirklich gelungenen Einstieg in das Thema und eine nützliche Wissensdatenbank für alle Entwickler. Also, ran an den Speck!
Apropos Speck: Software-Entwicklung für den relativ neuen Intel-Prozessor Core i7 ist noch kein echtes Mainstream-Thema. Zwar gibt es schon eine ganze Weile ein eigenes SDK, aber Experten auf diesem Terrain sind noch eher rar. Um diesen Umstand zu verbessern, bietet Intel am nächsten Dienstag (10. Februar, 17 Uhr MEZ) ein 60-minütiges Webinar genau zu diesem Thema an. Der Titel:
Create Applications with Superior Performance and Energy-Efficiency: An Introduction to the Software Development Kit for the new Intel Core i7 Platform
Das ist doch genau das Richtige für angehende Multicore-Entwickler, oder?! Und wie gesagt: Davon gibt es nicht so wahsinnig viele. Ach ja: Um an diesem internetbasierten Training teilnehmen zu können, muss man sich für das Intel Black Belt-Programm anmelden. Das ist allerdings ein Klacks – verglichen mit Multithreading für Multicore-Prozessoren.
12 Thesen und Antithesen zur Multicore-Programmierung
Gestern auf der OOP 2009 hielt Professor Walter F. Tichy von der Uni Karlsruhe einen Vortrag mit dem Titel “Herausforderung Mehrkernsysteme”. Darin beschäftigte er sich mit diversen Aspekten der Parallelprogrammierung. Und das zu Recht, denn das Thema scheint ein echter Renner zu sein; der Raum war auf jeden Fall gut gefüllt.
Im Laufe seines Referats stellte Professor Tichy mehrere Thesen in Sachen Parallelprogrammierung auf, die ich hier ein wenig aufdröseln will.
These #1: Die Informatik erlebt gerade eine Evolution: Weg von der sequenziellen Programmierung hin zur parallelen Entwicklung. Parallelität gab es bis dato nur in Nischenbereichen wie Numerisches Rechnen, Betriebssystemen und Datenbanken und Parallelität auf Instruktionsebene. Meine Antithese dazu: Stimmt!
These #2: Es gab immer wieder spezielle Parallelrechner wie den Atanasoff-Berry-Rechner von 1942, der ausschließlich lineare Gleichungen mit 30 Koeffizienten lösen konnte. Dazu gehörte aber auch der Illiac-IV, ein SIMD-Rechner mit verteiltem Speicher und 64 Prozessoren. Dieser Großrechner wurde 1976 gebaut und war bis 1981 der schnellster Rechner der Welt. Natürlich erwähnte Tichy auch den Cray-1 Vektorrechner, der ebenfalls aus dem Jahr 1976 stammt und wohl den bekanntesten Vertreter der prähistorischen Parallelrechner darstellt. Das Alles (und viel mehr) mündete schließlich in riesigen Clustersystemen der Gegenwart, die allesamt auf der Webseite Top500.org zu bestaunen sind. Meine Antithese dazu: Eine schöne Liste!
These #3: Es gibt neben Intel-CPUs wie Core 2 Quad oder Core i7 weitere Parallelprozessoren, die allerdings (beispielsweise die Grafik-CPU Geforce 8 von Nvidia) hauptsächlich für Spezialbereiche konzipiert sind. Meine Antithese dazu: Wie sagte erst kürzlich ein bekannter Chefentwickler zu mir: “CUDA und die angeblich enorme Rechenleistung der Geforce-GPUs ist vor allem eins: Marketing!”
These #4: Die Moore’sche Regel hat eine Variation erfahren, die wir an der Uni Karlsruhe sogar ein wenig verfeinern wurde: “Die der Anzahl Prozessoren pro Chip wird sich mit jeder Chip-Generation bei etwa gleicher Taktfrequenz verdoppeln”. Meine Antithese dazu: Ja, das sagt Intel auch. Dann wird es wohl stimmen …
These #5: Was sollen wir mit all den Kernen nur anfangen, die uns in Zukunft zur Verfügung stehen? Die Antworten lieferte Professor Tichy postwendend selbst: automatische Protokollführer; inhaltsbasierte Bildersuche mithilfe einer Datenbank; intuitive Schnittstellen mit Bild- und Sprachverarbeitung; vorausschauende Anwendungen, die “ahnen”, was der Benutzer will; Modellierung des Benutzers und der Umgebung; Erhöhung der Zuverlässigkeit (Redundanzen). Meine Antithese dazu: Wie wäre es mit weiteren Beispielen: Videoschnitt, Bildbearbeitung, 3D-Spiele, skalierende Betriebssysteme und Videoencoding, um nur einige zu nennen.
In der Parallelprogrammierung steckt die Zukunft!
Die Überschrift dieses Beitrags ist das Fazit eines sehr interessanten Artikels von Walter F. Tichy, seines Zeichens Professor für Softwaretechnik an der Uni Karlsruhe. In seinem Gastbeitrag auf Computerzeitung.de spricht er nämlich von der Herausforderung Multicore-Programmierung und den Chancen, die sich daraus ergeben. Dabei nennt er einerseits ein paar sehr wichtige Aspekte, andererseits vermisst er ein, zwei Dinge, die jedoch entgegen seiner Aussagen bereits existieren. Aber der Reihe nach.
Wichtig erscheint mir auf jeden Fall die Feststellung, dass “in Zukunft [...] Parallelrechner ungefragt und flächendeckend zur Verfügung stehen” werden. Ganz klar, das ist der Trend, und wenn man sich die Roadmap von Intel ansieht, wird schnell klar, dass der Core i7 nur der Anfang der Multicore-Ära ist.
Ebenso wichtig sind die potenziellen Multicore-Anwendungen, die Professor Tichy aufzählt: Dazu gehören natürlich Medienprogramme wie DivX und 3D-Spiele wie Crysis oder Sacred 2 (und Bildbearbeitungstools wie Silver Efex Pro von Nik Software). Aber auch weniger spektakuläre Anwendungen wie Logistikplaner, Tabellenkalkulation, Suchalgorithmen und Sicherheitsüberprüfungen profitieren vom Multithread-Code. Zusammengefasst könnte man mit Tichys Worten sagen:
Diejenigen Firmen, die jetzt die richtigen Anwendungen identifizieren und parallelisieren, werden in Zukunft zu den Gewinnern gehören, zumal Beschleunigung durch Abwarten – das heißt: das Setzen auf weiter steigende Taktfrequenzen – nicht mehr funktioniert.
Entwicklergemeinde trifft sich auf der OOP 2009
Die Software-Entwicklergemeinde trifft sich vom 26. bis 30. Januar auf der OOP 2009 im ICM der Messe München. An fünf Tagen wird es um die ganze Bandbreite der (objektorientierten) Programmierung und Software-Entwicklung gehen. Namhafte Redner geben in Vorträgen und Workshops Auskunft darüber, wohin die Entwicklerreise geht. Zu den Highlight zählen unter anderem:
- Ursprung des Computers (Horst Zuse!)
Daneben gibt es interessante Ganztagskurse, die am Montag und am Freitag stattfinden. Und wer es besonders lange mag, dem seien die “Night School Sessions” empfohlen.
Ausbildungslücken bei der Multicore-Programmierung
Ein Interview auf Elektroniknet.de brachte mir eine fundamentale Erkenntnis: Die Multicore-Programmierung findet offensichtlich noch in einem zu geringen Ausmaß statt, da es nicht an Entwicklertools fehlt, sondern an Entwicklern, die damit umgehen können. Diese Theorie stellt zumindest Professor Klaus Kißig von der FH Kiel auf. Seine Kernthese dürfte die Ohren diverser Kollegen und Dekane anderer Bildungseinrichtungen zum Klingeln bringen:
Das Problem ist eher, dass es zu wenige Leute gibt, die die Kenntnisse haben, um diese Compiler effektiv anzuwenden und die Hardware optimal ausnutzen können.
Mit „diese Compiler“ meint er unter anderem Intel-Compiler, die ständig weiterentwickelt werden. Aber auch den Einsatz von OpenMP in Verbindung mit Standard-Compilern sieht er in diesem Kontext als großen Vorteil.
Das bedeutet also, dass es vor allem bei der Ausbildung hakt, da es die jeweiligen Einrichtungen bis dato offensichtlich noch nicht geschafft haben, neue Techniken wie Multicore-Systeme in den Vorlesungsplan zu integrieren.
