|
Message-ID: <20130926003724.GB20658@openwall.com> 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
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.