It seems only fair that since the hardware side of the computing world plowed ahead with parallelized computing, they should help out the software development community.
In that spirit, AMD plans to let developers take a crack at its Light-Weight Profiler Tuesday as a possible assist for the growing problem faced by PC software developers: just how the hell are we going to effectively use processors with multiple cores? AMD's LWP could let applications written for runtime environments like Java or .Net interact directly with hardware to know how much performance is available across a series of cores, said Earl Stahl, vice president of software alliances for AMD.
Much has been written about the need for the PC software development community to move past the "free lunch" era, when it could write a single-threaded application and watch its performance improve over time as a processor's clock speed got faster and faster. That ended with the overheating concerns presented by fast single-core chips. Parallel programming is nothing new to the server world, but it's a new path for PC software developers and new techniques are needed to make sure client applications will show improved performance as the number of cores on a chip increases at a faster rate than the actual clock speed of that chip.
LWP is designed to help developers boost the performance of applications created for runtime environments like Java or .NET, such as Web-based applications. Right now, those applications don't talk directly to the processor to see how much performance they've got in the pipeline; they have to go through the operating system. LWP will let that application code see exactly what resources are available, allowing the code to avoid overloaded cache memory in one core, for example, and avoid the performance penalty caused by asking the operating system to query every core.
Right now, this isn't an immediate problem. As we move forward with quad-core chips and eventually to eight cores or more, however, applications will need to know how to allocate themselves across those idle cores, Stahl said. AMD hopes LWP will help a new generation of application development tools make those decisions.
Interested developers can check out the specification on AMD's site, Stahl said. The company's holding the equivalent of a public comment period during which developers can submit feedback for a final specification that could be incorporated into future AMD processors as an extension to the x86 instruction set, such as AMD's 64-bit AMD64 instructions or Intel's SSE multimedia instructions. Eight-core PC chips won't be very common until around the end of this decade at the earliest, giving the industry some time to tackle the problem.