|
With built-in support for concurrent programming to make multi-threading easier, Java technology is already taking advantage of some of the benefits of AMD’s platform. But there’s a lot more going on between AMD and the Java community that you may not know about. AMD Java Labs has been working with the major JVM vendors for several years now, helping to improve JVM performance, finding ways to make Java work better across multi-core environments, deal with data concurrency more efficiently, and handle garbage collection more effectively. We are building performance advantages directly into Java tools and environments, making developers’ jobs easier. Read on to learn more.
»
View datasheet: Java™ Technology on AMD Opteron™ Processors
CodeSleuth
CodeSleuth is an open source Eclipse plug-in that brings the functionality of AMD CodeAnalyst to Java code. CodeSleuth uses AMD CodeAnalyst to collect and analyze compiled Java code from within the Eclipse IDE. This tool enables you to track counter information from raw address locations, through the machine code emitted by Java Virtual Machines (JVMs), and back to the Java source. Once you identify the location of performance issues in the Java source, you can modify the code to improve application performance.
»
Learn more
AMD Java Labs Blog
» Read now
OpenJDK
As part of our commitment to the OpenJDK community, we submitted a small yet useful code change. Previously, the 32-bit OpenJDK JVM emitted VectorPath instructions to carry out left shift operations on certain data types. We made changes to the JVM source so that low latency DirectPath instructions get generated in certain left shift operations. This yielded approximately 33% improvement on a micro-benchmark that we used for testing this code change.
» More details on this RFE: http://bugs.sun.com/view_bug.do?bug_id=6708714
Java Posse Podcast
April 14, 2009
The Java Posse interviews Azeem Jiva, Gary Frost, and Ben Pollan to discuss a range of topics, including JVM performance, multi-core programming, developer tools, and more.
» Learn more
Send us your feedback
We’d like to hear your thoughts and ideas on how we can better help you with your Java programming needs. Whether it’s a feature enhancement you’d like to see implemented, a technical topic you want to learn more about, or a discussion topic you want us to blog about, we want to know. Have an application that is highly scalable, has low latency, or just plain runs great on AMD hardware? Let us know about it and we’ll feature it in our blogs.
» Comment on our blogs
» Post to our forums
Sun Tech Days 2008-2009 season
AMD has been a sponsor of the Sun Tech Days since 2006, including the latest 2008 - 2009 season.
» Learn more
Computer virtualization during the last five years has spread to standard x86 based servers and personal computers. Follow along in this article as we explore some virtual machine configurations running Java and various settings that affect its performance.
»
Optimizing Java Performance in a Virtual Machine Environment
The number of flags that someone can change on the Sun Java Virtual Machine (JVM) is astounding. Most of them are garbage collection (GC)-related and have many dependencies, not only on the system you are using but also to each other. Tuning GC flags seems like it should be difficult and error-prone, but following a few easy steps can help improve application performance in only a few minutes.
»
4 Easy Ways to do Java Garbage Collection Tuning
This article explains why inlined methods raise challenges for source mapping and how the Java Virtual Machine can make inlining information visible to tools by passing it through the JVMTI layer. AMD Java Labs has implemented this technique, which we call JVMTI Event Piggybacking, in the Sun Hotspot JVM without changing the JVMTI specification.
»
JVMTI Event Piggybacking For Precise Source Mapping
Learn about this free and open source Eclipse plugin designed to give programmers access to CPU performance counter data within a familiar software development environment.
»
CodeSleuth: New Performance Analysis Tool for Java Applications
Learn about how the AMD Opteron™ processor can handle large memory pages in a Java Virtual Machine (JVM) and why large pages can improve performance.
»
Supersizing Java: Large Pages on the Opteron Processor, Part 1
»
Supersizing Java: Large Pages on the Opteron Processor, Part 2
Learn how AMD CodeAnalyst can be used to profile Java applications and analyze their performance.
»
Using AMD CodeAnalyst with Java
Got a lot of threads to run? Leverage multicore and multiprocessor hardware by putting them in a pool. Then, Java 5.0's extensive thread-pool capabilities will manage them for you.
»
The Secret of Java Thread Pools
Using AMD CodeAnalyst™ to profile Java applications.
»
Multi-Core Event Based Profiling
Understanding what the JVM can do with escape analysis can help explain some otherwise non-intuitive performance results.
»
How JVMs use Escape Analysis to Improve Application Performance
From Sun Developer Network:
» J2SE 5.0 Performance on AMD Opteron
» Java Tutorial: Concurrency (threading)
The Role of the Microprocessor in the Evolution of Java Technology
JavaOne 2008 Keynote
Speaker: Leendert van Doorn, Senior Fellow, AMD
Abstract:
As our every day lives continue to move toward web-based management and as application portability becomes a priority - for education, banking, commerce and more - applications must be able to respond in Internet time. In this session, AMD will offer its vision for Java technology, address the importance of industry-wide support of the technology and offer insight into the key role hardware plays in Java technology's proliferation and the impact on the end customer.
» View the webcast
Part 1
Part 2
Part 3
Virtualizing a Virtual Machine
JavaOne 2008 Technical Session
Session ID: TS-5227
Track: Java Platform, Enterprise Edition (Java EE)
Speakers: Azeem Jiva, AMD; Shrinivas Joshi, AMD
Abstract:
The current trend in Java™ Platform, Enterprise Edition (Java EE platform) server application deployments is to deploy servers in a virtualized environment. Virtualization enables you to deploy several Java EE technology-based application servers in isolation onto a single physical system, lowering costs on hardware, data center space, and power.
Virtualization adds an abstraction layer between the host operating system and the virtualized guest application. This abstraction is a trade-off between performance and ease of maintenance, but there are techniques for maximizing performance. This session discusses various virtualization techniques, including bare metal, paravirtualization, and platform virtualization. It demonstrates virtualization best practices as they pertain to Java technology-based enterprise applications and how Java virtual machines are affected by virtualization. Attendees will learn about performance, resource allocation, bottlenecks, and consolidation.
»
View presentation
Analyzing Java Performance Using Hardware Performance Counters
EclipseCon 2008 Technical Session
Speaker: Gary Frost, AMD
Abstract:
Most Java profilers depend upon timing information to help developers locate performance issues. Although this timing information can be useful for finding ‘hot’ methods, quite often the reason why the method is problematic is not revealed and is left as an exercise for the reader.
In this talk we will demonstrate
CodeSleuth, an open source Eclipse plugin which can collect data from performance counters embedded within the CPU and correlate with the original Java source.
Information from these counters can provide insight into interactions between processor and code that can be used to determine the cause of performance issues.
Armed with this information developers can consider alternate code choices to avoid such performance bottlenecks. We will walk through various examples and will show how some typical code patterns may be refactored to improve performance.
»
View presentation
Sun Java site
» java.sun.com
Sun’s Try and Buy Program
» Free 60-day Trial
|