1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Main Page

From cloudflu

(Difference between revisions)
Jump to: navigation, search
Line 108: Line 108:
For more details see [[Crash Course]].
For more details see [[Crash Course]].
| valign="top" |  
| valign="top" |  
[[Image:FTC-cloud-computing.png‎|200px|right|let's look into details]]
[[Image:FTC-cloud-computing.png‎|250px|right|let's look into details]]

Revision as of 11:04, 31 December 2010

Copyright © 2010 Alexey Petrov

Developers: Alexey Petrov, Andrey Simurzin

License: Apache License, Version 2.0

The Apache Software Foundation


It might be funny, but from time to time every CFD engineer need to solve a real-world case.

The real-world, means that the detailisation of the problem should be precise; no toys or models are anymore acceptable. To be able to handle such type of calculations engineer need to use a high performance computing resources (cluster). And there could arise the following difficulties that are able to defeat the even desire to deal with real-world, namely:

  • organization (engineer) has no access to a cluster (to buy and maintain it - costs a lot);
  • engineer need to be trained beforehand to be able to install and run his applications in the cluster environment.
A computational fluid dynamics (CFD) visualization for a yacht. The simulation was comprised of 1 billion individual cells


So, if you are limited in hardware resources and use OpenFOAM as the primary solver framework this solution will exactly match you. CloudFlu library aims to destroy this barrier and make real-world computing available for engineers, in the following ways:

  • using cloud computing computation capacities
    • acquire as much computing resources as it is necessary
    • pay for exact the time it is necessary to run corresponding calculations
    • no headache for hardware maintenance, upgrading and software licensing
  • seamless integration with cloud
    • to run its calculations engineer need not to learn or exercise something special
    • case definition stays the same as in case of local run
    • solver definition could be sent directly to the cloud to perform the appointed calculation
    • focusing on a particular CFD library (OpenFOAM) streamlines user interface.
Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like the electricity grid


To implement pay as you go model of access to a cluster CloudFlu library uses resources of cloud computing provider (Amazon EC2). So, the price for the cluster usage is defined by Amazon. For example, running of High-CPU On-Demand Instance, that can be described as

  • Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (8 virtual cores);
  • 7 GB RAM;
  • 1690 GB HDD.

for one day will cost just about $15.

User, as well, can acquire as many instances as he need to define most suitable balance between the time he get the results and money he need to pay.

Since CloudFlu library uses cloud computing advantages for its implementation, there are another expensice user need to take into consideration, namely:

  • data transferring, which is "$0.00 per GB, for first 1 GB per month";
  • data storage, which is "$0.150 per GB, for first 50 TB / month of storage used".

So, if weight of user cases is less than 1 GB, he would add just another $1 to the final price.

The beauty of these numbers is not the only that it is cheap, but mostly, because that user need not pay once he does not use.

pay as you go


CloudFlu library defines its user interface through corresponding command-line utilities. These utilities could be combined in different ways (like usual Linux commands) to effectively reach user define goals. CloudFlu user scenarios can be easily automated and integrated into existing engineering environment.

Why OpenFOAM?

  • Can effectively run its calculations on cluster.
  • The most capable open-source CFD package.
  • Has excellent support for custom solver definition.

Why Linux only?

  • OpenFOAM can be run only under Linux.
  • Provides the best support for scripting functionality.

Why Amazon?

In short, it is the only cloud computing provider which delivers cluster computing instances.

Why Python?

  • Commonly used by engineers.
  • Easy to learn, use and advance.
  • Have a lot of scientific & engineering related libraries.
kings way


The usual OpenFOAM calculation user scenario in CloudFlu terms looks like the following:

  • starting a cluster (if you already started a cluster you can use just it by its identifier);
    a_cluster_id=`cloudflu-cluster-start` && echo ${a_cluster_id}
  • booking a study (a symbolical name for the data channel which will be used to pass output solver results from the cluster) :
    a_study_name=`cloudflu-study-book` && echo ${a_study_name}
  • starting a solver :
    cloudflu-solver-start --study-name=${a_study_name} --cluster-id=${a_cluster_id} --case-dir="~/cloudflu-examples/custom"
  • downloading / post-processing of the output results :
    cloudflu-solver-process --study-name=${a_study_name} --output-dir='damBreak.out'

Actually, that is all!

Nothing exceptional that you need to learn and understand.

For more details see Crash Course.

let's look into details

Competitive analysis

There are at least two applications that aims almost the same goal - cluster computing, namely

  • StarCluster - is a utility for creating and managing computing clusters hosted on Amazon's Elastic Compute Cloud (EC2).
    • Has the following advantages
      • It is a blooming project with active community and highly educated advisors
    • And disadvantages.
      • Is too general - does not provide ready to use OpenFOAM environment
      • Misses the first and the last steps in the typical user scenario, namely data transferring to and from cluster
  • ec2cluster - is a web console (including corresponding web API), that launches clusters on Amazon EC2 for parallel processing.
    • Has the following advantages.
      • Incorporates data transferring functionality
      • Has a web browser based GUI user interface
    • And disadvantages.
      • Is too general - does not provide ready to use OpenFOAM environment
      • The project is no more in active state (obsolete)
reality check

CloudFlu way

  • Focusing on OpenFOAM functionality
  • Incorporating data transferring functionality
  • Keeping users away from the cloud specific details
  • Seamless integration with cloud:
    • adaptive solver use-case decomposition;
    • remote compilation and running user-defined solvers
  • Full-featured command-line user interface
your magic ball

Download Installation Guide Documentation Forum Your Ideas GuestBook Bug Tracker Feature Request Project Start Page
Personal tools