Andrew Binstock: Threadbare!
November 1, 2007 —
(Page 1 of 2)
The vendors most concerned with promoting threading on the desktopthat is, chip vendors whose future is closely tied to capitalizing on multiple coresare slowly but inevitably coming to a disappointing conclusion: Desktop developers are not interested in threading. And no amount of flag waving or promotion is going to persuade them to adopt threads.
Intel has certainly been trying. It recently made its Threading Building Blocks available for free and got OReilly and Associates to release an entire volume documenting the softwares use. Intel also offers several very good threading tools. And, along with several vendors, the company has pushed the development and distribution of OpenMP, which is probably the simplest way today to implement threading. The results of all this effort have been undetectable, so far. Gamers, multimedia apps and software from ISVs are still the primary, perhaps exclusive, users of threads on the desktop. No one else cares.
Why the resistance? Several reasons. First, a strong case for threading has not been made. Everyone understands how it runs software faster. But if users arent pushing for greater performance than theyre currently getting from desktop apps, the effort to add threading lacks a compelling driver. Second, threading is hard. It requires a different mindset from the straight-ahead programming most developers know, and it demands new skills, such as special design and debugging prowess. Third, the frameworks and languages lack robust support. Threads are supported in Java and .NET, but primarily as primitive resources. High-level support is notably weak.
Dynamic languages are even further behind. To wit, Python, allows only one thread to run at a time (except for I/O); this means you can have threads but not running in parallel. Ruby can run threads only within the one VM, which is arguably better but nowhere near good enough. And OpenMP, which might be a solution for some, is limited to C++ or Fortran.
Fourth, development tools lag in thread support. The major IDEs provide basic support, but for anything more, you have to go to third-party products. Alas, there are few of these; the most notable is a trio of products from Intel. While there are one-off offerings elsewhere, there is little tool help overall for the programmer who wants to go parallel.
Share this link: http://sdt.bz/31279
Most Read Latest News Blog Resources
Zeichick’s Take: Radio moves from analog waveforms to digital packets
Streaming radio highlights the need for streaming applications to be designed to take up as little bandwidth as possible
|
|
Taking enterprise architecture to the business side
Startup Corso is bringing out a cloud-based planning platform that ties into business plans
|
|
Appcelerator Acquires Cocoafish to Add Instant Mobile Cloud Capabilities to its Industry Leading Titanium Platform
Appcelerator Offers Messaging, Social, Location and Storage Mobile Cloud Services to All Mobile App Publishers
|
|
ComponentOne Releases a Collection of 40+ UI Widgets Powered by HTML5 and jQuery
ComponentOne has announced the 2012 release of Wijmo: a kit of UI widgets for HTML5 and jQuery development
|
Taking enterprise architecture to the business side
Startup Corso is bringing out a cloud-based planning platform that ties into business plans
|
|
Top five apps to manage your workload
Web applications offer new ways to track your “to-do” lists
|
|
Not so fast when it comes to testing in the cloud
Developers face outsourcing, virtual lab management and mobile devices as obstacles
|
|
Xceed releases UX-focused suite for Microsoft’s WPF
"Blendables" helps match user experiences to developer visions
|
Are you at risk for burnout?
Burnout is a severe problem and it can strike at any time. Here's how to tell if you are nearing the edge.
|
|
Agility, mom, and apple pie
If we're to evaluate the state-of-the-art in software development, we should start with the values espoused in the Agile Manifesto.
|
|
RIM woos developers with free tablet
How do you get more apps ported to the BlackBerry PlayBook? By giving every developer a free tablet, of course!
|
|
GitHire: Use Headhunters to Find Your Perfect Programmer
Are you a hiring manager tired of scouring the job boards? Check out this new service that will find 5 people interested in your jobs.
|
The Hidden Costs of Software Licensing
Moving beyond paper-based software licensing to more flexible, software-based licensing is a business decision. There is a growing trend tow...
|
|
Case Study: You May Need a Development Mechanic
As a contractor for a major financial player in Germany, SOBEGE, a German-based consultancy specializing in embedded IT and web services, wa...
|
|
Ensuring Software Quality at a Major International Bank
One of the world’s leading international banks has adopted AgitarOne technology for delivering generated unit tests for their Java software...
|
|
Load Testing Adobe Flex Applications
Adobe Flex applications may be different from applications you’ve worked with before. For classic HTML web applications, the server does all...
|