Intel opens the threading kimono (and who?)
- IT TOPICS:Development, Hardware, Linux, Macintosh & Apple, Open Source, Software, Windows & Microsoft
Wild, wide Wednesday's IT Blogwatch: in which Intel makes it easier to program for quad-core CPUs. Not to mention the annual list of least influential Americans...
Jon Stokes has the scoop:
Intel announced today that they're open-sourcing their cross-platform Thread Building Blocks 2.0 (TBB) template library. While the company contributes code to open-source project like the Linux kernel and drivers, the opening of TBB marks the first time that Intel has taken a commercial tool and open-sourced it, making it Intel's largest open-source commitment to date.The aim of TBB ... is to make it easier for coders in C++ to express task-level parallelism. TBB works by abstracting parallelism above the level that most programmers are currently used to, especially those coders who use POSIX or Windows threads. Coders can use the TBB template library in conjunction with the platform's native threads, and the different pieces of the project (task scheduler, mutex locks, atomic operations, containers, etc.) can be used independently of one another.
Intel clearly wants to position TBB as the standard tool for writing multithreaded code, as opposed to OpenMP, and Windows and POSIX threads. The company claims that the project as a whole is committed to processor-, compiler-, and OS-independence, and they've launched a new site for the open-source version: threadbuildingblocks.org. The site has all the typical open-source project aspects, like a CVS, forums, mailing lists, and so on, and Intel is currently in the process of adding engineers to it. [more]
IBM's Michael Dolan explains:
One of the issues with multicore going mainstream is applications that can take advantage of multicore. While applications will run, developers will tend to see multicore max out at around 4-6 cores for their applications. Any more cores and performance will not scale as you’d like. With TBB, it will be somewhat easier for developers who can rely on tools to analyze where different parts of their code are worthy of a separate thread and let the tools do all the work for you in executing that code across multiple threads.. [more]
O'Reilly's Kevin Farnham drools:
I'll be doing a lot of experimenting with Threading Building Blocks in the coming months, and in preparation I've put together the most powerful computing laboratory I've ever owned. Yes, it's true, I've worked on more powerful systems at client sites where I was working on well funded government and corporate projects -- but I've never had this array of power in my own home office before now.
...
I love research. I've worked in laboratory environments for most of my software engineering career. It's going to be great fun, and very interesting, to see what results as I test various multithreading programming methods in my new laboratory. [more]
Justin Mann spots some interesting tech:
The most interesting point to me, though, was that the template can adjust itself based on the number of cores to be used.
...
By giving this tool out, they hope that creating software for multi-core systems will be made easier and done more often. Easier platforms means easier development ... The only difference between the now open-source version and the commercial version appears to be technical support and potentially future upgrades. [more]
Roy Schestowitz got out of the wrong side of the bed this morning:
Nice publicity stunt, but everyone already knows that Intel doesn't give a **** about open source (unless it means money)
...
Doesn't Intel have another charitable not-for-profit project to sabotage today? And trust me, I say this because I know. Intel deserves this treatment because it has earned it over time. Not to mention monopoly abuse and many misuses that directly hurt rivals, destruction of E-mails (court evidence), fake benchmarks... [more]
Nvidia's Olivier Giroux is, well, excited:
Fresh threading help. Exciting! ... I’ve been using ::boost::thread for a while now and, while it does a decent job of wrapping pthread/Win32 threads, it doesn’t deliver anything new/special. Its main appeal is that it provides access to well-known (i.e. beaten-up) metaphors via RAII building blocks. The C++ world+dog has known for a long time that RAII is the best way to implement (e.g.) mutex locking, but until Boost implemented it there was no golden version of it in any 1st-class libraries.In contrast the Intel Thread Building Blocks provide a different interface to threads, which aim to hide the fact that much threading is even going on. Like I said earlier, how exciting! We'll see what this delivers... stay tuned. [more]
O'Reilly's Robert Kaye expands:
The important difference between a TBB application and a pthread application is that in pthreads the programmer tells the program exactly how many threads to create and what each of the threads should do. In TBB the programmer describes the task at hand and hands it to TBB to slice and dice before it hands off threads to the OS to execute. TBB will divide the task and pass it to a pool of threads for execution. However, what wasn’t apparent before is that TBB will actually do something akin to load balancing where it may decide to subdivide a task further in order to properly spread the task between multiple processors/cores.
...
I’ve learned long ago that parallel programmming is not for the faint of heart and that mutlithreaded programming was also a nice challenge. Having a toolkit that neatly abstracts out these complicated concepts and hides them from the programmer is going make a big difference for many people preparing to move to the multicore future. [more]
Drew McCormack shows his cynical side:
I personally saw Intel demonstrate this technology recently, and it seems very powerful ... as long as you are developing in C++ — Fortran programmers need not apply. TBB seems to lie somewhere between the raw-performance/development-hell experience of pthreads, and the overhead-laden/your-grandma-can-do-it world of OpenMP. In the demo I saw, TBB improved on OpenMP performance-wise, but was somewhat less trivial to incorporate. [more]
Oi! Banana Lee Fishbones! Is that your real name?:
Did Intel lose their minds? Because right now I'm leaning towards YES ... [but] in the absolute BEST possible way:
- They invited bloggers and press ONLY to an event. There is a press embargo on this stuff till tomorrow, but the bloggers could start on it the second they heard what was going on.
- Geeks + Open Bar = Crazy Delicious
- Intel put an engineer on the stage to talk about this.
- We got the open bar before AND after the talk.
It's interesting to see a "big" company work on building a community and responding within it. I am fascinated with their efforts and very interested in how it turns out for them ... if you ask me, Intel has completely lost it. I can't imagine anything better, and I hope they lose it even more in the future. [more]
Buffer overflow:
Around the Net
- Chris Nerney: Why Do Spammers Spam? Because It Works!
- Rational Security: Cisco & VMWare - The Revolution will be...Virtualized?
- Geertjan: Communicating with the User (and Yourself)
- Ryan Paul: Ars at Ubuntu Live: Mark Shuttleworth's keynote
- itnetworkguru: Spiceworks - Network Management System
- Craig Borysowich: Sample Usability Test Plan
Around Computerworld
- Martin McKeay: Was the iPhone ready for prime time?
- Robert L. Mitchell: Why rural Americans are doomed to second-rate broadband
- Larry Medina: Conversion is NOT Preservation!
- Shark Tank: Stuck
- Shark Bait: A Stake thru the Hard Drive
Previously in IT Blogwatch
And finally... Time Releases Annual List Of Least Influential Americans
Richi Jennings is an independent technology and marketing consultant, specializing in email, blogging, Linux, and computer security. A 20 year, cross-functional IT veteran, he is also an analyst at Ferris Research. Contact Richi at blogwatch@richi.co.uk.



