http://java.sun.com/ http://java.sun.com/javaone http://java.sun.com/javaone
JavaOne - ExperiencingJava technology through education, industry, and community
Home > AMD General Session -- A Different Perspective on Java Technology Evolution

AMD General Session -- A Different Perspective on Java Technology Evolution

 
by Steven Meloan  

Advanced Micro Devices, Inc. (AMD) has nearly 40 years in the hardware industry and is the second-largest global supplier of microprocessors based on the x86 architecture. In an era of multicore processors and never-ending performance demands, there is an essential synchronicity between the hardware and software realms. In the Wednesday, May 7, general session, Leendert vanDoorn, senior AMD fellow, explored the role of the microprocessor in the evolution of Java technology -- how Java technology sets AMD free to innovate and how the Java community benefits from AMD's forward-thinking hardware and software initiatives.

Because performance is paramount in the processor realm, it's vital for manufacturers to work closely with Java Virtual Machine (JVM)* developers to maximize the capabilities of a given chip. "We have a sizable Java technology team at AMD," says vanDoorn. "We've worked with IBM, BEA, and Sun to optimize their JVMs and take full advantage of the features and capabilities that AMD offers, and we'll continue that work in the future."

In the combination of the Java language's bytecode and just-in-time (JIT) compilation techniques, AMD sees vast new performance-enhancement opportunities. "In many ways, Java technology sets us free," explains vanDoorn. "When you do native code programming, if you want it to be portable, you have to code against the lowest common denominator of the instructions available on the various processors. But with JIT compilation, we can generate native code on the fly, at runtime, maximizing the capabilities of a particular processor. As a result, we can introduce new hardware instructions, and an updated JIT can immediately take advantage of them."

AMD now plans to take the advantages of JIT compilation to whole new levels of sophistication and performance. In August 2007, the company introduced its Light-Weight Profiling (LWP) proposal, part of the company's Hardware Extension for Software Parallelism initiative. As part of this initiative to improve software parallelism and application performance, LWP is designed to provide low-level performance information to a running program, allowing it to make dynamic and real-time decisions in terms of memory organization and code layout. "When you JIT a certain piece of code," says vanDoorn, "you typically don't re-JIT. But by getting this low-level performance information, you can revisit those decisions, making real-time choices based upon the particular program and the particular chip. And it will all be done in the JIT, transparent to the developer. All they'll see is performance benefits."

AMD made a point of inviting the software development community to be an active participant in the process of defining the LWP specification. "In August 2007, we released an early version of the spec," says vanDoorn, "and we asked the community to get involved in refining it." The current revision of the specification (v3.02) contains updates that are a direct result of that community feedback. And AMD welcomes continued feedback, comments, and suggestions related to LWP: Write to LWP.Feedback@amd.com.

This is just one aspect of the company's commitment to the developer community. Through its web site, http://developer.amd.com, AMD offers a broad palette of developer-related offerings -- including performance-monitoring tools, tracing tools, libraries, system emulators, community forums, blogs, and more.

"We have a sizable developer organization," says vanDoorn, "publishing things like the LWP spec, white papers on how to make efficient use of AMD platforms, sample code, as well as tools and system simulators. It's a portal that all of AMD contributes to. And it's not just a one-way process. It's a place for us to engage in two-way communication with the developer community."

In March 2008, AMD announced the release of its CodeSleuth plug-in for the Eclipse IDE. CodeSleuth delivers the functionality of AMD's CodeAnalyst performance analyzer to Java developers, allowing programmers to analyze and optimize software performance on AMD processors, including Quad-Core AMD Opteron processors. CodeSleuth improves upon traditional performance analysis by providing data on how Java software is performing on the processor. In order to ensure that the plug-in evolves according to community need, CodeSleuth is open source and available as a no-charge download within the Eclipse IDE.

"My organization is responsible for taking forward-looking software concepts and making sure that we get those into our platforms and into our silicon," says vanDoorn. "Java technology allows us to innovate at the instruction set and architecture level, in ways that we simply can't do with native code. We can be a lot more inventive in offering instructions that specifically benefit systems using JITs, such as those taking advantage of Java technology."

_______
* As used on this web site, the terms "Java Virtual Machine" or "JVM" mean a virtual machine for the Java platform.

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.