English | 中文 | Русский | Français
2,622 Posts served
8,411 Conversations started
Day three of Microsoft Tech-Ed Europe 2009 started with Rami Radi's very informative and technical session where he talked about Windows 7, .NET 4 and the question how .NET developers can benefit from multicore platforms. Rami is working as a software engineer at Intel and helps ISVs optimizing their applications to run best on multicore sytems.
First of all I have to admit that there were a lot of people at Rami's tech session like the one of Steve Teixeira who took place yesterday. Interesting thing: hardly anybody of the attendees knew that Intel is not only manufacturing microprocessors. Nor did they know that there are a lot of developer tools from Intel which help to optimize their applications in terms of multithreading and multicore performance.
There were three main areas Rami was focussing on: Intel's current and future microarchtitectures, .NET 4 improvements regarding multithreading and different Intel tools like VTune Performance Analyzer which help software developers to test their apps in terms of correctness and robustness. That's why Rami said some remarkable things:
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!
One part of his presentation was related to a so called Maze Solver demo which was quite compelling. The main idea behind it is the detection of an optimal path within a two dimensional system as you can see it in logistics applications where you need to know the fastest way from A to G with B, C, D, and E in between. The algorithm which solves this problem needs a lot of computing power especially when you look at huge matrixes with 1000 by 1000 elements. In order to show the .NET 4 capabilities in conjunction with a multicore system Rami compared the Maze Solver with .NET 3.5 and .NET 4. Result: with .NET 4 the application was running two seconds faster without any code changes. And guess what: with multithreading ON it was fast as hell.
There were some quite thrilling information about VTune and .NET as well. Who thought that VTune is only suitable for native code is wrong as this profiling and sampling tool also supports .NET applications. So you can debug your serial or parallel coded apps in order to find hotspots and other buggy things. To achieve this, VTune is profiling the running programme and creates a huge number of samples which will be aggregated and assessed. As a result you can see all the possible hotspots quite quickly. A very useful tool.
And of course after his presentation we had our videocam up and running in order to ask Rami some deep dive questions like "What can developers expect when they move from .NET 3.5 to .NET 4?" and "How can VTune help software developers?" So, take a seat, grab some popcorn and enjoy the show!

javierandrescaceres
4,690
Status Points:
4,190
Do you know if his presentations/demos are available to download?