Das war die Microsoft TechEd Europe 2009
Sodala: Für alle, die selbst nicht auf der Microsoft TechEd Europe 2009 sein konnten, folgt hier die ultimative Zusammenfassung, was auf diesem Blog in der letzten Woche live aus Berlin (und davor) alles passiert ist. Viel Spaß beim Schmökern!
Am 4. November ging es mit der ersten Vorfreude los, die einen Tag später in einem Ausblick mündete, was es auf der TechEd Europe 2009 alles zum Thema Parallelprogrammierung zu sehen gibt. Diese Frage habe ich tags drauf konkretisiert und mir mal einen Teil des TechEd-Programms angesehen. Da wurde schnell klar: Das Thema Parallelprogrammierung und Multithreading erfährt endlich die Wertschätzung, die notwendig ist, um den ein oder anderen Software-Entwickler wachzurütteln und zu sagen: Leute, denkt parallel!
Am 9. November war es dann soweit: Die Microsoft TechEd Europe 2009 öffnete ihre Pforten und wir waren mittendrin. Da war es natürlich mehr recht als billig, mit ein wenig Orgakram darauf hinzuweisen, wo der Intel-Stand liegt und was es alles dort zu sehen gibt. Tom hat sich währenddessen mit seiner Videokamera auf die Suche nach ersten Eindrücken gemacht – und wurde fündig.
Am zweiten Tag habe ich diverse Techsessions besucht, aus denen zum einen Live-Twittering resultierte und zum anderen ein sehr interessantes Videointerview mit Steve Teixeira von Microsoft, in dem er mir erzählt hat, was Software-Entwickler von .NET 4 in Sachen Parallelprogrammierung erwarten können. Am selben Tag gab es übrigens die erste von drei Parallel-Studio-Sessions, die Ralph direkt neben dem Intel-Stand gehalten hat. Anschließend fand die von vielen (und ich meine: viele!) sehnlichst erwartete Netbook-Verlosung statt, die natürlich einen glücklichen Gewinner ermittelte.
Wie .NET-Entwickler mit VTune Bottlenecks finden können
Vergangene Woche auf der Microsoft TechEd Europe 2009 hatten wir die Gelegenheit, uns von Rami Radi zeigen zu lassen, wie .NET-Entwickler mithilfe des Profiling- und Samplingtools VTune Performance Analyzer Schwachstellen in ihren Anwendungen aufspüren und beheben können. Dabei geht es beispielsweise sehr oft um Schleifenkonstrukte, die unverhältnismäßig viel CPU-Zeit in Anspruch nehmen, was mit den richtigen Tricks gar nicht notwendig wäre. Für alle, die also in Zukunft mehr aus ihrer Software herausholen wollen, sei dieser Video-Workshop wärmstens empfohlen.
TechEd09: Wie die CCR .NET-Entwicklern bei der Parallelprogrammierung hilft
Die erste Session, die ich hier am vierten Tag der Microsoft TechEd besucht habe, wurde von Ralf Westphal gehalten, der in gewohnt unterhaltsamer und fundierter Weise das Thema asynchrone Programmierung vorstellte. Hauptsächlich auf Basis der Concurrency Coordination Runtime (CCR), die Microsoft mit Einführung des .NET-Frameworks 3.5 implementiert hat. Für alle, die mit dem Begriff CCR nicht so viel anfangen können, gibt’s auf MSDN einen kurzen Überblick.
Die erste interessante Aussage, die Ralf während seiner 75-Minuten-Session abgefeuert hat, war die Erkenntnis, dass Software-Entwickler sich selbst um das Parallelisieren ihrer Anwendungen kümmern müssen und dies nicht nur dem Betriebssystem oder anderen Instanzen überlassen dürfen. Ein weiterer Satz war nicht ganz überraschend und auch nicht neu, dafür umso wichtiger: “The free lunch is over!” Dieser Ausspruch stammt übrigens nicht von Ralf, sondern von Herb Sutter, der das bereits 2005 formuliert hat. Die Grundaussage dahinter lautet:
Künftige Prozessoren werden nicht mehr unendlich schneller, sind dafür mit immer mehr CPU-Kernen ausgestattet. Daher müssen Programmierer umdenken, um ihre Anwendungen in Zukunft zu beschleunigen.
Videochat: Wie .NET-Entwickler von Multithreading profitieren
Der dritte Tag der Microsoft TechEd Europe 2009 begann mit der sehr anschaulichen und technisch höchst anspruchsvollen Techsession von Rami Radi, der bei Intel als Software-Ingenieur arbeitet und anderen Entwicklern hilft, ihre Anwendungen multicore-tauglich zu machen.
Zunächst einmal muss festgehalten werden, dass die Session genauso gut besucht war wie die gestrige von Steve Teixeira. Darüber hinaus wurde schnell klar, dass die meisten Anwesenden weder wussten, dass Intel noch etwas anderes produziert als Mikroprozessoren, noch die Intel-Tools wie VTune Performance Analyzer kannten (was angesichts des “weder” keine Überrraschung war).
Ramis Präsentation befasste sich mit drei Kerngebieten: Intels aktuelle und zukünftige Mikroprozessor-Architekturen, .NET-4-Verbesserungen in Sachen Multithreading und wie Intel-Tools wie der besagte VTune Performance Analyzer Software-Entwicklern helfen können, ihre Apps auf Korrekheit hin zu überprüfen. Zu diesem Behufe sagte Rami einige bemerkenswerte Dinge:
Moore’s law doesn’t help software developers anymore as frequencies aren’t going up anymore. The good news: the number of core does!
With Nehalem you get Non Uniform Memory Acess (NUMA) which connects every CPU and memory to each other which has huge advantages.
Come to Intel booth in hall 4.2 to see one of the first desktop PCs which is able to run 128 threads in parallel!
Multithreading is not equal parallelism!
Poor scaling .NET applications can be powered up with the help of Intel VTune Performance Analyzer and Visual Studio 2010 / .NET 4
.NET 4 provides the Background Garbage Collection which speeds up managed code significantly.
Worker stealing within .NET 4 will help to achieve better multithreaded balanced managed applications.
VTune profiles and samples .NET applications in order to find critical code sections where a lot of computing time is being wasted
Vtune also helps identifying false sharing problems. Means VTune will detect and solve cache line misses.
To eliminate false sharing problems helps to speed up your .NET apps on 8 core system by 70x!
Intel-Session “Parallel Studio” und eine Netbook-Verlosung
Um 16:30 Uhr betrat Ralph de Wargny die Bühne des Visual Studio Partner-Theaters, um ein wenig über Intel Parallel Studio zu erzählen und um ein Netbook zu verlosen, für das gestern und heute eine Menge Leute Frageb beantwortet haben. Ralphs Präsentation gibt es wie gewohnt als Twitter-Stream-Auszug:
Intel Parallel Studio = Amplifier + Inspector + Composer + Advisor = Multicore optimization
Parallel Advisor helps you to parallelize your native code. But from 2010 onwards only.
With Parallel Inspector you find memory errors before they happen. Works on serial AND threaded code.
Intel Parallel Amplifier is a child of VTune Performance Analyzer, but easier and more intuitively to use. Profile you parallel code.
On http://wwwintel.com/go/para… you’ll find more information about Parallel Studio and more.
Nach der Parallel-Studio-Session gab es das dann das lang ersehnte Netbook, ein Sony Vaio. Sehr schickes Teil. Der Durchgang zwischen Theater und Intel-Stand war entsprechend für eine kurze Zeitspanne komplett verstopft. Kein Wunder: Netbooks sind gerade der große Renner.
Für alle, die nicht dabei sein konnten, haben wir Ralphs Vortrag und die Netbook-Verlosung mit unserer JVC-Kamera auf SD-Karte gespeichert. Sobald Tom die besten Bilder zusammengeschnitten hat, geht das Video hier online.
Update: Hier ist das Video. Viel Spaß damit!
Videochat mit Steve Teixeira über Parallelprogrammierung
Steve Teixeira von Microsoft ist ein gern gesehener Gast auf den großen Konferenzen dieser Welt. Wenn es sich zudem um die Hauskonferenz handelt, ist es nicht wirklich überraschend, dass er hier mehrfach über sein Lieblingsthema spricht, nämlich über die parallele Programmierung.
So wie heute morgen um 9:00 Uhr in der Früh, was aber die anwesenden Software-Entwickler nicht davon abgehalten hat, den Raum bis auf den letzten Platz zu füllen. Das zeigt zweierlei: Erstens hat das Thema Multithreading viele Leute schon erreicht, und zweitens besteht offensichtlich noch eine Menge an Informationsbedarf. Und da ist Steve genau der richtige, um vorhandene Wissenslücken zu füllen.
Für alle, die es nicht mitbekommen haben: Ich saß in der Session und habe mir die Seele aus dem Leib getwittert. Ein paar Kostproben gefällig?
First demo: LINQ versus PLINQ. Guess who is faster? Got it?! Yes, PLINQ is 3.3x faster.
The only difference between LINQ & PLINQ is a little “AsParallel()”. Very easy, very intuitive!
ParallelEnumarable() fits perfectly for parallel computing with huge data. Think of financial applications, e.g.
There’s one important advice by Steve: Don’t use threads but tasks. .NET 4 is supporting with Parallel.Invoke() e.g.
With .NET 4 you can delay tasks in order to run them later as soon you need them.
Diese und andere Aussagen ergaben ein klares Bild: .NET 4 soll und wird die Parallelprogrammierung verbessern, und das mit einem klaren Konzept, mit Tasks statt Threads und den passenden Tools wie einem Debugger, der viele Informationen über die laufenden Threads und Tasks liefert.
Direkt nach der Session konnten wir übrigens Steve Teixeira dazu überreden, uns vor der Kamera ein paar Fragen zu beantworten. Kollege Papadhimas ist gerade am Schnitt dran. Sobald das Video fertig und auf Youtube gestellt ist, kommt hier der Embedcode rein. Damit ihr auch etwas davon habt.
Update: Das Video ist fertig geschnitten, gerendert und auf Youtube. Und hier. So, Film ab.
TechEd09: Erste Videoeindrücke aus Berlin
Wir sind also in Berlin, auf der Microsoft TechEd Europe 2009. Das sollte sich ja allmählich herumgesprochen haben. Damit ihr es auch wirklich glaubt, ist Tom heute erst mal allein mit seiner Kamera losgezogen, um erste Eindrücke einzufangen. Und ab morgen bin ich dann mit dabei, um ein paar Videointerviews und -demos zu drehen. Mit auf der Liste stehen:
- Steve Teixeira wird morgen früh (Di, 9:00) etwas zu “Parallel Computing for Managed Developers” erzählen. Hoffentlich bekommen wir Steve hinterher für ein Interview vor die Kamera.
- Um 15:15 Uhr geht es dann um das Thema HPC und Virtualisierung. Auch hier planen wir ein anschließendes Videointerview.
- Intel-Kollege Rami, der am Mittwoch seine Techsession hat, wird uns in seiner Demo zeigen, wie Managed Code mithilfe von VTune optimiert werden kann.
- Natürlich werden wir auch Bilder von der Parallel-Studio-Session inklusive Netbook-Verlosung zeigen.
- Am Mittwoch hat dann Rami seine besagte Techsession. Hinterher stellen wir im ein paar schlaue Fragen.
- Um 10:15 Uhr geht es direkt weiter mit F# und dessen parallelen Fähigkeiten. Hinterher gibt’s hoffentlich ein Videochat mit Donald Syme.
- Tiberiu Covaci hält um 12:20 Uhr seinen Vortrag mit dem Titel “The Future of Parallel Programming”. Anschließend werden wir Tiberiu zu seinen diversen Techsessions befragen. Auch zu denen, die wir heute Morgen leider nicht besuchen konnten.
- Und falls ihr nochmals die 15-Minuten-Präsentation samt Netbook-Verlosung sehen wollt: Am Mittwoch ist wieder Gelegenheit dazu.
- Der Donnerstag beginnt mit einer Parallelsession mit dem Titel “Going Parallel for a Living: Introduction to the Concurrency Coordination Runtime” des lieben Kollegen Ralf Westphal. Mal sehen, ob er uns auch vor der Kamera etwas erzählt.
- Um 15:15 Uhr ist Steve Teixeira noch mal dran, und zwar mit seiner Session “Building High Performance Parallel Software”. Ob Steve sich zweimal von uns interviewen lässt?
- Natürlich gibt es auch am Donnerstag die fast schon lieb gewonnene 15-Minuten-Session inklusive Netbook-Vergabe. Aber diesmal schenken wir uns das vielleicht. Wir wollen ja niemanden langweilen.
- Und klar, dass die Intel-Kollegin Beatrice noch zu Wort kommt. Sie will nämlich unbedingt etwas zum Intel Atom Developer Program erzählen.
So, und nach so vielen Programmankündigungen kommen jetzt endlich die Impressionen aus Berlin. Film ab!
TechEd09: Wir sind dann mal weg!
Ok, da ich keinen Koffer in Berlin habe, muss ich bald einen ebensolchen packen, um heute noch rechtzeitig zum Flughafen zu kommen, damit mich AirBerlin auch zur Microsoft TechEd Europe 2009 bringt. Dort werde ich nämlich gemeinsam mit dem Kollegen Papadhimas und einer Hand voll Intel-Leuten vier Tage lang von der wohl wichtigsten Entwicklerkonferenz in Sachen Windows, dotNET und Co. berichten.
Wie ich ja bereits angekündigt habe, werden wir uns bevorzugt um das weite Feld der Parallelprogrammierung kümmern. Da sind zum einen die 15-Minuten-Sessions auf der großen Showbühne zu nennen, auf der Ralph und Edmund in gewohnt treffsicherer Art und Weise über Parallel Studio referieren und sagen werden, warum das Plugin für Visual Studio nicht nur zum Multithreaden taugt, sondern auch Bugs in seriell programmierten Anwendungen aufspürt und hilft, diese zu eliminieren. Und die Session von Rami werde ich mir ebenfalls nicht entgehen lassen. Der werte Kollege erzählt nämlich vom Dreigestirn Windows 7, .NET und Multicore-Optimierungen.
Dass so eine riesige Konferenz aber noch mehr zu bieten hat als Parallel Studio und Intel-Sessions, macht ein Blick in den äußerst umfangreichen Sessionplan klar. Dort finden sich unter dem Schlagwort “Parallel” ein gutes Dutzend interessanter Vorträge zum Thema Parallelprogrammierung. Die spannendsten Sessions werde ich natürlich aufsuchen und live darüber berichten (entweder in diesem Blog oder per Twitter). Und weil das noch nicht genug ist, ziehe ich mit Tom und Videocam immer wieder los, um die maßgeblichen Köpfe der TechEd mit schlauen Fragen zu konfrontieren. Aber das kennt ihr ja schon.
Ok, dann bleibt mir nur noch, uns allen eine interessante Microsoft-Konferenz zu wünschen, verknüpft mit der Hoffnung, dass nicht der ein oder andere im Trubel der Berliner Feier zu 20 Jahren Mauerfall verloren geht. Wäre doch schade …
Wie parallel ist die TechEd Europe 2009?
Wenn man sich so die Webseite der Microsoft TechEd Europe 2009 ansieht, fällt auf, dass es dort eine ganze Menge Dinge gibt, die mit dem Parallelismus zu tun haben. Wie beispielsweise die Techsessions, von denen natürlich viele gleichzeitig angeboten werden, um so die anwesenden Entwickler und anderen Gesellen mit möglichst vielen Informationen versorgen zu können. Aber auch die Ausstellerbereiche stellen eine Art Paralleluniversum dar: Namhafte Hersteller wie Intel (übrigens zu finden in der Visual Studio Partner Zone, Stand V1/V2) zeigen am selben Ort zur selben Zeit ihre Produkte, Lösungen und Demos.
Aber, um jetzt wieder ein bisschen ernsthafter zu werden, was wirklich parallel ist an der diesjährigen Microsoft TechEd Europe sind die vielen Sessions und Vorträge, die sich mit diesem Thema beschäftigen. Das zeigt zweierlei: Erstens wirft Visual Studio 2010 samt .NET 4 große Schatten voraus und zweitens scheinen Multithreading und Co. in den Köpfen von Microsoft angekommen zu sein. Aber das ist nicht so überraschend. Höchstens die Vehemenz, mit der die Konferenz das Thema angeht.
So gibt es beispielsweise Tiberiu Covaci (erinnert mich ein bisschen an jemanden von der Enterprise), der gleich mit mehreren Parallelsessions vertreten ist. So stellt er am Montag die ziemlich rhetorische Frage “Is the future of programming a parallel one?” (Und alle: “Yeah!”) Dabei will er unter anderem herausfinden, welche Branchengrößen den Multicore-Markt vorantreiben (wie heißen die noch mal mit dem großen I am Anfang … ?).
TechEd09: Das wird es alles zu sehen geben
In meinem gestrigen Blogeintrag habe ich ja schon darauf hingewiesen: Wir fahren nach Berlin! Und zwar nicht zum DFB-Pokalendspiel, sondern auf die Microsoft TechEd Europe 2009, auf der sich wie jedes Jahr Software-Entwickler und andere Geeks treffen. Dass zeitgleich der 20. Jahrestag des Mauerfalls gefeiert wird, macht die Stadt bestimmt schön kuschelig voll.
Aber das wird uns nicht davon abhalten, unserem Job nachzugehen und vier Tage lang über folgende Dinge zu (video)bloggen (am fünften Tag wird die TechEd leider ohne uns auskommen müssen):
Wie üblich werden wir interessanten Leuten unsere HD-Cam unter die Nase halten und ihnen schlaue Fragen stellen. Natürlich gehen die Ergebnisse gleich vor Ort online und wir werden auch darüber bloggen. Hierbei erwartet alle Anwesenden eine echte Weltneuheit: Anstatt in einem kleinen, muffigen Konferenzraum zu sitzen und dort abgeschieden von der Welt vor mich hin zu schreiben, sitze ich am Intel-Stand in der Visual Studio Partner Zone und blogge dort live! Damit mir alle beim Arbeiten auch zusehen können, wird mein Geschriebenes direkt auf einen großen TV-Bildschirm übertragen, der sich in meinem Rücken (oder sonstwo) befindet. Unsere ganz persönliche Daily Soap von der TechEd Europe 2009!
Ebenfalls in Wort und Bild werden wir über die drei 15-Minuten-Sessions berichten, die die anwesenden Intel-Kollegen halten werden. Hauptthema wird Parallel Studio sein, mit dem sich seriell programmierte Anwendungen parallelisieren lassen, damit sie möglichst schnell auf Multicore-Systemen laufen. Allerdings geht es dabei nicht nur um Performance, sondern um weitere Aspekte wie Sicherheit, Effizienz und, ok, Performance.
