How many transactions can you see in the following picture?
Lately, I mentioned I would write about Windows HPC Server R2 SP1 and its integration with Windows Azure.
Before we get to the basics of how to use the two together, take a look at the following image and answer the following questions (click image to enlarge):
- I’ve started one large Azure instance under my HPC cluster and ran it for 3 hours. Why do I see 12 computing hours (line 1)?
- Why are there an additional 6 computing hours (line 2) showing in my bill?
- How many storage transactions did I have during these 3 hours?
- How much transaction per second did I have during these 3 hours?
And the answers:
- A large instance in Azure has 4 cores. Since you are billed according to the hourly usage of your cores, the bill shows 3 hours * 4 cores = 12 usage hours.
- When you add new Azure nodes to your HPC cluster and start them, there are two special worker roles that are created, called proxies. Each of these two proxies occupies one small Azure node that has one core, and that is why there are 6 usage hours in the bill (3 hours * 2 cores). BTW, the two proxies are created for the Azure worker nodes template you’ve created in your HPC cluster, so you will see these two proxies whether you create one small Azure node or 50 extra large Azure nodes.
- The bill shows that I used 12.8485 transactions, but since the scale is in 10,000s, this actually means I had 128,485 storage transactions during that time. This means that I’ve written/read quite a lot to/from Azure storages such as blobs, tables, and queues.
- Let’s calculate – 128485 transaction for 3 hours = 42838.3 transactions per hour = 713.8 transactions per minute = 11.89 transactions per second.
11.89 storage transactions per second? what did I do to get so many transactions?
If this was an introductory post about HPC and Azure, I would tell you that it is important to note that you always have two small instances, called proxies, that are created in addition to whatever worker nodes you create in the cluster – so don’t forget to add them to your usage calculations.
But this post is about caveats – the 1-1-1 warning (or as I prefer to call it, the “another day – another dollar” rule): 1 day = 1 million storage transactions = 1$ charge.
There is a bug in Windows HPC Server R2 SP1 integration with Windows Azure that currently causes about one million storage transactions to occur each day you have your Azure worker nodes up and running, whether they are running jobs or not. These 1,000,000 storage transactions will cost you approximately 1$ each day, depending on your pricing agreement.
I just got word from one of the guys in the Windows Server HPC team that this is a known bug which is currently investigated and hopefully will get fixed soon.
So a lesson learned from someone who had to pay 12 cents (!!) because of this bug – don’t leave your servers running if you don’t have any use for them. At least while this bug still exists.