WO2020222347A1 - 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 - Google Patents

가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 Download PDF

Info

Publication number
WO2020222347A1
WO2020222347A1 PCT/KR2019/006072 KR2019006072W WO2020222347A1 WO 2020222347 A1 WO2020222347 A1 WO 2020222347A1 KR 2019006072 W KR2019006072 W KR 2019006072W WO 2020222347 A1 WO2020222347 A1 WO 2020222347A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
physical server
virtual
workload
arrangement
Prior art date
Application number
PCT/KR2019/006072
Other languages
English (en)
French (fr)
Inventor
윤호영
김영광
김민준
Original Assignee
오케스트로 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오케스트로 주식회사 filed Critical 오케스트로 주식회사
Priority to US16/470,364 priority Critical patent/US11354163B2/en
Priority to CN201980000794.2A priority patent/CN112154416B/zh
Publication of WO2020222347A1 publication Critical patent/WO2020222347A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Definitions

  • the present invention relates to a virtual machine arrangement method and a virtual machine arrangement apparatus implementing the same, wherein in order to efficiently operate a first physical server and a second physical server in which a plurality of virtual machines are respectively disposed, a plurality of the virtual machines Is to be disposed on the first physical server and the second physical server.
  • the data center which accounts for about 2% of the world's electricity use, is a high-density energy-intensive building that uses the most electricity among single buildings, but it is showing inefficient operation by sticking to conservative operation that prioritizes stability.
  • a virtual machine In a virtualization environment in which physical resources (Physical Machine, PM, physical server) are composed of logical resources (Virtual Machine, VM, virtual machine), a running virtual machine can be moved to another physical machine, which is called live migration.
  • This is an essential management method for managing an efficient data center.
  • migrating there are also disadvantages such as the risk of data loss and a large portion of resources.
  • the object of the present invention is to provide a virtual machine arrangement method and a virtual machine arrangement apparatus implementing the same, which can stably manage data by reducing the number of migrations.
  • a virtual machine arrangement method includes a physical server in which a virtual machine is installed-the physical server includes a first physical server and a second physical server.
  • the first physical server stored in the storage unit
  • virtual machine workload information which is information related to the virtual machine workload, which is the load of the physical server imposed by the virtual machine, is calculated based on information related to the operation of the second physical server and a predetermined workload calculation method.
  • step Calculating initial predicted virtual load information, which is information related to an initial predicted virtual load associated with a load of a physical server predicted by the virtual machine for a first predetermined period based on the virtual machine workload; Calculating search arrangement information, which is information related to a search arrangement, which is arrangement of the virtual machines on the first physical server and the second physical server by a predetermined search arrangement calculation method; And placing the virtual machine on the first physical server and the second physical server based on the selected search arrangement, wherein the predetermined search arrangement calculation method comprises: based on the initial predicted virtual load information It may be a method of calculating the search arrangement of the virtual machine when the objective function value is minimized.
  • the objective function may include a first objective function that is a function related to an amount of change in the workload of the physical server calculated by the initial predicted virtual load during the first predetermined period.
  • the objective function may include a second objective function that is a function related to a difference between workloads of a physical server calculated by the initial predicted virtual load during the first predetermined period.
  • the objective function may include a third objective function that is a function related to the number of times the virtual machine is batch-moved on the first physical server and the second physical server in order for the virtual machine to be deployed in the search batch. have.
  • the objective function is a first objective function that is a function related to a change amount of a workload of a physical server calculated by the initial predicted virtual load during the first predetermined period, and during the first predetermined period, the initial
  • the second objective function which is a function related to the difference between the workloads of the physical server calculated by the predicted virtual load, and the virtual machine on the first physical server and the second physical server in order to deploy the virtual machine in the search arrangement
  • a third objective function that is a function related to the number of times the batch is moved may be provided.
  • the search arrangement includes the first physical server and the second physical server in which the value of the second objective function and the value of the third objective function are minimized while the value of the first objective function is minimum.
  • a first search configuration which is an arrangement of virtual machines, a first physical server and a second physical server in which values of the first objective function and the values of the third objective function are minimized while the value of the second objective function is minimum.
  • the first physical server and the second in which the values of the first objective function and the values of the second objective function are minimized when the values of the second search arrangement and the third objective function, which are the arrangement of the virtual machines on the image, are minimized.
  • a third discovery arrangement which is an arrangement of the virtual machines on a physical server, may be provided.
  • the predetermined method of calculating the workload may be a method of calculating the virtual machine workload information based only on the degree of operation of the CPU.
  • the predetermined search arrangement calculation method may be a method in which the arrangement of the virtual machine in which the workload of an arbitrary physical server is equal to or higher than an arbitrary reference is excluded as the search arrangement.
  • selection predicted virtual load information which is information related to the selected predicted virtual load associated with the predicted load of the physical server
  • It may further include determining whether the selection prediction virtual load information is normally calculated based on the actual virtual workload information, which is information related to the actual workload of the virtual machine, according to a predetermined inspection method.
  • the predetermined inspection method may be a method of determining that the selection prediction virtual load is incorrectly calculated when the actual workload of the virtual machine is different from the corresponding selection prediction virtual load by a predetermined value or more.
  • a virtual machine arrangement apparatus includes a physical server on which a virtual machine is installed, wherein the physical server includes a first physical server and a second physical server.
  • a virtual machine placement apparatus for implementing a virtual machine placement method which is a method of arranging a plurality of virtual machines on the first physical server and the second physical server, comprising: a processing unit; And a storage unit storing a program for performing the virtual machine arrangement method, wherein the virtual machine matching method includes an operation of the first physical server and the second physical server stored in the storage unit and the processing unit Calculating virtual machine workload information, which is information related to a virtual machine workload, which is a load of a physical server imposed by the virtual machine, based on the related information;
  • the processing unit is information related to the first predicted virtual load associated with the predicted physical server load imposed by the virtual machine for a first predetermined period from the time when the virtual machine workload is calculated based on the virtual machine workload.
  • Calculating initial predicted virtual load information Calculating, by the processing unit, search arrangement information, which is information related to search arrangement, which is arrangement of the virtual machines on the first physical server and the second physical server by a predetermined search arrangement calculation method; And arranging the virtual machine on the first physical server and the second physical server based on the search arrangement selected by the processing unit, wherein the predetermined search arrangement calculation method includes: It may be a method of calculating a search arrangement of the virtual machine when an objective function value is minimized based on the initial predicted virtual load information based on virtual load information.
  • the virtual machine arrangement method and the virtual machine arrangement apparatus implementing the same according to the present invention can minimize data loss.
  • data centers can be managed stably.
  • FIG. 1 is a conceptual diagram of an apparatus for arranging a virtual machine according to an embodiment of the present invention and a diagram showing a relationship between the apparatus for arranging a virtual machine and a plurality of physical servers
  • FIG. 2 is a flowchart of a virtual machine arrangement method according to an embodiment of the present invention
  • FIG. 3 is a graph for explaining an effect achieved by arranging a virtual machine in consideration of a first objective function in a method of arranging a virtual machine according to an embodiment of the present invention
  • FIG. 4 is a graph for explaining an effect achieved by arranging a virtual machine in consideration of a second objective function in a method of arranging a virtual machine according to an embodiment of the present invention
  • FIG. 5 is a graph for explaining a method of calculating a prediction error among a virtual machine arrangement method according to an embodiment of the present invention
  • a virtual machine arrangement method includes a physical server in which a virtual machine is installed-the physical server includes a first physical server and a second physical server.
  • the first physical server stored in the storage unit
  • virtual machine workload information which is information related to the virtual machine workload, which is the load of the physical server imposed by the virtual machine, is calculated based on information related to the operation of the second physical server and a predetermined workload calculation method.
  • step Calculating initial predicted virtual load information, which is information related to an initial predicted virtual load associated with a load of a physical server predicted by the virtual machine for a first predetermined period based on the virtual machine workload; Calculating search arrangement information, which is information related to a search arrangement, which is arrangement of the virtual machines on the first physical server and the second physical server by a predetermined search arrangement calculation method; And placing the virtual machine on the first physical server and the second physical server based on the selected search arrangement, wherein the predetermined search arrangement calculation method comprises: based on the initial predicted virtual load information It may be a method of calculating the search arrangement of the virtual machine when the objective function value is minimized.
  • a virtual machine arrangement apparatus includes a physical server on which a virtual machine is installed, wherein the physical server includes a first physical server and a second physical server.
  • a virtual machine placement apparatus for implementing a virtual machine placement method which is a method of arranging a plurality of virtual machines on the first physical server and the second physical server, comprising: a processing unit; And a storage unit storing a program for performing the virtual machine arrangement method, wherein the virtual machine matching method includes an operation of the first physical server and the second physical server stored in the storage unit and the processing unit Calculating virtual machine workload information, which is information related to a virtual machine workload, which is a load of a physical server imposed by the virtual machine, based on the related information;
  • the processing unit is information related to the first predicted virtual load associated with the predicted physical server load imposed by the virtual machine for a first predetermined period from the time when the virtual machine workload is calculated based on the virtual machine workload.
  • Calculating initial predicted virtual load information Calculating, by the processing unit, search arrangement information, which is information related to search arrangement, which is arrangement of the virtual machines on the first physical server and the second physical server by a predetermined search arrangement calculation method; And arranging the virtual machine on the first physical server and the second physical server based on the search arrangement selected by the processing unit, wherein the predetermined search arrangement calculation method includes: It may be a method of calculating a search arrangement of the virtual machine when an objective function value is minimized based on the initial predicted virtual load information based on virtual load information.
  • FIG. 1 is a conceptual diagram of a virtual machine arrangement apparatus 10 according to an embodiment of the present invention and a diagram showing a relationship between the virtual machine arrangement apparatus 10 and a plurality of physical servers.
  • the virtual machine arrangement apparatus 10 includes a processing unit 11 for processing predetermined information, a storage unit 12 for storing predetermined information, a receiving unit 13 for receiving predetermined information, and A transmitter 14 for transmitting predetermined information may be provided.
  • the virtual machine arrangement device 10 displays an input unit 15 for transmitting predetermined information to the receiving unit 13 by inputs from the outside and a search arrangement to be described later to transmit the search arrangement to the user.
  • the medium may further include a display unit 16.
  • the processing unit 11 may perform an operation such as processing all information necessary to implement the virtual machine matching method based on predetermined information.
  • the processing unit 11 may refer to a central processing unit.
  • the present invention is not limited thereto, and the processor 11 may include all devices or components capable of performing an operation required to implement the virtual machine arrangement method.
  • the storage unit 12 may store information (data) necessary for implementing the virtual machine arrangement method.
  • a program for performing the virtual machine arrangement method may be stored in the storage unit 12.
  • the storage unit 12 may be a hard disk as an auxiliary memory device.
  • the storage unit 12 may include all elements capable of storing information necessary for implementing the virtual machine arrangement method.
  • the storage unit 12 may be a database.
  • the receiver 13 may receive predetermined information transmitted from a physical server.
  • the receiving unit 13 may receive predetermined information related to the operation of the physical machine from a corresponding physical machine.
  • the constant transmission unit 14 may transmit predetermined information to the physical server.
  • the transmission unit 14 may transmit the control signal calculated by the processing unit 11 to the physical server.
  • the virtual machine placement apparatus 10 may transmit a control signal to each physical server so that a virtual machine running on an arbitrary physical server is migrated to another physical server.
  • the input unit 15 may be a keyboard.
  • the type of the input unit 15 is not limited thereto, and may be variously modified at a level that is obvious to a person skilled in the art.
  • the display unit 16 may be a display.
  • the present invention is not limited thereto, and the type of the display unit 16 may be variously modified at a level that is obvious to a person skilled in the art.
  • Components in the virtual machine placement apparatus 10 may be wired and/or wirelessly connected to each other.
  • the virtual machine placement device 10 may be connected to each of the physical servers by wire and/or wirelessly.
  • the physical server may mean a hardware platform on which a virtual machine can be executed.
  • the physical machine may be a conventional desktop, server computer, laptop computer or mobile phone.
  • the present invention is not limited thereto, and the physical machine may be a concept including all means by which a virtual machine can be executed.
  • the virtual machine arrangement apparatus 10 according to an embodiment of the present invention is described based on controlling and managing the first physical server 20, the second physical server 30, and the third physical server 40, Accordingly, the present invention is not limited thereto, and the number of physical servers managed and controlled by the virtual machine arranging apparatus 10 can be variously modified at a level that is obvious to a person skilled in the art.
  • the physical server is composed of a first physical server 20, a second physical server 30, and a third physical server 40, and on the first physical server 20, a virtual
  • the machine 21, the bth virtual machine 22, and the cth virtual machine 23 may be running, and the dth virtual machine 31 and the eth virtual machine 32 on the second physical server 30 ) May be running, and the fth virtual machine 41 and the gth virtual machine 42 may be running on the third physical server 40.
  • FIG. 2 is a flowchart of a method of arranging a virtual machine according to an embodiment of the present invention.
  • a method for arranging a virtual machine is a physical server in which a virtual machine is installed, and the physical server includes a first physical server and a second physical server.
  • the first physical server stored in the storage unit
  • virtual machine workload information which is information related to the virtual machine workload, which is the load of the physical server imposed by the virtual machine, is calculated based on information related to the operation of the second physical server and a predetermined workload calculation method.
  • Step (S10) related to the first predicted virtual load associated with the predicted physical server load imposed by the virtual machine for a first predetermined period from the time when the virtual machine workload is calculated based on the virtual machine workload
  • the virtual machine arrangement method may further include a step (S40) of displaying a plurality of search arrangements calculated by the predetermined search arrangement calculation method by the display unit.
  • the virtual machine arrangement method includes a step (S50) of inputting a selected search arrangement, which is one search arrangement among the search arrangements displayed by the display unit, by the input unit, and transferring information related to the selected search arrangement to the processing unit. It may contain more.
  • the virtual machine placement method is information related to a selected predicted virtual load associated with a predicted load of the physical server when the virtual machine is disposed in the first physical server and the second physical server according to the selected search placement.
  • a step (S70) of determining whether the selection prediction virtual load information is normally calculated based on the selection prediction virtual load information and the actual virtual workload information, which is information related to the actual workload of the virtual machine, according to a predetermined inspection method. Can include.
  • information related to the operation of the first physical server, information related to the operation of the second physical server, and information related to the operation of the third physical server may be stored.
  • information related to the operation of the first physical server, the second physical server, and the third physical server may be stored in the storage unit in a time series.
  • the receiving unit may receive information related to each operation from the first physical server, the second physical server, and the third physical server.
  • the information related to the operation may be information related to the operation rate of the configurations of the physical server.
  • the processing unit is a virtual machine, which is information related to a virtual machine workload, which is a load of a physical server imposed by the virtual machine by a predetermined workload calculation method based on information related to operation of each physical server stored in the storage unit.
  • Machine workload information can be calculated (S10).
  • the virtual machine workload may mean a resource load of a corresponding physical server.
  • the predetermined workload calculation method may be a method of calculating the virtual machine workload as a load imposed on a central processing unit (CPU) of the physical server when the virtual machine is operated on the physical server.
  • CPU central processing unit
  • the virtual machine workload information may be calculated based only on the degree of operation of the CPU.
  • this may mean that one virtual machine cannot be implemented on two physical servers.
  • the meaning of the workload of a physical machine means that when a plurality of virtual machines are run on one physical server, the sum of the workloads of each virtual machine is the physical server workload.
  • the processing unit is information related to the first predicted virtual load that is associated with the predicted physical server load imposed by the virtual machine for a first predetermined period from the time when the virtual machine workload information is calculated based on the virtual machine workload information.
  • Initial predicted virtual load information may be calculated (S20).
  • the reason for calculating the deployment of virtual machines is that when migration is performed based on overload at a specific point in time, it is not possible to increase the number of migrations and to stabilize the overall physical server. It may be to solve this.
  • the first predetermined period may be 3 months.
  • the present invention is not limited thereto, and the predetermined first period may be variously modified at a level that is obvious to a person skilled in the art.
  • the processing unit may perform the above-described prediction-related operation using an algorithm such as a multiple regression model, ARIMA analysis, or Deep Learning based on the virtual machine workload information.
  • an algorithm such as a multiple regression model, ARIMA analysis, or Deep Learning based on the virtual machine workload information.
  • the initial predicted virtual load may mean a workload of a virtual machine predicted for a first predetermined period from a time when the virtual machine workload information is calculated or for a first predetermined period from an arbitrary point in time.
  • the processing unit may calculate (S30) search arrangement information, which is information related to a search arrangement, which is arrangement of the virtual machines on the first physical server and the second physical server by a predetermined search arrangement calculation method.
  • the predetermined search arrangement calculation method may refer to a method of calculating a search arrangement of the virtual machine when an objective function value is minimized based on the initial predicted virtual load information.
  • the predetermined search arrangement calculation method may be a method in which an arrangement of the virtual machine in which the workload of an arbitrary physical server is equal to or higher than a predetermined criterion (a, see FIGS. 3 and 4) is excluded as the search arrangement.
  • the arbitrary criterion (a) may be 80%.
  • the present invention is not limited thereto, and the arbitrary standard may be variously modified at a level that is obvious to a person skilled in the art.
  • the objective function may include a first objective function, a second objective function, and a third objective function.
  • the processing unit may calculate three non-dominant solutions in which each objective function value has a minimum value.
  • FIG. 3 is a graph for explaining an effect achieved by arranging a virtual machine in consideration of a first objective function in a method of arranging a virtual machine according to an embodiment of the present invention.
  • the objective function may include a first objective function that is a function related to a change amount of a workload of a physical server calculated by the initial predicted virtual load during the first predetermined period.
  • FIG. 3(a) is a graph showing the workload of a first physical server, a second physical server, and a third physical server when the virtual machines are in a first batch
  • FIG. 3(b) is a graph showing a second batch of virtual machines. In this case, it is a graph showing the workload of the first physical server, the second physical server, and the third physical server.
  • the workload of each physical server can be calculated as the sum of the virtual machine workloads installed on each physical server.
  • a virtual machine a, a virtual machine b, and a virtual machine c may be disposed on a first physical server, and a virtual machine d and a virtual machine e may be disposed on the second physical server.
  • a virtual machine may be disposed, and the fth virtual machine and the gth virtual machine may be disposed on the third physical server.
  • a virtual machine a when the virtual machines are in a second arrangement, a virtual machine a may be disposed on the first physical server, and a virtual machine b, a virtual machine d, and a virtual machine f are disposed on the second physical server.
  • the c-th virtual machine, the e-th virtual machine, and the g-th virtual machine may be disposed on the third physical server.
  • the processing unit can calculate the second batch as a more suitable batch than the first batch as the search batch.
  • the change rate of the workload of the physical server is large, the workload of the physical server exceeds a certain standard for only a short period of time, and the virtual machine can be migrated (relocated).
  • the first objective function may be a function for preventing this.
  • FIG. 4 is a graph for explaining an effect achieved by arranging a virtual machine in consideration of a second objective function in a method of arranging a virtual machine according to an embodiment of the present invention.
  • the objective function may include a second objective function that is a function related to a difference between workloads of a physical server calculated by the initial predicted virtual load during the first predetermined period.
  • Fig. 4(a) is a graph showing the workload of the first physical server, the second physical server, and the third physical server when the virtual machines are in a third batch
  • Fig. 4(b) is In this case, it is a graph showing the workload of the first physical server, the second physical server, and the third physical server.
  • the processing unit can calculate the fourth batch as a more appropriate batch than the third batch as the search batch.
  • the physical servers may be compared with each other based on the average value of the workload during the first predetermined period.
  • the meaning of the second objective function may be to use the physical server evenly.
  • the objective function may include a third objective function that is a function related to the number of times the virtual machine is batch-moved on the first physical server and the second physical server in order for the virtual machine to be deployed in the search batch.
  • the third objective function may be related to the number of times the virtual machine moves between physical servers to be deployed from the current deployment of virtual machines to the search arrangement.
  • the meaning of the third objective function may be to find an arrangement that minimizes the number of movements of the virtual machine.
  • the search arrangement may mean arrangement of the virtual machines on physical machines in which each objective function is minimized.
  • the objective function is a first objective function that is a function related to a change amount of a workload of a physical server calculated by the initial predicted virtual load during the first predetermined period, and the initial predicted virtual load during the first predetermined period
  • the virtual machine is batch-moved on the first physical server and the second physical server in order to deploy the second objective function and the virtual machine in the search batch, which is a function related to the difference between the workloads of the physical server calculated by
  • a third objective function which is a function related to the number of times, may be provided.
  • the display unit may display search arrangements S40 transmitted from the processing unit.
  • the processing unit may calculate first search arrangement information that is information related to the first search arrangement, second search arrangement information that is information related to the second search arrangement, and third search arrangement information that is information related to the third search arrangement, , It is possible to transmit information about this to the display unit.
  • the values of the second objective function and the values of the third objective function are minimized while the value of the first objective function is the minimum (for example, the first physical server and the first 2 physical servers), the physical servers in which the values of the first objective function and the third objective function are minimized when the values of the first and third objective functions are minimized.
  • the values of the first objective function and the second A third search arrangement may be provided, which is the arrangement of the virtual machines on the physical servers (for example, the first physical server and the second physical server) in which the value of the objective function is minimized.
  • the display unit may display the first search arrangement, the second search arrangement, and the third search arrangement.
  • the first search arrangement, the second search arrangement, and the third search arrangement are non-dominant solutions of objective functions and may mean independent solution methods.
  • the operator may select one of the first search arrangement, the second search arrangement, and the third search arrangement through the input unit and input the selected search arrangement.
  • the input unit may calculate information related to the selected search arrangement and transmit the information to the processing unit.
  • FIG. 5 is a graph for explaining a method of calculating a prediction error among a virtual machine arrangement method according to an embodiment of the present invention.
  • the processing unit may rearrange the virtual machines on physical servers based on the selected search arrangement (S60).
  • the resources of the physical machine can be evenly utilized without being biased to one physical machine.
  • the processing unit select predicted virtual load information and the virtual machine, which are information related to the selected predicted virtual load associated with the predicted load of the physical server. It may be determined whether the selection predicted virtual load information is normally calculated based on the actual virtual workload information, which is information related to the actual workload of the users, according to a predetermined inspection method (S70).
  • the selection prediction virtual load information may be the same as the initial prediction virtual load information described above.
  • the present invention is not limited thereto, and the selected prediction virtual load information may not match the initial prediction virtual load information.
  • the processor may calculate the selection predicted virtual load information by predicting the workload of the virtual machines for a predetermined period.
  • the predetermined checking method may be a method of determining that the selected predicted virtual load is incorrectly calculated when the actual virtual workload differs from the corresponding selected predicted virtual load by a predetermined value or more.
  • FIG. 5 illustrates a first workload X10 representing a selected predicted virtual load that is a predicted workload of a virtual machine a and a second workload X20 representing an actual workload of the a virtual machine. It can be a graph.
  • the processing unit may determine that the workload of the virtual machine a is incorrectly predicted when the first workload and the second workload are different from each other by a predetermined workload (a predetermined value, X) or more.
  • Re-predicted virtual load information which is information related to re-predicted virtual load related to the load of the physical server, may be calculated (S80).
  • the processing unit may recalculate (S80) a search batch based on the re-prediction virtual load information by the above-described method of calculating a search batch, and based on this, the virtual machines may be re-arranged (S90). Can be operated on.
  • the second predetermined period may be the same as or different from the first predetermined time.
  • Such a method of arranging the virtual machine may be performed repeatedly and continuously.
  • the operator may select one search arrangement from among a plurality of search arrangements, and the processing unit may relocate the virtual machines (S90) based on the selected search arrangement. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시예에 따른 가상 머신 배치 방법은, 저장부에 저장되어 있는 제1 물리 서버와 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계; 상기 가상 머신 워크 로드를 기초로 제1 기간 동안 상기 가상 머신에 의해 예측되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계; 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보가 산출되는 단계; 및 선택된 상기 탐색 배치를 기초로 상기 가상 머신이 물리 서버상에서 재 배치되는 단계;를 포함할 수 있다.

Description

가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
본 발명은 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치에 관한 것으로서, 복 수의 가상 머신이 각각 배치된 제1 물리 서버와 제2 물리 서버를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하기 위한 것이다.
전 세계 전력사용량의 약 2%를 차지하는 데이터센터는 단일 건물 중 전력을 가장 많이 사용하는 고밀도 에너지 다소비 건물이지만, 안정성을 최우선시하는 보수적인 운영을 고수하여 비효율적인 운영 현황을 보이고 있다. 향후 사물인터넷, 빅 데이터, 클라우드 기술 등의 확산으로 인해 소규모의 데이터센터는 대규모의 데이터센터인 '하이퍼스케일', '메가' 데이터센터로 통합될 것으로 전망되는바, 인프라 확대에 따른 데이터센터 운영관리의 복잡성 또한 심화될 것으로 전망된다. 이에 불필요한 서버는 유휴 혹은 절전모드로 전환하고, 가용되는 서버를 최대한 안정적으로 운영함으로써 데이터센터 운영의 효율성을 극대화하며, 전력소비량을 줄여 운영비용 절감에 기여하기 위하여, 데이터센터에 배치된 수많은 가상 머신들의 배치를 적절하게 하는 것이 매우 중요하다.
물리적 자원(Physical Machine, PM, 물리 서버)들을 논리적 자원(Virtual Machine, VM, 가상 머신)들로 구성하는 가상화 환경에서는 구동 중인 가상 머신을 다른 물리 머신으로 이동시킬 수 있는데, 이를 라이브 마이그레이션이라고 한다. 이는 효율적인 데이터센터를 관리하는데 필수적인 관리 방법이다. 다만, 마이그레이션 할 경우 데이터 손실 위험, 리소스의 많은 부분이 차지되는 등의 단점도 있다.
여기서, 기존의 연구(일본특허공보 특허 제5827594, 2015. 10. 23, 등록)들은 특정 시점을 기준으로 임의의 물리 서버에 임계 값 이상의 부하가 걸릴 경우 마이그레이션을 하여, 부하가 걸린 물리 서버의 부하를 저감시키는 방법으로 물리 서버들 간의 균형을 맞추고 있다. 하지만, 이러한 방법은 특정 가상 머신이 마이그레이션된 서버가 과 부화될 가능성이 매우 높아지며, 이로 인해 재차 마이그레이션 과정이 실행되는 것과 같이, 많은 횟수의 마이그레이션이 실행되는 문제가 있다.
본 발명의 해결하고자 하는 과제는 상기 문제점을 해결하기 위하여, 마이그레이션의 횟수를 적게 하여 데이터를 안정적으로 관리할 수 있는, 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치를 제공하고자 한다.
다만, 본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 가상 머신 배치 방법은, 가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서, 저장부에 저장되어 있는 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계; 상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 예측되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계; 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보가 산출되는 단계; 및 선택된 상기 탐색 배치를 기초로 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 배치되는 단계;를 포함하고, 상기 미리 정해진 탐색 배치 산출 방법은, 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 탐색 배치가 산출되는 방법일 수 있다.
또한, 상기 목적 함수는, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드의 변화량과 관련된 함수인 제1 목적 함수를 구비할 수 있다.
또한, 상기 목적 함수는, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크로드들 간의 차이와 관련된 함수인 제2 목적 함수를 구비할 수 있다.
또한, 상기 목적 함수는, 상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비할 수 있다.
또한, 상기 목적 함수는, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드의 변화량과 관련된 함수인 제1 목적 함수, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드들 간의 차이와 관련된 함수인 제2 목적 함수 및 상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비할 수 있다.
또한, 상기 탐색 배치는, 상기 제1 목적 함수의 값이 최소인 상태에서 상기 제2 목적 함수의 값과 상기 제3 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제1 탐색 배치, 상기 제2 목적 함수의 값이 최소인 상태에서 상기 제1 목적 함수의 값과 상기 제3 목적 함수의 값이 최소화되는 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제2 탐색 배치 및 상기 제3 목적 함수의 값이 최소인 상태에서 상기 제1 목적 함수의 값과 상기 제2 목적 함수의 값이 최소화되는 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제3 탐색 배치를 구비할 수 있다.
또한, 상기 미리 정해진 워크 로드 산출 방법은, CPU의 가동 정도만을 기초로 상기 가상 머신 워크 로드 정보가 산출되는 방법일 수 있다.
또한, 상기 미리 정해진 탐색 배치 산출 방법은, 임의의 물리 서버의 상기 워크 로드가 임의의 기준 이상이 되는 상기 가상 머신의 배치가 상기 탐색 배치로서 제외되는 방법일 수 있다.
또한, 선택된 상기 탐색 배치에 따라 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버에 배치되는 경우, 예측되는 물리 서버의 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 가상 머신의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단하는 단계;를 더 포함할 수 있다.
또한, 상기 미리 정해진 점검 방법은 상기 가상 머신의 실제 워크 로드가 대응되는 상기 선택 예측 가상 로드와 소정 값 이상 차이 날 경우 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 방법일 수 있다.
본 발명의 일 실시예에 따른 가상 머신 배치 장치는, 가상 머신이 설치되는 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. - 를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법을 구현하는 가상 머신 배치 장치에 있어서, 처리부; 및 상기 가상 머신 배치 방법을 수행하는 프로그램이 저장된 저장부;를 포함하고, 상기 가상 머신 매치 방법은, 상기 처리부가 상기 저장부에 저장되어 있는 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보를 산출하는 단계; 상기 처리부가 상기 가상 머신 워크 로드를 기초로 상기 가상 머신 워크 로드가 산출된 시점부터 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 부과되는 예측되는 물리서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보를 산출하는 단계; 상기 처리부가 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보를 산출하는 단계; 및 상기 처리부가 선택된 상기 탐색 배치를 기초로 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 배치하는 단계;를 포함하고, 상기 미리 정해진 탐색 배치 산출 방법은, 상기 처리부가 상기 최초 예측 가상 로드 정보를 기초로 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 탐색 배치를 산출하는 방법일 수 있다.
본 발명에 따른 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치는 데이터 손실을 최소화할 수 있다.
또한, 리소스의 소요를 최소화할 수 있다.
또한, 데이터센터를 안정적으로 관리할 수 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 배치 장치의 개념도 및 상기 가상 머신 배치 장치와 복 수의 물리 서버와의 관계를 도시한 도면
도 2는 본 발명의 일 실시예에 따른 가상 머신 배치 방법의 순서도
도 3은 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제1 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프
도 4는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제2 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프
도 5는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 예측 오류를 산출하는 방법을 설명하기 위한 그래프
본 발명의 일 실시예에 따른 가상 머신 배치 방법은, 가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서, 저장부에 저장되어 있는 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계; 상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 예측되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계; 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보가 산출되는 단계; 및 선택된 상기 탐색 배치를 기초로 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 배치되는 단계;를 포함하고, 상기 미리 정해진 탐색 배치 산출 방법은, 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 탐색 배치가 산출되는 방법일 수 있다.
본 발명의 일 실시예에 따른 가상 머신 배치 장치는, 가상 머신이 설치되는 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. - 를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법을 구현하는 가상 머신 배치 장치에 있어서, 처리부; 및 상기 가상 머신 배치 방법을 수행하는 프로그램이 저장된 저장부;를 포함하고, 상기 가상 머신 매치 방법은, 상기 처리부가 상기 저장부에 저장되어 있는 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보를 산출하는 단계; 상기 처리부가 상기 가상 머신 워크 로드를 기초로 상기 가상 머신 워크 로드가 산출된 시점부터 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 부과되는 예측되는 물리서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보를 산출하는 단계; 상기 처리부가 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보를 산출하는 단계; 및 상기 처리부가 선택된 상기 탐색 배치를 기초로 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 배치하는 단계;를 포함하고, 상기 미리 정해진 탐색 배치 산출 방법은, 상기 처리부가 상기 최초 예측 가상 로드 정보를 기초로 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 탐색 배치를 산출하는 방법일 수 있다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 배치 장치(10)의 개념도 및 상기 가상 머신 배치 장치(10)와 복 수의 물리 서버와의 관계를 도시한 도면이다.
도 1을 참조하면, 본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 생략하기로 한다.
본 발명의 일 실시예에 따른 가상 머신 배치 장치(10)는 소정의 정보를 처리하는 처리부(11), 소정의 정보를 저장하는 저장부(12), 소정의 정보를 수신하는 수신부(13) 및 소정의 정보를 송신하는 송신부(14)를 구비할 수 있다.
또한, 상기 가상 머신 배치 장치(10)는 외부로부터 입력되는 것들에 의해 소정의 정보를 상기 수신부(13)로 전달하는 입력부(15) 및 후술하는 탐색 배치를 표시하여 상기 탐색 배치를 사용자에게 전달하는 매개체는 표시부(16)를 더 포함할 수 있다.
상기 처리부(11)는 소정의 정보를 기초로서 상기 가상 머신 매치 방법이 구현되는데 필요한 모든 정보 처리와 같은 연산을 수행할 수 있다.
일례로, 상기 처리부(11)는 중앙처리장치를 의미할 수 있다.
다만, 이에 한정하지 않고 상기 처리부(11)는 상기 가상 머신 배치 방법이 구현되는데 필요한 연산을 수행할 수 있는 모든 장치 혹은 부품을 포함할 수 있다.
상기 저장부(12)는 상기 가상 머신 배치 방법이 구현되는데 필요한 정보(데이터)가 저장되어 있을 수 있다.
상기 저장부(12)에는 상기 가상 머신 배치 방법을 수행하는 프로그램이 저장되어 있을 수 있다.
일례로, 상기 저장부(12)는 보조기억장치로서 하드디스크일 수 있다.
다만, 이에 한정하지 않고 상기 저장부(12)는 상기 가상 머신 배치 방법이 구현되는데 필요한 정보가 저장될 수 있는 모든 요소를 포함할 수 있다.
일례로, 상기 저장부(12)는 데이터베이스일 수 있다.
상기 수신부(13)는 물리 서버로부터 전달되는 소정의 정보를 수신할 수 있다.
상기 수신부(13)는 상기 물리 머신의 작동과 관련된 소정의 정보를 대응되는 물리 머신으로부터 전달받을 수 있다.
상시 송신부(14)는 상기 물리 서버로 소정의 정보를 전달할 수 있다.
상기 송신부(14)는 상기 처리부(11)가 산출한 제어 신호를 상기 물리 서버로 전달할 수 있다.
이로 인해 상기 가상 머신 배치 장치(10)는 임의의 물리 서버에 상에서 구동되는 가상 머신을 다른 물리 서버로 마이그레이션되도록, 각 각의 물리 서버에 제어 신호를 전달할 수 있다.
일례로, 상기 입력부(15)는 키보드일 수 있다.
다만, 이에 한정하지 않고 상기 입력부(15)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
일례로, 상기 표시부(16)는 디스플레이일 수 있다.
다만, 이에 한정하지 않고 상기 표시부(16)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
상기 가상 머신 배치 장치(10) 내의 구성은 서로 유선 및/또는 무선으로 연결될 수 있다.
상기 가상 머신 배치 장치(10)는 각 각의 상기 물리 서버와 유선 및/또는 무선으로 연결될 수 있다.
물리 서버는 가상 머신이 실행될 수 있는 하드웨어 플랫폼을 의미할 수 있다.
일례로, 상기 물리 머신은 통상적인 데스크톱, 서버 컴퓨터, 랩톱 컴퓨터 또는 휴대 전화 등과 같은 것일 수 있다.
다만, 이에 한정하지 않고 상기 물리 머신은 가상 머신이 실행될 수 있는 모든 수단을 포함하는 개념일 수 있다.
본 발명의 일 실시예에 따른 가상 머신 배치 장치(10)는 제1 물리 서버(20), 제2 물리 서버(30) 및 제3 물리 서버(40)를 통제하고 관리하는 것을 기준으로 설명하나, 이에 본 발명이 한정되는 것은 아니고, 상기 가상 머신 배치 장치(10)가 관리 및 통제하는 물리 서버의 개수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
도 1에 도시된 것에 따르면, 물리 서버는 제1 물리 서버(20), 제2 물리 서버(30) 및 제3 물리 서버(40)로 이루어지며, 상기 제1 물리 서버(20) 상에서는 제a 가상 머신(21), 제b 가상 머신(22) 및 제c 가상 머신(23)이 구동되고 있을 수 있으며, 상기 제2 물리 서버(30) 상에는 제d 가상 머신(31) 및 제e 가상 머신(32)이 구동되고 있을 수 있으며, 상기 제3 물리 서버(40) 상에는 제f 가상 머신(41) 및 제g 가상 머신(42)이 구동되고 있을 수 있다.
이하, 가상 머신 배치 장치(10)를 이용하여 구현되는 가상 머신 배치 방법에 대해서 자세하게 서술하도록 한다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 배치 방법의 순서도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 가상 머신 배치 방법은 가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서, 저장부에 저장되어 있는 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계(S10), 상기 가상 머신 워크 로드를 기초로 상기 가상 머신 워크 로드가 산출된 시점부터 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 부과되는 예측되는 물리서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계(S20), 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보가 산출되는 단계(S30) 및 선택된 상기 탐색 배치를 기초로 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 배치되는 단계(S60)를 포함할 수 있다.
또한, 상기 가상 머신 배치 방법은 상기 미리 정해진 탐색 배치 산출 방법에 의해 산출된 복수의 탐색 배치가 상기 표시부에 의해 표시되는 단계(S40)를 더 포함할 수 있다.
또한, 상기 가상 머신 배치 방법은 상기 표시부에 의해 표시된 상기 탐색 배치 중에서 하나의 탐색 배치인 선택된 탐색 배치가 상기 입력부에 의해 입력되어, 선택된 탐색 배치와 관련된 정보가 상기 처리부로 전달되는 단계(S50)를 더 포함할 수 있다.
또한, 상기 가상 머신 배치 방법은 선택된 상기 탐색 배치에 따라 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버에 배치되는 경우, 예측되는 물리 서버의 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 가상 머신의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단하는 단계(S70)를 더 포함할 수 있다.
상기 저장부에는 상기 제1 물리 서버의 작동과 관련된 정보, 상기 제2 물리 서버의 작동과 관련된 정보 및 상기 제3 물리 서버의 작동과 관련된 정보가 저장되어 있을 수 있다.
일례로, 상기 제1 물리 서버, 상기 제2 물리 서버 및 상기 제3 물리 서버의 작동과 관련된 정보는 시계열적으로 상기 저장부에 저장되어 있을 수 있다.
이를 위해 상기 제1 물리 서버, 상기 제2 물리 서버 및 상기 제3 물리 서버로부터 각 각의 작동과 관련된 정보를 상기 수신부가 전달받을 수 있다.
일례로, 작동과 관련된 정보는 물리 서버의 구성들의 가동률과 관련된 정보 일 수도 있다.
상기 처리부는 상기 저장부에 저장된 각 각의 물리 서버들의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보를 산출(S10)할 수 있다.
가상 머신 워크 로드는 가상 머신이 물리 서버 상에서 구동되는 경우, 해당 물리 서버의 리소스의 부하를 의미할 수 있다.
상기 미리 정해진 워크 로드 산출 방법은 상기 가상 머신 워크 로드는 상기 가상 머신이 상기 물리 서버에서 동작되는 것에 의해 상기 물리 서버의 중앙처리장치(CPU)에 부과되는 부하로서 산출되는 방법일 수 있다.
즉, 상기 미리 정해진 워크 로드 산출 방법은 CPU의 가동 정도만을 기초로 상기 가상 머신 워크 로드 정보가 산출될 수 있다.
또한, 상기 미리 정해진 워크 로드 산출 방법 상에서는 하나의 가상 머신은 하나의 물리 서버 상에서만 실행될 수 없다고 가정할 수 있다.
일례로, 이는 하나의 가상 머신은 두 개의 물리 서버 상에서 구현될 수 없다는 것을 의미할 수 있다.
또한, 상기 미리 정해진 워크 로드 산출 방법 상에서, 물리 머신의 워크 로드라는 것의 의미는 복 수의 가상 머신이 하나의 물리 서버 상에서 구동될 경우, 각 각의 가상 머신 워크 로드의 합이 물리 서버 워크 로드인 것으로 산출될 수 있다.
이는, 후술하는 예측하는데 필요한 기초 데이터를 단순화 함으로써, 후술하는 단계에서 예측의 정확도를 더욱 상승시킬 수 있다.
상기 처리부는 상기 가상 머신 워크 로드 정보를 기초로 상기 가상 머신 워크 로드 정보 산출 시점에서부터 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 부과되는 예측되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보를 산출(S20)할 수 있다.
미리 정해진 기간 동안의 예측 로드를 기준으로 후술하는 가상 머신의 배치를 산출하는 이유로는, 특정 시점의 과부화를 기초로 마이그레이션을 할 경우, 마이그레이션의 횟수 증가 및 전반적인 물리 서버의 안정화를 구현할 수 없는 바, 이를 해결하기 위함일 수 있다.
일례로, 미리 정해진 제1 기간은 3 개월일 수 있다.
다만, 이에 본 발명이 한정되는 것은 아니고 상기 미리 정해진 제1 기간은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
일례로, 상기 처리부는 상기 가상 머신 워크 로드 정보를 기초로 다중회귀모형, ARIMA 분석 또는 Deep Learning과 같은 알고리즘을 활용하여 상술한 예측과 관련된 연산을 수행할 수 있다.
이는, 통상의 기술자에게 자명한 기술로서 이에 대한 자세한 설명은 생략될 수 있다.
최초 예측 가상 로드란 상기 가상 머신 워크 로드 정보 산출 시점에서부터 미리 정해진 제1 기간 동안 또는 임의의 시점에서부터 미리 정해진 제1 기간 동안 예측되는 가상 머신의 워크 로드를 의미할 수 있다.
상기 처리부는 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보를 산출(S30)할 수 있다.
여기서, 상기 미리 정해진 탐색 배치 산출 방법은, 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 탐색 배치가 산출되는 방법을 의미할 수 있다.
상기 미리 정해진 탐색 배치 산출 방법은 임의의 물리 서버의 상기 워크 로드가 임의의 기준(a, 도 3 및 도 4 참조) 이상이 되는 상기 가상 머신의 배치가 상기 탐색 배치로서 제외되는 방법일 수 있다.
여기서, 임의의 기준(a)은 80%일 수 있다.
다만, 이에 한정하지 않고 상기 임의의 기준은 통상의 기술자에게 자명한 수준에서 다양하게 변형될 수 있다.
또한, 상기 목적 함수는 제1 목적 함수, 제2 목적 함수 및 제3 목적 함수를 구비할 수 있다.
상기 처리부는 각 각의 목적 함수 값들이 최소 값을 갖는 비 지배해 3 개를 산출할 수 있다.
이하, 상기 미리 정해진 탐색 배치 산출 방법에 대해서 자세하게 서술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제1 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프이다.
도 3을 참조하면, 상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드의 변화량과 관련된 함수인 제1 목적 함수를 구비할 수 있다.
도 3(a)는 가상 머신들이 제1 배치일 경우 제1 물리 서버, 제2 물리 서버 및 제3 물리 서버의 워크 로드를 도시한 그래프이고, 도 3(b)는 가상 머신들이 제2 배치일 경우 제1 물리 서버, 제2 물리 서버 및 제3 물리 서버의 워크 로드를 도시한 그래프이다.
각 각의 물리 서버의 워크 로드는 각 물리 서버에 설치된 가상 머신 워크 로드들의 합으로 산출될 수 있음을 상술된 내용에서 확인할 수 있다.
일례로, 상기 가상 머신들이 제1 배치일 경우, 제1 물리 서버에는 제a 가상 머신, 제b 가상 머신 및 제c 가상 머신이 배치될 수 있고, 제2 물리 서버에는 제d 가상 머신 및 제e 가상 머신이 배치될 수 있고, 제3 물리 서버에는 제f 가상 머신 및 제g 가상 머신이 배치될 수 있다.
일례로, 상기 가상 머신들이 제2 배치일 경우, 상기 제1 물리 서버에는 제a 가상 머신이 배치될 수 있고, 제2 물리 서버에는 제b 가상 머신, 제d 가상 머신 및 제f 가상 머신이 배치될 수 있고, 제3 물리 서버에는 제c 가상 머신, 제e 가상 머신 및 제g 가상 머신이 배치될 수 있다.
이에, 본 발명이 한정되는 것은 아니고 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
도 3(a) 및 도 3(b)를 참조하면, 가상 머신이 제1 배치로 배치될 경우 모든 물리 서버의 워크 로드가 임의의 기준 이하가 되며, 가상 머신이 제2 배치로 배치될 경우 모든 물리 서버의 워크 로드가 임의의 기준 이하가 되는 것을 확인할 수 있다.
다만, 가상 머신이 제2 배치일 경우, 가상 머신이 제1 배치일 경우보다 각 각의 물리 서버의 워크 로드의 변화량(기울기)가 더 작은 것을 확인할 수 있다.
따라서, 상기 처리부는 탐색 배치로서 제1 배치보다 제2 배치가 더욱 적절한 배치로서 산출할 수 있다.
만일 물리 서버의 워크 로드의 변화율이 크다면, 짧은 시간 동안만 물리 서버의 워크 로드가 임의의 기준이 넘어, 가상 머신의 마이그레이션(이전)이 이루어질 수 있다.
이럴 경우, 앞서 상술한 가상 머신의 잦은 마이그레이션이 발생될 수 있으므로, 가상 머신의 데이터 손실의 위험성이 더욱 높아질 수 있다.
제1 목적 함수는 이를 예방하기 위한 함수일 수 있다.
도 4는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 제2 목적 함수를 고려한 가상 머신 배치로서 달성되는 효과를 설명하기 위한 그래프이다.
도 4를 참조하면, 상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드들 간의 차이와 관련된 함수인 제2 목적 함수를 구비할 수 있다.
도 4(a)는 가상 머신들이 제3 배치일 경우 제1 물리 서버, 제2 물리 서버 및 제3 물리 서버의 워크 로드를 도시한 그래프이고, 도 4(b)는 가상 머신들이 제4 배치일 경우 제1 물리 서버, 제2 물리 서버 및 제3 물리 서버의 워크 로드를 도시한 그래프이다.
도 4(a) 및 도 4(b)를 참조하면, 상기 가상 머신들이 제3 배치일 경우 모든 물리 서버의 워크 로드가 임의의 기준 이하가 되며, 가상 머신이 제4 배치로 배치될 경우 모든 물리 서버의 워크 로드가 임의의 기준 이하가 되는 것을 확인할 수 있다.
다만, 가상 머신이 제4 배치일 경우, 상기 가상 머신이 제3 배치일 경우보다 각 각의 물리 서버의 워크 로드들 간의 차이가 더 작은 것을 확인할 수 있다.
따라서, 상기 처리부는 탐색 배치로서 제3 배치보다 제4 배치가 더욱 적절한 배치로서 산출할 수 있다.
여기서, 물리 서버들 간의 워크 로드를 비교하기 위해서, 상기 미리 정해진 제1 기간 동안의 워크 로드의 평균 값을 기초로 물리 서버들 간에 서로 비교될 수 있다.
제2 목적 함수의 의미는 물리 서버를 고르게 활용하고자 함일 수 있다.
상기 목적 함수는 상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비할 수 있다.
다시 말하면, 상기 제3 목적 함수는 현재의 가상 머신들의 배치에서 탐색 배치로 배치되기 위하여 물리 서버들 사이에서 가상 머신의 이동 횟수와 관련될 수 있다.
상기 제3 목적 함수의 의미는, 상기 가상 머신의 이동 횟수를 최소하는 배치를 찾고자 함일 수 있다.
탐색 배치란 각 각의 목적 함수가 최소화 되는 물리 머신들 상에서의 상기 가상 머신의 배치를 의미할 수 있다.
상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드의 변화량과 관련된 함수인 제1 목적 함수, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드들 간의 차이와 관련된 함수인 제2 목적 함수 및 상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비할 수 있다.
상기 표시부는 상기 처리부에서 전달되는 탐색 배치(S40)들을 표시할 수 있다.
상기 처리부는 제1 탐색 배치와 관련된 정보인 제1 탐색 배치 정보, 상기 제2 탐색 배치와 관련된 정보인 제2 탐색 배치 정보 및 제3 탐색 배치와 관련된 정보인 제3 탐색 배치 정보를 산출할 수 있으며, 이에 대한 정보를 상기 표시부에 전달할 수 있다.
상기 탐색 배치는 상기 제1 목적 함수의 값이 최소인 상태에서 상기 제2 목적 함수의 값과 상기 제3 목적 함수의 값이 최소화되는 상기 물리 서버들(일례로, 상기 제1 물리 서버와 상기 제2 물리 서버) 상의 상기 가상 머신의 배치인 제1 탐색 배치, 상기 제2 목적 함수의 값이 최소인 상태에서 상기 제1 목적 함수의 값과 상기 제3 목적 함수의 값이 최소화되는 상기 물리 서버들(일례로, 제1 물리 서버와 상기 제2 물리 서버) 상의 상기 가상 머신의 배치인 제2 탐색 배치 및 상기 제3 목적 함수의 값이 최소인 상태에서 상기 제1 목적 함수의 값과 상기 제2 목적 함수의 값이 최소화되는 상기 물리 서버들(일례로, 제1 물리 서버와 상기 제2 물리 서버) 상의 상기 가상 머신의 배치인 제3 탐색 배치를 구비할 수 있다.
상기 표시부는 상기 제1 탐색 배치, 상기 제2 탐색 배치 및 제3 탐색 배치를 표시할 수 있다.
상기 제1 탐색 배치, 상기 제2 탐색 배치 및 제3 탐색 배치는 목적 함수들의 비 지배해로서 서로 독립적인 해결 방법을 의미할 수 있다.
작업자는 입력부를 통해 상기 제1 탐색 배치, 상기 제2 탐색 배치 및 제3 탐색 배치 중 하나의 탐색 배치를 선택하여, 선택한 탐색 배치를 입력할 수 있다.
상기 입력부는 선택된 탐색 배치와 관련된 정보를 산출하여 해당 정보를 상기 처리부로 전달할 수 있다.
도 5는 본 발명의 일 실시예에 따른 가상 머신 배치 방법 중에서 예측 오류를 산출하는 방법을 설명하기 위한 그래프이다.
상기 처리부는 선택된 상기 탐색 배치를 기초로 상기 가상 머신들을 물리 서버들 상에서 재 배치(S60)할 수 있다.
이러한 방법을 통해 상기 물리 머신의 자원이 일 물리 머신으로 치우치지 않고 고르게 활용될 수 있다.
또한, 상기 처리부는 선택된 상기 탐색 배치에 따라 상기 가상 머신이 상기 물리 서버들 상에 배치된 후, 예측되는 물리 서버의 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 상기 가상 머신들의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단(S70)할 수 있다.
여기서, 선택 예측 가상 로드 정보는 상술한 최초 예측 가상 로드 정보와 동일할 수 있다.
다만, 이에 한정하지 않고 상기 선택 예측 가상 로드 정보는 최초 예측 가상 로드 정보와 일치되지 않을 수 있다.
이와 같을 경우, 상기 처리부는 선택된 상기 탐색 배치에 따라 상기 가상 머신들을 배치한 후, 소정 기간 동안의 상기 가상 머신들의 워크 로드를 예측하여 상기 선택 예측 가상 로드 정보를 산출할 수 있다.
상기 미리 정해진 점검 방법은 상기 실제 가상 워크 로드가 대응되는 상기 선택 예측 가상 로드와 소정 값 이상 차이 날 경우 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 방법일 수 있다.
구체적인 일례로서, 도 5는 제a 가상 머신의 예측되는 워크 로드인 선택 예측 가상 로드를 나타내는 제1 워크 로드(X10)와 제a 가상 머신의 실제 워크 로드를 나타내는 제2 워크 로드(X20)에 대한 그래프일 수 있다.
상기 처리부는 상기 제1 워크 로드와 상기 제2 워크 로드가 소정 워크 로드(소정 값, X) 이상 차이날 경우 상기 제a 가상 머신의 워크 로드가 잘못 예측되었다고 판단할 수 있다.
상기 처리부가 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 경우, 상기 처리부는 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 시점인 재 판단 시점부터 미리 정해진 제2 기간 동안, 상기 가상 머신에 의해 예측되는 물리 서버의 부하와 연관된 재 예측 가상 로드와 관련된 정보인 재 예측 가상 로드 정보를 산출(S80)할 수 있다.
상기 처리부는 상기 재 예측 가상 로드 정보를 기초로 상술한 미리 정해진 탐색 배치 산출 방법에 의해 탐색 배치를 재 산출(S80)할 수 있으며, 이를 기초로 가상 머신들이 재 배치(S90)될 수 있도록, 소정의 연산을 할 수 있다.
이에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.
여기서, 미리 정해진 제2 기간은 상술한 상기 미리 정해진 제1 시간과 동일할 수도 있고 상이할 수도 있다.
이와 같은 상기 가상 머신 배치 방법은 반복 연속적으로 이루어질 수 있다.
상기 가상 머신들이 재 배치(S90)되기 위하여 작업자는 복 수의 탐색 배치들 중에 하나의 탐색 배치를 선택할 수 있으며, 상기 처리부는 선택된 탐색 배치를 기초로 상기 가상 머신들을 재 배치(S90) 할 수 있다.
이에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.

Claims (11)

  1. 가상 머신이 설치된 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. -를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법에 있어서,
    저장부에 저장되어 있는 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보가 산출되는 단계;
    상기 가상 머신 워크 로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 예측되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보가 산출되는 단계;
    미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보가 산출되는 단계; 및
    선택된 상기 탐색 배치를 기초로 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 배치되는 단계;를 포함하고,
    상기 미리 정해진 탐색 배치 산출 방법은,
    상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 탐색 배치가 산출되는 방법인,
    가상 머신 배치 방법.
  2. 제1항에 있어서,
    상기 목적 함수는,
    상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드의 변화량과 관련된 함수인 제1 목적 함수를 구비하는,
    가상 머신 배치 방법.
  3. 제1항에 있어서,
    상기 목적 함수는,
    상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드들 간의 차이와 관련된 함수인 제2 목적 함수를 구비하는,
    가상 머신 배치 방법.
  4. 제1항에 있어서,
    상기 목적 함수는,
    상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비하는,
    가상 머신 배치 방법.
  5. 제1항에 있어서,
    상기 목적 함수는,
    상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드의 변화량과 관련된 함수인 제1 목적 함수, 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 워크 로드들 간의 차이와 관련된 함수인 제2 목적 함수 및 상기 가상 머신이 상기 탐색 배치로 배치되기 위해서 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 상기 가상 머신이 배치 이동되는 횟수와 관련된 함수인 제3 목적 함수를 구비하는,
    가상 머신 배치 방법.
  6. 제5항에 있어서,
    상기 탐색 배치는,
    상기 제1 목적 함수의 값이 최소인 상태에서 상기 제2 목적 함수의 값과 상기 제3 목적 함수의 값이 최소화되는 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제1 탐색 배치,
    상기 제2 목적 함수의 값이 최소인 상태에서 상기 제1 목적 함수의 값과 상기 제3 목적 함수의 값이 최소화되는 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제2 탐색 배치 및
    상기 제3 목적 함수의 값이 최소인 상태에서 상기 제1 목적 함수의 값과 상기 제2 목적 함수의 값이 최소화되는 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 제3 탐색 배치를 구비하는,
    가상 머신 배치 방법.
  7. 제6항에 있어서,
    상기 미리 정해진 워크 로드 산출 방법은,
    CPU의 가동 정도만을 기초로 상기 가상 머신 워크 로드 정보가 산출되는 방법인,
    가상 머신 배치 방법.
  8. 제7항에 있어서,
    상기 미리 정해진 탐색 배치 산출 방법은,
    임의의 물리 서버의 상기 워크 로드가 임의의 기준 이상이 되는 상기 가상 머신의 배치가 상기 탐색 배치로서 제외되는 방법인,
    가상 머신 배치 방법.
  9. 제1항에 있어서,
    선택된 상기 탐색 배치에 따라 상기 가상 머신이 상기 제1 물리 서버와 상기 제2 물리 서버에 배치되는 경우, 예측되는 물리 서버의 부하와 연관된 선택 예측 가상 로드와 관련된 정보인 선택 예측 가상 로드 정보와 가상 머신의 실제 워크 로드와 관련된 정보인 실제 가상 워크 로드 정보를 기초로 미리 정해진 점검 방법에 따라 상기 선택 예측 가상 로드 정보가 정상적으로 산출되었는지 여부를 판단하는 단계;를 더 포함하는,
    가상 머신 배치 방법.
  10. 제9항에 있어서,
    상기 미리 정해진 점검 방법은,
    상기 가상 머신의 실제 워크 로드가 대응되는 상기 선택 예측 가상 로드와 소정 값 이상 차이 날 경우 상기 선택 예측 가상 로드가 잘못 산출되었다고 판단하는 방법인,
    가상 머신 배치 방법.
  11. 가상 머신이 설치되는 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함. - 를 효율적으로 운용하기 위하여, 복 수의 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에 배치하는 방법인 가상 머신 배치 방법을 구현하는 가상 머신 배치 장치에 있어서,
    처리부; 및
    상기 가상 머신 배치 방법을 수행하는 프로그램이 저장된 저장부;를 포함하고,
    상기 가상 머신 매치 방법은,
    상기 처리부가 상기 저장부에 저장되어 있는 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법에 의해 상기 가상 머신에 의해 부과되는 물리 서버의 부하인 가상 머신 워크 로드와 관련된 정보인 가상 머신 워크 로드 정보를 산출하는 단계;
    상기 처리부가 상기 가상 머신 워크 로드를 기초로 상기 가상 머신 워크 로드가 산출된 시점부터 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 예측되는 물리 서버의 부하와 연관된 최초 예측 가상 로드와 관련된 정보인 최초 예측 가상 로드 정보를 산출하는 단계;
    상기 처리부가 미리 정해진 탐색 배치 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신의 배치인 탐색 배치와 관련된 정보인 탐색 배치 정보를 산출하는 단계; 및
    상기 처리부가 선택된 상기 탐색 배치를 기초로 상기 가상 머신을 상기 제1 물리 서버와 상기 제2 물리 서버 상에서 배치하는 단계;를 포함하고,
    상기 미리 정해진 탐색 배치 산출 방법은,
    상기 처리부가 상기 최초 예측 가상 로드 정보를 기초로 목적 함수 값이 최소화될 때의 상기 가상 머신의 탐색 배치를 산출하는 방법인,
    가상 머신 배치 장치.
PCT/KR2019/006072 2019-04-29 2019-05-21 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 WO2020222347A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/470,364 US11354163B2 (en) 2019-04-29 2019-05-21 Virtual machine placement method and virtual machine placement device implementing the same
CN201980000794.2A CN112154416B (zh) 2019-04-29 2019-05-21 虚拟机配置方法以及用于实施该方法的虚拟机配置装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190049976A KR102062157B1 (ko) 2019-04-29 2019-04-29 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR10-2019-0049976 2019-04-29

Publications (1)

Publication Number Publication Date
WO2020222347A1 true WO2020222347A1 (ko) 2020-11-05

Family

ID=69155391

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/006072 WO2020222347A1 (ko) 2019-04-29 2019-05-21 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치

Country Status (4)

Country Link
US (1) US11354163B2 (ko)
KR (1) KR102062157B1 (ko)
CN (1) CN112154416B (ko)
WO (1) WO2020222347A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403625B1 (ko) * 2021-10-15 2022-05-30 오케스트로 주식회사 물리 서버 성능 저하를 고려하여 가상 머신 예측 관리를 구현한 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102403632B1 (ko) * 2021-10-15 2022-05-30 오케스트로 주식회사 핫 스팟을 고려하여 가상 머신의 예측 마이그레이션을 구현한 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102381570B1 (ko) * 2021-10-21 2022-04-01 오케스트로 주식회사 예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170787A (ja) * 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
KR20120023703A (ko) * 2009-06-01 2012-03-13 후지쯔 가부시끼가이샤 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
JP2012159928A (ja) * 2011-01-31 2012-08-23 Internatl Business Mach Corp <Ibm> 情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体
JP2014006739A (ja) * 2012-06-25 2014-01-16 Fujitsu Ltd プログラム、管理サーバおよび仮想マシン移動制御方法
KR101867487B1 (ko) * 2016-12-23 2018-07-18 경희대학교 산학협력단 클라우드 환경에서 퍼지기반의 마이그레이션 시스템 및 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868114B2 (en) * 2001-01-18 2005-03-15 The Titan Corporation Interference suppression in a spread spectrum communications system using non-linear frequency domain excision
AU2002255806A1 (en) * 2001-03-20 2002-10-08 Dealigence Inc. Negotiating platform
JP2007183883A (ja) * 2006-01-10 2007-07-19 Fujitsu Ltd 資源計画作成プログラム、該プログラムを記録した記録媒体、資源計画作成装置、および資源計画作成方法
JP5412926B2 (ja) * 2009-04-02 2014-02-12 日本電気株式会社 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
JP2011186701A (ja) * 2010-03-08 2011-09-22 Nec Corp リソース割当装置、リソース割当方法、およびリソース割当プログラム
JP5785050B2 (ja) * 2011-10-27 2015-09-24 株式会社日立製作所 情報処理システム、その省電力制御方法、及び装置
US9116181B2 (en) * 2011-12-29 2015-08-25 Huawei Technologies Co., Ltd. Method, apparatus, and system for virtual cluster integration
US8862744B2 (en) * 2012-02-14 2014-10-14 Telefonaktiebolaget L M Ericsson (Publ) Optimizing traffic load in a communications network
US20140019964A1 (en) * 2012-07-13 2014-01-16 Douglas M. Neuse System and method for automated assignment of virtual machines and physical machines to hosts using interval analysis
SG10201907682RA (en) * 2012-10-05 2019-10-30 Mould Diane System and method for providing patient-specific dosing as a function of mathematical models
CN103822097B (zh) * 2012-11-16 2016-11-16 国际商业机器公司 在流体输送管道中估计负压波的波速的方法及装置
US10318881B2 (en) * 2013-06-28 2019-06-11 D-Wave Systems Inc. Systems and methods for quantum processing of data
CN104461728B (zh) * 2013-09-18 2019-06-14 Sap欧洲公司 迁移事件调度管理的计算机系统、介质和方法
CN107428568A (zh) * 2015-03-26 2017-12-01 皇家飞利浦有限公司 控制水的单向pH调节中电极的再生
JP2017228881A (ja) * 2016-06-21 2017-12-28 富士通株式会社 ネットワーク評価プログラム、ネットワーク評価方法、及び、ネットワーク評価装置
CN107562512B (zh) * 2016-07-01 2020-06-26 华为技术有限公司 一种迁移虚拟机的方法、装置及系统
US10949492B2 (en) * 2016-07-14 2021-03-16 International Business Machines Corporation Calculating a solution for an objective function based on two objective functions
CN106598733A (zh) * 2016-12-08 2017-04-26 南京航空航天大学 一种云计算能耗关键的三维度虚拟资源调度方法
US10636141B2 (en) * 2017-02-09 2020-04-28 Siemens Healthcare Gmbh Adversarial and dual inverse deep learning networks for medical image analysis
JP6568175B2 (ja) * 2017-10-20 2019-08-28 ヤフー株式会社 学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム
CN107967179B (zh) * 2017-12-12 2021-08-06 山东省计算中心(国家超级计算济南中心) 一种支持突发应急的云计算资源分配方法
CN108469983B (zh) * 2018-04-02 2021-10-19 西南交通大学 一种云环境下的基于粒子群算法的虚拟机部署方法
JP7070051B2 (ja) * 2018-04-27 2022-05-18 日本電信電話株式会社 計算装置、計算方法及びプログラム
US20200019841A1 (en) * 2018-07-12 2020-01-16 Vmware, Inc. Neural network model for predicting usage in a hyper-converged infrastructure

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120023703A (ko) * 2009-06-01 2012-03-13 후지쯔 가부시끼가이샤 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
JP2011170787A (ja) * 2010-02-22 2011-09-01 Nippon Telegraph & Telephone West Corp リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
JP2012159928A (ja) * 2011-01-31 2012-08-23 Internatl Business Mach Corp <Ibm> 情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体
JP2014006739A (ja) * 2012-06-25 2014-01-16 Fujitsu Ltd プログラム、管理サーバおよび仮想マシン移動制御方法
KR101867487B1 (ko) * 2016-12-23 2018-07-18 경희대학교 산학협력단 클라우드 환경에서 퍼지기반의 마이그레이션 시스템 및 방법

Also Published As

Publication number Publication date
CN112154416B (zh) 2024-03-29
CN112154416A (zh) 2020-12-29
KR102062157B1 (ko) 2020-01-03
US11354163B2 (en) 2022-06-07
US20220050716A1 (en) 2022-02-17

Similar Documents

Publication Publication Date Title
WO2015020471A1 (en) Method and apparatus for distributing data in hybrid cloud environment
WO2020222347A1 (ko) 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
WO2018076868A1 (zh) 一种数据同步方法、装置、系统、存储介质和服务器
WO2021060609A1 (ko) 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 모델 제공 방법
WO2015008971A1 (en) Mobile terminal and method of determining and displaying power efficiency of an application
WO2018076840A1 (zh) 数据分享方法、装置、存储介质及服务器
WO2015041436A1 (en) Method of managing control right, client device therefor, and master device therefor
WO2018076812A1 (zh) 数据请求的响应方法、装置、存储介质、服务器及系统
WO2018076889A1 (zh) 数据备份的方法、装置、系统、存储介质及服务器
WO2018120681A1 (zh) 数据同步方法、装置、系统、数据处理服务器和存储介质
WO2019103280A1 (ko) 클라우드 서비스를 제공하는 적어도 하나의 클라우드 서버의 컴퓨팅 자원들을 관리하는 전자 장치 및 방법
WO2020153750A1 (ko) 전자 장치에서 어플리케이션 목록 제공 방법 및 장치
WO2018076433A1 (zh) 多开应用程序方法、多开应用程序装置及终端
WO2018076829A1 (zh) 终端数据的处理方法、装置、系统、存储介质及服务器
WO2020052247A1 (zh) 网络资源批量加载方法、智能电视、存储介质及装置
WO2018120680A1 (zh) 虚拟磁盘备份系统、方法、装置、服务主机和存储介质
WO2018076869A1 (zh) 一种数据备份方法、装置、存储介质和电子设备
WO2021070983A1 (ko) Vr 훈련 시스템 및 방법
WO2017206885A1 (zh) 应用程序的关闭方法、装置、存储介质及电子设备
WO2018076872A1 (zh) 数据备份方法、装置、存储介质及服务器
WO2017206867A1 (zh) 一种传感器的关闭方法、装置、存储介质及电子设备
WO2020218743A1 (en) Method for controlling execution of application, electronic device and storage medium for the same
WO2020076056A1 (ko) 트래픽 오프로딩을 제어하기 위한 장치 및 방법
WO2016035979A1 (en) Method and system for controlling operation of image forming apparatus by using wearable device
WO2021141441A1 (ko) 스크래핑 기반 서비스 제공 방법 및 이를 수행하는 어플리케이션

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: 19927415

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19927415

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19927415

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 22/04/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19927415

Country of ref document: EP

Kind code of ref document: A1