Paul Krill
Editor at Large

Intel wants developers to think parallel

news
Mar 10, 20093 mins

Apps need to accommodate multicore and many-core CPUs and developers need to learn how to best leverage the power of parallelism, a company official stresses

Software developers were exhorted to “think parallel” Tuesday by an Intel official who stressed a changing paradigm in which applications accommodate many CPU cores.

Speaking during a keynote presentation at the SD West 2009 conference in Santa Clara, Calif., James Reinders, director and chief evangelist for Intel software development products, emphasized the budding trend of parallelism and noted the company’s tools products in this space.

[ Related: Multicore chips mean new challenges for developers. ]

“One of the phrases I’ve used in some talks is it’s time for us as software developers to really figure out how to think parallel,” Reinders said. Designing parallel programs is becoming fundamental to the programmer’s job and those who do not figure it out will have a limited career path, he said.

Intel, he said, is in its fifth year of shipping multicore processors and will ship a many-core processor this year. “While we’re still wrestling with how do I use two, four, eight cores, we’re going to throw into the mix a processor with dozens of cores,” said Reinders. He defined processors with more than 16 or 32 cores as many-core processors and added that these require different design techniques.

Referring to an article he had published in 2007, Reinders cited eight rules for parallelism: think parallel; program using abstraction; program tasks, not threads; design with the option to turn off concurrency; avoid locks when possible; use tools and libraries designed to help with concurrency, use scalable memory; and design to scale through increased workloads.

“It’s very important to make sure, if at all possible, your program can run in a single thread with concurrency off,” Reinders said. “You shouldn’t design your program so it has to have parallelism. It makes it much more difficult to debug.”

Citing Intel efforts, Reinders said the Intel Parallel Studio toolkit, geared to parallel application development in C/C++, was in a beta release and has thousands of people using it. “The idea here [with] this project was to add parallelism support to [Microsoft’s] Visual Studio in a big way,” said Reinders. Components of Parallel Studio include Intel Parallel Composer, for compiling and debugging; Intel Parallel Inspector, to find synchronization errors; and Intel Parallel Amplifier, to find bottlenecks and tune applications. It also finds problematic locks.

As part of Intel Parallel Studio, the company also offers Intel Threading Building Blocks, an open source technology to extend C++ for parallelism. On the horizon is the company’s Parallel Advisor tool, due in the second quarter of this year, providing design phase capabilities. It combines capabilities of Inspector and Amplifier. Either later this year or early next year, Intel plans to extend Amplifier and Inspector to Linux, Reinders said.

Reinders also noted Intel’s planned many-core processor, codenamed Larrabee, for high-performance graphics capabilities.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author