Q&A from Webcast "The Good, the Bad, and the Ugly: Improve Parallel Application Quality and Performance" presented by Eric Moore on 4/28/2009
Q: Do all the Intel® Parallel Studio tools work with C# applications?
A: No. Intel Parallel Studio is intended for C and C++ developers only.
Q: Where can I find the latest version of Intel® Parallel Studio?
A: Intel Parallel Studio launched as a product on May 26, 2009. Please visit http://www.intel.com/go/parallel for more details and to download the latest version.
Q: What would be a good rule of thumb for deciding whether a spinlock deserves to be replaced by a mutex or vice-versa?
A: Intel® Threading Building Blocks (Intel® TBB) provides a wide range of synchronization primitives with different qualities. Picking the right type of synchronization may greatly improve performance but it's a decision that should be based on many application-dependant parameters. For example, Intel TBB spin_mutex works faster in lightly contended situations but since it spins while it waits, Intel TBB mutex should be used when wait times are expected to be longer because tbb::mutex is a wrapper of OS synchronization object (CRITICAL_SECTION on Windows) and waiting thread will be put into idle state so that other threads could use CPU cycles to continue doing useful work. There is a good summary and comparative analysis for all Intel TBB mutexes in the tutorial at http://www.threadingbuildingblocks.org/documentation.php.