[concurrency-interest] tools for parallel performance debugging

Mohan Radhakrishnan mohanr at fss.co.in
Wed Sep 14 07:53:10 EDT 2011


Many of you might have received this list of books on multi-core
hardware and software.

 

http://www.intel.com/technology/rr/?utm_source=iContact&utm_medium=email
&utm_campaign=Marchpromo

 

Is any of these books recommended ? I think it might be useful to
understand why the concurrency API is written the way it is by looking
at the underlying concepts.

 

Thanks,

Mohan

 

________________________________

From: Peter Veentjer [mailto:alarmnummer at gmail.com] 
Sent: Monday, September 12, 2011 10:09 PM
To: Mohan Radhakrishnan
Cc: concurrency-interest
Subject: Re: [concurrency-interest] tools for parallel performance
debugging

 

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

 



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 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.==========================================================================================================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20110914/ad134913/attachment.html>


More information about the Concurrency-interest mailing list