# High Performance Computing in Satellite SAR Interferometry: A Critical Perspective
## 4 High Performance Computing: Fundamentals Concepts and Models
### Cloud Computing vs. HPC  
Recently, we have witnessed increasing attention to cloud computing (CC) as a potential alternative to dedicated HPC clusters to run applications on demand, with reasonable performances expected per money spent. Different public and private cloud infrastructures are currently available: for instance, Google Earth Engine (GEE) and Amazon Web Services (AWS) provide commercial cloud computing platforms, including open remote sensing datasets [169]. CC offers important advantages in terms of flexibility in their virtualized resources, on-demand provisioning, and ease of use, thus requiring less maintenance, less investment, easier manageability. In particular, CC users do not have to deal with in-depth knowledge of parallel computing and hardware/software upgrades; moreover, setting up cloud environments is significantly easier than HPC infrastructures. Despite these advantages, CC might have important limitations since scientific HPC applications are specifically concerned. Indeed, the benefit of using CC resides more in its convenience (in terms of ease of use) than in its computation power. In the following, we focus on the relevance of HPC-optimized clouds for HPC workloads, such as Magellan [170; 171] and Amazon Elastic Compute Cloud (EC2). As a matter of fact, HPC workloads typically rely on low latency interconnection and parallel file systems of homogenous high-end computing systems (e.g., supercomputers). It should be noted that a significant portion of the HPC applications is heavily dependent on network bandwidth, which might become a considerable bottleneck [172; 173]. In particular, the MPI performance is affected by the network latency, thus decreasing the application's performance. Therefore, two major performance barriers for adopting cloud for HPC concern the network bandwidth and latency. Another issue that leads to variable performance is the relevant virtualization of resources in the cloud, which comes at the expense of overheads. As a matter of fact, HPC is performance-oriented, whereas clouds are cost and resource-utilization oriented [172; 174]. Different studies raise concerns about the ability of CC systems to support scientific HPC applications effectively. As far as adoption of clouds for scientific HPC workloads  
Figure 8: Theoretical speedup (Amdahl’s law) as a function of the number of the processing elements for different values of the parallel portion. is concerned, one of the most comprehensive documents is the Magellan Report [171], in which an extensive evaluation of several cloud architectures, and their comparison with HPC clusters, have been carried out. In addition to HPC-optimized clouds developed by academic institutions, the trend of geospatially tailored cyberinfrastructures (e.g., CyberGIS) deserves to be mentioned [175]. In the following, CC-based commercial solutions are addressed. According to the evaluation conducted in [172], thoroughly covering primary performance metrics, the main limitation is experimentally found to be the network performance of Amazon EC2 cluster instances, which cannot keep up with their compute performance while running HPC applications. Moreover, it is demonstrated that the network latency of Amazon EC2 is higher and less stable than what is available on typical HPC architectures [172]. Nonetheless, the cloud instances show good performance in the limit case of embarrassingly parallel programs with minimal interactions between the nodes. The overall cost-effectiveness of different instance types offered by the public clouds is another important issue [176], which is not, however, discussed here for the sake of brevity. Elasticity is often considered to be the fundamental property of cloud environments; however, more research is required to understand elasticity-related opportunities and challenges in the context of HPC, as a clear and generally applicable understanding of elasticity in the context of HPC nowadays does not exist [177; 178].