[concurrency-interest] tools for parallel performance debugging
mohanr at fss.co.in
Fri Sep 2 01:55:43 EDT 2011
I found this link http://hpctoolkit.org/ from some older references in this forum.
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.
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
> 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)
Visiting Research Assistant Professor at UIUC
Motto: "Success is not for the chosen few but for the few who choose"
Concurrency-interest mailing list
Concurrency-interest at cs.oswego.edu
==========================================================================================================================================================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 author 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.==========================================================================================================================================================
More information about the Concurrency-interest