<p>I am trying to evaluate whether I should use Spot VMs and the measure for availability is given as a percentage by Azure.
<a href="https://www.linkedin.com/pulse/viewing-eviction-rates-spot-virtual-machines-azure-portal-dave-callan/" rel="nofollow noreferrer">https://www.linkedin.com/pulse/viewing-eviction-rates-spot-virtual-machines-azure-portal-dave-callan/</a></p>
<p>Does anyone know where I can find the average time a VM is available?</p>
<p>Optimally I would like to have a Bell curve to estimate the probability of my jobs finishing.</p>

<p>The Azure spot VMs are mostly used when your workload can handle sudden interruptions without damaging the process too much.</p>
<p>When it comes to the <strong>percentage</strong>, the formula looks like this:</p>
<pre><code>(total_evictions * time_lost) / total_runtime = eviction rate
</code></pre>
<p>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:</p>
<pre><code>// 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% 
</code></pre>
<p>So there is no exact answer to your question, and also no average, only speculation, and mathematics :)</p>
