How many transactions can you see in the following picture?

April 27, 2011

logo_hpc _466x165Lately, 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):

image

  1. 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)?
  2. Why are there an additional 6 computing hours (line 2) showing in my bill?
  3. How many storage transactions did I have during these 3 hours?
  4. How much transaction per second did I have during these 3 hours?

And the answers:

  1. 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.
  2. 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.
  3. 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.
  4. 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.

image

Add comment
facebook linkedin twitter email

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

3 comments

  1. GillJune 13, 2012 ב 2:48 am

    Yes it is possible, just add the WCF sercvie (*.svc + sercvie dll) to the ASP.NET project. IIS will be able to serve request for both. Make sure you put the required configuration into your web.config.It is not the only solution but it should be easy to implement.

    Reply
  2. RubenJune 20, 2012 ב 6:05 pm

    Hi,

    It seems we are also experiencing this issue, but with HPC 2008R2 SP3 in this stage.

    Did you ever got an update from the HPC team?

    Reply
  3. Ido FlatowJune 20, 2012 ב 7:44 pm

    Ruben, from what I got from the team, they changed the ping to 1 every 250ms, meaning 4 pings every second, a reduction of 75%. Now if you add this to the fact that Azure prices for transactions have lowered by 90%, you get to about 12.5$ a year for the HPC transactions (assuming your HPC servers are working 24/7). I can live with that 😉

    Reply