AMD released its Light-Weight Profiling spec today, the first step in its Hardware Extensions for Software Parallelism initiative.
LWP is designed to enable code to make dynamic and real-time decisions about how best to improve the performance of concurrently running tasks, using techniques such as memory organization and code layout, with very little overhead. These capabilities are particularly beneficial to runtime environments like Java and .NET, which can run multiple threads and are used to develop an increasingly large percentage of applications.
This step is targeted at the runtime, and the company is talking about it specifically in terms of “managed” runtime evinronments as in the Java and .NET examples cited above. But this is an interesting development, and ties in to research directions in the complier community where developers are beginning to explore schemes for using run time information to prove conditions on loops the compilers doesn’t know enough about to parallelize at compile time in order to get the best performance (read yesterday’s post on Michael Suess’ blog for more on this last point).
The Hardware Extensions for Software Parallelism program
… will encompass a broad set of innovations designed to improve software parallelism, and thus application performance, through new hardware features in future versions of AMD processors.