I'm doing embarrassingly parallel simulations (think Monte Carlo runs of a legacy scientific binary) and am trying to find the cheapest possible host source of x86 compute, at scale. These are jobs that are single-threaded, use maybe 2-4GB of ram, last an hour, and can be checkpointed if necessary. A c5.18xlarge on AWS has 36 physical (real) cores and on the spot market is $0.74/hr which works out to $0.02/core-hour. Does anyone know of cheaper options?
Both Azure and GCP have really good spot pricing in many regions (~90% off).<p>E.g. GCP C3 pricing is $0.003/vCPU hour and $0.004 for 1GB RAM -- where C3 = Intel Sapphire Rapids (latest gen), which should be quite a bit faster than a C5 (older Intel).<p>c3-highcpu-88 (44 real cores) is $0.344/hr hence<p>N2D (AMD Milan) has equivalents that's also in a similar price bracket<p>See: <a href="https://cloud.google.com/compute/vm-instance-pricing#general-purpose_machine_type_family" rel="nofollow noreferrer">https://cloud.google.com/compute/vm-instance-pricing#general...</a><p>Azure has similar prices for spot with AMD CPU.<p>On a "smaller" cloud, Oracle cloud E4 (AMD Milan) prices are also a lot cheaper than AWS.<p>For an even smaller cloud there's also Hetzner cloud with dedicated cores or dedicated servers even.
An AX161 at Hetzner with 32 physical cores (EPYC 7502P, 64 threads) costs ~$130 per month, that works out to $0.17/hr ($0.0053 per core per hour).
A little off topic. I was looking for a cheap cpu render farm for the project and ended up buying some chinese amd mini pcs. After a few months, I sold them at a retail price in just 3 days, there was a huge demand for them. I was very surprised by the power and almost silent operation compared to the insanely expensive and noisy servers that were used recently.
When you say "at scale", how many cores are you likely wanting to use at once, and for how long?<p>If it's for <i>several hundred</i> hours worth of compute, then dedicated servers can start to look pretty good.<p>eg: <a href="https://www.hetzner.com/dedicated-rootserver/ax161" rel="nofollow noreferrer">https://www.hetzner.com/dedicated-rootserver/ax161</a><p>€119.80/mo, for a 32 (real) core Zen2 EPYC with 128GB ram<p>They generally tend to have better local disk performance than most cloud servers, but that might be irrelevant for your use case. :)<p>If you're just doing short bursts of use though, then it's probably not the right option.
People don't realize how <i>cheap</i> hardware has become. Most vendors also have the ability to lease stuff for 0% (though that might have started to change), so you end up paying for a 3 or 5 year lease, which allows you to deduct vs. depreciate the asset on taxes. Sure you have to colocate it, but you could get a 48u colo rack for ~1k/month + ~1k/month for 1gbps link.<p>I used to buy dell outlet servers (which is their refurbed gear) all the time for folks who insist on dell, they end up being about 20-50% of the cost of cloud pricing if you are utilizing it with a full workload. Their stuff also includes a 3 year warranty with next day support, so it isn't very risky buying a refurbished server. There have been times where I found deals where the components could be parted out on ebay for more than the cost of the server. If you don't need support, there are tons of used servers on ebay / craigslist where you can get deals on 1-3 year old hardware that are good enough to purchase multiple spares.<p>For example, you can purchase a 2x 32 core server [1] for ~11k from the outlet store with next day support.<p>If you are running 24/7, with 64 cores over a 3 year period...<p><pre><code> Server Cost / Years / Days in Year / Hours in Day / Cores = Core per hour cost
11000 / 3 / 365 / 24 / 64 = $0.0065/hour
</code></pre>
If you wanted to go supermicro [2] with somewhat less reliable support, its a similar story. It would be a 1u dual 96 core (192 cores) box w/ 1.5tb memory for around ~30k.<p><pre><code> 30000 / 3 / 365 / 24 / 192 = $0.0059/hour
</code></pre>
You can recoup your hardware costs within the first year vs. running in AWS if your workloads are high enough to justify the hardware expense.<p>[1] - <a href="https://outlet.us.dell.com/ARBOnlineSales/Online/SecondaryInventorySearch.aspx?c=us&cs=28&l=en&s=dfb&sign=PXhcOSHtr1T4IOw%2fPR7UdaavHoUbtm0%2bKb7bKA8KhOvHPR8wIo1pmB%2fxdC8iGNzWIGfCL0rgrtD11xH%2bveqk8lrOBUiU8LbggJrNAxmLHjTyKbhovUt9P3%2bW7tGL22gPc%2fhQgXhAYq7oDb6isoqb5XN8JriqOdOqoCYnXRXCIFHQPjTWFP1paLqadxAtg%2bFGW25CQbCAFEI%3d" rel="nofollow noreferrer">https://outlet.us.dell.com/ARBOnlineSales/Online/SecondaryIn...</a><p>[2] - <a href="https://www.itcreations.com/configurator/model/supermicro-as1125hstnr-hyper-a-server/833/5152#tab=1" rel="nofollow noreferrer">https://www.itcreations.com/configurator/model/supermicro-as...</a>
The hetzner server auction has pretty cheap dedicated boxes, 30 bucks for a month of 4core/8thread 64G ram. Which is roughly 0.006/thread hour, including cpu/ram/ssd.
One thing to consider would be to use something like the BOINC model, if the amount of data that needs to be exchanged isn't too great.<p>You could also just start a small project to pay people. If 2¢ per core hour is a reasonable price, that means a Ryzen 5950X user could make $7.68 a day not using SMT threads when the machine is mostly idle.
If you’re using aws spot pay careful attention to the region. In many aws regions spot prices have skyrocketed and offer less discount over on demand. Other regions have very cheap spot prices still. Also consider looking at equivalent instances like the c5d family.