3 ms·
'We'd also like to thank Intel for helping with AVX-512 optimizations for aws-lc-rs recently. This was an important part of achieving our performance goals.' T
by cesaref 2y ago
'We'd also like to thank Intel for helping with AVX-512 optimizations for aws-lc-rs recently. This was an important part of achieving our performance goals.'
Testing on an intel processor, with frequency scaling disabled, which will adversely affect non AVX-512 more than AVX-512 stuff due to the limited boost available when using this. I'm pretty sure this is a not totally fair comparison, and tuning the box to give your solution an advantage rather than tuning it for each solution to give optimal performance would be more realistic.
However, i'm not knocking it, sounds like a great achievement, and it'll spur the other solutions on to improve their implementations which is a win all round.
- ctz 2y agoNote that the AVX-512 code we're referring to is the code that Intel also contributed to OpenSSL. As a side-note, I believe the CPU we tested this on does not suffer from the AVX-512 power limits reported with earlier AVX-512 parts. https://travisdowns.github.io/blog/2020/08/19/icl-avx512-freq.html#rocket-lake https://travisdowns.github.io/blog/2020/08/19/icl-avx512-fre... seems to confirm that.
- deleted 2y ago[deleted]
- anitil 2y ago~That page is the first I've heard of license-based downclocking. I know there's no ethical reason not to do it, and it's similar to fusing a higher/lower performance chip out of the same base design, and free-market etc. But it just makes me sad.~ Edit: Based of this comment [0] and replies, it appears I've misunderstood what 'license' means. My apologies [0] https://news.ycombinator.com/item?id=24218310 https://news.ycombinator.com/item?id=24218310
- cesaref 2y agoAh, ok. So the frequency locking was to reduce jitter on the performance tests? If so, this makes sense.
- carlmr 2y agoIt's also fairly normal to do this. Google benchmark [1] even warns you about this. [1] https://github.com/google/benchmark https://github.com/google/benchmark
- rerdavies 2y agoIs it really reasonable to lock your TLS web transfer to a specific CPU thread? Not sure it actually does make sense. Would be nice to see the non-AVX512 results.
- toast0 2y ago> Is it really reasonable to lock your TLS web transfer to a specific CPU thread? Not sure it actually does make sense. Only if you want good performance. If you're doing a lot of networking, you want your userland socket servicing pinned to the same CPU that the kernel is using for that socket. Which is easiest to achieve if you cpu pin nic queues and server threads. (If you want really good performance, you might want to skip userland with sendfile + kTLS or nic TLS, or maybe skip the kernel with userland networking) For a benchmark, cpu pinning and tight control of the system is a clear prerequisite; you want to maximize repeatability, and user threads bouncing around cpu threads leads to less repeatable results.
- rerdavies 2y agoIf you really need good performance, aren't you going to be running far more sockets than you have network adapters?