Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 5 May 2015 15:31:44 +0300
From: Solar Designer <>
Subject: Re: [Johnny] Task 1.4.2 fork and OpenMP

On May 4, 2015, at 3:47 AM, Mathieu Laprise <> wrote:
> If you don't pass OMP_NUM_THREADS, the default will be the number of
> logical cores. Not sure if you really want the user to specify a
> different number. This could be useful if there is other load on the system.

Yes, and when running more than one instance of John at once.  A future
version of Johnny will probably be able to control more than one
instance of John, and then it'd make more sense to allow specifying the
thread count for each instance... and maybe Johnny should keep track of
the total number of threads across the instances it spawned and warn
against going over that value (doing so may cause huge slowdown).

There are a few more OpenMP environment variables that sometimes may be
set to tune performance.  Maybe there should be a general env var input
field, where multiple name=value pairs could be input.  I don't expect a
typical user of Johnny to actually know this stuff, but there might be
cases where e.g. one of us on john-users recommends a specific setting
to a user.

On Tue, May 05, 2015 at 07:49:13AM +0300, Shinnok wrote:
> I think I remember reading in a separate e-mail(which I can't seem to locate right now) that it might be useful to have fine-grained thread control per process for specific hw setups and/or cipher algorithms.

There are such cases/exceptions, but for those --fork is usually a lot
faster.  So it's more about not overloading the system if it has other
load or if we run multiple john's.

> There's also a clear advantage or disadvantage for some ciphers under JtR when being tested in fork vs omp scenarios.

--fork is always faster in terms of cumulative c/s rate - sometimes a
bit faster (for slow hashes), sometimes a lot faster (for fast hashes).
However, it may be cumbersome to use, and it may result in the child
processes terminating at different times (with long-running sessions,
this may be very noticeable).

> Let's make it a dropdown similar to fork.

I'm fine with that for now.

> We don't "care" if JtR supports OMP or not at this point. Setting that env var won't hurt non-omp builds.

... except that it'd be confusing.


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.