Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150816202302.GA26882@openwall.com>
Date: Sun, 16 Aug 2015 23:23:02 +0300
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: FMT_OMP_BAD

On Sun, Aug 16, 2015 at 11:04:17PM +0300, Solar Designer wrote:
> The worst performance impact of enabling OpenMP is seen for:
> 
> Ratio:  0.55939 real, 0.55939 virtual   dynamic_1400:Raw
> Ratio:  0.64531 real, 0.64531 virtual   dynamic_1401:Only one salt
> 
> This is followed by my bitslice DES formats, for which the impact is
> 20%.  That's pretty bad.  They start collecting much larger groups of
> candidate passwords when OpenMP is enabled, and this may result in
> higher cache miss rate.  This doesn't explain why the performance impact
> is roughly the same regardless of iteration count, though.  There must
> be something else.  I'll need to check if this same performance impact
> is seen in core tree.

The issue is also seen in core.  It mostly goes away with newer gcc
("scl enable devtoolset-3 bash" on super), with the remaining
performance impact of enabling OpenMP at between 5% and 6% then.
It also mostly goes away (even for code generated by the old gcc) when
running 2 threads/core.

So I guess it's primarily worse code generation or/and cost of the more
complicated addressing modes in the thread-safe code.

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.