CFD in the Azure Cloud

The term 'Cloud Computing' is a rather nebulous term that is open to interpretation, filling some with fear and others with delight. So in an effort to define what the cloud could mean for Computational Fluid Dynamics (CFD) simulations, we undertook a feasibility study, sponsored by the Microsoft DPE team, to see how to couple Caedium with a cloud-based CFD simulation service. We chose to harness the strength of Caedium's interactive simulation setup and results visualization by keeping them close to the user on a local machine, and then outsourcing the intensive numerical CFD simulation as a Windows Azure cloud service.

Caedium using Azure Cloud ServiceCaedium using Azure Cloud Service

The Windows OpenFOAM solvers that serve as the basis for the Caedium RANS Flow add-on were configured as a hosted service on Azure. The service is accessed through a Web Role, which first validates a request and then stores the simulation case as a CloudBlob in a CloudBlobContainer and adds a corresponding unique job to the job queue - an Azure CloudQueue. The job queue is independently processed by one or more Worker Roles, which extract the simulation case from the CloudBlobContainer and perform the CFD simulation using OpenFOAM. The service can be scaled up or down as needed by simply adding more instances of the Worker Role.

Instead of running the OpenFOAM job locally, Caedium automatically packages up the relevant OpenFOAM directory configuration files into an archive and sends it to the Azure service (specifically the Web Role) for processing. Caedium then enters a wait state until the Azure service indicates the CFD simulation is complete, at which point Caedium automatically downloads the results archive. The results and simulation telemetry (e.g., residuals) are unpacked and the results extraction process continues as if the CFD simulation had been performed locally.

While not yet ready for a full release, the integration of Caedium with the Windows Azure cloud-based OpenFOAM service provides a glimpse of the future. Providing the option to perform CFD simulations on a hosted cloud service means CFD simulations that are too large or would run too slowly on a local machine can be handled as if you had your own personal on-demand High Performance Computing (HPC) platform. Having such a HPC capability without the associated IT management and hosting overheads is likely to bring unbounded CFD within the reach of anyone with a great idea in need of analysis.


About CFD in the Azure Cloud

This sounds like it could be extremely useful for small consulting engineering groups such as the one I work in where we only use CFD occasionally.

We have been searching for months for a cloud based HPC solution to run CFD simulations. However, the ones we contacted were very expensive and either required that we have an existing license for one of the major commercial CFD codes or that we have expert knowledge on running OpenFOAM.

I hope that Caedium with Windows Azure provides affordable, scalable, easy to use HPC solution for CFD. Can you give an indication of when this offering may come?

Still Under Development

The full potential of Azure as a delivery vehicle for HPC hasn't yet been realized. However, it's rapidly approaching a tipping point in terms of the platform and the hardware capabilities. I would guess within a year you should see something interesting...

Small consultancies are an ideal target audience for such a service. In pursuit of this capability I can assure you that it will be priced in line with the Symscape mantra: Computer-Aided Engineering for All.

Caedium v3.0 has cloud capabilities

For more on Caedium's cloud capabilities see "Hybrid CFD Modeling and Cloud Computing".