[concurrency-interest] tools for parallel performance debugging

Peter Veentjer alarmnummer at gmail.com
Mon Sep 12 12:39:02 EDT 2011


You might have a look at Intel VTune 9.0. It is able to do performance
analysis on a very low level (based on cpu feedback) on machine
instructions, and it also is able to connect this information back to
bytecode/java-code.

So you can exactly see in your Java application what is happening on a very
low level.

Unfortunately Intel VTune XE doesn't have support anymore for Java.

And interpreting the information is a expertise in itself.

And.. you need an Intel (and not even all cpu's) box for it too work.
Getting it installed also can be very challenging.


On Fri, Sep 2, 2011 at 8:55 AM, Mohan Radhakrishnan <mohanr at fss.co.in>wrote:

> Hi,
>      I found this link http://hpctoolkit.org/ from some older references
> in this forum.
>
>
> Thanks,
> Mohan
>
> -----Original Message-----
> From: concurrency-interest-bounces at cs.oswego.edu [mailto:
> concurrency-interest-bounces at cs.oswego.edu] On Behalf Of Danny Dig
> Sent: Tuesday, August 30, 2011 12:28 AM
> To: Concurrency; Nathan Reynolds
> Subject: Re: [concurrency-interest] tools for parallel performance
> debugging
>
> Thanks Nathan. These tools are all good suggestions. I am curious what
> other tools do people on this mailing list use for parallel
> programming in Java.
>
> best,
> Danny
>
>
> On Thu, Aug 25, 2011 at 11:01 AM, Nathan Reynolds
> <nathan.reynolds at oracle.com> wrote:
> > For identifying threading correctness issues, I recommend using Java Path
> > Finder (http://babelfish.arc.nasa.gov/trac/jpf).  It executes every
> possible
> > thread scheduling combination.  It does so by trying one thread
> scheduling
> > combination and then back tracking (i.e. revert the state of the program)
> to
> > simulate other combinations.  If there is a data race or deadlock, it
> will
> > find it and report it.  It doesn't just tell you that a data race or
> > deadlock exists but the steps that got to that state.  Because of the
> number
> > of combinations, it is best to run it on a small piece of the overall
> > program.
> >
> > As for synchronization contention, there are several tools available.
> > Looking through a dump of call stacks and seeing where the most threads
> are
> > blocked works for cases where the lock is dropping the throughput by 10%
> or
> > more.  The call stacks are easy to obtain but can be time consuming to
> sift
> > through.  JRockit's Mission Control can tell you exactly which locks are
> > most contended and give you the call stacks of where that lock is used.
>  I
> > am pretty sure most of the profilers can tell you which locks are most
> > contended, but since JRockit's Mission Control is free for me I haven't
> > looked at the profilers for a while.  I thought that JConsole or some
> tool
> > in the JDK could tell you the most contended lock... but I am really not
> > sure of that.
> >
> > As for false sharing, this is something that only the processor can tell
> > you.  For Intel, I *think* VTune can tell you about false sharing.  I
> know
> > that VTune can deal with Java optimized code.
> >
> > Nathan Reynolds | Consulting Member of Technical Staff | 602.333.9091
> > Oracle PSR Engineering | Server Technology
> > On 8/24/2011 8:07 PM, Danny Dig wrote:
> >
> > This community has been providing some great library features for
> > taming parallelism in Java.
> >
> > When it comes to tools for parallel performance debugging, it looks to
> > me that Java is trailing behind C++/Intel's ParallelStudio, or
> > C#/Microsoft's Visual Studio. When working with Java programs, what
> > are the tools that you recommend for:
> > - identifying threading correctness issues (e.g., data-races, deadlocks),
> > - identifying performance issues (load imbalance, synchronization
> > contention, false sharing)
> >
> > best,
> > Danny
> >
> >
>
>
>
> --
> Danny Dig
> Visiting Research Assistant Professor at UIUC
>
> http://netfiles.uiuc.edu/dig/www
>
> Motto: "Success is not for the chosen few but for the few who choose"
>
> _______________________________________________
> Concurrency-interest mailing list
> Concurrency-interest at cs.oswego.edu
> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
>
>
> DISCLAIMER:
> ==========================================================================================================================================================The
> information contained in this e-mail message may be privileged and/or
> confidential and protected from disclosure under applicable law. It is
> intended only for the individual to whom or entity to which it is addressed
> as shown at the beginning of the message. If the reader of this message is
> not the intended recipient, or if the employee or agent responsible for
> delivering the message is not an employee or agent of the intended
> recipient, you are hereby notified that any review,
> dissemination,distribution, use, or copying of this message is strictly
> prohibited. If you have received this message in error, please notify us
> immediately by return e-mail and permanently delete this message and your
> reply to the extent it includes this message. Any views or opinions
> presented in this message or attachments are those of the aut!
>  hor and do not necessarily represent those of the Company. All e-mails and
> attachments sent and received are subject to monitoring, reading, and
> archival by the
> Company.==========================================================================================================================================================
>
> _______________________________________________
> Concurrency-interest mailing list
> Concurrency-interest at cs.oswego.edu
> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20110912/f9a9f7cc/attachment.html>


More information about the Concurrency-interest mailing list