Parallel lines

 By Matt Nicholson

Matt Nicholson goes to Prague to find out why we’ve all got to think parallel.

HardCopy Issue: 40 | Found In: Development | Published: 01/05/2008 | Last Revision: 06/07/2010

Prague

Intel’s message to software developers at its third Software Conference, held in Prague this April, was “Think parallel or perish.” With all new machines expected to contain multi-core processors by next year, your applications are not going to be able to compete unless you adopt parallel programming techniques. The problem is that processor speeds, which have been steadily increasing since the micro-processor first appeared back in 1971, hit a brick wall a few years ago. Up until then, each new processor was faster than the last, with computing speeds doubling every two years (or more recently, every 18 months). Upgrade your PC and your software programs would automatically run faster, without requiring any intervention from the programmer. However increasing processor speed much above 3GHz has proved problematic as faster processors require more power, and the heat generated can no longer be dissipated quickly enough. The solution is to put more than one processing core onto the die. Just as with human beings, software can then run faster by doing more than one thing at a time. However, as James Reinders, Chief Software Evangelist and Director of Intel Software Products, explained, this does mean writing or re-writing your programs before they can benefit from multi-core technologies. On the server, immediate performance gains can be had by getting the operating system to run existing application threads in parallel if multiple cores are available, and indeed this is already happening. Such an operating system would run the email server on a handful of cores, the database on a handful more, while handling file access and the network stack on whatever remains. For software developers the problem is really on the client side where performance gains can only be realised if applications are written to take advantage of multiple processing cores. For most of us this means thinking about programming in a new way, and here Intel is trying to help with a range of multi-core libraries, debugging tools and compilers that are optimised for parallel processing (see left). Those programming in Visual Basic and C# will benefit from Microsoft’s Parallel Extensions to .NET Framework but, at present, Intel is primarily concerned with C++ and Fortran. Fortran is a specialist market, however Janel Garvin of Evans Data revealed that 41 per cent of developers in Europe, Middle East and Africa are currently using C or C++, and the same proportion are developing multi-threaded applications. You need to be paying attention if you want your applications to compete in this brave new world.

Share and Bookmark  

Comments

Be the first to comment about this article...

Leave a comment

You must login to place comments.