I recently had the chance to check out the Full Monte Sample application that was published on the CodePlex portal. It is an interesting application that display how HPC workloads could be suited to run on top of the “infinite amount” of cloud resources.
Here is a brief description of the sample:
“The Full Monte is a Monte Carlo simulation service running in Windows Azure. This demo features a rich Excel frontend with a Windows Azure-based backend service. Users submit jobs to be calculated in Windows Azure through the Excel client. The UI of the client along with statistics is updated in close to real-time as results are calculated. Since the client can also control how many instances are dedicated to the problem and dynamically change it during operation, it means you can quickly see the effects of adding more resources to problems like the Monte Carlo simulation. The goal of this sample is to show a method of performing Map/Reduce operations in an HPC-style application.”
Some explanations:
- Monte-Carlo simulation means a computational algorithm that repeatedly uses randomly generated values for the uncertain variables that serve for calculation of the results. After several repeats the average results are used the final result. It is “a brute force” solution, heavily reliant on computational resources. More details on the topic can be found on Wikipedia.
- Map/Reduce is a technique aimed to solve a basic problem, where on one side you have lots of data and you want to perform some computation on top of it in a parallel way, preferably on multiple machines. It enables you to crunch through massive data sets in realistic time frames. For more details here is the link to the “Introduction to Map Reduce for .NET developers” article.
Good stuff, now we just need stuff like Dryad on top of Azure and things will get even better ;)!