Talking JavaOne with Rock Star Kirk Pepperdine
By Janice J. Heiss on Sep 30, 2012
Pepperdine will participate in the following sessions:
- CON5405 - Are Your Garbage Collection Logs Speaking to You?
- BOF6540 - Java Champions and JUG Leaders Meet Oracle Executives (with Jeff Genender, Mattias Karlsson, Henrik Stahl, Georges Saab)
- HOL6500 - Finding and Solving Java Deadlocks (with Heinz Kabutz, Ellen Kraffmiller Martijn Verburg, Jeff Genender, and Henri Tremblay)
I asked him what technological changes need to be taken into
account in performance tuning. “The volume of data we're dealing with
just seems to be getting bigger and bigger all the time,” observed
Pepperdine. “A couple of years ago you'd never think of needing a heap
that was 64g, but today there are deployments where the heap has grown
to 256g and tomorrow there are plans for heaps that are even larger.
Dealing with all that data simply requires more horse power and some
very specialized techniques. In some cases, teams are trying to push
hardware to the breaking point. Under those conditions, you need to be
very clever just to get things to work -- let alone to get them to be
fast. We are very quickly moving from a world where everything happens
in a transaction to one where if you were to even consider using a
transaction, you've lost."
When asked about the greatest
misconceptions about performance tuning that he currently encounters, he
said, “If you have a performance problem, you should start looking at
code at the very least and for that extra step, whip out an execution
profiler. I'm not going to say that I never use execution profilers or
look at code. What I will say is that execution profilers are effective
for a small subset of performance problems and code is literally the
last thing you should look at.
And what is the most exciting
thing happening in the world of Java today? “Interesting question
because so many people would say that nothing exciting is happening in
Java. Some might be disappointed that a few features have slipped in
terms of scheduling. But I'd disagree with the first group and I'm not
so concerned about the slippage because I still see a lot of exciting
things happening. First, lambda will finally be with us and with lambda
will come better ways.”
For JavaOne, he is proctoring for Heinz
Kabutz's lab. “I'm actually looking forward to that more than I am to
my own talk,” he remarked. “Heinz will be the third non-Sun/Oracle
employee to present a lab and the first since Oracle began hosting
JavaOne. He's got a great message. He's spent a ton of time making sure
things are going to work, and we've got a great team of proctors to help
out. After that, getting my talk done, the Java Champion's panel
session and then kicking back and just meeting up and talking to some
Java heads."
Finally, what should Java developers know that they
currently do not know? “’Write Once, Run Everywhere’ is a great slogan
and Java has come closer to that dream than any other technology stack
that I've used. That said, different hardware bits work differently and
as hard as we try, the JVM can't hide all the differences. Plus, if we
are to get good performance we need to work with our hardware and not
against it. All this implies that Java developers need to know more
about the hardware they are deploying to.”
Originally published on blogs.oracle.com/javaone.

Write Once, Run Everywhere. Loved that :)
Posted by Muhammed on October 01, 2012 at 04:34 AM PDT #
Hi,
I am wondering what Kirk thinks about IBM's comment on Sunday about common lightweight back end for all apps and performance.
Also, I am wondering about what Kirk thinks of the expectations for performance of mobile versus web apps. Is he seeing users for mobile devices expecting much better performance such as 1 second or less for the response for a request?
Finally does he think data centers as IBM mentioned are seeing higher density of apps on the app servers thus maybe the apps will be come more standalone with web services or "Cloud Services" so data centers can still expand services without buying more hardware?
Thanks,
Tony Anecito
JavaOne 2010 Dukes Award winner.
Posted by guest on October 02, 2012 at 08:52 AM PDT #
Hi Tony,
Thought provoking questions. Thank you very much. I'm going to ping Kirk to see if he'll weigh in on these.
Jan
Posted by guest on October 03, 2012 at 09:16 AM PDT #
I expect that very shortly there will be no difference in performance between mobile and non-mobile platforms. At that point, I'd expect to see the mobile platforms place greater focus on more effectively on power management.
As for higher density of apps in a data center.. most apps whose performance is bounded by hardware are not constrained by the CPU. Focusing on CPU concentration is a noble goal but to do so will require that you understand what the current constraint is and then figure out a way to reduce or eliminate it. Be aware that from a hardware point of view, what bounds one, bounds all that uses it.
Posted by Kirk on November 27, 2012 at 12:57 AM PST #
Hi Kirk,
Since usually web platforms have the presentation tier on the server side to build for each request and are single threaded by default and requirements I do not see how they can get as fast as client side standalone apps that can be multithreaded and can access lightweight web services where the response can be the size of one 1500 byte packet. The one thing client side is slow on is start up but if designed and implemented carefully maybe that can improve. What was interesting is Microsoft's Windows 8 app store requirement for fast startup and suspend probably to save battery power as mentioned by Kirk.
Posted by guest on November 28, 2012 at 08:27 AM PST #
well, the problem with most productivity (mobile) apps is that they are data bound.. in the sense that they need data to function and getting data to the device is the primary bottleneck. However, transferring as much functionality as is sanely possible to the end users device must offer some advantages unless of course you can avoid sending 100s or 1000s of packets by performing the calculation on the server and then send small numbers of packet(s) to the client device. It's an age old questions.. where is the tipping point.
Posted by guest on November 28, 2012 at 10:05 AM PST #