@home with Windows Azure : Can I Deploy Multiple Instances?

athome_w_win_azure-blue70During the first week of March 2012, my teammates Brian Hitney, Jim O’Neil, and I announced the re-launch of the @home with Windows Azure project.  On March 15, we hosted a kick-off webcast providing an overview of the project. 

I wanted to use this post to more widely answer a FAQ we have received since the project kicked-off again: Can I Deploy Multiple Instances?  First, a reminder of what the overall project is, for those who may have missed it…

What is @home with Windows Azure?

Microsoft provides a 90-day free trial of Windows Azure where you can learn to kick the tires and run an application in the cloud 24x7 cost-free.  The @home with Windows Azure project is an online activity where you use those 90-days of free compute time (or your MSDN Subscriber benefits) to contribute to Stanford University’s Folding@home distributed computing project. 

The Folding@home project helps scientists provide insight into the causes of diseases such as Alzheimer’s, Mad Cow disease, ALS, and some cancer-related syndromes, by running protein folding simulations on thousands of machines world wide,

You deploy Stanford’s Folding@home application to Windows Azure, where it will execute protein folding simulations in the cloud, thus contributing to the research effort. In essence, your participation is a donation of your free compute time to the Folding@home project!

Additionally, from the start of March 2012, Microsoft is donating $10 (up to a maximum of $5000) to Stanford’s Pande Lab for everyone that participates!

You can learn more about the project and sign up to view a series of web-casts we will be delivering over the next month at the project’s website:

@home with Windows Azure

Now, on to the FAQ which has also been posted on the project’s FAQ page.

Q. Can I Deploy Multiple Instances of the @home with Windows Azure application?

A. Yes, you can increase the number of instances associated with the application. However, that will result in a quicker depletion of your free allotment of compute usage (for free trial and MSDN accounts) or additional charges to pay-as-you-go accounts.

We designed the @home with Windows Azure project around the free allotment of compute usage included with the free 90-day Windows Azure trial account. The 90-day trial provides 750 hours of "Small" instance compute per month. That is enough to run a single "Small" instance 24x7 each month during the trial period. The @home with Windows Azure application is configured by default to use a single "Small" instance.

If you increase the instance count in the @home with Windows Azure application's ServiceConfiguration.Cloud.cscfg file, the application (and thus, the Folding@home client) will run in multiple parallel VMs at once. For example, if you configure two instances to run, the Folding@home client would be running on two VMs, but you would then be accruing 2 hours of usage per hour. That means that your 750 hour allotment would be depleted within a little over two weeks.

The 90-day free trial and MSDN Subscriber accounts are gated at 20 instances. If you increased the application configuration to use the maximum of 20 instances, you would deplete your 750 hour allotment in about 36 hours!

By default, the 90-day free trial accounts and the MSDN Subscriber accounts have a spending limit of $0 set on them. If your free allotment of compute usage is reached during the month, your Windows Azure subscription will be be disabled until the next billing cycle. Or, if it is the third month of your 90-day free trial, your Windows Azure subscription will expire automatically.

In addition, when the account is re-enabled at the beginning of the next billing cycle, you would have to log in and re-deploy the @home with Windows Azure application to restart it.

Note: For details on how the Windows Azure spending cap works, see Jim O'Neil's post: Windows Azure Trial Account Spending Limit

While it might seem beneficial to throw more computing power at the problem for a shorter period of time, that is not always the case. Due to the nature of how the Folding@home client works, it can actually be detrimental in this scenario. The individual simulations processed by the Folding@home client can take up to, and even over, 24 hours to complete. If the process is interrupted before the simulation is complete, that workload is lost.

Therefore, we recommend that the @home with Windows Azure application be run in a single instance to maximize contributions to the Folding@home project without requiring additional administration by you. That being said, now that you are aware of how the system works, if you know what you are doing, have at it!