Advertisement
Guest User

Untitled

a guest
Jul 8th, 2015
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. > Is it known whether Momentum and/or Cuckoo are memory-hard? I don't think
  2. > either are.
  3.  
  4. As author of Cuckoo Cycle, let me address your concerns.
  5.  
  6. > Both claim to be "memory-hard".
  7.  
  8. The Cuckoo Cycle project page at https://github.com/tromp/cuckoo in fact lists a
  9.  
  10. "Linear Time-Memory Trade-Off Bounty
  11.  
  12. $500 for an open source implementation that uses at most N/k bits
  13. while running up to 15 k times slower, for any k>=2.
  14.  
  15. Both of these bounties require N ranging over {2^28,2^30,2^32} and
  16. #threads ranging over {1,2,4,8}, and further assume a high-end Intel
  17. Core i7 or Xeon and recent gcc compiler with regular flags as in my
  18. Makefile."
  19.  
  20. The whitepaper at
  21. https://github.com/tromp/cuckoo/blob/master/cuckoo.pdf?raw=true
  22. devotes a Section to Time-Memory Trade-Offs (TMTOs) that further
  23. details the memory hardness claims.
  24.  
  25. Which you seem to conveniently ignore in your own notion of memory-hardness :-(
  26.  
  27. Instead, what you're talking about is covered in the later Section
  28. "Parallelization",
  29. which show the gains achievable by using multiple threads.
  30. The algorithm you outline is also detailed in the earlier Section
  31. "Cuckoo Cyle basic algorithm"
  32. and is in fact what motivates the its name.
  33.  
  34. It's almost as if you've gone out of your way to avoid reading the whitepaper:-)
  35.  
  36. > Cuckoo Cycle also claims to be memory-hard, but I don't buy it. They're
  37. > looking for cycles of length L by building a forest of trees, and detecting
  38. > when loops form, and measuring the length. If we do a parallel sort as
  39. > above, we can store entries in a Cuckoo hash table
  40. > <https://en.wikipedia.org/wiki/Cuckoo_hashing> rapidly in parallel.
  41.  
  42. You don't need parallel sort for that; the parallel version of the
  43. basic algorithm
  44. already does it. But note that:
  45.  
  46. 1) it uses 32 times more memory than the Cuckoo Cycle reference algorithm
  47. 2) the parallel memory accesses are going to form a latency bottleneck when
  48. the number of threads runs into the hundreds.
  49.  
  50. regards,
  51. -John
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement