|
Date: Thu, 5 Oct 2006 15:05:57 +0400 From: Solar Designer <solar@...nwall.com> To: john-users@...ts.openwall.com Subject: Re: JTR and os X macintel Erik - On Thu, Oct 05, 2006 at 06:09:39AM -0400, Erik Winkler wrote: > Actually from a CPU usage screen shot I received from websiteaccess, > MacOSX seems to have about 80% of one core and 50% of the 2nd core in > use while running John. The MacOSX equivalent of "top" shows 99% > usage by john the ripper alone at the same time. MacOSX may be > distributing the load across both processors or even SSE2 units, but > I am not certain. It could explain the high benchmarks though. I see no way for the OS to meaningfully do that. The prerequisites for that would be a parallelizing compiler, a pure C implementation of the critical loops, and DES_BS_VECTOR being set higher than it is in the default x86-sse.h file supplied with JtR 1.7.2. With the assembly code in x86-sse.S as used by "macosx-x86-sse2" everything is fixed - there's nothing the compiler or OS can do. Also, with DES_BS_VECTOR=4, there's simply no extra parallelism (beyond the use of a single SSE-capable core) in the code for the compiler or OS to exploit. As it relates to the higher level code, a parallelizing compiler can't find out that the benchmark loop in bench.c: benchmark_format() could be unrolled and then some of its iterations performed in parallel - because of the cross-object-file calls (which may have side effects and thus should prevent this kind of optimization). If there's any use of the other core going on, it must be internal to the CPU (in that case, we would essentially have what Intel calls Hyperthreading and not separate cores). I tend to believe that the benchmark was for a single core. It looks like Intel has finally implemented the integer SSE2 ops to their full potential - achieving the 2x speedup over MMX that some of us were waiting for. This is confirmed by the fact that performance for MD5 and Blowfish (the implementations of which do not make use of MMX or SSE2 presently) is quite ordinary for a single core at this clock rate. To test for Hyperthreading-like behavior, websiteaccess will need to run two instances of JtR on DES-based hash benchmarks or against password files with DES-based hashes simultaneously. Then compare the performance of each of these two instances against one running on its own (alone on the system). -- Alexander Peslyak <solar at openwall.com> GPG key ID: 5B341F15 fp: B3FB 63F4 D7A3 BCCC 6F6E FC55 A2FC 027C 5B34 1F15 http://www.openwall.com - bringing security into open computing environments -- To unsubscribe, e-mail john-users-unsubscribe@...ts.openwall.com and reply to the automated confirmation request that will be sent to you.
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.