Intel wants developers to think parallel
InfoWorld - Software developers were exhorted to "think parallel" Tuesday by an Intel Corp. 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, Intel's director and chief evangelist for software development products, emphasized that parallelism is a budding trend and pointed out the tools that Intel offers in that space.
[Related InfoWorld story: "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 it 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 of turning 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, that 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 tool kit, geared toward parallel application development in C/C++, is in a beta release, and he noted that thousands of people are 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, for finding synchronization errors; and Intel Parallel Amplifier, for finding bottlenecks and tuning applications. It also finds problematic locks.
As part of Intel Parallel Studio, the company also offers Intel Threading Building Blocks, an open-source technology designed to extend C++ for parallelism. On the horizon is the company's Parallel Advisor tool, due in the second quarter of this year, which is designed to provide 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 reminded the audience about Intel's planned many-core processor, code-named Larrabee, for high-performance graphics capabilities.



- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- The Keys to Distributed & Agile Application Development
- How leading firms are winning with strategies for efficient application development, without relying on co-location.
- Overcome Top 7 Admin Challenges of Active Directory
- As Active Directory's role in the enterprise has drastically increased, so has the need to secure the data. Gain insight on creating repeatable,...
- Insiders Can Ruin Your Company. Take Action.
- Did you know that 80 percent of threats to an organization come from the inside? The threat from insiders is often overlooked in...
- Top Solutions and Tools to Prevent Devastating Malware
- Custom malware frequently goes undetected. According to Forrester Research, the best way to reduce risk of breach is to deploy file integrity monitoring...
- Streamline Compliance and Increase ROI
- Streamline, simplify, and automate compliance related activities; especially those that impact multiple business units. This white paper from NetIQ, outlines solutions that will... All App Development White Papers
- Reduced TCO for Communications Applications with New Oracle SPARC Servers
- In this webcast learn how Oracle's new SPARC T4 servers and SPARC Supercluster deliver the security, performance, and scalability required for 4G network...
- Optimizing Networks for the Cloud
- Join guest speaker, Rohit Mehra, IDC Director of Enterprise Communications Infrastructure, to explore current trends, discuss best practices for optimizing Data Center and...
- Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
- Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
- Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
- Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
- Customer Spotlight: How IPC The Hospitalist Company Implemented Oracle on VMware
- Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn... All App Development Webcasts