Sämtliche Beiträge des Monats September 2009
IDF09: Parallel Computing mit .NET 4 und Visual Studio 2010
Ich sitze hier in der Microsoft Techsession, die von Steve Teixeira gehalten wird. Steve spricht über Parallelprogrammierung unter .NET 4 und Visual Studio 2010. Ich kann natürlich nicht den gesamten Vortrag wiedergeben, daher konzentriere mich auf seine wesentlichen Aussagen:
Multithreaded programming is “hard” today
Das bedeutet für Microsoft (und Intel), Software-Entwicklern dabei zu helfen. Hierzu bieten beide (Intel und Microsoft) passende Tools, die Programmierer unterstützen. Dazu gehören laut Steve aber auch Programmiersprachen und Plattformen.
Ein kleines Schleifenbeispiel führt Steve vor, das zeigen soll, wie sich seriell programmierter Quellcode parallelisieren lässt – inklusive potenzieller Probleme.
Als Lösung für das Sortierproblem eignet sich laut Steve LINQ, das Teil von .NET 3.5 ist. Weitergesponnen bietet die parallele Version von LINQ = PLINQ eine viel bessere Lösung für Sortieralgorithmen – und mehr!
IDF09: Techsession “Software-Tools für skalierende Apps”
Hier ist sie also: meine erste Techsession auf dem Intel Developer Forum 2009. Es geht um die Frage, mit welchen Tools Software-Entwickler arbeiten sollten, um das Beste aus ihren Anwendungen herauszuholen.
Die Session beginnt mit einer Folie, die all das zeigt, was Intel in Sachen High Performance Computing tut.
Folie 2 beschäftigt sich mit der Frage, welche Dinge zu berücksichtigen sind, um das Optimum aus seiner Anwendung zu holen. Dazu gehören die Wahl der richtigen Algorithmen, der passenden Programmiersprache und Compiler und natürlich die Frage nach den passenden Software-Tools, mit denen sich Anwendungen optimieren lassen.
Mit Fragen der Portabilität und der Produktivität sollten sich Entwickler ebenfalls beschäftigen. Auch hier geht es um Dinge wie Programmiersprachen, Tools, Betriebssysteme etc.
Jetzt dreht es sich um das Thema Skalierung und was getan werden muss, um eine Beschleunigung der Anwendungen zu erhalten, die sich an der Zahl der vorhandenen Prozessorkerne und Hardware-Threads orientiert.
IDF09: Multithreaden und Parallel Studio abgreifen
Es hat sich ja wohl schon rumgesprochen, dass ich Montagnachmittag gen San Francisco abhaue, um mich am Dienstag, Mittwoch und Donnerstag über die künftigen Intel-Pläne und -Produkte zu informieren. Ich werde übrigens meine kleine Videokamera Zi6 von Kodak dabei haben, um das ein oder andere Vor-Ort-Statement filmtechnisch in Szene zu setzen. Und klar, live bloggen werde ich auch. Gibt wohl eine ganze Menge zu berichten, so wie es aussieht.
Neben all den bereits erwähnten Sessions und Keynotes wird es für angehende Parallelprogrammierer ein ganz spezielles Bonbon geben: Am Mittwoch, den 23. September, veranstaltet Intel von 14:00 bis 18:00 Uhr PDT (23:00 bis 24/9, 3:00 Uhr MESZ) einen vierstündigen Workshop, in dem erfahrene C- und C++-Programmierer lernen werden, wie sie mithilfe von Parallel Studio sequenziell programmierten Quellcode parallelisieren können. Als besonderen Anreiz haben sich die Organisatoren dieses Workshops zwei Leckerbissen überlegt:
1. Die ersten 50 Teilnehmer, die ein lauffähiges, parallelisiertes Programm einschicken, erhalten eine Vollversion von Parallel Studio. Gegenwert: 799 Dollar.
2. In drei Kategorien wird der jeweils beste Beitrag ermittelt. Hierbei geht es um die schnellste Ausführung, die beste Prozessorausnutzung und den besten Einsatz von Parallel Studio. Der Sieger (oder die Siegerin) erhalten eine Visa-Geschenkkarte im Wert von 250 Dollar.
Wer schon mal gucken will, was zu tun ist, um eines der 50 Parallel-Studio-Pakete abzugreifen oder gar die 250 Dollar zu gewinnen, kann sich auf der Contest-Seite ausführlich darüber informieren. Und im Evaluation Center von Intel könnt ihr euch eine 30-Tage-Version von Parallel Studio besorgen. Zum Aufwärmen, quasi.
IDF09: Weitere Techsessions zu Multicore, Moblin und Co.
In meinem gestrigen Blogbeitrag war eine interessante Auswahl an dienstäglichen Techsessions während des Intel Developer Forums dran. Heute folgt der Mittwoch mit einer Selektion besuchenswerter Workshops und Vorträge.
Ach ja: Am zweiten Tag des IDF beginnen die Techsessions erst um 13:05 Uhr PDT (22:05 MESZ), da vormittags zwei Keynote-Sessions anstehen und die Organisatoren obendrein die anwesenden Entwickler dazu ermutigen wollen, den Ausstellerbereich (Technology Showcase) zu besuchen.
13:05 Uhr PDT (22:05 MESZ): Parallel-Guru und Product Unit Manager Steve Teixeira wird 50 Minuten lang über das geplante .NET-4-Framework mit all seinen Vorzügen für Parallelprogrammierer reden. Dabei geht es unter anderem um die Parallel Extensions und das task-basierte Debuggen mithilfe von Visual Studio 2010. Und ein kurzes Produkt-Update gibt es bestimmt auch.
13:05 Uhr PDT (22:05 MESZ): Wer die Intel Threading Building Blocks mal in Aktion sehen will, sollte in den Raum 2000 kommen, um dem Workshop von Victoria Gromova beizuwohnen. Und allen, die den Termin nicht schaffen, empfehle ich die ein oder andere Lektüre.
14:05 Uhr PDT (23:05 MESZ): Eine Techsession mit dem Titel “Next Generation Core-to-Core Interconnects for Many-Core Processors” sollte man eher nicht versäumen. In dem Workshop geht es unter anderem um die Themen Latency, Bandbreite und Traffic Management bei Prozessorverbünden. Aber auch um die möglichen Ansätze, solche Hochgeschwindigkeits-Netze aufzubauen.
Multicore-Workshop mit Jeffrey Richter parallel zur Basta
Von 21. bis 25. September findet in Mainz die Basta! 2009 statt, eine der größten unabhängigen Entwicklerkonferenzen in diesem Land. Gerne würde ich ja dort hinfahren, um mir die eine oder andere Session anzuhören und darüber zu bloggen. Besonders interessant finde ich natürlich den Multicore-Workshop von Jeffrey Richter, der parallel zur Basta an drei Tagen stattfindet.
Nun ist es aber so, dass ich von 21. bis 27. September in San Francisco weilen werde, um mich ebenfalls an drei Tagen auf dem Intel Developer Forum über die neuesten Entwicklungen aus dem Hause Intel in Sachen Programmierung und mehr zu informieren. Und da ich leider nicht an zwei Orten gleichzeitig sein kann, habe ich mir schon mal den Workshop-Plan ein wenig genauer angesehen. Darüber hinaus habe ich weitere Infos bei der Veranstalterin der Basta angefragt. Hoffentlich bekomme ich etwas zugeschickt. Damit ich es mit euch teilen kann.
Bis dahin lohnt sich auf jeden Fall ein kurzer Blick in die geplanten Inhalte des Power-Workshops von Jeffrey:
Der Titel des Ganzen lautet “Mastering .NET and Preparing for the Multi-Core Revolution”, findet von Montag bis Mittwoch von jeweils 9 bis 18 Uhr im Hotel Contel Mainz statt und kostet regulär 1.550 Euro. Falls sich drei Kollegen aus demselben Unternehmen anmelden, kommt der Workshop 100 Euro günstiger. Und für alle, die sich noch heute anmelden, gibt’s ein Netbook mit sämtlichen Ausgaben des dot.NET Magazins obendrauf.
Parallel programmieren für 100 $: Intel-Gewinnspiel
Intel nennt es “Threading Challenge 2009″, hat sich dafür den recht griffigen Claim “Code your future” ausgedacht und mittlerweile die zweite Phase des Programmierwettbewerbs gestartet. Dieser zweite Abschnitt umfasst wieder sechs Aufgaben, die alle möglichst gut gelöst werden sollen. Und zu gewinnen gibt es natürlich auch etwas: Jede am besten gelöste Aufgabe ist Intel 100 US-Dollar wert, die in Form eines Visa-Geschenkcoupons überreicht werden. Und der Gesamtsieger pro Phase kann darüber hinaus ein schickes Netbook abgreifen. Die genauen Regeln dazu findet ihr hier.
Die erste Aufgabe beschäftigt sich übrigens mit der Matrizen-Multiplikation, und zwar auf Basis des Strassen-Algorithmus. Hierfür muss ein kleines parallelisiertes Programm geschrieben werden, das auf einer vorgegebenen seriellen Lösung des Problemes basiert. Mithilfe des Strassen-Algorithmus ist also die parallele Version der seriellen Anwendung zu programmieren. Dabei müssen bestimmte Dinge wie Rumpf der Hauptfunktion erhalten bleiben, andere Dinge wie das Reservieren von notwendigem Speicher dürfen (und müssen) angepasst werden.
Zur Berurteilung der Güte der eingereichten Lösung wird übrigens die Zeit herangezogen, die das kleine Programm für die Matrizenmultiplikation benötgit. Da heißt es also sich anstrengen, um eine möglichst kurze Laufzeit herauszubekommen. Mehr Infos dazu bekommt man auf der Wettbewerbsseite. Viel Spaß und Glück beim Programmieren!
Ach ja: Die Intel Threading Building Blocks könnten beim Lösen der Aufgabe helfen. Nur so als kleiner Tipp …


