Chapter 17. PERFORMANCE PREDICTION FOR HPC ON CLOUDS
ROCCO AVERSA, BENIAMINO Dl MARTINO, MASSIMILIANO RAK, SALVATORE VENTICINQUE, and UMBERTO VILLANO
High-performance computing (HPC) is one of the contexts in which the adoption of the cloud computing paradigm is debated. Traditionally, HPC users are accustomed to managing directly very complex parallel systems and performing a very fine-tuning of their applications on the target hardware. The matter is to ascertain if it may be convenient to deploy such applications on a cloud, where users "voluntarily" lose almost all control on the execution environment, leaving the management of datacenters to the cloud owner.
In order to understand fully the implications of this issue, it is probably necessary to take a step back and to clarify how the cloud paradigm can be applied to HPC. As outlined in other chapters of this book, cloud computing may be exploited at three different levels: IaaS (Infrastructure as a Service), PaaS (Platform as a Service), and AaaS (Application as a Service). In one way or another, all of them can be useful for HPC. However, nowadays the most common solution is the adoption of the IaaS paradigm. IaaS lets users run applications on fast pay-per-use machines they don't want to buy, to manage, or to maintain. Furthermore, the total computational power can be easily increased (by additional charge). For the sporadic HPC user, this solution is undoubtedly attractive: no investment in rapidly-obsolescing ...