Merging a bunch of tables: Algorithm suggestions?

Discussion of the upcoming GPU accelerated rainbow table implementation
  • Ads

Merging a bunch of tables: Algorithm suggestions?

Postby Bitweasil » Sun Feb 28, 2010 10:28 pm

Merging big tables sucks.

Or something like that.

My table merge code currently works as follows:

- Load up a whole bunch of sorted partial tables
- Memory map them (64-bit OS required, not even screwing with 32-bit boxes here)
- Go through the "top" element of each list, grab the minimum, stick it in the output stream.

This is a really bad algorithm, as it scales with O(L*N) where L is the length and N is the number of table parts being merged. Merging a lot of tables sucks.

Anyway, suggestions on a better way to do this?
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm

Re: Merging a bunch of tables: Algorithm suggestions?

Postby Sc00bz » Mon Mar 01, 2010 9:45 pm

I wrote one that uses a priority queue and does it in O(L*log(N)) operations. It's http://www.freerainbowtables.com/phpBB3 ... &f=2#p7216 "rtperfecter"
Sc00bz
 
Posts: 93
Joined: Thu Jan 22, 2009 9:31 pm

Re: Merging a bunch of tables: Algorithm suggestions?

Postby Bitweasil » Mon Mar 01, 2010 10:45 pm

Great, thanks! I'll take a look at that. I'm weak on my sort/merge algorithms.
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm


Return to GPU Rainbow Tables

Who is online

Users browsing this forum: No registered users and 1 guest

cron