1

I am trying to evaluate whether I should use Spot VMs and the measure for availability is given as a percentage by Azure. https://www.linkedin.com/pulse/viewing-eviction-rates-spot-virtual-machines-azure-portal-dave-callan/

Does anyone know where I can find the average time a VM is available?

Optimally I would like to have a Bell curve to estimate the probability of my jobs finishing.

1 Answers1

1

The Azure spot VMs are mostly used when your workload can handle sudden interruptions without damaging the process too much.

When it comes to the percentage, the formula looks like this:

(total_evictions * time_lost) / total_runtime = eviction rate

So for example, let's say that you want to run a VM for 100 hours, and the eviction rate is 5%, the number of evictions is hard to tell, but could be something like the following examples:

// 50 evictions, each removed 0.1h of computation time.
(50 * 0.1) / 100 = 0.05 = 5% 

// 10 evictions, each removed 1h of computation time.    
(10 * 1) / 100 = 0.10 = 10% 

// 2 evictions, each removed 5h of computation time.    
(2 * 5) / 100 = 0.10 = 10% 

So there is no exact answer to your question, and also no average, only speculation, and mathematics :)

Eric Qvarnström
  • 779
  • 6
  • 21
  • 1
    Thank you for the clarification. For the last two examples, the answer should be 10% though. I would still be interested about the actual Up time. I believe companies like [Spot](https://spot.io/resources/azure-pricing/what-are-azure-spot-virtual-machines/) must have information about the runtime from the customers that they support. – Tensing2009 Jan 13 '23 at 13:31
  • Haha, guess I was thinking a little to fast. They sure do, and I agree that it would be intresting to see the stats. – Eric Qvarnström Jan 13 '23 at 13:54