WO2023080339A1 - Memory management device for virtual machine - Google Patents
Memory management device for virtual machine Download PDFInfo
- Publication number
- WO2023080339A1 WO2023080339A1 PCT/KR2022/000417 KR2022000417W WO2023080339A1 WO 2023080339 A1 WO2023080339 A1 WO 2023080339A1 KR 2022000417 W KR2022000417 W KR 2022000417W WO 2023080339 A1 WO2023080339 A1 WO 2023080339A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- virtual
- master node
- real
- virtual machine
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
Definitions
- the present invention relates to a computing system, and more particularly, to a memory management device for a virtual machine for efficiently managing a memory of the virtual machine.
- a cloud system may be configured so that multiple users can share various physical infrastructures.
- the physical infrastructures may include one or more computing systems having processors, memory, storage, networking, and the like. Physical infrastructure must be used to implement or run the workloads required by the application. However, since the physical infrastructure must be shared within the cloud system, the cloud system manages the physical infrastructure through logical servers or virtual machines.
- a virtual machine is a software implementation of a virtual computing environment rather than a physically existing computer, that is, a technology for emulating (virtualizing) a computer system.
- An operating system or application program can be installed and executed in a virtual machine.
- a virtual machine may be implemented through a plurality of computing devices that are physically independent and connected to each other through a predetermined communication network. Through this, users can use the same environment regardless of physical location.
- a virtualization system for the convenience of users performing tasks using resources of servers connected through computer networking in the Internet and/or intranet environment, it must be available 24 hours a day and must be able to avoid service interruption. Due to the rapid increase in data-intensive workloads such as in-memory databases, data caching, bioinformics, and graph processing, the memory capacity required for cloud systems is increasing. . In order to provide a large-capacity cloud system in line with this trend, a large-capacity physical server infrastructure is required, but a lot of cost is required to build it. Therefore, there is a need to efficiently manage idle memory resources in each server while using a plurality of small-capacity servers instead of large-capacity physical servers and using memories distributed in different physical computing devices as a single memory.
- An object of the present invention is to provide a memory management device for a virtual machine capable of more efficiently using memory resources of a plurality of servers connected through networking in a virtualization environment.
- a memory management apparatus is a memory management apparatus for a virtual machine composed of a plurality of computing devices that are physically independent and interconnected through a network, wherein one of the plurality of computing devices is a master node and the others are agent nodes.
- the memory of the virtual machine created by the master node is composed of one virtual memory by allocating the local memories of the plurality of computing devices, and the virtual memory is divided into a plurality of guest memory areas, and each of the plurality of guests and the memory management device includes a virtual memory monitoring unit for monitoring real-time usage of each of the plurality of guest memory areas allocated to each of the plurality of guests, real-time usage of local memory of each of the plurality of computing devices, and A local memory monitoring unit for monitoring idle memory capacity, and at least one of the local memories of the plurality of computing devices that can be used as idle memory if the real-time usage rate of a specific guest memory area allocated to any one of the plurality of guests exceeds a reference value. and a virtual memory management unit for specifying a computing device of and transmitting information on the specific guest memory area and the specific computing device to use the idle memory to the master node.
- the virtual memory monitoring unit may monitor real-time data transfer of a guest operating system in each guest memory area of the virtual memory created by the master node to calculate real-time usage in the guest memory area.
- the agent nodes transmit data on the usage of each local memory and data on the capacity of idle memory that is not being used to the master node in real time
- the local memory monitoring unit monitors data between the master node and the agent nodes. It is characterized in that the real-time usage and idle memory capacity of the local memory of each of the plurality of computing devices is monitored based on the real-time data being communicated.
- the memory management device may be provided in the computing device functioning as the master node. Also, the memory management device may be connected to the master node and the plurality of agent nodes through the network.
- a virtual memory of a virtual machine can be used more efficiently.
- the memory area allocated to the guest using the virtual machine is insufficient, it is easy to additionally allocate the insufficient memory capacity in real time.
- FIG. 1 is a diagram schematically illustrating a virtualization system to which an apparatus for managing a memory of a virtual machine according to the present invention is applied.
- FIG. 2 is a block diagram illustrating the structure of a memory management device for a virtual machine according to the present invention.
- a memory management apparatus is a memory management apparatus for a virtual machine composed of a plurality of computing devices that are physically independent and interconnected through a network, wherein one of the plurality of computing devices is a master node and the others are agent nodes.
- the memory of the virtual machine created by the master node is composed of one virtual memory by allocating the local memories of the plurality of computing devices, and the virtual memory is divided into a plurality of guest memory areas, and each of the plurality of guests and the memory management device includes a virtual memory monitoring unit for monitoring real-time usage of each of the plurality of guest memory areas allocated to each of the plurality of guests, real-time usage of local memory of each of the plurality of computing devices, and A local memory monitoring unit for monitoring idle memory capacity, and at least one of the local memories of the plurality of computing devices that can be used as idle memory if the real-time usage rate of a specific guest memory area allocated to any one of the plurality of guests exceeds a reference value. and a virtual memory management unit for specifying a computing device of and transmitting information on the specific guest memory area and the specific computing device to use the idle memory to the master node.
- the virtual memory monitoring unit may monitor real-time data transfer of a guest operating system in each guest memory area of the virtual memory created by the master node to calculate real-time usage in the guest memory area.
- the agent nodes transmit data on the usage of each local memory and data on the capacity of idle memory that is not being used to the master node in real time
- the local memory monitoring unit monitors data between the master node and the agent nodes. It is characterized in that the real-time usage and idle memory capacity of the local memory of each of the plurality of computing devices is monitored based on the real-time data being communicated.
- the memory management device may be provided in the computing device functioning as the master node. Also, the memory management device may be connected to the master node and the plurality of agent nodes through the network.
- a component when a component is said to be “connected”, “coupled” or “connected” to another component, this is not only a direct connection relationship, but also an indirect relationship between which another component exists. Connections may also be included.
- a component when a component “includes” or “has” another component, this means that it may further include another component without excluding other components unless otherwise stated. do.
- components that are distinguished from each other are intended to clearly explain each characteristic, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated to form a single hardware or software unit, or a single component may be distributed to form a plurality of hardware or software units. Therefore, even such integrated or distributed embodiments are included in the scope of the present invention, even if not separately mentioned.
- FIG. 1 schematically illustrates a system to which an apparatus for managing a memory of a virtual machine according to the present invention is applied.
- the virtual machine may be created by any one of a plurality of computing devices (S1, S2, S3, ..., Sn) interconnected through the network 10.
- Each computing device can separately create a virtual machine independent of each other, and a specific computing device (S1) that created a specific virtual machine is referred to as a master node (MN), and the remaining computing devices (S2) connected to the master node (MN) , S3, ..., Sn) is called an agent node (AN).
- MN master node
- AN agent node
- One computing device can function as a master node in a virtual machine created by itself, and at the same time function as an agent node in another virtual machine created by another computing device.
- one master node may create a plurality of virtual machines (VMs).
- the master node (MN) creates a virtual machine using the computing resources of other agent nodes (AN) including itself.
- the master node (MN) creates a virtual machine (VM) using the computing resources of other agent nodes (AN) including itself.
- the master node (MN) is a plurality of computing devices (S1, S2, S3, ..., Sn) computing resources may be allocated to virtual machines (VMs). These computing resources may include several types of physical resources.
- physical resources include CPU, memory (eg, Random Access Memory (RAM)), storage (eg, hard disk or solid state drive), network I/O devices (eg, network interface cards), power devices (e.g., Power Bricks), cooling devices (e.g., fans or coolants), or other types of resources (e.g., network switch devices).
- RAM Random Access Memory
- storage e.g., hard disk or solid state drive
- network I/O devices eg, network interface cards
- power devices e.g., Power Bricks
- cooling devices e.g., fans or coolants
- other types of resources e.g., network switch devices.
- the memory of the virtual machine (VM) created by the master node (MN) is composed of one virtual memory (100) by allocating local memories provided in a plurality of computing devices (S1, S2, S3, ..., Sn). do.
- the virtual memory 100 is provided to each of a plurality of guests by a size required for a user terminal (not shown; hereinafter 'guest') receiving services through a virtual machine to drive each operating system and application program. That is, the virtual memory 100 is divided into a plurality of guest memory areas (G1, G2, G3, ..., Gm) having an arbitrary size and allocated to each of the plurality of guests.
- the memory management device 200 may be configured.
- the memory management device 200 of the virtual machine monitors the real-time usage of each of a plurality of guest memory areas (G1, G2, G3, ..., Gm) allocated to each of a plurality of guests.
- the virtual memory monitoring unit 210, the local memory monitoring unit 220 for monitoring the real-time usage amount of the local memory of each of the plurality of computing devices (S1, S2, S3, ..., Sn), and any one of the plurality of guests If the real-time usage rate of the allocated specific guest memory area is higher than the reference value, the virtual memory management unit 230 allocates the idle memory of at least one local memory among the plurality of computing devices (S1, S2, S3, ..., Sn) to the specific guest memory area. ).
- the virtual memory monitoring unit 210 monitors real-time data transmission of a guest operating system (hereinafter referred to as a guest OS) in each guest memory area of the virtual memory 100 created by the master node (MN). For example, the virtual memory monitoring unit 210 directly contacts a guest operating system operated in each guest memory area (G1, G2, G3, ..., Gm) in a method such as SSH (Secure Shell) and echoes from each guest memory area. Receives data on real-time memory usage in this way.
- a guest operating system hereinafter referred to as a guest OS
- Gm guest operating system operated in each guest memory area
- SSH Secure Shell
- the agent nodes (AN) transmit data on the amount of use of their local memory and the amount of idle memory that is not being used to the master node (MN) in real time.
- MN master node
- the storage space can be efficiently used while storing the data for each time slot in a round-robin manner.
- preemptive scheduling it is a method that does not prioritize between processes, but always in order by time unit (Time Quantum).
- Data collection methods include a poll method using SNMP (Simple Network Management Protocol), SSH (Secure Shell), TCP (Transmission Control Protocol), ICMP (Internet Control Message Protocol), IPMI (Intelligent Platform Management Interface), Telnet, You can use gRPC, HTTP2, etc.
- SNMP Simple Network Management Protocol
- SSH Secure Shell
- TCP Transmission Control Protocol
- ICMP Internet Control Message Protocol
- IPMI Intelligent Platform Management Interface
- Telnet You can use gRPC, HTTP2, etc.
- MN master node
- AN agent node
- the local memory monitoring unit 220 monitors the local memory of each of the plurality of computing devices (S1, S2, S3, ..., Sn). Monitor real-time usage and idle memory capacity of
- the virtual memory management unit 230 when it is confirmed by the virtual memory monitoring unit 210 that the memory usage in a specific guest memory area is equal to or greater than the reference value, the plurality of computing devices S1 and S2 checked by the local memory monitoring unit 220. , S3, ..., Sn) by specifying a computing device that can be used as an idle memory among local memories, and a specific guest memory area (at least one of G1 to Gm) to which memory is allocated and a specific computing device to use the idle memory (of S1 to Sn). at least one) to the master node (MN). Through this, the master node (MN) additionally allocates an idle memory surplus to a specific guest memory area through the hypervisor 20 .
- the memory management device 200 of the above-described virtual machine (VM) may be directly installed in a computing device functioning as a master node (VM), or provided as a separate computing device and is connected to the master node (MN) and It can be connected to a plurality of agent nodes (AN).
- VM virtual machine
- MN master node
- AN agent nodes
- various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- It may be implemented by a processor (general processor), controller, microcontroller, microprocessor, or the like.
- the scope of the present disclosure is software or machine-executable instructions (eg, operating systems, applications, firmware, programs, etc.) that cause operations according to various embodiments to be executed on a device or computer, and such software or instructions, etc. and a non-transitory computer-readable medium executable on a device or computer.
- software or machine-executable instructions eg, operating systems, applications, firmware, programs, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Disclosed is a device for managing a virtual memory of a virtual machine composed of a plurality of computing devices that are physically independent and interconnected through a network. A memory management device according to the present invention is characterized by comprising: a virtual memory monitoring unit which monitors real-time usage of each of a plurality of guest memory areas; a local memory monitoring unit which monitors real-time usage and idle memory capacity of a local memory of each of a plurality of computing devices; and a virtual memory management unit which, when a real-time usage rate of a specific guest memory area is equal to or higher than a reference value, identifies at least one computing device that can be used as an idle memory and transmits same to a master node.
Description
본 발명은 컴퓨팅 시스템에 관한 것으로서, 더 자세하게는 가상머신의 메모리를 효율적으로 관리하기 위한 가상머신의 메모리관리장치에 관한 것이다.The present invention relates to a computing system, and more particularly, to a memory management device for a virtual machine for efficiently managing a memory of the virtual machine.
네트워킹 기술의 발전에 따라, 컴퓨팅 자원을 공유하는 클라우드 시스템이 제공되고 있다. 클라우드 시스템은 다양한 물리적인 인프라스트럭처를 다수의 사용자가 공유할 수 있도록 구성될 수 있는데, 물리적인 인프라스트럭처는 프로세서, 메모리, 스토리지, 네트워킹 등을 구비한 하나 이상의 컴퓨팅 시스템을 포함할 수 있다. 응용프로그램에서 요구하는 작업 부하를 구현 또는 실행하기 위해서는 물리적인 인프라스트럭처를 사용해야 한다. 그런데, 물리적인 인프라스트럭처는 클라우드 시스템 내에서 공유되어야 하므로, 클라우드 시스템은 논리 서버 또는 가상머신을 통해 물리적인 인프라스트럭처를 관리하게 된다.With the development of networking technology, a cloud system for sharing computing resources is being provided. A cloud system may be configured so that multiple users can share various physical infrastructures. The physical infrastructures may include one or more computing systems having processors, memory, storage, networking, and the like. Physical infrastructure must be used to implement or run the workloads required by the application. However, since the physical infrastructure must be shared within the cloud system, the cloud system manages the physical infrastructure through logical servers or virtual machines.
가상머신(Virtual Machine; VM)은 물리적으로 존재하는 컴퓨터가 아닌 가상의 컴퓨팅 환경을 소프트웨어로 구현한 것으로서, 즉 컴퓨터 시스템을 에뮬레이션(가상현실화)하는 기술을 말한다. 가상머신에서 운영체제(Operating System)나 응용프로그램을 설치 및 실행할 수 있다. 가상머신은 물리적으로 독립되어 소정의 통신망을 통해 상호 연결된 복수의 컴퓨팅장치를 통해 구현될 수 있다. 이를 통해, 사용자가 물리적 장소에 관계 없이 동일한 환경을 이용할 수 있다.A virtual machine (VM) is a software implementation of a virtual computing environment rather than a physically existing computer, that is, a technology for emulating (virtualizing) a computer system. An operating system or application program can be installed and executed in a virtual machine. A virtual machine may be implemented through a plurality of computing devices that are physically independent and connected to each other through a predetermined communication network. Through this, users can use the same environment regardless of physical location.
가상화시스템에서 인터넷 및/또는 인트라넷 환경에서 컴퓨터 네트워킹을 통해 연결된 서버(Server)의 리소스를 이용하여 작업을 수행하는 사용자들의 편의를 위해서는 24시간 가용 상태에 있어야 하고 서비스 중단 상황을 피할 수 있어야 한다. 인메모리 데이터베이스(In-memory database), 데이터 캐싱(data caching), 생물정보학(bioinformtics), 그래픽 처리(graph processing)와 같은 데이터 집약적인 작업량의 급증으로 인해 클라우드 시스템에서 요구되는 메모리 용량이 증가하고 있다. 이러한 추세에 맞추어 대용량 유형의 클라우드 시스템을 제공하기 위해서는 대용량의 물리 서버 인프라스트럭처가 요구되지만, 이를 구축하기 위해서는 많은 비용이 소요된다. 따라서, 대용량의 물리 서버 대신에 다수의 소용량 서버를 이용하면서도, 서로 다른 물리적 컴퓨팅 장치에 분산된 메모리를 단일 메모리로 사용할 수 있으면서, 각 서버에서의 유휴 메모리 자원을 효율적으로 관리할 필요성이 있다.In a virtualization system, for the convenience of users performing tasks using resources of servers connected through computer networking in the Internet and/or intranet environment, it must be available 24 hours a day and must be able to avoid service interruption. Due to the rapid increase in data-intensive workloads such as in-memory databases, data caching, bioinformics, and graph processing, the memory capacity required for cloud systems is increasing. . In order to provide a large-capacity cloud system in line with this trend, a large-capacity physical server infrastructure is required, but a lot of cost is required to build it. Therefore, there is a need to efficiently manage idle memory resources in each server while using a plurality of small-capacity servers instead of large-capacity physical servers and using memories distributed in different physical computing devices as a single memory.
본 발명은 상술한 문제를 해결하기 위한 것으로서, 가상화 환경에서 네트워킹을 통해 연결된 복수의 서버의 메모리 자원을 보다 효율적으로 사용할 수 있는 가상머신의 메모리관리장치를 제공하는 것을 목적으로 한다.An object of the present invention is to provide a memory management device for a virtual machine capable of more efficiently using memory resources of a plurality of servers connected through networking in a virtualization environment.
본 발명에 따른 메모리관리장치는, 물리적으로 독립되어 네트워크를 통해 상호 연결된 복수의 컴퓨팅장치로 구성된 가상머신의 메모리관리장치로서, 상기 복수의 컴퓨팅장치 중 어느 하나를 마스터노드로 하고 나머지를 에이전트노드로 할 때, 상기 마스터노드가 생성한 가상머신의 메모리는, 상기 복수의 컴퓨팅장치의 로컬메모리가 할당되어 하나의 가상메모리로 구성되고, 상기 가상메모리는 복수의 게스트메모리영역으로 분할되어 복수의 게스트 각각에 할당되고, 상기 메모리관리장치는, 상기 복수의 게스트 각각에 할당된 상기 복수의 게스트메모리영역 각각의 실시간 사용량을 모니터링하는 가상메모리 모니터링부와, 상기 복수의 컴퓨팅장치 각각의 로컬메모리의 실시간 사용량 및 유휴메모리 용량을 모니터링하는 로컬메모리 모니터링부와, 상기 복수의 게스트 중 어느 하나에 할당된 특정 게스트메모리영역의 실시간 사용률이 기준치 이상이면, 상기 복수의 컴퓨팅장치의 로컬메모리 중에서 유휴메모리로 사용가능한 적어도 하나의 컴퓨팅장치를 특정하여, 상기 특정 게스트메모리영역 및 상기 유휴메모리를 사용할 특정 컴퓨팅장치에 대한 정보를 상기 마스터노드에 전달하는 가상메모리관리부를 포함하는 것을 특징으로 한다.A memory management apparatus according to the present invention is a memory management apparatus for a virtual machine composed of a plurality of computing devices that are physically independent and interconnected through a network, wherein one of the plurality of computing devices is a master node and the others are agent nodes. At this time, the memory of the virtual machine created by the master node is composed of one virtual memory by allocating the local memories of the plurality of computing devices, and the virtual memory is divided into a plurality of guest memory areas, and each of the plurality of guests and the memory management device includes a virtual memory monitoring unit for monitoring real-time usage of each of the plurality of guest memory areas allocated to each of the plurality of guests, real-time usage of local memory of each of the plurality of computing devices, and A local memory monitoring unit for monitoring idle memory capacity, and at least one of the local memories of the plurality of computing devices that can be used as idle memory if the real-time usage rate of a specific guest memory area allocated to any one of the plurality of guests exceeds a reference value. and a virtual memory management unit for specifying a computing device of and transmitting information on the specific guest memory area and the specific computing device to use the idle memory to the master node.
상기 가상메모리 모니터링부는, 상기 마스터노드가 생성한 상기 가상메모리의 각 게스트메모리영역에서 게스트 운영체제의 실시간 데이터 전송을 모니터링하여 상기 게스트메모리영역에서의 실시간 사용량을 산출하는 것을 특징으로 한다.The virtual memory monitoring unit may monitor real-time data transfer of a guest operating system in each guest memory area of the virtual memory created by the master node to calculate real-time usage in the guest memory area.
또한, 상기 에이전트노드들은 각각의 로컬메모리의 사용량에 대한 데이터 및 사용되고 있지 않은 유휴메모리의 용량에 대한 데이터를 실시간으로 상기 마스터노드에 전송하며, 상기 로컬메모리 모니터링부는 상기 마스터노드 및 상기 에이전트노드들 간에 통신되는 실시간 데이터에 기반하여 상기 복수의 컴퓨팅장치 각각의 로컬메모리의 실시간 사용량 및 유휴메모리 용량을 모니터링하는 것을 특징으로 한다.In addition, the agent nodes transmit data on the usage of each local memory and data on the capacity of idle memory that is not being used to the master node in real time, and the local memory monitoring unit monitors data between the master node and the agent nodes. It is characterized in that the real-time usage and idle memory capacity of the local memory of each of the plurality of computing devices is monitored based on the real-time data being communicated.
아울러, 상기 메모리관리장치는, 상기 마스터노드로 기능하는 상기 컴퓨팅장치에 구비될 수 있다. 또한, 상기 메모리관리장치는, 상기 네트워크를 통해 상기 마스터노드 및 상기 복수의 에이전트노드들과 연결될 수 있다.In addition, the memory management device may be provided in the computing device functioning as the master node. Also, the memory management device may be connected to the master node and the plurality of agent nodes through the network.
본 발명에 따르면, 가상머신의 가상메모리를 보다 효율적으로 사용할 수 있다. 특히, 가상머신을 이용하는 게스트에 할당된 메모리영역이 부족한 경우, 실시간으로 부족한 메모리용량만큼 추가 할당하는 것이 용이하다.According to the present invention, a virtual memory of a virtual machine can be used more efficiently. In particular, when the memory area allocated to the guest using the virtual machine is insufficient, it is easy to additionally allocate the insufficient memory capacity in real time.
도 1은, 본 발명에 따른 가상머신의 메모리관리장치가 적용되는 가상화시스템을 개요적으로 도시한 도면이다.1 is a diagram schematically illustrating a virtualization system to which an apparatus for managing a memory of a virtual machine according to the present invention is applied.
도 2는, 본 발명에 따른 가상머신의 메모리관리장치의 구조를 예시하는 블록도이다.2 is a block diagram illustrating the structure of a memory management device for a virtual machine according to the present invention.
본 발명에 따른 메모리관리장치는, 물리적으로 독립되어 네트워크를 통해 상호 연결된 복수의 컴퓨팅장치로 구성된 가상머신의 메모리관리장치로서, 상기 복수의 컴퓨팅장치 중 어느 하나를 마스터노드로 하고 나머지를 에이전트노드로 할 때, 상기 마스터노드가 생성한 가상머신의 메모리는, 상기 복수의 컴퓨팅장치의 로컬메모리가 할당되어 하나의 가상메모리로 구성되고, 상기 가상메모리는 복수의 게스트메모리영역으로 분할되어 복수의 게스트 각각에 할당되고, 상기 메모리관리장치는, 상기 복수의 게스트 각각에 할당된 상기 복수의 게스트메모리영역 각각의 실시간 사용량을 모니터링하는 가상메모리 모니터링부와, 상기 복수의 컴퓨팅장치 각각의 로컬메모리의 실시간 사용량 및 유휴메모리 용량을 모니터링하는 로컬메모리 모니터링부와, 상기 복수의 게스트 중 어느 하나에 할당된 특정 게스트메모리영역의 실시간 사용률이 기준치 이상이면, 상기 복수의 컴퓨팅장치의 로컬메모리 중에서 유휴메모리로 사용가능한 적어도 하나의 컴퓨팅장치를 특정하여, 상기 특정 게스트메모리영역 및 상기 유휴메모리를 사용할 특정 컴퓨팅장치에 대한 정보를 상기 마스터노드에 전달하는 가상메모리관리부를 포함하는 것을 특징으로 한다.A memory management apparatus according to the present invention is a memory management apparatus for a virtual machine composed of a plurality of computing devices that are physically independent and interconnected through a network, wherein one of the plurality of computing devices is a master node and the others are agent nodes. At this time, the memory of the virtual machine created by the master node is composed of one virtual memory by allocating the local memories of the plurality of computing devices, and the virtual memory is divided into a plurality of guest memory areas, and each of the plurality of guests and the memory management device includes a virtual memory monitoring unit for monitoring real-time usage of each of the plurality of guest memory areas allocated to each of the plurality of guests, real-time usage of local memory of each of the plurality of computing devices, and A local memory monitoring unit for monitoring idle memory capacity, and at least one of the local memories of the plurality of computing devices that can be used as idle memory if the real-time usage rate of a specific guest memory area allocated to any one of the plurality of guests exceeds a reference value. and a virtual memory management unit for specifying a computing device of and transmitting information on the specific guest memory area and the specific computing device to use the idle memory to the master node.
상기 가상메모리 모니터링부는, 상기 마스터노드가 생성한 상기 가상메모리의 각 게스트메모리영역에서 게스트 운영체제의 실시간 데이터 전송을 모니터링하여 상기 게스트메모리영역에서의 실시간 사용량을 산출하는 것을 특징으로 한다.The virtual memory monitoring unit may monitor real-time data transfer of a guest operating system in each guest memory area of the virtual memory created by the master node to calculate real-time usage in the guest memory area.
또한, 상기 에이전트노드들은 각각의 로컬메모리의 사용량에 대한 데이터 및 사용되고 있지 않은 유휴메모리의 용량에 대한 데이터를 실시간으로 상기 마스터노드에 전송하며, 상기 로컬메모리 모니터링부는 상기 마스터노드 및 상기 에이전트노드들 간에 통신되는 실시간 데이터에 기반하여 상기 복수의 컴퓨팅장치 각각의 로컬메모리의 실시간 사용량 및 유휴메모리 용량을 모니터링하는 것을 특징으로 한다.In addition, the agent nodes transmit data on the usage of each local memory and data on the capacity of idle memory that is not being used to the master node in real time, and the local memory monitoring unit monitors data between the master node and the agent nodes. It is characterized in that the real-time usage and idle memory capacity of the local memory of each of the plurality of computing devices is monitored based on the real-time data being communicated.
아울러, 상기 메모리관리장치는, 상기 마스터노드로 기능하는 상기 컴퓨팅장치에 구비될 수 있다. 또한, 상기 메모리관리장치는, 상기 네트워크를 통해 상기 마스터노드 및 상기 복수의 에이전트노드들과 연결될 수 있다.In addition, the memory management device may be provided in the computing device functioning as the master node. Also, the memory management device may be connected to the master node and the plurality of agent nodes through the network.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. Prior to the detailed description of the present invention, the terms or words used in this specification and claims described below should not be construed as being limited to a common or dictionary meaning, and the inventors should use their own invention in the best way. It should be interpreted as a meaning and concept corresponding to the technical idea of the present invention based on the principle that it can be properly defined as a concept of a term for explanation. Therefore, the embodiments described in this specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all of the technical ideas of the present invention, so various equivalents that can replace them at the time of the present application. It should be understood that there may be water and variations.
본 발명의 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한, 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 아울러, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시예도 본 발명의 범위에 포함된다.In the disclosure of the present invention, when a component is said to be "connected", "coupled" or "connected" to another component, this is not only a direct connection relationship, but also an indirect relationship between which another component exists. Connections may also be included. In addition, when a component "includes" or "has" another component, this means that it may further include another component without excluding other components unless otherwise stated. do. In addition, components that are distinguished from each other are intended to clearly explain each characteristic, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated to form a single hardware or software unit, or a single component may be distributed to form a plurality of hardware or software units. Therefore, even such integrated or distributed embodiments are included in the scope of the present invention, even if not separately mentioned.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. At this time, it should be noted that the same components in the accompanying drawings are indicated by the same reference numerals as much as possible. In addition, detailed descriptions of well-known functions and configurations that may obscure the gist of the present invention will be omitted.
먼저, 도 1에는 본 발명에 따른 가상머신의 메모리관리장치가 적용되는 시스템을 개요적으로 도시하였다. 가상머신(VM)은 네트워크(10)를 통해 상호 연결된 복수의 컴퓨팅장치(S1, S2, S3,…,Sn) 중 어느 하나에 의해 생성될 수 있다. 각각의 컴퓨팅장치는 서로 독립적인 가상머신을 별도로 생성할 수 있으며, 특정 가상머신을 생성한 특정 컴퓨팅장치(S1)를 마스터노드(MN)로 칭하고, 마스터노드(MN)에 연결된 나머지 컴퓨팅장치(S2, S3,…,Sn)를 에이전트노드(AN)라 칭한다. 하나의 컴퓨팅장치는 자신이 생성한 가상머신에서는 마스터노드로 기능할 수 있으며, 동시에 다른 컴퓨팅장치가 생성한 다른 가상머신에서는 에이전트노드로 기능할 수 있다. 또한, 하나의 마스터노드(MN)는 복수의 가상머신(VM)을 생성할 수도 있다.First, FIG. 1 schematically illustrates a system to which an apparatus for managing a memory of a virtual machine according to the present invention is applied. The virtual machine (VM) may be created by any one of a plurality of computing devices (S1, S2, S3, ..., Sn) interconnected through the network 10. Each computing device can separately create a virtual machine independent of each other, and a specific computing device (S1) that created a specific virtual machine is referred to as a master node (MN), and the remaining computing devices (S2) connected to the master node (MN) , S3, ..., Sn) is called an agent node (AN). One computing device can function as a master node in a virtual machine created by itself, and at the same time function as an agent node in another virtual machine created by another computing device. In addition, one master node (MN) may create a plurality of virtual machines (VMs).
나아가, 마스터노드(MN)는 자신을 포함하여 다른 에이전트노드들(AN)의 컴퓨팅 자원을 이용하여 가상머신을 생성한다. 마스터노드(MN)는 자신을 포함하여 다른 에이전트노드들(AN)의 컴퓨팅 자원을 이용하여 가상머신(VM)을 생성한다. 마스터노드(MN)는 예컨대 하이퍼바이저(프로세서나 메모리와 같은 다양한 컴퓨팅 자원에서 서로 다른 각종 운영체제의 접근방법을 통제하는 얇은 계층의 소프트웨어; 20)를 이용하여 복수의 컴퓨팅장치(S1, S2, S3,…,Sn)의 컴퓨팅 자원을 가상머신(VM)에 할당할 수 있다. 이러한 컴퓨팅 자원은 여러 유형의 물리적 자원을 포함할 수 있다. 예컨대, 물리적 자원은 CPU, 메모리(예를 들어, 랜덤 액세스 메모리(Random Access Memory; RAM)), 스토리지(예를 들어, 하드디스크 또는 솔리드 스테이트 드라이브), 네트워크 I/O 장치(예를 들어, 네트워크 인터페이스 카드), 전력장치(예를 들어, 파워 브릭(Power Brick)), 냉각장치(예를 들어, 팬 또는 냉각제), 또는 기타 유형의 자원(예를 들어, 네트워크 스위치 장치)을 포함할 수 있다. Furthermore, the master node (MN) creates a virtual machine using the computing resources of other agent nodes (AN) including itself. The master node (MN) creates a virtual machine (VM) using the computing resources of other agent nodes (AN) including itself. The master node (MN) is a plurality of computing devices (S1, S2, S3, …, Sn) computing resources may be allocated to virtual machines (VMs). These computing resources may include several types of physical resources. For example, physical resources include CPU, memory (eg, Random Access Memory (RAM)), storage (eg, hard disk or solid state drive), network I/O devices (eg, network interface cards), power devices (e.g., Power Bricks), cooling devices (e.g., fans or coolants), or other types of resources (e.g., network switch devices). .
한편, 마스터노드(MN)가 생성한 가상머신(VM)의 메모리는 복수의 컴퓨팅장치(S1, S2, S3,…,Sn)에 구비된 로컬메모리들이 할당되어 하나의 가상메모리(100)로 구성된다. 그리고, 가상메모리(100)는 가상머신을 통해 서비스를 제공받는 사용자단말(미도시; 이하 '게스트")이 각각의 운영체제(Operating System) 및 응용프로그램을 구동하기 위해 필요한 크기만큼 복수의 게스트 각각에 할당될 수 있다. 즉, 가상메모리(100)는 임의의 크기를 갖는 복수의 게스트메모리영역(G1, G2, G3,…,Gm)으로 분할되어 복수의 게스트 각각에 할당된다.On the other hand, the memory of the virtual machine (VM) created by the master node (MN) is composed of one virtual memory (100) by allocating local memories provided in a plurality of computing devices (S1, S2, S3, ..., Sn). do. In addition, the virtual memory 100 is provided to each of a plurality of guests by a size required for a user terminal (not shown; hereinafter 'guest') receiving services through a virtual machine to drive each operating system and application program. That is, the virtual memory 100 is divided into a plurality of guest memory areas (G1, G2, G3, ..., Gm) having an arbitrary size and allocated to each of the plurality of guests.
가상머신(VM)을 사용하는 각 게스트의 활동 상태에 따라 특정 게스트가 사용하는 메모리 사용량이 급증하여 부족할 수 있는데, 이때 각 게스트메모리영역의 실시간 사용량에 따라 가상메모리의 크기를 가변적으로 제어할 필요가 있다. 즉, 가상메모리의 관리를 위해, 도 2에 도시한 바와 같이, 메모리관리장치(200)가 구성될 수 있다.Depending on the activity status of each guest using the virtual machine (VM), the memory usage used by a specific guest may rapidly increase and become insufficient. there is. That is, for the management of virtual memory, as shown in FIG. 2, the memory management device 200 may be configured.
도 2에서 보듯이, 가상머신(VM)의 메모리관리장치(200)는, 복수의 게스트 각각에 할당된 복수의 게스트메모리영역(G1, G2, G3,…, Gm) 각각의 실시간 사용량을 모니터링하는 가상메모리 모니터링부(210)와, 복수의 컴퓨팅장치(S1, S2, S3,…, Sn) 각각의 로컬메모리의 실시간 사용량을 모니터링하는 로컬메모리 모니터링부(220)와, 복수의 게스트 중 어느 하나에 할당된 특정 게스트메모리영역의 실시간 사용률이 기준치 이상이면 복수의 컴퓨팅장치(S1, S2, S3,…, Sn) 중 적어도 하나의 로컬메모리의 유휴메모리를 특정 게스트메모리영역에 할당하는 가상메모리관리부(230)를 포함하여 구성될 수 있다.As shown in FIG. 2, the memory management device 200 of the virtual machine (VM) monitors the real-time usage of each of a plurality of guest memory areas (G1, G2, G3, ..., Gm) allocated to each of a plurality of guests. The virtual memory monitoring unit 210, the local memory monitoring unit 220 for monitoring the real-time usage amount of the local memory of each of the plurality of computing devices (S1, S2, S3, ..., Sn), and any one of the plurality of guests If the real-time usage rate of the allocated specific guest memory area is higher than the reference value, the virtual memory management unit 230 allocates the idle memory of at least one local memory among the plurality of computing devices (S1, S2, S3, ..., Sn) to the specific guest memory area. ).
가상메모리 모니터링부(210)는, 마스터노드(MN)가 생성한 가상메모리(100)의 각 게스트메모리영역에서 게스트 운영체제(이하, 게스트OS)의 실시간 데이터 전송을 모니터링한다. 예컨대, 가상메모리 모니터링부(210)는 각각의 게스트메모리영역(G1, G2, G3,…, Gm)에서 운영되는 게스트 운영체제에 SSH(Secure Shell)와 같은 방식으로 직접 컨택하여 각 게스트메모리영역으로부터 에코 방식으로 실시간 메모리 사용량에 대한 데이터를 전송받는다. 그에 의해, 각 게스트메모리영역에서의 실시간 사용량을 산출하며, 사용중인 메모리가 할당된 게스트메모리영역의 크기 대비 일정 크기(예컨대, 80%) 이상 지속적인 사용량을 보이는 경우 메모리 추가 투입이 필요한 영역으로 판단할 수 있다.The virtual memory monitoring unit 210 monitors real-time data transmission of a guest operating system (hereinafter referred to as a guest OS) in each guest memory area of the virtual memory 100 created by the master node (MN). For example, the virtual memory monitoring unit 210 directly contacts a guest operating system operated in each guest memory area (G1, G2, G3, ..., Gm) in a method such as SSH (Secure Shell) and echoes from each guest memory area. Receives data on real-time memory usage in this way. As a result, real-time usage in each guest memory area is calculated, and if the memory in use shows a continuous usage of more than a certain size (eg, 80%) compared to the size of the allocated guest memory area, it is determined that the area requires additional memory input. can
다음으로, 에이전트노드들(AN)은 자신의 로컬메모리의 사용량에 대한 데이터 및 사용되고 있지 않은 유휴메모리의 용량에 대한 데이터를 실시간으로 마스터노드(MN)에 전송한다. 이때, 서버의 평균 부하 등을 고려하여 시간대별 데이터를 파일로 저장하고 표시하기 위하여, 시간대별 데이터를 라운드로빈 방식으로 저장하면서 저장공간을 효율적으로 사용할 수 있다. 선점형 스케쥴링의 하나로, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위(Time Quantum)로 항상하는 방식이다. 데이터 수집 방식으로는, SNMP(Simple Network Management Protocol)를 이용한 Poll 방식과, SSH(Secure Shell), TCP(Transmission Control Protocol), ICMP(Internet Control message Protocl), IPMI(Intelligent Platform Managenment Interface), Telnet, gRPC, HTTP2 등을 이용할 수 있다. 로컬메모리 모니터링부(220)는, 이와 같이 마스터노드(MN) 및 에이전트노드(AN) 간에 통신되는 실시간 데이터에 기반하여, 복수의 컴퓨팅장치(S1, S2, S3,…, Sn) 각각의 로컬메모리의 실시간 사용량 및 유휴메모리 용량을 모니터링한다.Next, the agent nodes (AN) transmit data on the amount of use of their local memory and the amount of idle memory that is not being used to the master node (MN) in real time. At this time, in order to store and display the data for each time slot in a file in consideration of the average load of the server, the storage space can be efficiently used while storing the data for each time slot in a round-robin manner. As one of preemptive scheduling, it is a method that does not prioritize between processes, but always in order by time unit (Time Quantum). Data collection methods include a poll method using SNMP (Simple Network Management Protocol), SSH (Secure Shell), TCP (Transmission Control Protocol), ICMP (Internet Control Message Protocol), IPMI (Intelligent Platform Management Interface), Telnet, You can use gRPC, HTTP2, etc. Based on the real-time data communicated between the master node (MN) and the agent node (AN), the local memory monitoring unit 220 monitors the local memory of each of the plurality of computing devices (S1, S2, S3, ..., Sn). Monitor real-time usage and idle memory capacity of
가상메모리관리부(230)는, 가상메모리 모니터링부(210)에 의해 특정 게스트메모리영역에서의 메모리 사용량이 기준치 이상인 것으로 확인되면, 로컬메모리 모니터링부(220)에 의해 확인한 복수의 컴퓨팅장치(S1, S2, S3,…, Sn)의 로컬메모리 중에서 유휴메모리로 사용 가능한 컴퓨팅장치를 특정하여 메모리를 할당할 특정 게스트메모리영역(G1 내지 Gm 중 적어도 하나) 및 유휴메모리를 사용할 특정 컴퓨팅장치(S1 내지 Sn 중 적어도 하나)에 대한 정보를 마스터노드(MN)에 전달한다. 이를 통해, 마스터노드(MN)는 하이퍼바이저(20)를 통해 유휴메모리 여유분을 특정 게스트메모리영역에 추가로 할당한다.The virtual memory management unit 230, when it is confirmed by the virtual memory monitoring unit 210 that the memory usage in a specific guest memory area is equal to or greater than the reference value, the plurality of computing devices S1 and S2 checked by the local memory monitoring unit 220. , S3, ..., Sn) by specifying a computing device that can be used as an idle memory among local memories, and a specific guest memory area (at least one of G1 to Gm) to which memory is allocated and a specific computing device to use the idle memory (of S1 to Sn). at least one) to the master node (MN). Through this, the master node (MN) additionally allocates an idle memory surplus to a specific guest memory area through the hypervisor 20 .
상술한 가상머신(VM)의 메모리관리장치(200)는 마스터노드(VM)로 기능하는 컴퓨팅장치에 직접 설치될 수도 있고, 별도의 컴퓨팅 장치로 마련되어 네트워크(10)를 통해 마스터노드(MN) 및 복수의 에이전트노드들(AN)과 연결될 수 있다.The memory management device 200 of the above-described virtual machine (VM) may be directly installed in a computing device functioning as a master node (VM), or provided as a separate computing device and is connected to the master node (MN) and It can be connected to a plurality of agent nodes (AN).
본 개시의 실시예는 모든 가능한 조합을 나열한 것이 아니고, 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.The embodiments of the present disclosure are not intended to list all possible combinations, but are intended to explain representative aspects of the present disclosure, and matters described in various embodiments may be applied independently or in combination of two or more.
또한, 본 개시의 다양한 실시예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. For hardware implementation, one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), It may be implemented by a processor (general processor), controller, microcontroller, microprocessor, or the like.
본 개시의 범위는 다양한 실시예에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어, 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행가능한 비-일시적 컴퓨터 판독가능 매체(non-transitory computer-readable medium)를 포함한다.The scope of the present disclosure is software or machine-executable instructions (eg, operating systems, applications, firmware, programs, etc.) that cause operations according to various embodiments to be executed on a device or computer, and such software or instructions, etc. and a non-transitory computer-readable medium executable on a device or computer.
Claims (5)
- 물리적으로 독립되어 네트워크를 통해 상호 연결된 복수의 컴퓨팅장치로 구성된 가상머신의 메모리관리장치로서,A memory management device for a virtual machine composed of a plurality of physically independent computing devices interconnected through a network,상기 복수의 컴퓨팅장치 중 어느 하나를 마스터노드로 하고 나머지를 에이전트노드로 할 때, 상기 마스터노드가 생성한 가상머신의 메모리는, 상기 복수의 컴퓨팅장치의 로컬메모리가 할당되어 하나의 가상메모리로 구성되고,When one of the plurality of computing devices is used as a master node and the others are used as agent nodes, the memory of the virtual machine created by the master node is allocated to the local memory of the plurality of computing devices to form one virtual memory. become,상기 가상메모리는 복수의 게스트메모리영역으로 분할되어 복수의 게스트 각각에 할당되고,The virtual memory is divided into a plurality of guest memory areas and allocated to each of a plurality of guests;상기 메모리관리장치는,The memory management device,상기 복수의 게스트 각각에 할당된 상기 복수의 게스트메모리영역 각각의 실시간 사용량을 모니터링하는 가상메모리 모니터링부와,a virtual memory monitoring unit for monitoring real-time usage of each of the plurality of guest memory areas allocated to each of the plurality of guests;상기 복수의 컴퓨팅장치 각각의 로컬메모리의 실시간 사용량 및 유휴메모리 용량을 모니터링하는 로컬메모리 모니터링부와,a local memory monitoring unit for monitoring real-time usage and idle memory capacity of the local memory of each of the plurality of computing devices;상기 복수의 게스트 중 어느 하나에 할당된 특정 게스트메모리영역의 실시간 사용률이 기준치 이상이면, 상기 복수의 컴퓨팅장치의 로컬메모리 중에서 유휴메모리로 사용가능한 적어도 하나의 컴퓨팅장치를 특정하여, 상기 특정 게스트메모리영역 및 상기 유휴메모리를 사용할 특정 컴퓨팅장치에 대한 정보를 상기 마스터노드에 전달하는 가상메모리관리부를 포함하는 것을 특징으로 하는,If the real-time usage rate of a specific guest memory area allocated to any one of the plurality of guests exceeds the reference value, at least one computing device that can be used as an idle memory among the local memories of the plurality of computing devices is specified, and the specific guest memory area and a virtual memory management unit that transmits information on a specific computing device to use the idle memory to the master node.가상머신의 메모리관리장치.Memory management unit of virtual machine.
- 제 1 항에 있어서,According to claim 1,상기 가상메모리 모니터링부는, 상기 마스터노드가 생성한 상기 가상메모리의 각 게스트메모리영역에서 게스트 운영체제의 실시간 데이터 전송을 모니터링하여 상기 게스트메모리영역에서의 실시간 사용량을 산출하는 것을 특징으로 하는,The virtual memory monitoring unit monitors real-time data transmission of a guest operating system in each guest memory area of the virtual memory created by the master node to calculate real-time usage in the guest memory area.가상머신의 메모리관리장치.Memory management unit of virtual machine.
- 제 1 항에 있어서,According to claim 1,상기 에이전트노드들은 각각의 로컬메모리의 사용량에 대한 데이터 및 사용되고 있지 않은 유휴메모리의 용량에 대한 데이터를 실시간으로 상기 마스터노드에 전송하며,The agent nodes transmit data on the amount of usage of each local memory and the amount of idle memory that is not being used to the master node in real time;상기 로컬메모리 모니터링부는 상기 마스터노드 및 상기 에이전트노드들 간에 통신되는 실시간 데이터에 기반하여 상기 복수의 컴퓨팅장치 각각의 로컬메모리의 실시간 사용량 및 유휴메모리 용량을 모니터링하는 것을 특징으로 하는,Characterized in that the local memory monitoring unit monitors real-time usage and idle memory capacity of the local memory of each of the plurality of computing devices based on real-time data communicated between the master node and the agent nodes.가상머신의 메모리관리장치.Memory management unit of virtual machine.
- 제 1 항에 있어서,According to claim 1,상기 메모리관리장치는, 상기 마스터노드로 기능하는 상기 컴퓨팅장치에 구비된 것을 특징으로 하는,Characterized in that the memory management device is provided in the computing device functioning as the master node.가상머신의 메모리관리장치.Memory management unit of virtual machine.
- 제 1 항에 있어서,According to claim 1,상기 메모리관리장치는, 상기 네트워크를 통해 상기 마스터노드 및 상기 복수의 에이전트노드들과 연결된 것을 특징으로 하는,Characterized in that the memory management device is connected to the master node and the plurality of agent nodes through the network.가상머신의 메모리관리장치.Memory management unit of virtual machine.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0152401 | 2021-11-08 | ||
KR1020210152401A KR20230067755A (en) | 2021-11-08 | 2021-11-08 | Memory management device for virtual machine |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023080339A1 true WO2023080339A1 (en) | 2023-05-11 |
Family
ID=86241708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/000417 WO2023080339A1 (en) | 2021-11-08 | 2022-01-11 | Memory management device for virtual machine |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20230067755A (en) |
TW (1) | TW202319924A (en) |
WO (1) | WO2023080339A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110050514A (en) * | 2008-08-13 | 2011-05-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | Dynamic utilization of power-down modes in multi-core memory modules |
KR20160119365A (en) * | 2015-04-03 | 2016-10-13 | 연세대학교 산학협력단 | Virtualized System |
KR20190140179A (en) * | 2018-06-11 | 2019-12-19 | 주식회사 티맥스오에스 | Container-based integrated management system |
KR20200070933A (en) * | 2018-12-10 | 2020-06-18 | 주식회사 케이티 | Apparatus and method for dynamic resource scaling in network function virtualization |
KR20210085341A (en) * | 2019-12-30 | 2021-07-08 | 주식회사 카카오 | Operating method of server providing clound computing service |
-
2021
- 2021-11-08 KR KR1020210152401A patent/KR20230067755A/en not_active Application Discontinuation
-
2022
- 2022-01-11 WO PCT/KR2022/000417 patent/WO2023080339A1/en unknown
- 2022-02-22 TW TW111106282A patent/TW202319924A/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110050514A (en) * | 2008-08-13 | 2011-05-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | Dynamic utilization of power-down modes in multi-core memory modules |
KR20160119365A (en) * | 2015-04-03 | 2016-10-13 | 연세대학교 산학협력단 | Virtualized System |
KR20190140179A (en) * | 2018-06-11 | 2019-12-19 | 주식회사 티맥스오에스 | Container-based integrated management system |
KR20200070933A (en) * | 2018-12-10 | 2020-06-18 | 주식회사 케이티 | Apparatus and method for dynamic resource scaling in network function virtualization |
KR20210085341A (en) * | 2019-12-30 | 2021-07-08 | 주식회사 카카오 | Operating method of server providing clound computing service |
Also Published As
Publication number | Publication date |
---|---|
KR20230067755A (en) | 2023-05-17 |
TW202319924A (en) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884799B2 (en) | Multi-core processor in storage system executing dynamic thread for increased core availability | |
US11895016B2 (en) | Methods and apparatus to configure and manage network resources for use in network-based computing | |
JP5689526B2 (en) | Resource affinity through dynamic reconfiguration of multiqueue network adapters | |
US11301407B2 (en) | Technologies for accelerator fabric protocol multipathing | |
US9513968B1 (en) | Dynamic resource allocation based on data transferring to a tiered storage | |
CN107995129B (en) | NFV message forwarding method and device | |
CN105426245B (en) | Dynamically composed compute node including decentralized components | |
US9348653B2 (en) | Virtual machine management among networked servers | |
JP5458308B2 (en) | Virtual computer system, virtual computer system monitoring method, and network device | |
US10897428B2 (en) | Method, server system and computer program product for managing resources | |
US7778275B2 (en) | Method for dynamically allocating network adapters to communication channels for a multi-partition computer system | |
CN103609077B (en) | Method, apparatus and system for data transmission, and physical adapter | |
US9361125B2 (en) | Dynamic reconfiguration of queue pairs | |
CN113312143A (en) | Cloud computing system, command processing method and virtualization simulation device | |
US20100064301A1 (en) | Information processing device having load sharing function | |
US20140289728A1 (en) | Apparatus, system, method, and storage medium | |
US20160253200A1 (en) | Server virtualization method of multi node system and apparatus thereof | |
WO2023080339A1 (en) | Memory management device for virtual machine | |
CN117453242A (en) | Application updating method of virtual machine, computing equipment and computing system | |
WO2016003127A1 (en) | Management system for server/storage | |
JP2010231601A (en) | Grid computing system, method and program for controlling resource | |
WO2023106503A1 (en) | Automatic scaling method and system of multi-container-based operation session on cluster | |
CN115827148A (en) | Resource management method and device, electronic equipment and storage medium | |
CN116339902A (en) | Event message management in a super converged infrastructure environment | |
CN114691296B (en) | Interrupt processing method, device, medium and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22890079 Country of ref document: EP Kind code of ref document: A1 |