Several scientific and industry applications require High Performance Computing (HPC) resources to process and or simulate complex models. Not long ago, companies, research institutes, and universities used to acquire and maintain on-premise computer clusters; but, recently, cloud computing has emerged as an alternative for a subset of HPC applications. This poses a challenge to end-users, who have to decide where to run their jobs: on local clusters or burst to a remote cloud service provider. While current research on HPC cloud has focused on comparing performance of on-premise clusters against cloud resources, we build on top of existing efforts and introduce an advisory service to help users make this decision considering the trade-offs of resource costs, performance, and availability on hybrid clouds. We evaluated our service using a real test-bed with a seismic processing application based on Full Waveform Inversion; a technique used by geophysicists in the oil & gas industry and earthquake prediction. We also discuss how the advisor can be used for other applications and highlight the main lessons learned constructing this service to reduce costs and turnaround times.
In this paper, we report on the results of numerical experiments in the field of computational fluid dynamics (CFD) on Amazon's HPC cloud. To this end, we benchmarked our MPI-parallel fluid solver NaSt3DGPF on several HPC compute nodes of the cloud system. Our solver can use CPUs and GPUs to calculate the simulation results. With a pre-requested number of instances we observe for both, CPUs and GPUs, good scalability even for a larger number of parallel processes, provided that the GPUs run in the non-ECC mode. Furthermore, we see a high potential for medium sized parallel compute problems which are typically present in industrial engineering applications. High intensive computation applications can usually take days to months to nish an execution. During this time, it is common to have variations of the available resources when considering that such hardware is usually shared among a plurality of researchers departments within an organization. On the other hand, High Performance Clusters can take advantage of Cloud Computing bursting techniques for the execution of applications together with on-premise resources. In order to meet deadlines, high intensive computational applications can use the Cloud to boost their performance when they are data and task parallel. This article presents an ongoing work towards the use of extended resources of an HPC execution platform together with Cloud. We propose an unied view of such heterogeneous environments and a method that monitors, predicts the application execution time, and dynamically shifts part of the domain previously running in local HPC hardware to be computed in the Cloud, meeting then a specic deadline. The method is exemplied along with a seismic application that, at runtime, adapts itself to move part of the processing to the Cloud (in a movement called bursting) and also auto-scales (the moved part) over cloud nodes. Our preliminary results show that there is an expected overhead for performing this movement and for synchronizing results, but the outcomes demonstrate it is an important feature for meeting deadlines in the case an on-premise cluster is overloaded or cannot provide the capacity needed for a particular project.  A fully functional hybrid cloud solution requires a placement service to automatically decide whether an application should be deployed on premise, in a public cloud, or across private and public clouds. Such a service must consider application structure and communication patterns, application affinity requirements, which usually result from data protection rules, and deployment costs. In this paper, we propose a hybrid cloud placement approach which addresses these challenges. Our approach considers application requirements, cost, and private cloud capacity. Further, it is tunable to allow for changing application patterns and business objectives and offers a useful trade-off between application QoS and its deployment cost.