Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. VM PLACEMENT <s> Recent advent of manycore system increases needs for larger but faster memory hierarchy. Emerging next generation memories such as on-chip DRAM and nonvolatile memory (NVRAM) are promising candidates for replacement of DRAM-only main memory. Combined with the manycore trends, it gives an opportunity to rethink conventional resource management system with a memory hierarchy for a single cloud node. In an attempt to mitigate the energy and memory problems, we propose MN-MATE, an elastic resource management architecture for a single cloud node with manycores, on-chip DRAM, and large size of off-chip DRAM and NVRAM. In MN-MATE, the hypervisor places consolidated VMs and balances memory among them. Based on the monitored information about the allocated memory, a guest OS co-schedules tasks accessing different types of memory with complementary access intensity. Polymorphic management of DRAM hierarchy accelerates average memory access speed inside each guest OS. A guest OS reduces energy consumption with small performance loss based on the NVRAM-aware data placement policy and the hybrid page cache. A new lightweight kernel is developed to reduce the overhead from the guest OS for scientific applications. Experiment results show that our techniques in MN-MATE platform improve system performance and reduce energy consumption. <s> BIB001 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. VM PLACEMENT <s> Dynamic Virtual Machine (VM) consolidation is one of the most promising solutions to reduce energy consumption and improve resource utilization in data centers. Since VM consolidation problem is strictly NP-hard, many heuristic algorithms have been proposed to tackle the problem. However, most of the existing works deal only with minimizing the number of hosts based on their current resource utilization and these works do not explore the future resource requirements. Therefore, unnecessary VM migrations are generated and the rate of Service Level Agreement (SLA) violations are increased in data centers. To address this problem, our VM consolidation method which is formulated as a bin-packing problem considers both the current and future utilization of resources. The future utilization of resources is accurately predicted using a k-nearest neighbor regression based model. In this paper, we investigate the effectiveness of VM and host resource utilization predictions in the VM consolidation task using real workload traces. The experimental results show that our approach provides substantial improvement over other heuristic algorithms in reducing energy consumption, number of VM migrations and number of SLA violations. <s> BIB002 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. VM PLACEMENT <s> Abstract How to achieve fast and efficient resource allocation is an important optimization problem of resource management in cloud data center. On one hand, in order to ensure the user experience of resource requesting, the system has to achieve fast resource allocation to timely process resource requests; on the other hand, in order to ensure the efficiency of resource allocation, how to allocate multi-dimensional resource requests to servers needs to be optimized, such that server's resource utilization can be improved. However, most of existing approaches focus on finding out the mapping of each specific resource request to each specific server. This makes the complexity of resource allocation problem increases with the size of data center. Thus, these approaches cannot achieve fast and efficient resource allocation for large-scale data center. To address this problem, we propose a pattern based resource allocation mechanism based on the following findings. In a real-world cloud environment, the resource requests are usually classified into limited types. Thus, the mechanism first utilizes this feature to generate pattern information, which indicates which types of resource requests are suitable to be allocated together to a server. Then, the mechanism uses the pattern information as guidelines to make fast resource allocation decision and fully utilize server's multidimensional resources. Simulation experiments based on real and synthetic traces have shown that our mechanism significantly improves system's resource utilization and reduces the overall number of used servers. <s> BIB003 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. VM PLACEMENT <s> Abstract This paper presents a novel VM allocation policy using the Eagle Strategy of Hybrid Krill Herd (KH) Optimization technique to enhance the cloud service experience to internet users. The Cloud Service provides data centre connectivity to share the resources through Virtual Machines (VM). The performance issue in Virtual Machine (VM) allocation during eccentrics degrades data centres load and clogging degrades the Quality of Experience (QoE) with Cloud Data Centres. Proposed optimized virtual machine allocation policy eradicates eccentrics effect and clogging effect, as it provides uninterrupted access throughput for better QoE. An optimization flag is additionally added in the Service Level Agreement (SLA). During burst load time, VM expansion is done automatically using Hybrid Krill Herd (KH) re-optimization if the optimization flag is set as true. Change and Response Protocol and Agreement Protocol have been proposed to predict the optimal resources for the Virtual Machine to avoid eccentrics and clogging. The prime parameters like delay, latency, packet rate and throughput are monitored continuously to activate the re-optimization and for achieving QoE with minimized load. Experimental analysis proves the capability of Hybrid KH algorithm over Particle Swarm Optimization, Ant Colony Optimization, Genetic Algorithm and Simulated Annealing algorithms. <s> BIB004 </s> Survey of Memory Management Techniques for HPC and Cloud Computing <s> I. VM PLACEMENT <s> Previous work on optimizing resource provisioning in virtualized environments focused either on mapping virtual machines (VMs) to physical machines (PMs) or mapping application components to VMs. In this paper, we argue that these two optimization problems influence each other significantly and in a highly non-trivial way. We define a sophisticated problem formulation for the joint optimization of the two mappings, taking into account sizing aspects, colocation constraints, license costs, and hardware affinity relations. As demonstrated by the empirical evaluation on a real-world workload trace, the combined optimization leads to significantly better overall results than considering the two problems in isolation. <s> BIB005
Recent research investigates algorithms for allocating VMs to PMs in clouds by addressing distinct problems, such as energy efficiency or the tradeoff between reaching servicelevel agreements and costs. The VM placement solution presented in BIB001 tries to guarantee a certain level of memory access performance to each VM, especially under heavy contention among VMs. To place guest VMs with different memory access latencies, the hypervisor uses a proposed heuristic equation that measures data access latency, because the hardware Performance Monitoring Units (PMU) cannot directly control the exact value. An approach that changes the VM-oriented placement to Type-oriented VM placement is presented in BIB003 . As it was noticed, the cloud platform provides limited types of VMs in the actual environment. Thus, the complexity of the Type-oriented VM placement problem does not increase with the size of the data centre. In order to fully utilise servers' resource, the mechanism places VMs to servers according to the patterns which result in high resource utilisation. The Krill Herd (KH) algorithm for solving optimal VM allocation problem is presented in BIB004 . This algorithm uses a fitness function which has two main factors: utilisation rate, including primary memory utilisation and Quality of Experience (QoE). Three major actions used to place the timedependent position of individual VM were adapted to the KH terminology. Movement induced by other krill individuals is analogous to the effect of one VM on others; Foraging motion is analogous to the effect on the VM caused by the maximum QoE in the solution; and Random diffusion is analogous to the random VM placement. The most appropriate location for VM placement is selected based on the Lagrangian model. The number of VMs that can be accommodated on a physical host is discussed in  . Capacity management is responsible for the availability of the required computational resources to allow cloud providers to function efficiently. To avoid low resource utilisation, physical servers are frequently utilised at 80% or more. According to the proposed approach based on the ''N+1'' model, if there is an unexpected failure, then the failed host machine's load will be managed by the additional host. Several utilisation policies to ensure comprehensive capacity that is adequate to hold the dynamic workload, while maintaining the performance level, were proposed. Cloud Virtual machine Automatic Memory Procurement (CloudVAMP) introduced in [108] is a memory oversubscription framework that can be integrated into an on-premises Cloud Management Platform. This framework automatically controls the VMs and dynamically adjusts the allocated memory to adapt to the current memory requirements of running applications. CloudVAMP allows using currently unused memory from the deployed VMs that leads to the temporary oversubscription on the memory resources. The oversubscription, along with the usage of live migration, increases VM-per-host consolidation ratio with reduced impact on running applications. Reference BIB005 suggested combining the VM selection and VM placement in a single optimisation algorithm. The problem statement considers software components that are deployed in VMs, which in turn are deployed in PMs. The size of a component encodes its resource requirements along with multiple resource types as an n-dimensional vector, e.g., 2-dimensional if CPU and memory are considered. Utilisation prediction-aware best fit decreasing approach proposed in BIB002 assigns a VM to a host according to current and future resource requirements. Available memory often limits the number of VMs supported by a host. Users tend to overestimate their VM memory requirements using the worst-case scenarios that may only be required for short periods. In addition, Cloud Providers typically offer only a few predetermined VM sizes. Consequently, the technique of over-committing VMs, where more resources are allocated than physically exist, has become common practice. While this approach may make better use of resources, it can also lead to a dramatic loss in performance and a risk of SLA violations. The efficiency of the VM placement is determined by packing efficiency and speed that have a negative correlation between them. Besides, current methods rarely take into account the stability of VM placement to improve efficiency. As shown in Figure 24 , due to the variation of the memory needs and variable nature of the access patterns, current optimal VMs placement may not be suitable for future workloads. The state-of-the-art metaheuristics and greedy heuristics for solving placement problem along with workload prediction allow solving this problem. 