Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 11 Apr 2015 04:30:21 +0300
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: [GSoC] John the Ripper support for PHC finalists

On Sat, Apr 11, 2015 at 02:35:05AM +0200, Agnieszka Bielec wrote:
> 2015-04-11 2:11 GMT+02:00 Solar Designer <solar@...nwall.com>:
> > or/and forgetting to set GOMP_CPU_AFFINITY=0-31
> I don't know, when I type GOMP_CPU_AFFINITY=x before ./john I have even worse
> results

This suggests there's other load on the system.  The explicit affinity
helps when the system is otherwise idle, but it exacerbates OpenMP's
already extreme sensitivity to any other load.

Please check for other load on the system (e.g., type "w") before you
run benchmarks.  If someone is using a few CPU cores, but not all,
consider benchmarking with fewer threads and without affinity.  Or on
another machine.

> [a@...er run]$ OMP_SCALE=2 ./john --format=pomelo --test

magnum - I suggest we don't call our own env vars OMP_*.  This is
confusing, and it may clash with a future OpenMP version's env var.
It's their namespace, not ours.  Can we please rename this one e.g. to
JOHN_OMP_SCALE?

Agnieszka - your 32-thread benchmarks suggest there's other load, so
let's not consider them now.  You may re-do them when the system is
otherwise idle.

> [a@...er run]$ OMP_NUM_THREADS=1 ./john --format=pomelo --test
> Warning: OpenMP is disabled; a non-OpenMP build may be faster
> Benchmarking: pomelo, Generic pomelo [Pomelo]... form
> DONE
> Many salts:    10928 c/s real, 10928 c/s virtual
> Only one salt:    10928 c/s real, 10928 c/s virtual
[...]
> [a@...er run]$ OMP_NUM_THREADS=8 ./john --format=pomelo --test
> Will run 8 OpenMP threads
> Benchmarking: pomelo, Generic pomelo [Pomelo]... (8xOMP) form
> DONE
> Many salts:    81408 c/s real, 10201 c/s virtual
> Only one salt:    81408 c/s real, 10176 c/s virtual
> 
> SSE2
> 
> [a@...er run]$ OMP_NUM_THREADS=1 ./john --format=pomelo --test
> Warning: OpenMP is disabled; a non-OpenMP build may be faster
> Benchmarking: pomelo, Generic pomelo [Pomelo]... DONE
> Speed for cost 1 (N) of 2, cost 2 (r) of 2
> Many salts:    12992 c/s real, 12992 c/s virtual
> Only one salt:    12992 c/s real, 12992 c/s virtual
> [a@...er run]$ OMP_NUM_THREADS=8 ./john --format=pomelo --test
[...]
> Will run 8 OpenMP threads
> Benchmarking: pomelo, Generic pomelo [Pomelo]... (8xOMP) DONE
> Speed for cost 1 (N) of 2, cost 2 (r) of 2
> Many salts:    96256 c/s real, 12062 c/s virtual
> Only one salt:    95683 c/s real, 12080 c/s virtual
> 
> It is slightly faster

This may be fine.

BTW, please have the SSE2 version report that it's SSE2 or AVX
(depending on #ifdef __AVX__) rather than just "[pomelo]".  Please make
it consistent with other JtR formats in terms of such reporting.

Thanks,

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ