|
Message-ID: <20111214143742.GA372@openwall.com> Date: Wed, 14 Dec 2011 18:37:42 +0400 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: OpenMP scheduling types & relbench Hi, I suspected that schedule(dynamic) would work better (than the typical default of static) for some hash types and/or under load. I went to test this for BF on a server under some unrelated load. To do this, I made two builds of JtR 1.7.9 - one without changes and the other with schedule(dynamic) added to the #pragma line in BF_std.c. The binaries are actually slightly different: text data bss dec hex filename 200535 12868 262048 475451 7413b john-s 200741 12880 262048 475669 74215 john-d Then I ran this shell one-liner: for n in {1..150}; do for j in s d; do ./john-$j -te=1 -fo=bf | sed "s/Raw/$n/" | tee -a $j; done; done It does 150 benchmarks of each binary, taking 300 seconds (or 5 minutes) total. And I can compare the resulting files with relbench: Number of benchmarks: 150 Minimum: 0.62211 real, 0.84320 virtual Maximum: 1.79539 real, 1.24042 virtual Median: 0.99339 real, 0.99673 virtual Median absolute deviation: 0.15013 real, 0.04577 virtual Geometric mean: 0.98812 real, 0.99754 virtual Geometric standard deviation: 1.23156 real, 1.06822 virtual Well, it turns out that schedule(dynamic) did not result in any improvement here, but it did not result in a significant slowdown either. The benchmarking approach is sound and I think we may want to run more tests like this - on different systems (with varying load and no load), for different hash types, and for different scheduling clauses: http://en.wikipedia.org/wiki/OpenMP#Scheduling_clauses Also, I think that schedule(dynamic, 1) will actually be beneficial for c3_fmt.c when running a wordlist against SHA-crypt hashes, because those take non-constant time to compute (it depends on password length). We'll need to confirm this. In general, I think schedule(dynamic) should be harmless and potentially beneficial for extra-slow hashes. It may also be OK for other slow hashes. It is probably not OK for LM hashes and faster, where even a large chunk of candidate passwords is very quick to process, so adding any OpenMP scheduling overhead is not worth it. 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.