Date: Tue, 17 Jan 2012 21:14:21 +0400 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: Fork=n Rich, On Tue, Jan 17, 2012 at 11:57:44AM -0500, Rich Rumble wrote: > Sorry to bring this thread back up again, something I noticed using > the -fork code from the contest is that each fork acted as it's own > single john instance (seems obvious) and thus the password hashes > are loaded for each, not shared like in OMP. That's not entirely true. I intentionally put the fork() call after the hashes are loaded - so they were mostly shared between the child processes. Then as passwords get cracked and individual copy-on-write pages are modified, memory usage of the individual processes starts to grow slowly. I don't know if Cygwin implements this about as well as typical Unix-like systems do or not, though. > I only *really* noticed > because I had a large DES file I was playing with and noticed how large > my memory consumption got. How large did it get, specifically? And how did you measure? Maybe you merely assumed that each process had its own copy of the data, whereas in reality the data was mostly shared and you still had plenty of free RAM (or rather RAM available and used for disk caching as it normally is)? Or maybe you got a large percentage of passwords cracked in that run, which explains why each process would have its own copy of many of the pages. > Again I'm not sure if this code is > going to make it back into JtR in a meaningful way, but if it did "sharing" > the hash file might be a good thing. It already did what it could in this respect given the fork() model. The problem you describe is fully present with MPI, but it's mostly absent with the contest's --fork patch unless a lot of passwords get cracked. And indeed it is fully absent with OpenMP. Thank you for bringing this up! 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.