April 2011 - Posts
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.


At the end of the second day, I went to the Build Fast Web Applications with Windows Azure AppFabric Caching session. The presentation was the standard presentation of AppFabric cache, only from the Windows Azure perspective. I was glad to hear that the release will be by the end of April, because I was waiting for the release in order to test it in our HPC/Azure integration samples.
Updates on the release (mainly more sizes for the cache, and ability to use datacenters outside of the US):


That was my last session for today, since I had to go prepare to the Silverlight MIXer, an event sponsored by Sela, where I had a lot of meat, some bear, and a few talks with people from Microsoft and from other companies regarding Silverlight, RIA Services, and WCF.


The Sela gang with Scott Guthrie:

I’ve written before about the white paper Yaniv and I have been writing for MSDN.
I’m pleased to announce that the white paper has been published and can be downloaded from the Microsoft download website.
I will continue posting on the subject of Windows HPC Server 2008 R2 and Windows Azure, as we continue to write demos for this environment, and (spoiler…) upgrading our white paper for the coming release of Windows HPC Server 2008 R2 SP2.
So if you’re interested in the integration of Windows HPC Server 2008 R2 and Windows Azure (also referred to as the “Azure burst scenario”), add my blog to your RSS feeder and stay tuned.

As I suspected, the keynote of the second day was better and did include information about new releases of the Windows Phone 7 OS release, Silverlight 5 beta, and Kinect SDK for Windows.
Since most of the new topics where covered in Gil Fink’s blog post, I’ll just add some photo’s to complete the picture:
WP7 searchable jump list:

Jaime Rodriguez enthusiastic with WP7:

What’s new in Silverlight 5:
Kinect (this always produces the funniest photos):

Kinect SDK for Windows:
Silverlight and WP7 current releases:
After the keynote I went to Douglas Crockford’s session about ECMAScript 5. The ECMAScript 5 brings some new cool features to the world of BLOCKED SCRIPT
- Getters and Setters
- Multiline string literals
- New constants
- A working parseInt function
- JSON class
- string.trim
- The ability to apply a function to each item in an array
- A strict mode to JavaScript code (details shown in the photo below)
The main thing Doug tried to express is that we should do our best to move people from IE 6, and that you should always use JS Lint to check your code.




In the past couple of weeks, Yaniv and I have been working on a white paper for Microsoft regarding the integration of Windows HPC Server 2008 R2 SP1 with Windows Azure.
If you’re not familiar with HPC (High Performance Computing), and with the Windows HPC Server 2008 R2, I suggest you start by looking at the Windows HPC Server 2008 website, and keep following Yaniv’s blog and mine, as we’ll write more about this subject in the coming weeks.
For the entire explanation on how Windows HPC Server integrates with Windows Azure, I suggest you read the white paper (I’ll post the link when it’s published), but the brief is that Windows HPC Server 2008 R2 SP1 lets you extend your on-premises cluster by adding Windows Azure nodes to it, thus allowing you to increase your computational capabilities without needing to invest a lot of money in purchasing new hardware and maintaining it.
If you’ve read my posts during the past couple of years, you’d know that I don’t tend to write about the basics of a technology, but rather on the nuances of using that technology.
But… since there’s almost no material about the topic of HPC and Azure floating on the Internet, I’ll make an exception and in addition to writing about the caveats of this technology, I will also write about how to use it. I also recommend following Yaniv’s blog since he will also write about this subject.

After the keynote, I went to the HTML 5 for Silverlight developers session. It was nice to see how you can use the svg HTML element to create vector graphics in a similar way to the way you create it in Silverlight.
At the end of the presentation, he started talking about Silverlight and HTML 5 in the eyes of the decision makers, but he didn’t say anything other than “just choose one and create a good application”. I expected something more profound; I was a bit disappointed.

On my way to lunch, I noticed they published a summary of the morning keynote in quite a colorful way:




After lunch, I headed to the lecture about Surface 2, because it relates to a multi-touch project I’m working on, but the session was full and I couldn’t get in, so I went to the Windows Azure from Startup to Scale session which was a bit boring, so I got out after a couple of minutes. I thought of going to the 50 Performance Tricks to Make Your HTML5 Web Sites Faster session, but decided to stay out of the sessions and work on some stuff I had to do (after all, I’m not on vacation, yet…). I heard afterwards that from the 50 tips, only two related to HTML 5 and the other 48 tips were generally known tips, such as minimizing the size of your JavaScript files.
The next session I went to was the Pragmatic JavaScript, jQuery & AJAX with ASP.NET session. It started ok with some info about jQuery and the Ajax Toolkit (apparently the toolkit has 85K downloads per month – impressive). A few weeks ago they released a new version of the toolkit which handles IE9 compatibility problems. From here on nothing new was announced. He shows jQuery extenders, and the jQuery CDN, and he talked in length on how to create long pooling ajax calls (comet) using jquery, async http handlers, and sql dependencies – nothing new, except the way all these technologies are combined. At the end of the presentation he showed a slide or two about new stuff they are working on, such as JS Defer, Knockout, and Amplify (last link currently is unavailable). I wish he had dedicated more time to the new stuff instead of going over existing stuff.
First slide:

Last slide:

To summarize day 1 – after flying 17 hours I hoped to hear more about new technologies. I’ll wait for tomorrow’s keynote, maybe they are saving the best for last…

First session of the day – the daily keynote.



IE9 & IE10
An improved web browser with better HTML 5 support. It will probably be announcement around September this year

ASP.NET MVC 3 Tools
New edition of MVC 3 with better scaffolding support, modernizr support for rendering HTML 5 and CSS 3 compatible web pages for earlier browsers. MVC 3 tools also add supports for EF 4.1 support and newer version of jQuery.

(The EF version is actually 4.1, it’s hidden by the camera man)
There were also some talks about Azure, WebMatrix, and Orchard, but I was occupied with taking photos, so I didn’t quite listen. I guess it wasn’t that important, since I didn’t hear any clapping.
As usual, the first keynote was packed with people, I lost count at 1029, but I bet there were more:

I’m heading to the HTML 5 for Silverlight Developers session, and will tell you all about it later today.

So day zero began with me flying from Israel to Las Vegas through Newark, where I missed my flight due to all the security checks. Luckily there was a flight leaving two hours later, so I was able to get to Las Vegas in a decent hour.
Tomorrow starts day 1 of MIX, so I have to get up early (this post was written in 2am) to register.
I would probably go this time to the Azure sessions, since it correlates with my current work on Windows Azure and Windows HPC Server (I’ll post some info on this later on this week), but I’m sure the other 11 consultants from Sela that are also attending this conference will be able to update me on the other stuff that are going on and which I’ve missed.
You can check the sessions list at the following link:
http://live.visitmix.com/mix11
And watch some of the keynotes and lectures at this link:
http://live.visitmix.com