Wednesday, November 12, 2008

Finally VSTS product Team did it; Dynamically analyzing your Applications using Visual Studio.Net 2010Using the Threads Profiler

Actually this is a feature that I have waited two years, Since two years ago, I began to work with Intel people over the Intel Thread Checker, and Intel Thread profiler tools. I even have delivered the first course all over the world about how to use Thread Checker, and Thread Profiler. At those days, we in Compu Pharaohs (The company that I work for) has initiated an awareness campaign in cooperation with people at Microsoft Egypt in Order to evangelism for the VSTS 2005. I wished at these days to see some of those tools capabilities to get availed at the VSTS. Actually Intel People told me that there are working with the Microsoft VSTS team in order to include the thread profiler capabilities into the VSTS. Afterwards, I received lots of customers requests for availing the multi-threading profiler inside the VSTS. Sometimes, I replied to those people\s request by what Intel people told me, but inside myself, and as a developer for more than 15 years, I was looking to include the support of dynamic analysis for the multi-threaded applications inside VSTS, not to use the thread profiler. Why?
Because when this is getting included inside the VSTS, it will leverage the power of test case management, work item tracking, and bug tracking.

Today, What I always dreamed off has come true. VSTS 2010 is coming with Multi-Threaded Applications Dynamic Analysis. This means that you will be able to profile your threads, check whether your application is utilizing the parallel resources correctly, or not. If not, how is the workload is distributed over the different threads. How does each thread perform? What is the running code inside each thread…etc?



The above figure shows one of the thread dynamic analysis for a given application.

This actually, can help developers parallel applications developers to develop, and test their applications by an easier year. As many of you know that the parallel processing is nowadays a key factor in the success of many enterprise, as well as critical mission applications. The processors industry nowadays is scaling out by means of adding multiple core processors inside one box. This is due the physics of the processor bus clock speed capacity. Up till the Nano technology could be used into the processors production, the processing clock speed will not increase massively, instead Intel will increase the number of core inside the single-box processor (from 2, to 4, to 8 now,…etc). Developers need to understand this correctly, and design their applications in a multi-threading mode which is currently the only way that can utilize the real power of the multi-core processors. Microsoft he seized this opportunity and introduced at the VS.NET 2010 CTP a Thread profiler that can dynamically analyze the different running threads of the system during running the applications.

No comments: