Technology & Research

Intel® Technology Journal Home

Volume 11, Issue 04

Multi-Core Software


Intel Technology Journal - Featuring Intel's recent research and development

ISSN 1535-864X DOI 10.1535/itj.1104.f

  • Volume 11
  • Issue 04
  • Published November 15, 2007

Multi-Core Software

FOREWORD

Bill Savage, General Manager, Developer Products Division, Software and Solutions Group

We at Intel and the industry need to accelerate the understanding of parallel software development and greatly reduce the effort needed to develop it. The relatively new prevalence of multi-core processors means both Intel and the software industry are confronted with the challenge of making parallel software development a common task for all programmers. While parallel software is common in high-performance computing and enterprise applications, running on multi-processor systems from workstations to large clusters, it is not widespread in mobile and desktop applications. However, multi-core processors are the new standard for these systems, and multi-core hardware can only achieve its full potential with parallel software: this means that both the excitement and challenge of parallel software has found its way to all computers.

Parallel computing in enterprise and high-performance computing has evolved over time. Hardware, software, and development tools have matured together, leading to improvements in and greater understanding of each area. Such maturation, while benefiting all these areas, has also placed greater demands on them. Over time, parallelization techniques improved and some standard practices were developed. Compilers, libraries, runtimes, and operating systems were developed to support these practices. But, even with these aids, creating parallel software remains a difficult problem, requiring a high level of expertise.

Examples of the problems that remain in parallel programming include finding parallel tasks in applications, expressing parallelism through appropriate constructs, finding errors in parallel code such as deadlocks and data race conditions, and tuning the performance and scaling of the application on the targeted hardware. Many of the papers in this issue of the Intel Technology Journal explore ways to advance our capabilities to meet these challenges, and how to improve capabilities in parallel programming and multi-core enabling.

Both Intel and the industry need to take parallel software development to the next level. We need to make it accessible to the majority of software developers, so that it becomes the prevalent method of development. We need to accelerate the evolution of the development environment to greatly reduce the amount of effort and expertise required. With each discovery and improvement in parallel software, we move closer to fully harnessing the power of multi-core processors.

I hope you enjoy this issue.

Back to Top