Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 26 Mar 2011 04:40:47 +0300
From: Solar Designer <>
Subject: Re: GSoC John the Ripper project

Douglas, all -

On Thu, Mar 24, 2011 at 12:10:56PM -0600, Douglas Hains wrote:
> I'm very interested in the John the Ripper tasks, specifically
> parallelization of the hashing on GPUs.  I was hoping to get in contact with
> someone from your project who is interested in mentoring these tasks or
> would be able to chat with me more about the tasks.

I guess that would be me at this time, although I welcome other
volunteer mentors as my own mentoring capacity is too limited (it looks
like I'll be the mentor for several other tasks as well, not only JtR).

I suggest that we discuss the JtR tasks on this mailing list.

> I have experience in programming for GPUs on a variety of models of NVIDIA
> cards and have worked with multi-GPU programming on clusters of Fermi and
> Tesla cards.

Will you have access to such clusters during GSoC, for testing?

> I also have experience using both OpenMP and MPI and am
> interested in combining both GPU parallelization

There was a recent discussion on making use of GPUs here:

The multi-GPU aspect was not touched yet, though.

> and host side parallelization through MPI.

It was previously determined that MPI was not such a good match for JtR,
or at least the existing attempts sort of misused MPI:

There were posting on john-users (including by me) on why these patches
could have easily achieved the same without the dependency on MPI.

> To me, the most interesting aspect of these
> kinds of projects is finding the optimal granularity of parallelization and
> performing a kind of dynamic load balancing through allocation of tasks to
> the available compute nodes and/or GPUs.   This would be the main focus of
> my proposal.

Yes, this is one of the most interesting aspects in my opinion too.

Also, it is desirable to have a distributed setup working over the
Internet at large, and over unreliable links and with unreliable
(crashing/disappearing) nodes in general.  This is one reason why I
think we need to design a custom protocol, not use a generic parallel
processing library.

> I have questions about the expected scope of a JtR tasks proposal and the
> platforms, architectures and compilers that would be acceptable to be used
> for this project.

There are several sub-projects, and different approaches can be
attempted simultaneously.

I'd appreciate it if you post your specific questions in here.  We can
also schedule an IRC meeting (just e-mail me off-list for that),
although I'd prefer the discussion to be visible to others on john-dev.



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.