with Track Host: Kirk Pepperdine CTO, JavaPerformanceTuning.com
Speed is our High Performance Computing track, designed to help you achieve optimal performance in your applications. In this track, learn how to compose applications for high performance computing environments; Learn how to cluster for high performance; Learn how to choose the right platform for parallel computing; Learn how to test, then optimize, performance, and more. Browse all of the high performance computing sessions or select a title from below:
More performance-related sessions we recommend.
• Concurrency: Past and Present with Brian Goetz, Senior Staff Engineer, Sun Microsystems
With the widespread availability of cheap multi-core processors, concurrency is more important than ever for utilizing the hardware resources available to an application.
However, it's difficult to write safe code that performs as it should - Requiring a rigorous design, development, and testing approach in order to produce reliable results.
In this session, we'll look at several programming models for concurrency, contrast them with the shared-state model that is dominant today, and draw some lessons that can help us write better concurrent programs in Java.
In this session, you will learn how:
• To achieve concurrency in your applications, with safe, optimized code;
• Today's dominant shared-state model of concurrency differs from the offerings of other programming models;
• To write better concurrent programs in Java.
• Concurrency & High Performance with Kirk Pepperdine, CTO, JavaPerformanceTuning.com, Sun Java Champion and co-author, ANT Developer's Handbook
Both Intel and Microsoft have recently said that we, as developers, need to start delivering more concurrency in our applications. What does this mean? How did we get to this point?
In this talk, we will look at the trend towards more and more cores and and what this means for Java programmers. Can we expect that our Java applications will automatically take advantage of the extra processors, or will we need to become more aware of the hardware aspects of our system?
In this session, you will learn:
• What's behind the trend towards concurrency;
• What developers must be prepared for with concurrency moving forward;
• What concurrency looked like in earlier JDKs, and how it's evolved today;
• How you can tell if you have a performance bottleneck because of concurrency.
• Extreme Transaction Processing, Low Latency and Performance with John Davies, Technical Director and Head of Research, IONA
Like C++, CORBA, Java and Spring before them, the technologies that banks are using today will become common place across industries in years to come. In this session, John, who has over 30 years of experience in investment banking and integration technology, will give you a head-start on the rest of the world.
Investment banking, online gambling, credit card payment processing and telecommunication companies all push the limits of what electrons can do for us. Can today’s generic ESBs and products aimed at a SOA really cover the extreme needs of many of leading edge industries? In this session, John will cover several case studies of XTP, low latency and high performance systems and offer insight into what we might expect to see in main-stream in the near future.
In this session, you will learn:
• How to choose or evaluate an ESB;
• How to service-enable complex systems;
• How to cut through buzzword-heavy marketing and get down to solving real development problems;
• When to do XML and when not to;
• When Java works, what it’s best for and when it’s not so good;
• That there IS a life after relational databases;
• Why Vegas will never make it in the banking world.
• Java Performance Myths (Or, "How do JVMs really work?") with Brian Goetz, Senior Staff Engineer, Sun Microsystems
Performance myths about the Java platform abound - Java is slow, reflection is slow, allocation is slow… Some of these myths have their root in fact (In JDK 1.0, everything was slow!) - But today, many are untrue - In fact, Java performance has surpassed that of C in many areas, such as memory management.
More often than not, well-intentioned code tweaking can make an application run slower than clean code the follows a common usage pattern. In this session, we'll look at some common Java performance myths, identify where they came from, and explore the platform changes that have rendered them no longer true.
In this session, you will learn how to:
• Improve your application performance;
• Write clean code that follows a common usage pattern;
• Identify and resolve performance bottlenecks.
• Java Performance Tooling with Holly Cummins, Tool Developer, IBM Java Technology Centre
No one writing Java applications should be without an understanding of how to fix things when they go wrong. Diagnosing performance problems can be difficult; sometimes even knowing where to start is hard. In this session, Holly will introduce a number of tools for identifying and fixing common Java performance problems.
These tools can demystify the JVM - shedding light on why it pauses, slows down or just stops responding. For example, the GC and Memory Visualizer can be used to size the heap, detect memory leaks (even in native memory), and optimize garbage collection. The Lock Analyzer can highlight poorly written concurrency. Sophisticated dump triggering and method-level tracing can give deep insight into application behavior. All of these tools enable powerful understanding of a system and the interaction between applications and the JVM. Almost all of the tools discussed are new releases within the past year and incorporate significant new technology.
Wise developers will use them to preempt problems before they happen as well as identify root causes once performance problems strike.
In this session, you will learn:
• Smart strategies and tools for solving common performance problems efficiently;
• How to identify the correct tool and diagnose common performance problems such as crashes, hangs, thrashing, contention, and memory leaks;
• How to incorporate tooling into processes to discover programming errors and preempt performance problems before they become customer satisfaction issues;
• The best workflows for diagnosing performance problems;
• How problems caused by garbage collection or poor memory management can be identified and resolved (and when garbage collection isn't the real problem);
• How problems caused by lock contention can be identified and resolved;
• How to trigger dumps on performance-critical events and snapshot a problematic system;
• How to use the IBM JVM to trace an application;
• How IBM tools can help developers understand and solve performance problems.