Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220502172425.GA16544@openwall.com>
Date: Mon, 2 May 2022 19:24:26 +0200
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: More CPU cores vs faster base frequency

On Sun, May 01, 2022 at 08:13:33PM +0000, Foamy Mai Tai wrote:
> I am trying to help a friend re-gain access to his ethereum wallet (slow scrypt hash, n=262144).

OK, that's one of those where you currently need CPUs rather than GPUs.

> I'm using it as a semi-valid excuse to do a custom build.
> 
> My question: in choosing a CPU, should I seek more total cores or faster base frequency?

Generally, a balance of number of cores and actual expected frequency
(not base frequency).  On properly cooled desktop/server builds, that
would be the all-core max turbo frequency (not the absolute max turbo).
It's somewhere in between base and max turbo.  You can look it up for
various CPUs in tables on Wikipedia (Intel/AMD also publish this data
directly, but it's harder to find).

So you take the number of cores and multiply by that expected frequency,
then compare between CPUs.  Indeed, you also need to consider other
aspects.  For scrypt, that's most importantly number of memory channels
and memory speeds (primarily bandwidth).  For example, in a dual-CPU
Intel build, you can now have up to 12 channels (and you'd need to
install this many DIMMs).

> Faced with a multitude of options, I've narrowed down to a couple of CPU possibilities (for lack of a better idea):
> 
> Intel Xeon Gold 6148 has 20 cores at 2.4 GHz base freq.
> Intel Xeon Gold 5122 has 4 cores at 3.6 GHz base freq.
> 
> Both offer AVX-512 and both actually have the same max turbo freq of 3.7 GHz. Both same refurbished price point.

Out of these, the 20-core is faster for password cracking.  However, I'm
surprised you're looking at Xeon Gold and not something cheaper, or AMD.
Maybe the refurbished prices you found are good, though.

As to AVX-512, it's great to have for your other reuses of the system
(including with other uses of JtR), but for scrypt in particular it does
not matter.  scrypt will only use up to original 128-bit AVX.

Yet of course do get a system with AVX-512 or at least AVX2 now, since
for many other uses (including other JtR "formats") these do make a
great difference.

For an Intel vs. AMD comparison, see e.g. the benchmarks posted at:

https://www.openwall.com/john/cloud/

AWS EC2 c5.24xlarge: 2x Intel Xeon Platinum 8275CL, 3.6 GHz all-core turbo

Benchmarking: scrypt (16384, 8, 1) [Salsa20/8 128/128 AVX]... (96xOMP) DONE
Speed for cost 1 (N) of 16384, cost 2 (r) of 8, cost 3 (p) of 1
Raw:	2946 c/s real, 30.8 c/s virtual

AWS EC2 c5a.24xlarge: AMD EPYC 7R32, ~3.3 GHz sustained turbo

Benchmarking: scrypt (16384, 8, 1) [Salsa20/8 128/128 AVX]... (96xOMP) DONE
Speed for cost 1 (N) of 16384, cost 2 (r) of 8, cost 3 (p) of 1
Raw:	2211 c/s real, 23.2 c/s virtual

This is at same total number of cores (48 physical), but Intel is two
physical CPUs and AMD is just one.  Newer AMD (Zen 3) should be faster
(but unless memory is also faster, that wouldn't matter here).

Unfortunately, the Ethereum wallet benchmarks seen there do not use
scrypt (they're for older wallets), so are not usable for a comparison
relevant to your current use case.  Instead, you can divide the figures
above by 16 to get roughly the speeds you'd reasonably expect for your
friend's wallet.

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.