Հայաստանի ատենախոսությունների բաց մատչելիության պահոց = Open Access Repository of the Armenian Electronic Theses and Dissertations (Armenian ETD-OA) = Репозиторий диссертаций Армении открытого доступа

Վիրտուալ համակարգերում հիշողության կառավարումը

Քոչարյան, Արամ Սեյրանի (2019) Վիրտուալ համակարգերում հիշողության կառավարումը. PhD thesis, ՀՀ ԳԱԱ ինֆորմատիկայի և ավտոմատացման պրոբլեմների ինստիտուտ.

[img]
Preview
PDF (Thesis)
Available under License Creative Commons Attribution.

Download (4Mb) | Preview
    [img]
    Preview
    PDF (Abstract)
    Available under License Creative Commons Attribution.

    Download (774Kb) | Preview

      Abstract

      Virtualization is a foundational element of cloud computing that encapsulates various services that can meet the user requirement in a cloud computing environment. This technology allows service providers to consolidate the servers to one physical machine as Virtual Machines (VMs) reducing the amount of the hardware in use. Cloud computing paradigm leverages virtualization and provides on-demand availability of computer system resources, especially high performance computational (HPC) and high-speed mass storage resources to meet the growing demand for computations and a large volume of data. In addition to the air conditioning and cooling equipment, such computer system resources are the major source of the power consumption in cloud infrastructures. The power consumption of data centers (DC) is increasing due to several aspects, such as increasing the data volume to deal with or the need for more HPC facilities, which in its term leads to serious environmental issues (including e-waste and CO2 emission). The energy consumption of DCs is already going upwards to 8-10% of global consumption and the total global footprint is 2% of global CO2 emissions. Thus, reducing energy consumption will play an important role to decrease the total energy consumption of these centers. Resource management is crucial for every DC provider that focuses on the efficient sharing of cloud resources among multiple users. The resource optimization is one of the most efficient ways to minimize the energy consumption of DCs. The RM aims to provide the same service with less resources and with the same quality (without Service Level Agreement (SLA) violation). The processor (CPU), Memory (RAM), storage (disk space) and network are the basic resources of DCs. In the past a few years, the resource optimization challenges for cloud environment received great attention from the researchers. However, it is extremely complex to target all types of resources at once. Thus, there are many works in the field on CPU resource optimization, since it was considered to be the most expensive and main resource in DCs. However, the situation has changed during the years. Over last years, it has been viewed the emergence of new applications with growing memory demands, while hardware platforms' evolution continued to offer more CPU capacity growth than memory, referred to as the memory capacity wall. The Aim and objectives: This dissertation aims to develop a memory management and optimization environment for virualized DCs implemented in Unix like Operating System (OS) kernels. The studies follow the following objectives: To develop an accurate and non-intrusive working set estimation method focused toward track the working set size of a VM. To develop a single-node memory management system using above described working set estimation method. To develop multi-node memory management and optimization environment for virtualized DCs. To develop and implement software solutions for the above described objectives. The following methods have been used to explore the memory resource management and optimization in datacenters: Linux kernel module development aiming to provide customized memory management aware kernels. Widely used memory management, migration and consolidation methods (such as memory ballooning, VM migration, consolidation etc). Distributed memory sharing mechanisms (remote swapping over RDMA). Well known benchmarking suits for data intensive and HPC workloads. An accurate and non-intrusive working set estimation method has been suggested to extend the kernel of a hypervisor and a Unix like OS. A single-node memory evaluation and distribution system has been developed allowing to reclaim unused memory from unsaturated VMs and land it to saturating VMs. A distributed memory management system has been developed relying on remote swapping technologies for DC-wide memory mutualization. Practical Significance: All the developed methods and environments have been implemented in the cloud infrastructures provided by the IRIT and IIAP. The efficiency of the suggested solutions have been confirmed by several scientific applications and benchmarking suits. Association for Computing Machinery’s Special Interest Group on Measurement and Evaluation, which specializes in the field of performance analysis, measurement, and modeling of computer systems (ACM SIGMENTRICS) June 18-22, Irvine, CA, USA, 2018 Institute of Electrical and Electronics Engineers (IEEE) Ivannikov memorial workshop (IVEM), 3 - 4 MAY, 2018 Yerevan, Armenia, 2018 Conférence d’informatique en Parallélisme, Architecture et Système (COMPASS), 3-6 July Toulouse, France, 2018 The Publications: The scientific results of the PhD have been published in 4 scientific articles which are highlighted at the end of this abstract. Thesis Structure: The manuscript consists of an introduction, 3 chapters and a conclusion. The manuscript covers 104 pages including including 94 references, 29 charts and 5 tables. The introduction presents the research domain, problem statement, the aim and objectives as well as the focus of the research. Besides, the introduction gives background information on the used technological stack: Main solutions provided by a Cloud provider: The technology behind cloud computing, including virtualization. The types of hypervisors, the benefits and drawbacks of each type. Resource managements that are widely used in virtual environments. Dynamic and static resource allocation approaches Memory management in virtual environment. The section also represents the following three main steps that are used by all memory management systems: The working set of VMs is a challenge for datacenter providers as it allows to measure the memory need by VMs and the memory which can be reclaimed. The reclaimed memory can then be used to satisfy memory needs of other VMs in order to raise the consolidation ratio. Reclamation: Most of the modern hypervisors implement memory reclamation techniques (memory ballooning) to reclaim unused memory from VMs, thus avoiding resource waste. In such systems, the VM is equipped with a balloon driver, which can be inflated or deflated (by the hypervisor/dom0). Re-Distributing: Memory reclaimed by the hypervisor on one server can be granted to VM which lack memory on the same server. However, this reclaimed memory cannot simply be allocated to remote VMs. Studies on Working Set Size Estimation Techniques in Virtualized Environments: Badis This chapter presents a state-of-the-art survey on working set size estimation techniques and propose Badis, a system that can estimate a VM’s working set size with high accuracy and no VM codebase intrusiveness. Numerous DCs are relying on virtualization, as it provides flexible resource management means such as VM checkpoint/restart, migration and consolidation. However, one of the main hindrances to server consolidation is physical memory. In nowadays cloud, memory is generally statically allocated to VMs and wasted if not used. Techniques (such as ballooning) were introduced for dynamically reclaiming memory from VMs, such that only the needed memory is provisioned to each VM. However, the challenge is to precisely monitor the needed memory, i.e., the working set of each VM. In this context, it has been thoroughly reviewed the main techniques that were proposed for monitoring the working set of VMs. In this work, the main techniques (Geiger, WMware, Excusive cache, Zballond, Selfabllooning) have been implemented in the Xen hypervisor and it has been defined different metrics to evaluate their efficiency. Based on the evaluation results, Badis is proposed, a system which combines several of the existing solutions, using the right solution at the right time. It has been also proposed a consolidation extension, which leverages Badis to pack the VMs based on the working set size and not the booked memory. The implementation of all techniques, our proposed system, and the used benchmarks are publicly available to support further research in this domain. In summary, the contributions of this work are the following: The evaluation metrics haver been defined that allow to characterize WSS estimation solutions. The existing WSS techniques have been evaluated on several types of benchmarks. Each solution was implemented in the Xen virtualization system. Badis has been proposed, a WSS monitoring and estimation system which leverages several of the existing solutions in order to provide high estimation accuracy with no codebase intrusiveness. Badis is also able to dynamically adjust the VM's allocated memory based on the WSS estimations. A consolidation system extension is proposed which leverages Badis for a better consolidation ratio. Both the source and the data sets used for our evaluation are publicly available, so that our experiments can be reproduced. The metrics for characterizing WSS estimation techniques are the following: the intrusiveness (requires the modification of the VM), the activeness (alters the VM’s execution flow), the accuracy, the overhead on the VM (noted vm-over), and the overhead on the hypervisor/dom0 (noted hyper-over). Vm_over: it directly impacts the VM performance. It could be affected by both the intrusiveness and the activeness. accuracy: a wrong estimation leads to either performance degradation (under-estimation) or resource waste (over-estimation). hyper-over: a high overhead could saturate the hypervisor/dom0, which are shared components. This could lead, in turn, to the degradation of VMs’ performance (e.g. the I/O intensive VMs). Figure 1. The ability of researched techniques to follow the actual working set of the application (part 1) Fig.1 and Fig. 2 present the results for each workload and each WSS estimation technique. To facilitate the interpretation of the results, each curve shows both the original workload (noted W°) and the actual estimated WSSs (noted Wj), 1 <i< 5 (represents the workload type) and j=s,d (represents the implementation type - static or dynamic). Վիրտուալիզացիան ամպային հաշվարկային մոդելի հիմնարար տարր է, որը ներառում է ամպային հաշվարկային միջավայրում օգտատիրոջ պահանջները բավարարող տարբեր ծառայություններ: Այս տեխնոլոգիան թույլ է տալիս ծառայություն մատուցողներին համախմբել սերվերները մեկ ֆիզիկական հանգույցում, որպես Վիրտուալ Մեքենաներ (ՎՄ), որը նվազեցնում է օգտագործվող սարքավորման քանակը: Ամպային հաշվարկային մոդելը և վրիտուալիզացիան տրամադրում է ըստ պահանջի ռեսուրսների բաշխման մեխանիզմը որը ապահովում է համակարգչային համակարգի ռեսուրսների հասանելիությունը, հատկապես՝ բարձր կատարողականության հաշվարկային (HPC) և բարձր արագությամբ հիշողության պահեստավորման ռեսուրսներ՝ հաշվարկների աճող պահանջարկը և տվյալների մեծ ծավալը բավարարելու համար: Ի լրումն օդորակման և սառեցման սարքավորումների, այսպիսի համակարգչային համակարգի ռեսուրսները հանդիսանում են էներգիայի սպառման հիմնական աղբյուրը ամպային ենթակառուցվածքներում: Տվյալների կենտրոնների (ՏԿ) էներգիայի սպառումն աճում է մի քանի պատճառով, ինչպիսիք են` տվյալների ծավալի մեծացումը կամ ավելի մեծ բարձր կատարողականության հաշվարկային օբյեկտների պահանջարկը, որն իր հերթին հանգեցնում է լուրջ բնապահպանական խնդիրների (այդ թվում՝ էլեկտրոնային աղբը և CO2 արտանետումները): Տվյալների կենտրոնների էներգիայի սպառումն արդեն հասնում է գլոբալ սպառման 8-10%-ին, իսկ ընդհանուր գլոբալ տարածքում CO2 արտանետումների 2%-ը: Այսպիսով, էներգիայի սպառման նվազեցումը կարևոր դեր կխաղա այս կենտրոնների ընդհանուր էներգիայի սպառման նվազեցման համար: Ռեսուրսների կառավարումը (ՌԿ) կենսական է ՏԿ յուրաքանչյուր պրովայդերի համար, ում ուշադրության կենտրոնում է գտնվում ամպային ռեսուրսների արդյունավետ համօգտագործումը բազմակի օգտվողների շրջանում: Ռեսուրսների օպտիմալացումը ՏԿ-ների էներգիայի սպառման նվազեցման ամենաարդյունավետ եղանակներից մեկն է: ՌԿ-ի նպատակն է ապահովել նույն ծառայությունը քիչ ռեսուրսներով, բայց միևնույն որակով (առանց Ծառայության մակարդակի համաձայնագրի (SLA) խախտման): Պրոցեսորը (CPU), օպերատիվ հիշողությունը (RAM), հիմնական հիշողությունը (սկավառակի տարողունակություն) և ցանցը ՏԿ-ի հիմնական ռեսուրսներն են: Անցած մի քանի տարիների ընթացքում, ամպային միջավայրում ռեսուրսների օպտիմալացման մարտահրավերները մեծ ուշադրության են արժանացել հետազոտողների կողմից: Այնուամենայնիվ, չափազանց բարդ է թիրախավորել միանգամից բոլոր ռեսուրսները: Այսպիսով, կատարվել են բազում հետազոտություններ պրոցեսորների ռեսուրսների օպտիմալացման ոլորտում, քանի որ այն համարվում է ամենաթանկ հիմնական ռեսուրսը ՏԿ-ում: Տարիների ընթացքում, սակայն, իրավիճակը փոխվել է: Անցած տարիների ընթացքում հիշողության աճի պահանջների հետ մեկտեղ մենք տեսել ենք նոր հավելվածների առաջացման պահանջ, մինչդեռ սարքավորումների պլատֆորմի էվոլյուցիան շարունակել է առաջարկել ավելի շատ պրոցեսորների, քան հիշողության հնարավորություններ, որը դիտվում է որպեսհնարավորություններ, որը դիտվում է որպես հիշողության հնարավորության պատ: Постановка проблемы: виртуализация - это основополагающий элемент облачных вычислений, которая включает в себя различные сервисы, которые могут удовлетворить требования пользователей в среде облачных вычислений. Эта технология позволяет поставщикам услуг объединить серверы в один физический узел в виде виртуальных машин, уменьшая количество используемого оборудования. Парадигма облачных вычислений использует виртуализацию и обеспечивает доступность ресурсов компьютерной системы по требованию, особенно высокопроизводительных вычислительных (ВПВ) и высокоскоростных ресурсов большой емкости, для удовлетворения растущих потребностей в вычислениях и большого объема данных. В дополнение к оборудованию для кондиционирования и охлаждения воздуха, такие ресурсы компьютерной системы являются основным источником энергопотребления в облачных инфраструктурах. Потребление энергии центрами обработки данных (ЦОД) увеличивается из-за нескольких аспектов, таких как увеличение объема данных для обработки или потребность в большем количестве объектов высокопроизводительных вычислений, которые в свою очередь приводят к серьезным экологическим проблемам (включая электронные отходы и выбросы CO2). Энергопотребление ЦОД уже возрастает до 8-10% от мирового потребления, а общий глобальный след составляет 2% от глобальных выбросов CO2. Таким образом, снижение энергопотребления будет играть важную роль в снижении общего энергопотребления этих центров. Управление ресурсами (УР) имеет решающее значение для каждого поставщика ЦОД, который сосредоточен на эффективном распределении облачных ресурсов между несколькими пользователями. Оптимизация ресурсов является одним из наиболее эффективных способов минимизации энергопотребления ЦОД. Управление ресурсами стремится предоставить ту же услугу с меньшими ресурсами и с тем же качеством (без нарушения Соглашения об уровне обслуживания (SLA)). Процессор, оперативная память, память (дисковое пространство) и сеть являются основными ресурсами центра обработки данных. В последние несколько лет проблемам оптимизации ресурсов облачной среды исследователями уделялось большое внимание. Тем не менее, чрезвычайно сложно нацеливаться на все типы ресурсов одновременно. Поэтому, в этой области ведется много работ по оптимизации ресурсов процессора, поскольку он считается самым дорогим и основным ресурсом в ЦОД. Однако ситуация изменилась за эти годы. За последние годы мы стали свидетелями появления новых приложений с растущими требованиями к памяти, в то время как эволюция аппаратных платформ продолжала предлагать больший прирост процессорной мощности, чем памяти, называемой стеной емкости памяти. Цель и задачи: Целью данной диссертации является разработка среды управления и оптимизации памяти для виртуализированных центров обработки данных, реализованных как ядра операционной системы (ОС) семейсва Unix. Исследования преследуют следующие цели: Разработать точный и неинтрузивный метод оценки рабочего набора, ориентированного на отслеживание размера рабочего набора виртуальной машины. Разработать одноузловую систему управления памятью с использованием вышеописанного метода оценки рабочего набора. Разработать многоузловую среду управления и оптимизации памяти для ЦОД. Разработать и внедрить программные решения для вышеописанных целей. Методы: Для расширения управления ресурсами памяти и их оптимизации в центрах обработки данных были использованы следующие методы: Разработка модулей ядра Linux с целью предоставления настраиваемых ядер с поддержкой управления памятью. Широко используемые м

      Item Type: Thesis (PhD)
      Additional Information: Վիրտուալ համակարգերում հիշողության կառավարումը, Управление памятью в виртуальных системах.
      Uncontrolled Keywords: Քոչարյան Արամ Սեյրանի, Кочарян Арам Сейранович
      Subjects: Control, Automation and Electrical Engineering
      Divisions: UNSPECIFIED
      Depositing User: NLA Circ. Dpt.
      Date Deposited: 11 Oct 2019 13:38
      Last Modified: 11 Oct 2019 13:38
      URI: http://etd.asj-oa.am/id/eprint/10711

      Actions (login required)

      View Item