Cloud Programming Paradigms for Technical Computing Applications

In the past four years cloud computing has emerged as an alternative platform for high performance computing. Unfortunately, there is still confusion about the cloud model and its advantages and disadvantages over tradition supercomputing based problem solving methods. In this note we characterize the ways in which cloud computing can be used productively in scientific and technical applications. As we shall see there is a large set of application that can run on a cloud and a supercomputer equally well. There are also applications that are better suited to the cloud and there are applications where a cloud is a very poor replacement for a supercomputer. Our goal is to illustrate where cloud computing can complement the capabilities of a contemporary massively parallel supercomputer.