Achieving Threading Success

Categories:
Tags:

Introduction

For quite some time, making applications multi-thread capable has represented a significant opportunity for developers to obtain high performance. With the coming introduction of multi-core processors from Intel, that opportunity reaches a new level of significance. Whether it's a desktop system striving for higher frame rates or an enterprise platform handling thousands of simultaneous transactions, threading unlocks the ability to take advantage of the coming of multi-core processors. Software providers should invest in making their next-generation releases multi-thread capable. In so doing, they stand to differentiate themselves from the competition as multi-core versions of Intel® processors become widely deployed. For example, when Hyper-Threading Technology¹ was introduced, some applications showed a performance increase of approximately 25% in their threaded versions.

This brief introduces some of the common challenges that ISVs might expect to encounter when creating threaded versions of their software, as well as the tools and services from Intel that are specifically crafted to address those challenges. The road to threading success requires skill and persistence, but you can start with easy-to-use techniques and tools to grow your threading skills.

¹ Hyper-Threading Technology requires a computer system with an Intel® Pentium® 4 processor supporting Hyper-Threading Technology and a Hyper-Threading Technology enabled chipset, BIOS and operating system. Performance will vary depending on the specific hardware and software you use. See http://www.intel.com/products/ht/hyperthreading_more.htm for more information including details on which processors support Hyper-Threading Technology.


View entire article (PDF 129KB)


For more complete information about compiler optimizations, see our Optimization Notice.

Comments

todd-bezenek's picture

We have to be careful to remember that two threads on a single core might not get the same amount of work done as two threads one separate cores.

-Todd

Todd Bezenek Computer Architect / Performance Analyst bezenek@gmail.com