Survey of Memory Management Techniques for HPC and Cloud Computing <s> III. RELEVANT SURVEYS <s> Traditionally, HPC workloads are characterized by different requirements in CPU and memory resources, which in addition vary over time in unpredictable manner. For this reason, HPC system designs, assuming physical co-location of CPU and memory on a single motherboard, strongly limit scalability, while leading to inefficient resources over-provisioning. Also, peripherals available in the system need to be globally accessible to allow optimal usage. In this context, modern HPC designs tend to support disaggregated memory, compute nodes, remote peripherals and hardware extensions to support virtualization techniques. In this paper, a qualitative survey on different attempts of memory and devices disaggregation is conducted. In addition, alternative future directions for devices disaggregation are proposed in the context of the work planned in the H2020 dRedBox project. <s> BIB001 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> III. RELEVANT SURVEYS <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> BIB002 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> III. RELEVANT SURVEYS <s> According to the dynamic nature of cloud and the rapid growth of the resources demand in it, the resource provisioning is one of the challenging problems in the cloud environment. The resources should be allocated dynamically according to the demand changes of the application. Over-provisioning increases energy wasting and costs. On the other hand, under-provisioning causes Service Level Agreements (SLA) violation and Quality of Service (QoS) dropping. Therefore the allocated resources should be close to the current demand of applications as much as possible. Furthermore, the speed of response to the workload changes to achieve the desired performance level is a critical issue for cloud elasticity. For this purpose, the future demand of applications should be determined. Thus, the prediction of the application in different aspects (workload, performance) is an essential step before the resource provisioning. According to the prediction results, the sufficient resources are allocated to the applications in the appropriate time in a way that QoS is ensured and SLA violation is avoided. This paper reviews the state of the art application prediction methods in different aspects. Through a meticulous literature review of the state of the art application prediction schemes, a taxonomy for the application prediction models is presented that investigates main characteristics and challenges of the different models. Finally, open research issues and future trends of the application prediction are discussed. HighlightsThe paper reviews state of the art application prediction models in different aspects.The paper presents a taxonomy for application prediction models.It investigates main characteristics and challenges of different models.It discusses open research issues and future trends of the application prediction. <s> BIB003 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> III. RELEVANT SURVEYS <s> Multi-/many-core systems are envisioned to satisfy the ever-increasing performance requirements of complex applications in various domains such as embedded and high-performance computing. Such systems need to cater to increasingly dynamic workloads, requiring efficient dynamic resource allocation strategies to satisfy hard or soft real-time constraints. This article provides an extensive survey of hard and soft real-time dynamic resource allocation strategies proposed since the mid-1990s and highlights the emerging trends for multi-/many-core systems. The survey covers a taxonomy of the resource allocation strategies and considers their various optimization objectives, which have been used to provide comprehensive comparison. The strategies employ various principles, such as market and biological concepts, to perform the optimizations. The trend followed by the resource allocation strategies, open research challenges, and likely emerging research directions have also been provided. <s> BIB004 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> III. RELEVANT SURVEYS <s> This work describes the motivation and methodology of a first-of-its-kind global survey of HPC centers actively employing Energy and Power Aware Scheduling and Resource Management solutions for their production systems. The Energy-Efficient High-Performance-Computing Working-Group (EE HPC WG) Energy and Power Aware Job Scheduling and Resource Management (EPA JSRM) team conducted comprehensive interviews over the course of 2016 and 2017. In this work, we present the selection of participating sites, the motivation behind the survey, a detailed description of the questionnaire, and illustrate why getting a global view of the ongoing efforts is a major step towards more efficient systems. Job Scheduling and Resource Management is being tackled using new approaches regarding Power and Energy and has important implications for achievable center strategies. With this survey, we are laying foundations necessary to give insights in how problems and respective solutions are approached across sites and centers to allow to identify differences, similarities, solutions, and possible technology transfer across sites and centers. Upcoming work will focus on the survey responses and the analysis thereof. At the point of writing, the EPA JSRM team is in the major analysis phase of the centers' responses. By splitting the work in this fashion we achieve increased clarity in presentation and have the opportunity to generate more detailed analysis in benevolence of the community and reader. <s> BIB005 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> III. RELEVANT SURVEYS <s> Abstract Virtualization technology allows multiple operating systems to share hardware resources of a computer system in an isolated manner. Traditionally, memory is shared by an operating system using segmentation and paging techniques. With virtualization, memory partitioning and management has several new challenges. For isolated and safe execution, hypervisors do not provide direct access to hardware resources. Lack of direct access to the memory management hardware like page tables disqualifies direct usage of virtual memory solutions used on native (non-virtualized) setups. Further, aspects of dual control of the memory resource (by the guest OS and the hypervisor) and lack of semantics regarding memory usage in virtual machines present additional challenges for memory management. This paper surveys different techniques of memory partitioning and management across multiple guest OSs in a virtualized environment. An important goal of virtualization is to increase the physical machine utilization in order to save costs. With varying application demand for memory and diverse memory management policies of the guest OSs, ensuring optimal usage of memory is non-trivial. In this survey, challenges of memory management in virtualized systems, different memory management techniques with their implications, and optimizations to increase memory utilization are discussed in detail. <s> BIB006 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> III. RELEVANT SURVEYS <s> In multicore processor systems, being able to accurately predict the future provides new optimization opportunities, which otherwise could not be exploited. For example, an oracle able to predict a certain application’s behavior running on a smart phone could direct the power manager to switch to appropriate dynamic voltage and frequency scaling modes that would guarantee minimum levels of desired performance while saving energy consumption and thereby prolonging battery life. Using predictions enables systems to become proactive rather than continue to operate in a reactive manner. This prediction-based proactive approach has become increasingly popular in the design and optimization of integrated circuits and of multicore processor systems. Prediction transforms from simple forecasting to sophisticated machine learning based prediction and classification that learns from existing data, employs data mining, and predicts future behavior. This can be exploited by novel optimization techniques that can span across all layers of the computing stack. In this survey paper, we present a discussion of the most popular techniques on prediction and classification in the general context of computing systems with emphasis on multicore processors. The paper is far from comprehensive, but, it will help the reader interested in employing prediction in optimization of multicore processor systems. <s> BIB007
The importance of resource management in HPC, HPC in the Cloud and Cloud Computing and the relevant solutions were discussed in several surveys. The Energy-Efficient High-Performance-Computing Working-Group (EE HPC WG) Energy and Power Aware Job Scheduling and Resource Management (EPA JSRM) team conducted comprehensive interviews and identified the energy-and power-aware scheduling and resource management solutions that are used on the major HPC sites BIB005 . This report showed different trends in power consumption minimisation, such as the job-killing when the power limit is exceeded, the analysis of information obtained from the power system monitoring and the forecast of energy consumption for each job. The impact of the memory system on the power consumption is out of scope here. Research challenges, including resource management aspects for HPC Cloud, were surveyed in BIB002 . Overall most works described in this survey were motivated by network and virtualisation issues from current cloud platforms. Moreover, it was indicated that performance prediction is key to allocate resources. Several studies on memory and device disaggregation are surveyed in BIB001 . In addition, an alternative vision on the future directions for devices disaggregation is proposed. Survey  , for instance, emphasises the importance of the power management solutions in the Cloud and it shows the place of memory components in the total power consumption. Power Scalable Memories are less commonly viewed as components designed to minimise the energy consumption. However, works on memory management energy reduction are also mentioned in this survey. Techniques for efficient resource provision on the cloud platforms were discussed in  . The problem was reduced to that of placing the virtual machines to support the requested services. More than 150 articles were surveyed and the state of art of the algorithms, such as virtual machine migration, forecast methods, stability and availability, to realise these objectives, was presented. Forecast models for resources provisioning were surveyed in BIB003 . Prediction models take into account different types of resources, which include physical resources such as memory, storage, servers, processors and networking. Researches suggest not to ignore the correlation among resources by focusing on one or two of them. BIB007 discusses and classifies popular prediction techniques in the general context of computing systems with an emphasis on multicore processors. These prediction techniques are used widely from predicting simple attributes, such as buffer utilisation in networks-onchip, to predicting complex relationship affecting the power usage effectiveness in data centres. Survey BIB006 focuses on different techniques of memory partitioning and management across multiple guest OSs in a virtualised environment where a hypervisor controls and manages the memory sub-system of the machine. Memory virtualisation solutions, implemented in software and with hardware assistance, are evaluated against virtualisation requirements. The particular case of resource management for hard and soft real-time multi-/many-core systems are described in BIB004 . The resource allocation strategies that satisfy real-time constraints were analysed, and experiments were carried out to compare execution time, energy consumption and utilisation. In contrast to the surveys mentioned above, this survey provides a broad summary of the state-of-art techniques in HPC and Cloud used for memory optimisation, concentrating on the wide number of objectives to address the different layers of resource management. To the best of our knowledge, this survey is the first attempt to put together all direction of the memory optimisation techniques both in HPC and in the Cloud.