Eröffnung

Es ist kurz nach neun und gleich sollte Sebastian Meyen die W-JAX 2012 offiziell eröffnen. Der große Ballsaal ist gerammelt voll und im Gegensatz zu den letzten Jahren wurden, bis auf die erste Reihe, alle Tische entfernt. Damit ist auch klar, wo ich sitzen muss, um schreiben zu können :-)

W-JAX 2012

Sebastian Meyen hat den Fokus der Eröffnung auf den Wandel gelegt und macht es, schwerpunktmäßig an folgenden Punkten fest, die er im Zentrum zukünftiger Entwicklung sieht:

  • Cloud & Virtualisierung
  • Web: HTML5, JavaScript, Web APIs
  • Big Data & NoSQL
  • DevOps & Continuous Delivery
  • Mobile , Embedded, M2M

Die digitale Revolution macht alles komplexer. Das stimmt, wenn ich jedoch sehe, wie mein zweijähriger Sohn bereits mit dem iPad umgeht bin ich sicher, dass die nächste Generation gut gewappnet ist. :-)

Keynote: Java and the Machine (Martijn Verburg, Kirk Pepperdine)

Gerade habe ich ein Buch gelesen ("The well grounded Java developer"), welches Martijn Verburg geschrieben hat, schön, ihn, zusammen mit der Java-Performance Legende zu sehen.

Ein kurzer Abstecher in die Historie der Chip-Hardware, dann geht es zu den Grundlagen, die jeder kennt:

  • Moore´s Law
  • Little´s Law (Serialization - throughput = 1/ service time)
  • Amdahl´s Law ( Parallelization)

Die Beispiele sind sehr realitätsnah und befassen sich mit dem Durchfluss, Verbrauch und der Parallelisierung rund um Bier!

Schlussfolgerung, Hardware ihre Grenzen! Es fällt das Stichwort ´Mechanical Sympathy´. Es verweist auf ein Projekt, bei dem im Vorfeld die Arbeitsweise der JVM bezüglich der drunterliegenden Hardware geprüft wurde. Die Java-Anwendung, die im Anschluss programmiert wurde (Disruptor-Framework) ist die schnellste Anwendung überhaupt und schneller als native Code!

Jetzt geht es um Hardware Threads, Cores und Cache. Wie kann man die Performance zukünftig weiter erhöhen, um den immer schneller wachsenden Anforderungen gerecht zu werden? Das alte und neue Problem ist immer wieder, wie synchronisiert man die Daten zwischen den Threads?

Virtualisierung ist eine Lösung, aber man muss beachten, hier nicht zu 'Über-Virtualisieren'. Es ist noch immer der Fall, dass die Hardware nicht richtig ausgelastet wird und es nur an einer einzigen Resource liegt. Auch die Rückkehr zur ´richtigen Hardware´ ist kein Rückschritt. Es gibt viele Gründe in die Cloud zu wechseln, Performance ist nicht unbedingt das ausschlaggebende Moment!

Die Botschaft:

  • Die Cloud ist, trotz Virtualisierung nicht die Lösung aller Problem
  • Die Rückkehr zur echten Hardware ist durchaus erlaubt
  • Parellelisierung muss stärker in den Vordergrund rücken.