Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. INTRODUCTION <s> With the advent of High Performance Computing to a valuable tool for business, the hurdles of still complex and difficult access to this technology and its use need to be addressed to ensure major uptake, especially by Small and Medium Enterprises. Thus, several national and international activities have the mission to improve access to and simplification of the use of those technologies. One of these activities is the FORTISSIMO project, an EC funded project which is currently developing an HPC-Cloud marketplace for SMEs. This marketplace consists of a variety of services provided, some being rather traditional, but some also using Cloud paradigms and technologies to leverage HPC for SMEs. This book chapter will give an overview of the activities within the frame of FORTISSIMO and present selected highlights, such as the concept of business containers to embed services offered by third parties in the marketplace and the provisioning of Simulation-as-a-Service (SimaaS). <s> BIB001 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. INTRODUCTION <s> In cloud computing, Virtual Machine (VM) placement is a critical operation which is conducted as part of the VM migration and aimed to find the best Physical Machine (PM) to host the VMs. It has a direct effect on the performance, resource utilization and power consumption of the data centers and can reduce the maintenance cost of the data centers for cloud providers. Numerous VM placement schemes are designed and proposed for VM placement in the cloud computing environment aimed to improve various factors affecting the data centers, the VMs and their executions. This article provides a complete survey and analyses of the existing state of the art VM placement schemes proposed in the literature for the cloud computing and data centers. Furthermore, it classifies the VM placement schemes based on the type of the placement algorithm and assesses their capabilities and objectives. Moreover, the properties, advantages and limitations of the VM placement schemes are compared. Finally, the concluding remarks and future research directions are provided. <s> BIB002 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. INTRODUCTION <s> High performance computing (HPC) clouds are becoming an alternative to on-premise clusters for executing scientific applications and business analytics services. Most research efforts in HPC cloud aim to understand the cost benefit of moving resource-intensive applications from on-premise environments to public cloud platforms. Industry trends show that hybrid environments are the natural path to get the best of the on-premise and cloud resources—steady (and sensitive) workloads can run on on-premise resources and peak demand can leverage remote resources in a pay-as-you-go manner. Nevertheless, there are plenty of questions to be answered in HPC cloud, which range from how to extract the best performance of an unknown underlying platform to what services are essential to make its usage easier. Moreover, the discussion on the right pricing and contractual models to fit small and large users is relevant for the sustainability of HPC clouds. This article brings a survey and taxonomy of efforts in HPC cloud and a vision on what we believe is ahead of us, including a set of research challenges that, once tackled, can help advance businesses and scientific discoveries. This becomes particularly relevant due to the fast increasing wave of new HPC applications coming from big data and artificial intelligence. <s> BIB003
The desire to achieve Exascale leads to the rapid development of high-performance computing at the hardware, software and application levels. At the hardware level, heterogeneity is becoming the main trend towards higher net performance and, more importantly for Exascale, performance per watt, as evidenced by the dominance of heterogeneous architectures in the Top500 1 and Green500 2 lists. On the application side, new domains appear that previously lacked access to HPC resources. While traditional applications of meteorology, oil and gas, seismology, or aero-and hydrodynamics still dominate, the Cloud HPC BIB001 is now accessed also by small and medium-sized enterprises  . Thus, the traditional HPC scenario with running batch jobs on separate nodes is replaced by a new scenario in which several applications with different QoS levels coexist in the same deeply heterogeneous HPC infrastructure and share resources. In this context, time-critical applications, such as financial analytics, online video transcoding and medical imaging, require predictable The associate editor coordinating the review of this manuscript and approving it for publication was Shuiguang Deng . BIB001 www.top500.org 2 www.green500.org performance, which is contrary to the traditional need to maximise resource utilisation while minimising power consumption. Moreover, moving HPC to the Cloud requires taking into account the different resource optimisation targets inherent to the HPC and Cloud Computing environments. The cloud aims to serve applications on a reduced amount of available hardware resources using virtualisation technologies in order to achieve economies of scale. Recent studies on the resource management in the Cloud have focused on the virtualisation techniques BIB002 , such as isolation between Virtual Machines (VMs) and reducing VM overhead, to increase scalability and performance. Unlike cloud services, HPC environments need to maximise the interconnect performance. Thus, HPC cloud resources need to provide both scalability and high performance. Research in HPC aims at finding this balance and at using a unified manager for both Cloud and HPC targets BIB003 . In this survey, we first emphasise the importance of memory optimisation in supporting the Exascale of the future, and we then describe the scope of memory management in HPC and Cloud. We mainly focus on the analysis of different memory management techniques used to achieve the effective management of memory resources on the different layers of VOLUME 7, 2019 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see http://creativecommons.org/licenses/by/4.0/ hardware/software stack. Some challenges in current research are highlighted to motivate future research directions. This survey does not describe each algorithm in detail. The rest of the paper is organised as follows. The role of memory management systems is discussed in Section II. Section III reports some past related surveys. Sections IV and V present a broad classification of memory management techniques in HPC and in Cloud Computing, respectively. Finally, we discuss open problems and future research directions of memory management in Section VI and offer some conclusions in Section VII.