In order to get the most out of this course you should be familiar with basic programming concepts and general performance techniques such as CPU execution time, what a function is, what a mutex is and what a critical section is. Previous experience with multithreaded applications that share a valued resource is a plus but not required.
- [Lecturer] This course requires an intermediate level of computer programming. You will get the most out of this course if you have been previously exposed to multithreaded applications that deal with a critical resource that must be shared among different threads. Familiarity with locks and what a lock is will help with the learning curve, but we do discuss these important fundamentals later on in the course. In short, you should have previous experience with the following, multithreaded applications, that can be found with my other Intel VTune course, and Visual Studio IDE Experience, that can be found in Walt Ritscher's course.
To briefly touch on what a deadlock is, a deadlock occurs when a thread needs a valuable shared resource in order to continue executing, but that shared resource is already being used or accessed by another thread. Here we can see that thread number one wants object number two, but it can't get it because it's currently being used by Thread 2. However, Thread 2 will not release Object 2 until it can get a hold of Object 1, which is already being held on to by Thread 1.
In short, the Locks and Waits analysis we will perform with the VTune Amplifier will show us where the threads are having to spend a lot of time waiting for a shared resource to be accessible, and because of this continuous waiting the processor is underutilized. You're going to need an Intel core processor, 2nd generation or later for running the Intel VTune Amplifier tool. You're going to need an Internet connection for downloading the tool and other course materials and, because we spend most of our time in the course inside Visual Studio 2015 you're going to want to grab that as well.
The free Community Edition is fine.
By the end of this course you will know how to use the Locks and Waits analysis on your own application and improve the efficiency of parallel task execution on Windows.
- Installing VTune Amplifier
- Choosing options for the Locks and Waits analysis
- Working with the VTune Amplifier GUI
- Viewing the analysis summary
- Removing the lock
- Conducting lock-removed analysis
- Comparing results