Feeds

The multicore future, and how to survive it

Avoiding the proprietary extensions trap

Providing a secure and efficient Helpdesk

Multicore processors may offer a wealth of powers, but writing efficient code for them is notoriously difficult. Thankfully, help is close at hand.

The Multicore Association created the Multicore Programming Practices (MPP) working group just over a year ago to produce a guide on best practices for writing multicore-ready software in C/C++ without proprietary extensions.

Why produce a guide, when it’s generally recognized that development environments will eventually evolve to better support multicore processors, anyway? The MPP doesn’t think it wise to wait - especially as the Multicore Association believes that C/C++ will be the predominant programming language for at least eight years.

MPP chairperson and chief executive of CriticalBlue David Stewart said that the MPP's goal is to provide guidance to "software engineers [who] don't know what they don't know."

“There's capability in [multicore] platforms which is not being utilized or not being optimized by the software development community," Stewart said.

Stewart was speaking during a web cast to update people on the MPP’s progress on the guide since the group’s creation in May 2008. Delivery is scheduled for later this year.

Stewart outlined forthcoming chapters such as Analysis and High-Level Design, Implementation and Low-Level Design, Debug, and Performance Tuning, indicating the guidebook has already drawn from the experiences - and painful learning - of the broad range of software developers who are members of the MPP working group.

Developers from 29 companies and institutions are participating in the MPP effort, including multicore veterans from Freescale Semiconductor, Carnegie Mellon, Intel, Nokia Siemens Networks, Samsung, Texas Instruments, Wind River (acquired by Intel in June for $884m), LG Electronics, LSI, MIPS Technologies, National Instruments, and VMware.

In addition to the MPP, other recent developments on the multicore-programming front should bring comfort to coders. Last week, for example, Intel acquired RapidMind to beef up its in-house software-parallelism braintrust.

It seems the marriage of RapidMind and Intel will birth help for coders at about the same time as the MPP guidebook appears. "Later this year," says RapidMind's announcement, "we will provide more details about the integration of the RapidMind platform and Intel software products and technologies, including the Intel Ct technology for data parallelism."

Intel parallelist James Reinders promised great things on the Intel Software Network blog. "Rapidmind proved itself to be an innovative company with advanced technology for helping software developers with data parallel programming for multicore processors and accelerators. Their joining Intel will let us do even greater things together," he wrote.

Reinders also points to later this year as when coders should see the release of a beta of Intel's Ct Technology, designed "to provide programmers with tools that would abstract data-parallel programming away from the hardware."

Cut to the Apple multicore

Developers coding for Mac OS X, however, don't have to wait for multicore assistance - they've got Snow Leopard, seeded to them earlier this year and shipping to the masses this Friday.

Snow Leopard includes a multicore-assistance technology known as Grand Central Dispatch (GCD) - a mid-level technical explanation of which can be downloaded here (PDF).

According to Apple's technical explanation, GCD was created because: "The dominant model for concurrent programming - threads and locks - is too difficult to be worth the effort for most applications." Also: "The complexity of these issues has a well-deserved reputation for introducing bugs that are difficult to find and fix."

As Apple's explains it: "GCD shifts the responsibility for managing threads and their execution from applications to the operating system. Because the system is responsible for managing the threads used to execute blocks, the same application code runs efficiently on single-processor machines, large multiprocessor servers, and everything in between."

Mac OS X developers with whom we've spoken swear that GCD is relatively painless to implement. How many of them will actually choose to use it to better exploit the Core 2 Duos and Xeons in today's Macs, however, remains to be seen.

Macs aside, in a world in which multicore processors are the new standard, it's good to know that those who build the applications that run on them will get the assistance they need to plumb their potent powers. ®

Internet Security Threat Report 2014

More from The Register

next story
Microsoft on the Threshold of a new name for Windows next week
Rebranded OS reportedly set to be flung open by Redmond
'In... 15 feet... you will be HIT BY A TRAIN' Google patents the SPLAT-NAV
Alert system tips oblivious phone junkies to oncoming traffic
Apple: SO sorry for the iOS 8.0.1 UPDATE BUNGLE HORROR
Apple kills 'upgrade'. Hey, Microsoft. You sure you want to be like these guys?
SMASH the Bash bug! Red Hat, Apple scramble for patch batches
'Applying multiple security updates is extremely difficult'
'Google is NOT the gatekeeper to the web, as some claim'
Plus: 'Pretty sure iOS 8.0.2 will just turn the iPhone into a fax machine'
ARM gives Internet of Things a piece of its mind – the Cortex-M7
32-bit core packs some DSP for VIP IoT CPU LOL
'People have forgotten just how late the first iPhone arrived ...'
Plus: 'Google's IDEALISM is an injudicious justification for inappropriate biz practices'
prev story

Whitepapers

Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.
Intelligent flash storage arrays
Tegile Intelligent Storage Arrays with IntelliFlash helps IT boost storage utilization and effciency while delivering unmatched storage savings and performance.
Beginner's guide to SSL certificates
De-mystify the technology involved and give you the information you need to make the best decision when considering your online security options.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
Secure remote control for conventional and virtual desktops
Balancing user privacy and privileged access, in accordance with compliance frameworks and legislation. Evaluating any potential remote control choice.