Commercial industry applications are evolving from single threaded to multithreaded. This is primarily due to the fact that most computers now have multiple cores, and applications want to take advantage of all the processor power available. The issue is converting applications to multithreaded or even making multithreaded applications run on multiple cores brings up a whole host of new issues for development teams.
To help solve these challenges, we have recently introduced our next generation of dynamic analysis for data-intensive commercial applications – CodeDynamics.
CodeDynamics is built on the proven and scalable debugger engine found in TotalView for HPC, which is widely used today by high performance computing (HPC) developers. The HPC industry has faced these challenges on a much larger scale. These are the groups that develop applications that run with 1000s of threads on 1000s of cores to perform complex mathematical algorithms.
For commercial applications, it is extremely important that shared data is protected, whether with mutexes or other methods. Finding defects gets much tougher because you can’t isolate the code and just step through it (because many accesses are occurring at the same time). This means debugging is like searching for a needle in a haystack.
CodeDynamics is designed to streamline your development of threads, large data structures, and also allows for the ability to record your debug session and then step backwards. All of this is focused on making debugging of complex, multithreaded applications easy and efficient. This allows you to find that needle quicker.
For more information, please take a look at the new website page on CodeDynamics.