hmayer1980 on Sat, 07 Nov 2015 08:56:44
I do have an azure batch Job Schedule on a single instance batch pool. The Task does really not do a lot. It needs probably 50 MB of RAM and 50 MB of Hard disk, and does not have a lot of cpu to do either. So I am looking for the EXTRA SMAL (A0) Instance for the pool, but only can create the SMAL INSTANCE (A1).
I do not find a way to create the pool node as extra small. How to do this?
I worked through various documentations:
- https://azure.microsoft.com/en-us/pricing/details/batch/ explains that BATCH is actually billed as “Cloud Service”
- https://azure.microsoft.com/en-us/pricing/details/cloud-services/ explains that an instance Size A0 for 13€ a month should be available instead of a A1 instance for 51€
- In some articles I found this page (https://azure.microsoft.com/en-us/documentation/articles/cloud-services-sizes-specs/) specifies the Settings used in client.PoolOperations.CreatePool
- There are other formum threads which talk about it, but only in the context of a real cloud service als web or worker role and config files, but not in the context of an azure batch pool node.
The Code I use (I also tried the Azure Batch Explorer) is – see below – and does not allow specifying “ExtraSmal” or “A0” – at leat it fails with Invalid Property.
I would be OK if it would be OS Family 2 or 3 instead of 4 if this is a restriction?
Can anyone help me create a “EXTRA SMAL” batch pool node.
newPool = client.PoolOperations.CreatePool( PoolName, "4", //https://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/ "small", //https://azure.microsoft.com/en-us/documentation/articles/cloud-services-sizes-specs/ 1); newPool.MaxTasksPerComputeNode = 4; newPool.AutoScaleEnabled = false; newPool.Commit();
Dave Fellows on Mon, 09 Nov 2015 02:52:28
I'm sorry to say Batch does not support A0 instances at this stage due to some internal technical limitations.
Matthew Christopher on Mon, 09 Nov 2015 17:47:59
Agreeing with what Dave said, but one possible workaround is to set Pool.MaxTasksPerNode = 2, and allocate a pool of smalls. Then 2 tasks will run on each A1. As a matter of fact if your tasks are light weight enough you could possibly even run more than 2 per VM (maybe 3/4?).
That would work around this limitation somewhat.edit: I missed that you seem to only want a 1 VM pool, which means that the above workaround might not really be applicable for your case, but leaving it here in case others find it useful.
hmayer1980 on Sun, 15 Nov 2015 19:38:21
A note in the documentation would be helpful....