Programming in Parallel

By Peter Galli  |  Posted 2007-07-23 Print this article Print

Reinders also floated the possibility of Java and .Net versions of TBB in the future. "While our main commitment is making sure we do well with C++, we think that the concepts of abstracting parallelism, of having a very sophisticated runtime to handle all the mapping of tasks on the threads, those core ideas of what we have in threading building blocks could be applied to .Net and Java," he said. Now that the product has been open-sourced, the hope is that more people will look at that and whether it is a good idea or not, he said, adding that Intel wanted to gauge the level of interest in, potential usage of and possible contribution to, such a project. How can developers control complexity? Click here to read more.
"We are interested in seeing where that takes us, and if leadership emerges in the community to take this to Java or .Net, that will be a big factor in determining if we do it," Reinders said.
As the world has already moved to multicore processing, programmers need to start thinking about taking a single program and having it take advantage of multiple processors, he said. But the challenge is taking C++ and extending it to allow every one of those programmers to do parallelism without having to abandon that language, as well as getting it to an appropriate level of abstraction. "Intel TBB 2.0 gets you there," he said. Some existing users, like Marc Snir, head of the Computer Science Department at the University of Illinois at Urbana-Champaign, agree with that claim. "TBB promises to change how parallel programming is done in C++," Snir said. Intel TBB uses generic programming to be efficient, but lets programmers express tasks instead of threads, allowing scalable programs at a fraction of the developer effort required for C++ with threading packages, he said. The software also provides an abstraction for parallelism that avoids the low-level programming inherent in the direct use of threading packages such as p-threads or Windows threads. AMD is readying its quad-core Opteron processor for shipping in August. Will the new chip slow Intels momentum? Click here to read more. It is also designed to work with any C++ compiler, while its building blocks for threading can be used as a whole or in pieces, and co-exist with raw threads and OpenMP, which simplifies the development of applications for multicore systems, Reinders said. The software also detects the number of cores on the hardware platform and makes the necessary adjustments to allow the software to adapt as more cores are added. TBB is currently used on a wide variety of C++ applications, particularly ones where scalable performance is important, such as content creation, animation, financial services, electronic design, and automation and design simulation, he said. A number of customers like Martin Watt, senior software engineer at Autodesk, headquartered in San Rafael, Calif., are active in providing product feedback to Intel. "We used to say make it right, then make it fast. We cant do that anymore. TBB lets us design for correctness and speed up front," he said. Among the key benefits of TBB 2.0 are its ability to abstract parallelism without a loss of performance, that it is easier to program and maintain, and that it allows generic programming for performance and portability, Reinders said. The product coexists with native threads in Windows, Posix and OpenMP, and supports 32-bit and 64-bit platforms as well as Intel, GNU and Microsoft compilers. It is portable across the Windows, Linux and Mac OS X platforms and supports the Intel Thread Checker and Profiler tools, he said. Looking forward, Reinders said he expects to see a lot of usage by both open-source projects and distributions and closed-source projects, as well as many more new ports and more binaries, so it becomes truly ubiquitous. Check out eWEEK.coms for the latest open-source news, reviews and analysis.

Peter Galli has been a financial/technology reporter for 12 years at leading publications in South Africa, the UK and the US. He has been Investment Editor of South Africa's Business Day Newspaper, the sister publication of the Financial Times of London.

He was also Group Financial Communications Manager for First National Bank, the second largest banking group in South Africa before moving on to become Executive News Editor of Business Report, the largest daily financial newspaper in South Africa, owned by the global Independent Newspapers group.

He was responsible for a national reporting team of 20 based in four bureaus. He also edited and contributed to its weekly technology page, and launched a financial and technology radio service supplying daily news bulletins to the national broadcaster, the South African Broadcasting Corporation, which were then distributed to some 50 radio stations across the country.

He was then transferred to San Francisco as Business Report's U.S. Correspondent to cover Silicon Valley, trade and finance between the US, Europe and emerging markets like South Africa. After serving that role for more than two years, he joined eWeek as a Senior Editor, covering software platforms in August 2000.

He has comprehensively covered Microsoft and its Windows and .Net platforms, as well as the many legal challenges it has faced. He has also focused on Sun Microsystems and its Solaris operating environment, Java and Unix offerings. He covers developments in the open source community, particularly around the Linux kernel and the effects it will have on the enterprise.

He has written extensively about new products for the Linux and Unix platforms, the development of open standards and critically looked at the potential Linux has to offer an alternative operating system and platform to Windows, .Net and Unix-based solutions like Solaris.

His interviews with senior industry executives include Microsoft CEO Steve Ballmer, Linus Torvalds, the original developer of the Linux operating system, Sun CEO Scot McNealy, and Bill Zeitler, a senior vice president at IBM.

For numerous examples of his writing you can search under his name at the eWEEK Website at


Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel