Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sun, 21 Mar 2021 11:03:19 +0100
From: MichaƂ Majchrowicz <sectroyer@...il.com>
To: john-users@...ts.openwall.com
Subject: Setting node values in heterogenous systems.

Hello.
Recently there has been (IMHO) significant changes to johns fork/node
code: https://github.com/openwall/john/issues/4609
Before this patch fork and node values had to match each other. Which
made it every hard to use fork/node in heterogenous systems as size of
work per node had to vary from node to node. With this new patch you
can set node value to any number divisible by fork number. With a
little of math it's possible to calculate node values for nodes which
computational power varies significantly. I attach the script that
uses very naive approach for finding node values that match node
hashing speeds within 2% (it can be easily adjusted in code). If you
run the tool without arguments it shows:

./calc.py
Usage: calc.py number_of_threads1 power1 number_of_threads2 power2

Power can be expressed by any number of same magnitude. For example I
have two nodes, one with 10 cores at my disposal which has speed of
~100MH/s and second with 32 cores and speed of around 275MH/s. I pass
those values to script and get:

./calc.py 10 100 32 275
Faster power: 275       Slower power: 100
Faster threads: 32      Slower threads: 10
Found: 192      192.5
Node: 192       70

So in order to match power of this two nodes I have to use 70 nodes
for slower node and 192 for faster node. With those settings both
nodes finish their tasks at similar eta.
Regards.

Download attachment "calc.py.zip" of type "application/zip" (542 bytes)

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.