AMD released a specification for a new technology called "Light-weight Profiling", which should increase the performance of software by taking advantage of multi-core processors.
The LWP specification describes the first technology that supports a recently introduced initiative called “Hardware Extensions for Software Parallelism,” which 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. LWP is a CPU mechanism that could have broad benefit to software including, but not limited to, runtime environments such as Sun Microsystems’ Java Virtual Machine and Microsoft’s .NET Framework.
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.
“AMD understands the challenges developers face when creating multi-threaded software, and so we are taking a step to evolve new methods to ensure that software applications are optimized for multi-core technology,” said Earl Stahl, vice president, software engineering at AMD. “In the spirit of AMD’s commitment to open innovation and fostering industry discussion, we are making the Light-Weight Profiling specification available to encourage discussions with the developer community around how to make native and managed code perform better in multi-core computing environments.”
In a recent survey of developers, research firm Evans Data noted that managed languages and managed code are expected to dominate application deployments (source: Web Services Development Survey, Volume I, 2007, Evans Data Corporation). Furthermore, the runtime environments that process these managed applications are also expected to be ideally suited for multi-core processing, due to their use of parallel processes. If leveraged by these managed environments, the LWP extensions will provide developers with techniques for improving the performance of parallel and single-threaded applications.
Managed runtime environments include business processes such as e-commerce, financial services applications and many other business applications that involve concurrent interactions. With more developers turning to managed code and the number of individual concurrent interactions growing over time, LWP is designed to help optimize multithreaded applications running on multi-core systems by reducing bottlenecks, increasing performance and enabling dynamic adaptation to changes in application behavior.