Vorheriger Beitrag: Intel-Session “Parallel Studio” und eine Netbook-Verlosung
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!
Sehr anschaulich und beeindruckend war auch die Maze-Solving-Demo, die Rami dabei hatte. Ziel solch eines Maze Solvers ist das Aufspüren des optimalen Pfades innerhalb einer zweidimensionalen Umgebung, wie dies beispielsweise in Logistikanwendungen häufig notwendig ist. Um die Leistungsfähigkeit von .NET 4 und Multithreading zu demonstrieren, startete Rami die Demo zunächst unter .NET 3.5 im seriellen Modus. Das Problem wurde unter .NET 3.5 in 14 Sekunden gelöst, unter .NET 4 hingegen in 12, und das nur wegen der architekturellen Verbesserungen im .NET-4-Framework. Und klar, dass die Multithreading-Variante in .NET 4 das Problem blitzschnell in wenigen Sekunden löste.
Spannend fand ich auch seine Ausführungen bezüglich VTune und .NET. Denn dieses Tool wird vorwiegend zur Fehlersuche in nativ programmierten Anwendungen eingesetzt. Umso überraschender war die Erkenntnis, dass VTune auch .NET-Entwicklern bei ihrer Arbeit helfen kann. Hierzu erstellt VTune ein Profil der laufenden Anwendung und generiert dabei eine große Zahl an Samples, die dann kumuliert und gewichtet werden. Das Ergebnis zeigt auf einen Blick, wo sich mögliche Hotspots innerhalb des Codes befinden.
Natürlich hatten wir während Ramis Präsentation die Kamera aufgebaut und diese bis zum Schluss mitlaufen lassen. Klar ist aber auch, dass wir daraus keinen 75-Minüter bauen. Tom schneidet gerade die besten Szenen zusammen, mischt diese mit dem Interview, das wir mit Rami nach seinem Vortrag geführt haben, und wenn das Video fertig auf Youtube steht, werden wir es hier veröffentlichen. Freut euch schon mal auf sehr anschaulichen Content.
Update: Das Video ist fertig!



Trackbacks & Pingbacks