« on: April 16, 2010, 03:37:28 PM »
If you're coding for multicore, you shoot for maximum performance but hit barriers along the way. Arm yourself with the latest development and optimization tips from the experts: Download the Guide for Developing Multithreaded Applications: Part 1.
Part 1 of this technical guide focuses on application threading and synchronization techniques. A compilation of 11 top articles, it features examples and how to's on measuring performance, removing artificial dependencies, using tasks instead of threads, mitigating synchronization impacts, and more. Here's just a sampling of the articles inside:
• Loop Modifications to Enhance Data-Parallel Performance—Tackle loop challenges with techniques that minimize synchronization and make parallelization easier—such as loop fusion, loop interchange, and loop unrolling.
• Load Balance and Parallel Performance—Avoid common memory and I/O pitfalls to achieve the perfect load balance by sharing workloads equally across all threads.
• Managing Lock Contention: Large and Small Critical Sections— Efficient parallel code balances thread performance in critical sections and manages idle time of other threads. Learn the concept of critical section size and see when it is best to use large or small critical sections.
Watch for Part 2 of this Guide next week for 10 additional articles on varied memory management approaches for multicore and the latest programming tools to streamline parallel programming.