Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 26 Sep 2013 04:37:24 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: External node distribution (call for help)

magnum,

On Thu, Sep 26, 2013 at 12:14:16AM +0200, magnum wrote:
> The enclosed patch avoids the modulo operation in External mode when 
> distributing work using node/fork/MPI. The speedup depends on several 
> parameters but I've seen 10-15% for 8 nodes. This is the same scheme 
> that I now use in mask mode.
> 
> The downside is that the patch (once you enable it by uncommenting the 
> #define) changes the session file format for External mode so it will be 
> incompatible with core.

It should be possible to avoid this downside.  wordlist.c does this.
You might want to take another look at wordlist.c in the core tree for
how to do it.

> However, there is a way to avoid changing the file format: We could read 
> a "seq" number from file and convert it to "my_words" and "their_words". 
> And vice versa when saving. That should be fairly easy (although I 
> haven't really tried it yet)

Right.

> BUT what if the session was started on core 
> John, and "seq" wrapped around it's 32 bits once or several times? And 
> only then we resume it using the new code... and let's say our number of 
> nodes is a prime... Would this mean our conversion might not be valid? 
> Or can I totaly ignore such wrapping? I haven't figured that out yet %-)

Oh, that.  I agree that you need to give this some thought - perhaps
after having reimplemented core wordlist.c's approach in external.c, so
that you can see what exactly will be happening.  And test it, too.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

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