Multicore programming helpers

It still sticks out in my head that I had a professor in the mid-90s who was talking about programming and threading and asserted that practically nobody in the world knew how to write multithreaded code. At the time I didn’t figure it mattered so much. But with in a couple years I was writing linux kernel code and dealing with concurrency and reentrance issues and realised that it’s not exactly trivial to write good parallel code. It’s slowly become clear over the years that most software engineers just haven’t bumped up against this in their day to day work.
With the push to multicore chips and increasing parallelism in hardware even in commodity hardware, the ability for code to exploit that parallelism becomes very important if computers are to effectively get faster year to year. Given that average coders don’t know how to do this…
At OSCON last month I was interested to learn about Intel’s Threading Building Blockslibrary to help people write threaded code.
And today I noticed there is similarly an IBM Software Development Kit (SDK) for Multicore Acceleration, which is Cell specific.
I understand chip manufacturers’ business inclination to emphasise optimisations on their own hardware. But this sure seems like an area where a standardised set of hardware agnostics abstractions would be very beneficial.

This entry was posted in Economics, Technology. Bookmark the permalink.

Leave a Reply