Categories
Cloud Software

Supercomputing and CAD in the Cloud

Background

Cloud Computing presents an opportunity to exploit massively parallel and expandable computing resources providing supercomputing facilities for a fraction of the cost of traditional hardware. One of the significant benefits of supercomputing, of course, is it’s ability to reduce the amount of time necessary to process large data sets, or to perform other compute intensive tasks.

Although in the past, this may have been little more than a dream, today it can be seen to be a reality.

In the Pharmaceutical industry, where researchers can spend years testing for solutions to fight a variety of different diseases, the analysis of molecules can be completed in a fraction of the time needed to test in labs, but requires a massive amount of compute power. For an example of this in action, see details of a 50,000-core utility supercomputer provisioned using Amazon Web Services “Cycle Computing Ramps Global 50,000-Core Cluster for Schrodinger Molecular Research” at:

http://www.marketwire.com/press-release/Cycle-Computing-Ramps-Global-50000-Core-Cluster-for-Schrodinger-Molecular-Research-1646214.htm

In this example, Schrödinger’s researchers completed over 4,480 days of work, nearing 12.5 years of computations in a few hours, with cost under $4,900 per hour at peak requiring no upfront capital.

Details of services provided by Cycle computing can be found at

http://www.cyclecomputing.com/

and Schrödinger at:

http://www.schrodinger.com/

Computer Aided Design (CAD)

Supercomputing in the Cloud can also be applied to other applications too, one of these being Computer Aided Design (CAD) applications.

In the majority of cases, however, the software may need to be developed from scratch to ensure that the implementation of the necessary algorithms exploit parallelisation in order to take advantage of the distributed computing environment available in the cloud. This is where small start-up companies may succeed over traditional CAD software, often written many years ago, that did not exploit the use of multi-core processors and other multi processing solutions. In earlier days, I explored using the Transputer

http://en.wikipedia.org/wiki/Transputer

and the Occam programming language, to develop a graphics engine, for a CAD application, that used several CPUs to solve tasks in parallel. This was never adopted or taken further and in later years, of course, hardware development moved to provide multi-core processing. Software development lagged behind and today we have software applications which fail to exploit parallelisation.

Although a lot of discussion surrounding CAD in the Cloud seems to centre around the collaborative nature of the cloud and security of data, there also opportunities to exploit the available compute power.

Some areas in a CAD system which could take advantage of increased computing power include, but are not limited to:

  • 2D and 3D Constraint Solving
  • Analysis and Simulation
  • Rendering
  • Manufacturing

Some examples of current Cloud based CAD applications, which may be exploiting the capability of distributed processing in the Cloud  include

Tinkercad – using the distributed Gen6 Geometry kernel running on the Tinkercad server cluster

https://tinkercad.com/developer/gen6-intro.html

3D Modelling application

http://www.publishyourdesign.com/

Cloud Invent

http://www.cloud-invent.com/

Interactive Photoreal 3D rendering in the cloud

http://home.lagoa.com/