Software development: the impact of chip multiprocessors

by CBR Staff Writer| 29 September 2005

While many industry watchers had predicted the demise of the silicon microprocessor over a decade ago, to be replaced by faster alternative semiconductor chip materials, chip manufacturers have been able to confound everyone by investing billions and pushing the limits of silicon technology. However, it appears that we have reached the limit today.

Industry looks to new solutions in chip multiprocessing technology

The focus now is on where the performance improvements will come from, and the main bet is on concurrency. Both Intel and AMD have developed Chip Multiprocessing (CMP) technology, where distinct microprocessors sit on the same crystal die, sharing external resources, but otherwise running independently.

However, in order to exploit CMP to the full, software will need to be written using concurrency. Concurrent, or parallel, programming has been a specialist computer science practice that has never entered the mainstream, not least because it requires special tools and techniques to design and debug such systems, and they are conceptually quite different from conventional sequential programming.

Today's programmers have not been trained for this task, and the mainstream programming languages have not catered for it. Java is the best geared for the task, as it allows multi-thread programming, but niche languages, for example based on Functional Programming like Scheme, have features that if brought into mainstream languages will enable the advantages of concurrency on CMP to be programmable.

However, there are major design and assurance issues in programming in this new paradigm, as parallel programming will make security and testing far more difficult. Unlike the introduction of Object Oriented Programming into the mainstream, which reduced complexity in large software projects, concurrency will do the opposite, by increasing the complexity with increase in the size of the code. Specialised applications will benefit Google, for example, exploits CMP for parallel access to Web server farms, as its main purpose is simply to serve pages to Web surfers.

For general applications, however, it is unlikely that CMP will help the already poor state of application development in meeting business requirements, instead it will increase risk with a far more complex programming paradigm. To expect business to fit in with the wishes of the silicon-chip manufacturers is perhaps looking at the problem the wrong way round. Rather, the company that can produce a microprocessor that retains traditional programming is more likely to win the support of the majority of business. That solution may emerge from gallium arsenide manufactures, a specialist industry already worth billions, or silicon germanium, which has the advantage of being based on silicon and thereby more friendly to the investments of the existing chip leaders.

Source: OpinionWire by Butler Group (www.butlergroup.com)

Comments
Post a comment

Comments may be moderated for spam, obscenities or defamation.
Privcy Policy

We have updated our privacy policy. In the latest update it explains what cookies are and how we use them on our site. To learn more about cookies and their benefits, please view our privacy policy. Please be aware that parts of this site will not function correctly if you disable cookies. By continuing to use this site, you consent to our use of cookies in accordance with our privacy policy unless you have disabled them.