Utilization

When you have a powerful processor such as the AMD Phenom, you really want to use the full fucking force of that thing. It’s kind of like keeping a Ferrari in the garage the whole year if you don’t.

So i figured, how much difference would it make, if you benchmarked one core (out of four), versus the full four cores. I ran some tests using John The Ripper, which should be fairly good at loading the processor, as it’s mostly just grunt-work. I added on the MPI patch, which allows you to use the mpich2 framework to run John on multiple processors/threads and even on a cluster of machines over the network.

The result on one core was i think 4400 raw MD5 hashes per second (correct me if i’m wrong here), where as on all four cores, using 8 threads, the result was an impressing 27400 hashes per second. I have no idea how it technically works, but i can say from the ./john –test benchmark mode that it was indeed faster.

Comparing to an older machine, Agamemnon, which was two 3.0 Ghz Xeon’s (the first 64 bit ones i think), the result on both cores, 4 threads, was ~11 000 hashes per second.

It was nice seeing all four cores at 100% load for the duration of the test. Normally, just one is used, and the others do “something”, between 0-20% in load, while one core is used more fully.

To run john the ripper like this, i did the following (i’ll document this here, because MPI’s site didn’t have all that good a documentation):

  1. Use your favorite package-manager to download at least OpenSSL, and the mpich libraries (do a search, and get the ones listed -dev), or download and compile if you do it that way
  2. Download and compile john the ripper, with all necessary patches (such as the MPI and Jumbo-patch). Be sure to use the machine-type as correctly as possible when you issue make, e.g. make clean linux-x86-64, for a 64 bit version. Issuing the make command alone will give you a list of the supported architechtures.
  3. Download and compile the mpich2 set. Download any dependencies, should you need them.
  4. After this, create in your home directory the file .mpd.conf, and chmod it to 600.
  5. Start mpd using mpd &
  6. Go to the run directory under the John main directory, and issue for instance mpiexec -n 8 ./john –test . This will run the benchmark mode of John the Ripper, using the mpiexec plaform, and running 8 processes. Depending on your processor, you may want to change this number.
  7. PROFIT!

One Reply to “Utilization”

  1. Technically you can only run 4 threads simultaneously on 4 core CPU. Except on i7 which can run 2 threads per CPU, albeit not simultaneously. So could you post single core, single thread results vs. quad core, 4 threads results.

Leave a Reply

Your email address will not be published. Required fields are marked *