README.md
Date: Thu, 1 Jun 2006 18:51:56 +0200
From: "Otheus (aka Timothy J. Shelling)" <otheus at gmail.com>
To: "Solar Designer" <solar at openwall.com>
Subject: Fwd: beta MPI john patch against 1.7.2.

Permission to post and distributed along with john and under its license
hereby granted.

---------- Forwarded message ----------
From: Otheus (aka Timothy J. Shelling) <otheus at gmail.com>
Date: Jun 1, 2006 5:34 AM
Subject: beta MPI john patch against 1.7.2.
To: john-users at lists.openwall.com

This is a (beta) patch for John 1.7.2 for use with MPI. All of the
MPI-specific code is encapsulated by #ifdef MPI/#endif, so in theory this
can be integrated into the main code branch. However, a few generic changes
to the code are also made.

Please let me know of any rejects while performing the patch. (Use -l to
ignore whitespace to avoid problems with bench.c.)

Changes:
o internalized computing the checksum for ext_word. 15% increase in speed
(at least)
o makes sure options required for MPI are present
o computes MPI performance in --test mode.

Notes:
o benchmark computes results by summing cracks across all nodes and
dividing that by the AVERAGE of the crack-times. (in the code, cracks are
multiplied by the MPI-size, which is the same thing).

Known bugs:
o john.pot gets littered with extraneous output, usually low integers
like "4" or "1" and a newline. Very strange. Still trying to track it down.
o successfull cracks do not get posted to the other tasks
o use of external filter with internal checksum causes a slight (1-2%)
slowdown


Incorporate the john.conf file into yours (or the default)... then run with:


mpirun <mpirun-args> john <mode> --external=MPIbyInternalKeySum
--session=john%d.rec

For a restore:

mpirun <mpirun-args> john --restore=john%d.rec

You can also benchmark it:

mpirun <mpirun-args> john --test


--
Otheus
otheus at gmail.com
+43.650.790.2571