In search of killer threaded apps

Wanted: Killer applications that take advantage of Intel's threading technology inherent in multi-core chips. The goal: Develop software that best uses multi-core chips and take computing to the next level.

Wanted: Killer applications that take advantage of Intel's threading technology inherent in multi-core chips. The goal: Develop software that best uses multi-core chips and take computing to the next level. Must be fluent in geeked-out terms such as parallelism. Contact: James Reinders, director of marketing and business at Intel's software developer products unit.

That intro sums up Reinders' mission. Reinders--who joined Intel in 1989 and has worked on the world's first TeraFLOP supercomputer, compilers and the architecture of a bevy of processors--serves as Intel's evangelist to the developer community. His mission is to get software developers to think different and build applications that take advantage of the threading technology. Intel's obvious payoff is to sell more chips.

In a nutshell, threading technology, found in multicore chips, allows software to run in parallel on a computer. Think graphics rendering in the background as you work on something else or play a game.

Sounds great, but Reinders, who stopped by CNET offices in New York Wednesday, has a bit of a slog ahead. After all, there aren't any huge killer apps taking advantage of Intel's threading. When asked about killer apps, Reinder didn't have any readily available. However, there are some small wins and the launch of Vista may help move threading forward.

"We're working from the ground up and engaging the community," says Reinders. "We're trying to help developers understand how parallelism affects them. Developers haven't focused on threading applications, but I have faith that they'll find it interesting."

One example: JAlbum has optimized for threading technology unbeknownst to Reinder. The payoff: Web thumbnails render quickly. Reinders didn't notice until performance improved and he read the "read me" file.

Here are some highlights from the interview:

--Where will threaded killer apps appear first? Reinders said most likely places would be in audio and video applications, gaming and heavy computational software. For instance, Pixar would have an obvious use for threaded applications. "Most don't worry about how applications run, but a transition to high definition will consume a lot of CPU. High definition will speed the transition to multicore," says Reinder.

Those comments put Intel's relationship with Apple into a new light. Enterprises and people that do heavy video and audio editing often use Macs. Meanwhile, high-definition photos are also manipulated on applications like Adobe's Photoshop, which often appears on Apple computers. Connecting a few dots, it would stand to reason that Apple is more important to driving threaded applications than Microsoft's Vista launch.

--Is multicore a tough sell to enterprises? Reinders acknowledged that no CIO is going to go to multicore hardware unless it's explained in simple terms like your SQL will run faster and you get more power for less money.  Intel is hoping to piggyback on an enterprise Vista upgrade cycles.

--Will rich Internet experiences matter? "The most immediate benefit is that servers can react to a lot of users quickly," says Reinders. "That Web sites will be more responsive even as they become richer and more interactive."

--How long will it take to sell threading to developers? Reinders didn't have a timeline, but it could take awhile. Developers are still working through how parallelism impacts them. They also have to see the benefit of making their applications run faster. "They appreciate it when parallelism is implemented, but they don't think it through at the beginning."

--How is Intel supporting developers? Reinders notes that Intel offers tools, compilers and libraries that are "production worthy" to help get the ball rolling. Tools are very important given that applications running in parallel can collide in "deadlocks." Intel has software tools that can synchronize various operations to keep the software trains running on time without collisions. In addition, Reinders is spending some time watching how code libraries interact since threaded applications can present problems. He's currently pondering taking some of the tools open source.