Optimization Opportunities for Multi-Core Performance
How much software optimization is enough? This question is even more perplexing with multi-core processors whose additional cores may require some effort to gain maximum performance benefits. Multi-core processors offer a refreshing approach for developers who want to improve overall system performance; however, ...there may be new software issues to deal with. This paper is intended for software developers who want a template for identifying performance optimization opportunities based on a real world application.
We will present the code migration of an open-source medical image rendering application, a serial to multithreaded transformation. This application was threaded to take advantage of a four-core system (two dual-core processors). After exploring alternative schemes for parallelizing the application, a popular thread library called pthreads (POSIX* Portable Operating System Interface) was used. We studied five performance metrics and concluded the resulting code was well optimized, demonstrating a 3.3X performance improvement compared to single-core implementations.
Read the full Optimization Opportunities for Multi-Core Performance White Paper.