Earlier quoted context omitted.
We have examined that as well, last week we tried a AMD 5950X which has half the amount of cores but much better single core performance - the result was still at 60% of the Epyc performance
What was the M1 % relative to your Epyc?
Ask HN: Running production server on M1 mini?
21–30 of 65 posts
Re: Ask HN: Running production server on M1 mini?
#22No currently offered M1 Mini has redundant fail-over power or storage. Also, without knowing how your cloud provider has cooling setup it is unclear how well it will operate under heavy load for extended periods of time (blade servers are designed for that specific workload and have cooling solutions to match). My point is: If your workload is time critical, and you cannot afford downtime/outages then it may not be f…
It's kind of funny, but an M1 MacBook does. In fact it comes with a solid >12 hour UPS built-in.
Re: Ask HN: Running production server on M1 mini?
#23If it’s doing it offline it’s probably cheaper to buy one and chuck it in your office than borrow one from a cloud provider. The ass end ones are really really really cheap. Much cheaper than just the CPU in an equivalent server machine. If they blow up, just mill down to the apple store and buy another one.
Disclaimers of course: (1) it doesn’t have ECC RAM (2) it doesn’t have redundant power. We ignore (1) and solve (2) by running a prometheus node exporter on it and seeing if it disappears.
Re: Ask HN: Running production server on M1 mini?
#24don’t ask me how _You_ should be asking you how - there are lots of reasons why this could be happening and knowing which one is important if you're changing stuff. Based on a "highly parallelizable" application performing better on 8 cores than 32, I'd guess you're running out of something else: memory or disk bandwidth.
I recently inherited an app that makes heavy use of Redis caching because someone didn't first try to optimizing SQL. The complexity that Redis caching adds is insane to maintain compared to spending a few minutes optimizing SQL.
The original poster really needs to hook up a profiler.
Also: having written lots of parallel code: Parallelization isn't a magic way to make things faster. If the codebase is breaking up tasks into lots of tiny tasks that run in parallel, there might be more overhead in parallelization than needed. Sometimes the fastest (performance and implementation) way to parallelize is to keep most of the codebase serial, but only parallelize at the highest level and never share data among operations.