Sämtliche Beiträge des Monats Mai 2010

dotnet Cologne 2010 war ein voller Erfolg!

veröffentlicht von am 31. Mai 2010 (1) Kommentar

Die letzte Woche war für mich mal wieder sehr event-haltig: Mittwoch und Donnerstag war ich auf der Droidcon 2010 in Berlin, am Freitag verschlug es mich dann nach Köln der dotnet Cologne 2010 wegen, und kaum war ich von meiner Reise zurück, unternahm ich am Samstag noch einen kurzen Abstecher in Richtung GamesCamp Munich 2010, die vom lieben Kollegen Flo Bergmann organisiert wurde.

Da es auf diesem Blog ja um das Thema Multicore-Programmierung geht, widmet sich dieser Blogbeitrag der dotnet Cologne 2010. Zunächst einmal möchte ich den Organisatoren rund um Albert Weinert, Roland Weigelt und all den anderen ein großes Kompliment aussprechen: Ihr habt da wirklich ein tolles Event mit tollen Themen, Sessions und Sprechern organisiert. Ok, dass der Kaffee nicht immer warm war und die Technik gleich mal am Anfang nicht so recht wollte, übersehe ich gerne. Wichtig ist doch, dass die Inhalte stimmen und gut rübergebracht werden. Und das war auf jeden Fall so. Also zumindest kann ich das von den Vorträgen behaupten, die ich besucht habe.

Meine persönliche Sessionplanung umfasste vier Vortragende: Rami Radi und Mario Deilmann von Intel, den sehr unterhaltsamen Oliver Sturm und zu guter Letzt den werten Bernd Marquardt, der auf solch einer Veranstaltung natürlich nicht fehlen darf (und den ich im Juni auf den dotnetpro powerdays wieder erleben werde).

weiterlesen…

Kategorien : Multicore Tags : , ,

dotnet Cologne 2010 inkl. Parallelprogrammierung

veröffentlicht von am 21. Mai 2010 (1) Kommentar

Auf dem IT-techBlog hab ich’s schon verraten: Nächste Woche bin ich so richtig auf Achse. Mit den Stationen Berlin, Hamburg und Köln komme ich ganz gut rum in der Republik. Hoffen wir mal, dass der isländische Vulkan nix dagegen hat (ok, einen Teil der Strecken fahre ich ohnehin Zug).

In Köln bin ich, weil Intel dort einen Teil des Sponsorings übernommen hat und ich live aus dem Holiday Inn berichten werde, in dem die dotnet Cologne 2010 stattfindet. Das Programm habe ich ja schon in großen Teilen vorgestellt. Allerdings haben sich seitdem zwei Änderungen ergeben, die vor allem Intel betreffen. Und die will ich euch natürlich nicht vorenthalten.

Zum einen wird Mario Deilmann nicht über Intel Parallel Studio mit .NET und Visual Studio sprechen, sondern im Rahmen einer Lunch-Session die bekanntesten Windows-Modelle der Parallelprogrammierung vorstellen. Dabei geht es sicherlich um Multithreading-Konzepte wie OpenMP, APIs und Intel TBB. Und sicherlich wird auch Parallel Studio seinen Platz finden, alleine schon wegen der Unterstützung seitens Visual Studio 2010.

Zum anderen wird Kollege Rami Radi von Intel eine Stunde lang über Windows 7, .NET 4 und die Multicore-Programmierung sprechen. Wer sich hier schon länger tummelt, wird sich möglichweise daran erinnern, dass Rami diesen Vortrag schon mal gehalten hat. Womit er allerdings nicht minder aktuell wäre, denn das Thema Parallelprogrammierung hat mit Visual Studio 2010 und .NET 4 ja schließlich gerade erst begonnen.

Für alle, die der dotnet Cologne 2010 leider nicht beiwohnen können, folgt hier die gute Nachricht: Ich werde für euch von dort einen ganzen Tag lang über die wichtigsten und interessantesten Sessions in Sachen Parallelprogrammierung berichten. Macht euch schon mal einen dicken, roten Kringel um den 28. Mai 2010!

Kategorien : Multicore Tags : , ,

Ausblick: Game Developers Conference 2010 in Köln

veröffentlicht von am 20. Mai 2010 (0) Kommentare

Also, manchmal erfährt man sogar im Urlaub, dass ein neuer Auftrag ansteht. Das macht die Erholungsreise dann noch ein wenig erholsamer. In meinem Fall ging es um die Zusage, wieder live (und im Vorfeld) von der Game Developers Conference 2010 zu berichten, und zwar in Bild, Text und Ton. Soll heißen, dass wir vom 16. bis 18. August in Köln vor Ort sind (und das schon zum dritten Mal) um wieder in bekannter Manier von dem größten europäischen Entwicklertreffen der Spielebranche zu berichten.

Wir, das sind wie schon so oft ich selbst und Tom, der Videokamera, Stativ, Licht und anderes Zubehör dabei hat, um mit mir informative Interviews zu drehen, vor Ort zu schneiden, zu verbloggen und gleichzeitig auf Youtube & Co. zu stellen. Das wird wieder drei Tage lang Fun und richtig Arbeit. Wir freuen uns schon drauf!

Als kleines Aufwärmprogramm hab ich mir mal die Intel-Sessions der GDC 2010 angesehen, die vom 9. bis 13. März 2010 im kalifornischen San Francisco stattgefunden hat. Das könnte  diverse Hinweise darauf liefern, was uns in Köln drei Tage lang so alles erwartet.

  • Chuck Desylva und Jeff Laflam warfen gemeinsam einen Blick auf die aktuelle Generation der integrierten Grafikchips, die Intel mit Einführung der Arrandale-Prozessoren (z.B. Core i5) vorgestellt hat. Aus Entwicklersicht sind Features wie DirectX-10- und OpenGL-2.1-Support interessant, aber auch die Dekodierung von HD-Videostreams (MPEG-2, VC-2, AVC) und der Einsatz von Clear Video HD-Technik. Daneben sind auch die Leistungszuwächse bemerkenswert, die sich beim Datendurchsatz in Sachen Vertex Shading, Rasterisierung, Texture Mapping und Pixel Shading ergeben. Die Session konzentrierte sich vor allem auf die Spieleoptimierung mithilfe bestimmter Tools wie VTune Performance Analyzer und Intel Graphics Performance Analyzer.

weiterlesen…

Kategorien : Multicore,Visual Computing Tags : , , ,

Wie multicore-optimiert ist Office 2010?

veröffentlicht von am 19. Mai 2010 (1) Kommentar

Wer immer noch glaubt, dass Multicore-Optimierungen, Multithreading und Co. nur etwas für Highend-Software-Lösungen sind, sollte sich mal etwas näher mit Office 2010 beschäftigen. Denn was Microsoft hier an Mühen insvestiert hat, um die aktuelle All-in-One-Lösung für den modernen PC-Arbeiter für vier, sechs und mehr Kerne zu optimieren, ist aller Ehren wert – und diesen Blogbeitrag.

Die einzelnen Bereiche und Tools wurden wie folgt an die moderne CPU-Architektur angepasst:

  • Sämtliche Anwendungen wurden einem Multithreading unterzogen, was unter anderem schnelleres Öffnen und Speichern von Dokumenten ermöglicht.
  • Beim Starten von Outlook werden mehrere Threads gleichzeitig gestartet, was dazu führt, dass parallel die Bedieneroberfläche aufgebaut, die Kalendereinträge geladen und die Voransicht der erhaltenen E-Mails angezeigt werden. Jeder Task bekommt also seinen eigenen Thread zugewiesen.
  • Word erledigt dank Multithreading die Paginierung im Hintergrund, was Raum für andere Aufgaben zur selben Zeit lässt.
  • In Excel werden Pivot-Tabellen parallel und damit deutlich schneller sortiert.
  • Multithreading wird in Excel aber auch dazu eingesetzt, Berechnungen in den Hintergrund zu schieben, während gleichzeitig grafisch orientierte Arbeiten wie das Ändern der Zeilenhöhe oder das automatische Anpassen der Zellenbreite an die Inhalte vorgenommen werden.

Allerdings stand Microsoft beim Optimieren von Office 2010 an Multicore-Rechner vor einem erheblichen Problem: Wie können Tools wie Word oder Excel so verbessert werden, dass sie die häufigen Wartezeiten, die sich bei der Mensch-Maschine-Interaktion ergeben, möglichst minimieren? Daher wurden diejenigen Flaschenhälse identifiziert, die sich beispielsweise beim Start der Anwendung oder beim Öffnen oder Speichern einer Datei ergeben und Wartezeiten verursachen. Daran wurde dann verstärkt gearbeitet.

Nur setzt Microsoft immer noch sehr auf das funktionale Multithreading, bei dem die unterschiedlichen Aufgaben der Software eigenen Threads zugewiesen werden. Das ist zwar nicht sehr effizient (da diese Methode nicht optimal skaliert), aber wohl angesichts der hohen I/O-Aktivitäten zu vernachlässigen.

Kategorien : Multicore Tags : , ,

Termin für Microsoft Tech-Ed Europe 2010 steht

veröffentlicht von am 6. Mai 2010 (1) Kommentar

Stimmt, der Termin ist noch weit weg, aber man kann ja nie früh genug über wichtige Events berichten. Und dazu gehört die Microsoft Tech-Ed Europe 2010 auf jeden Fall, zumindest wenn man Software-Entwickler ist und die Windows-Plattform als seine bevorzugte betrachtet.

Wie ich überhaupt darauf komme? Nun, ein Microsoft-Mann hat mich in die Tech-Ed-Facebook-Gruppe eingeladen, und da konnte ich natürlich nicht widerstehen, mich derselben anzuschließen. Man erfährt noch nicht wirklich viel, aber zumindest ist dort nachzulesen, dass alle Frühanmelder stolze 500 Euro sparen können, wenn sie sich bis zum 5. Juli anmelden (dann kostet das Ticket 1.395 Euro).

Zwar ist die Tech-Ed-Seite noch nicht umgestellt (es geht noch um 2009!), und damit auch die Anmeldung noch nicht möglich, aber beide Missstände sollen wohl demnächst behoben sein.

Falls ihr den Termin im Kalender schon mal eintragen wollt: die Tech-Ed Europe 2010 findet vom 8. bis 12. November statt, und zwar wieder in Berlin auf dem altehrwürdigen IFA-Messegelände, was letztes Jahr ganz gut geklappt hat. So, und der Vollständigkeit halber will ich den Twitter-Alias nicht verschweigen, mit dem ihr der Tech-Ed Europe 2010 folgen könnt: teched_europe. Und falls ihr euch das bis November merken könnt: Der Hashtag steht auch schon fest und lautet #tee10.

Ach ja: Ich war letztes Jahr live in Berlin dabei und habe mit Tom zusammen ein paar schöne Blogbeiträge samt Videos erstellt und veröffentlicht. Dabei haben wir unter anderem darüber berichtet, wie…

.NET-Entwickler mithilfe von VTune Performance Analyzer Bottlenecks aufspüren können

die CCR .NET-Entwicklern bei der Parallelprogrammierung hilft

.NET-Entwickler vom Multithreading profitieren

Visual Studio und .NET 4 Parallelprogrammierer unterstützen

Kategorien : Multicore Tags : , , ,

Intel TBB 3.0 mit neuen Funktionen und VS2010-Support

veröffentlicht von am 4. Mai 2010 (1) Kommentar

Schon letzte Woche erreichte mich eine E-Mail, in der die aktualisierte Version der Intel Threading Building Blocks angekündigt wurde. Tja, und da genau heute Intels Bibliothekensammlung für C und C++ offiziell vorgestellt wird, gibt es dazu natürlich auch einen entsprechenden Blogbeitrag.

Auf den ersten Blick bietet Intel TBB 3.0 zwei wesentliche Verbesserungen: die volle Kompatibilität mit Visual Studio 2010 und .NET 4 sowie die Unterstützung des künftigen ISO/ANSI-Standards für C++, der noch unter dem Arbeitsnamen C++0x geführt wird. Aber auch andere Features wie eine neue Containerklasse und verbesserte Debugger-Merkmale flossen in die neue Version der Intel TBB 3.0 ein. Im Detail sieht das wie folgt aus:

Optionaler C++0x-Support

  • die neue Funktion parallel_pipeline() verbessert die alte Warteschlange-Funktion mithilfe von Lambda-Support und anderen Features
  • TBB_USE_CAPTURED_EXCEPTION() verbessert das Exception Handling
  • verbesserte Synchronisierung auf Basis konditioneller Variablen

Handbuch “Pattern Design”
Dieses von TBB-Entwickler Arch Robison geschriebene Handbuch zeigt, wie Pattern Design funktioniert

Kompatibel mit Microsoft Visual Studio 2010

Neue Container-Klasse
concurrent_unordered_map() (natürlich C++ 0x-kompatibel)

Verbessertes Debuggen

  • Task Scheduling, Vorhersagen und Reaktionszeiten wurden verbessert
  • voneinander unabhängiges Verwalten von Tasks für mehrere Masterthreads
  • verbesserte Vermeidung von Deadlocks
  • weiterentwickelte Hinweise für Parallel Amplifier und Parallel Inspector

Scheduler-Support (task::enqueue)

  • unterstützt FIFO-Warteschlagen
  • nützlich für das  Emulieren von Task-Prioritäten und die Interaktion mit GUI-basierten Threads

Leistungsverbesserungen

  • Beschleunigung der Funktion numerable_thread_specific() und Kombinationen davon
  • verbesserte Speicherverteilung bei großen Speicherblöcken

und einiges mehr.

Wer mit Intel Threading Building Blocks Software entwickeln und parallelisieren möchte, kann dies in zweierlei Hinsicht tun: entweder bezahlt man 299 Dollar für die Windows- oder Linux-Variante und erwirbt damit das kommerzielle Paket von TBB 3.0. Dazu gehört auch ein professioneller Support seitens Intel. Oder man begibt sich auf www.threadingbuildingblocks.org, besorgt sich die Open-Source-Variante des Pakets und bekommt damit eine GPLv2-Lizenz. Diese ist natürlich kostenlos.

Kategorien : Multicore Tags : , ,