WO2019132299A1 - 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법 - Google Patents

클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법 Download PDF

Info

Publication number
WO2019132299A1
WO2019132299A1 PCT/KR2018/015418 KR2018015418W WO2019132299A1 WO 2019132299 A1 WO2019132299 A1 WO 2019132299A1 KR 2018015418 W KR2018015418 W KR 2018015418W WO 2019132299 A1 WO2019132299 A1 WO 2019132299A1
Authority
WO
WIPO (PCT)
Prior art keywords
scaling
resource
virtual machine
fuzzy
priority
Prior art date
Application number
PCT/KR2018/015418
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 경희대학교산학협력단
Publication of WO2019132299A1 publication Critical patent/WO2019132299A1/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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]
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • a virtual machine refers to a physical machine (for example, a desktop computer or a server computer) or a virtual machine created in a virtual machine.
  • the virtual machine is virtually built in the physical machine using the resources (i.e., resources) of the physical machine.
  • the virtual machine may be implemented in various ways, such as, for example, installing a homogeneous or heterogeneous operating system within an operating system installed within the physical machine.
  • each virtual machine in the cloud system does not have sufficient resources required by the installed virtual machine, each virtual machine can not be provided with the required level of resources, thereby degrading the performance of the virtual machine, (Hot spot). Therefore, there is a need to allocate and / or provide resources appropriately and efficiently to each virtual machine in the physical machine when using the virtual machine.
  • Cloud systems that use cloud computing can also create and run such virtual machines.
  • Cloud computing refers to a computing method that allows a user to perform a predetermined operation (for example, use or development of software, storage of data, backup or restoration, etc.) using a terminal anytime and anywhere via a network such as the Internet it means.
  • a predetermined operation for example, use or development of software, storage of data, backup or restoration, etc.
  • the cloud system includes at least one physical device (e.g., a server device) that operates to provide cloud services, wherein a predetermined operating system is also installed in these physical devices.
  • the cloud system can provide a cloud service based on a virtual machine by installing a homogeneous or heterogeneous operating system in the operating system of such a physical device.
  • a priority-based resource scaling system, apparatus, and method in a cloud system capable of efficiently using resources while determining a resource state as an operation when using a virtual machine (VM) And to solve the problem.
  • VM virtual machine
  • a priority-based resource scaling system In order to solve the above-mentioned problems, a priority-based resource scaling system, an apparatus, and a method in a cloud system are provided.
  • the resource scaling apparatus includes: a resource monitoring unit that monitors resources of a physical machine in which a virtual machine is installed; A scaling determination unit for determining whether to perform scaling and a scaling method according to a fuzzy rule generated based on a result of current monitoring of resources by the resource monitoring unit; And a resource scaling unit for scaling the resources provided to the virtual machine or the newly created virtual machine based on the scaling method and the scaling method.
  • the fuzzy rule may be obtained by applying a current monitoring result of the resource to a learning model generated based on a result of continuous monitoring of resources of the physical machine.
  • the resource scaling unit may perform resource scaling based on a fuzzy-analytic hierarchy process (Fuzzy-Analytic Hierarchy Process).
  • the resource scaling unit may further determine a virtual machine to be a resource scaling target.
  • the resource scaling unit may determine a virtual machine to be a resource scaling object according to a priority determined based on a comparison result of a plurality of metrics of a fuzzy system performing fuzzification and learning.
  • the resource scaling unit obtains a pair of comparison matrices between at least two of the plurality of metrics, acquires a fuzzy weight based on the pair comparison matrix, obtains a final fuzzy weight based on the calculated fuzzy weight, Determine a priority based on the weight, and determine a virtual machine to be a resource scaling object based on the determined priority.
  • the newly created virtual machine may include a virtual machine in which a system of an existing virtual machine is migrated.
  • a resource scaling system includes: a resource scaling device that continuously monitors resources of a physical machine in which a virtual machine is installed; And a fuzzy system for generating a generated learning model based on continuous monitoring results of the resource of the physical machine and applying a current monitoring result on the resource to the learning model to generate a fuzzy rule, Wherein the resource scaling device determines whether to perform scaling and a scaling method according to a fuzzy rule generated based on a current monitoring result of the resource by the resource monitoring unit and determines whether the scaling is to be performed or not based on the scaling method and the scaling method, Or perform scaling on resources provided to the newly created virtual machine.
  • the resource scaling device may perform resource scaling based on a fuzzy-analytic hierarchical process.
  • the resource scaling device may further determine a virtual machine to be a resource scaling object.
  • the resource scaling device may determine a virtual machine to be a resource scaling object according to a priority determined based on a comparison result of a plurality of metrics of a fuzzy system performing fuzzification and learning.
  • the resource scaling device obtains a paired comparison matrix between at least two of the plurality of metrics, obtains a fuzzy weight based on the paired comparison matrix, obtains a final fuzzy weight based on the calculated fuzzy weight, A priority is determined based on the fuzzy weight, and a virtual machine to be a resource scaling object can be determined based on the determined priority.
  • the newly created virtual machine may include a virtual machine in which a system of an existing virtual machine is migrated.
  • a resource scaling method includes: monitoring resources of a physical machine; Determining whether a scaling method and a scaling method are performed according to a fuzzy rule generated based on a current monitoring result of a resource by the resource monitoring unit; And scaling the resources provided to the virtual machine installed in the physical machine or the virtual machine newly created in the physical machine based on the scaling method and the scaling method.
  • the resource scaling method may further include obtaining the fuzzy rule by applying a current monitoring result of the resource to a learning model generated based on a result of continuous monitoring of resources of the physical machine .
  • the step of scaling the resources provided to the virtual machine installed in the physical machine or the virtual machine newly created in the physical machine based on the scaling method and the scaling method includes the steps of determining a virtual machine to be a resource scaling object Step;
  • the step of determining a virtual machine to be a resource scaling object may include determining a virtual machine to be a resource scaling object through a priority list based on a fuzzy-analytic hierarchical process.
  • the step of determining a virtual machine to be subjected to resource scaling through a priority list based on the fuzzy-analytic hierarchical process comprises the steps of: determining a priority based on a comparison result of a plurality of metrics of a fuzzy system performing fuzzy- And determining a virtual machine to be a resource scaling object according to the resource scaling result.
  • the determining a virtual machine to be a resource scaling through a priority list based on the fuzzy-analytic hierarchical process comprises: obtaining a pairwise comparison matrix between at least two of the plurality of metrics; Obtaining a fuzzy weight based on a pair of comparison matrices; Obtaining a final fuzzy weight based on the calculated fuzzy weight and determining a priority based on the obtained final fuzzy weight; And determining a virtual machine to be a resource scaling object based on the determined priority.
  • the newly created virtual machine may include a virtual machine in which a system of an existing virtual machine is migrated.
  • the system when a migration is performed to a new virtual machine, the system can perform an appropriate resource provision to a virtual machine to be migrated The effect can be obtained.
  • resource scaling can be determined by determining the state of an unstable resource through machine learning.
  • resource scaling can be appropriately performed in accordance with the purpose or purpose of the provided cloud service, and thus energy efficiency can be improved and improved The effect can be obtained.
  • FIG. 1 is a diagram illustrating an embodiment of a cloud system.
  • FIG. 2 is a block diagram illustrating one embodiment of any computing device in a cloud system.
  • FIG. 3 is a diagram illustrating an embodiment of a resource scaling apparatus and a fuzzy system.
  • FIG. 4 is a diagram for explaining an example of the operation of the resource scaling apparatus.
  • FIG. 5 is a diagram showing an example of a process of selecting a target virtual machine.
  • FIG. 6 is a diagram illustrating an embodiment of a hierarchical structure in relation to prioritization of a target virtual machine.
  • 7 is a chart showing an example of scores defined according to relative importance.
  • FIG. 8 is a diagram showing an example of a pair comparison matrix.
  • FIG. 9 is a diagram showing a weight according to a change in a matrix.
  • 10 is a diagram for explaining the operation of the machine learning unit of the purge system.
  • Fig. 11 is a diagram comparing energy consumption with the prior art. Fig.
  • FIG. 12 is a flow chart illustrating one embodiment of a priority-based resource scaling method.
  • " part " is added may be embodied in software or hardware.
  • 'part' may be embodied as one part, or one part may be embodied as a plurality of parts It is also possible.
  • a part When a part is connected to another part throughout the specification, it may mean a physical connection, or may be electrically connected, depending on which part and the other part.
  • first and second are used to distinguish one part from another part, and they do not mean a sequential expression unless there is a special mention.
  • priority-based resource scaling in a distributed cloud will be described as an embodiment of priority-based resource scaling.
  • priority-based resource scaling described below is limited to only distributed clouds shown in FIG. 1 and the like It does not apply.
  • Priority-based resource scaling which will be described later, can be applied to a conventional computing device (for example, a server device) capable of constructing a centralized cloud or a virtual machine through the same or a modification of the distributed cloud in addition to the distributed cloud.
  • FIG. 1 is a diagram illustrating an embodiment of a cloud system.
  • the cloud system 1 may include at least one cloud 10 having a plurality of cloud computing devices 11, 12.
  • the cloud 10 may be implemented as a distributed cloud.
  • the cloud 10 may include at least one cloud computing device 11 (11-1 through 11-6).
  • At least one of the cloud computing devices 11: 11-1 through 11-6 may be configured so that the user's terminal 9: 9-1 through 9-5 is connected to at least one of a wired communication network and a wireless communication network And can provide the cloud service requested by the user to the terminals 9 (9-1 to 9-5) of the connected user.
  • At least one of the cloud computing devices 12 (12-1 to 12-6) may be installed at a plurality of locations, respectively, and may be installed at a location relatively close to the user for providing a rapid service.
  • the user's terminals 9: 9-1 to 9-5 can access the cloud computing devices 12 (12-1 to 12-6) and receive cloud services.
  • One terminal 9: 9-1 to 9-5 may be connected to any one of the cloud computing devices 12: 12-1 to 12-6, or one of the cloud computing devices 12: A plurality of terminals 9 (9-1 to 9-5) may be connected to the terminals 12-1 to 12-6. It is also possible that at least one terminal 9 (9-1 to 9-5) is connected to a plurality of cloud computing devices 12 (12-1 to 12-6).
  • At least one cloud computing device 11 may be designed to perform resource scaling.
  • at least one cloud computing device 11: 11-1 through 11-5 may be an example of a resource scaling system (100 of FIG. 3) or a resource scaling device (110 of FIG. 3) described below.
  • At least one of the cloud computing devices 11 performs resource scaling as described below so that each of the cloud computing devices 11 and 12 creates (or allocates) a virtual machine (Scale-up), reduce (scale-down), or scale-down (scale-down) the resources provided to the virtual machine that is created or executed at run time, and at least one virtual machine to multiple virtual machines (Scale-in, scale-out) or consolidate multiple virtual machines into fewer virtual machines (scale-in).
  • At least one of the cloud computing devices 11 (11-1 to 11-5) may perform resource scaling based on a fuzzy-analytic hierarchy process (Fuzzy-Analytic Hierarchy Process).
  • the cloud 10 is connected, according to an embodiment, to at least one cloud computing device 12 (12-1 to 12-6) over a wired or wireless communication network and includes at least one cloud computing device 12 12-6 having a predetermined control authority to the central cloud computing device 12.
  • the central cloud computing device 12 may also provide the cloud service requested by the user to the user's terminals 9 (9-1 to 9-5) as needed.
  • the central cloud computing device 12 may perform resource scaling. That is, it is also possible that the central cloud computing device 12 operates as the resource scaling system 100 or the resource scaling device 110. Likewise, the central cloud computing device 12 may also be designed to perform resource scaling based on a fuzzy-analytic hierarchical process.
  • FIG. 2 is a block diagram illustrating one embodiment of any computing device in a cloud system.
  • At least one of the cloud computing devices 11 (11-1 to 11-6) and / or the central cloud computing device 12 may include a physical machine 16.
  • the physical machine 16 may include, for example, a communication unit 16, a processor 17 and a storage unit 18, as well as additional devices such as a graphics processing unit (GPU) You may.
  • GPU graphics processing unit
  • the communication unit 16 allows at least one of the cloud computing devices 11 (11-1 to 11-6) and / or the central cloud computing device 12 to access the network.
  • a universal serial bus (USB) terminal for example, a universal serial bus (USB) terminal, a network terminal (such as an RJ-45 terminal), and the like.
  • the communication unit 16 may include various components, Or may be implemented using an antenna, a communication chip, or the like.
  • the processor 17 may drive predetermined software to perform predefined computation, determination, processing, and / or control operations.
  • the predetermined software may be stored in the storage unit 18.
  • the software stored in the storage unit 18 may be previously prepared and stored by a designer or acquired or updated through an electronic software distribution network connectable via a wired or wireless communication network.
  • the processor 17 performs various computational processing and control necessary for the operation of at least one of the cloud computing devices 11 (11-1 to 11-6) and / or the central cloud computing device 12 .
  • the processor 17 may perform various computation and control operations required to provide a cloud service.
  • Processor 17 may also perform, control, or support the creation and operation of at least one virtual machine (VM-1 to VM-k + 1).
  • Processor 17 may also perform resource scaling and may be configured to monitor resources of at least one cloud computing device 11 (11-1-1-11-6) and / or a central cloud computing device 12 (Fuzzy system) based on the acquired result, or whether to scale each virtual machine (VM-1 to VM-k) based on the driving result of the fuzzy system, or performs scaling (VM-1 to VM-k + 1), and / or perform scaling of the selected virtual machines (VM-1 to VM-k + 1). A detailed description thereof will be given later.
  • cloud computing device 11 11-1-1-11-6
  • a central cloud computing device 12 Fuzzy system
  • the processor 17 includes a central processing unit (CPU) 17a, a microcontroller unit (MCU), a microprocessor (MCOM), an application processor (AP) , An electronic control unit (ECU) and / or other electronic devices capable of generating various kinds of arithmetic processing and control signals, and the like. These devices may be implemented using, for example, one or more semiconductor chips and associated components.
  • the storage 18 stores software (which may be referred to as an application, program or app) required for the operation of at least one cloud computing device 11: 11-1 through 11-6 and / or the central cloud computing device 12 Can be temporarily or non-temporarily stored.
  • the storage 18 may store software associated with resource scaling, software for the fuzzy system, trained models obtained as a result of the fuzzy system, and / or fuzzy rules.
  • the storage unit 18 may include at least one of, for example, main memory and auxiliary memory.
  • the main storage device may be implemented using a semiconductor storage medium such as ROM and / or RAM.
  • the ROM may include, for example, conventional ROM, EPROM, EEPROM, and / or MASK ROM.
  • the RAM may include, for example, DRAM (DRAM) and / or SRAM (SRAM) and the like.
  • the auxiliary storage device may be a flash memory device, a Secure Digital (SD) card, a solid state drive (SSD), a hard disk drive (HDD), a magnetic drum, a compact disc (CD), a DVD ) Or optical disc such as a laser disc, a magnetic tape, a magneto-optical disc, and / or a floppy disc, or the like, using at least one storage medium capable of storing data permanently or semi-permanently.
  • SD Secure Digital
  • SSD solid state drive
  • HDD hard disk drive
  • CD compact disc
  • DVD digital versatile disc
  • optical disc such as a laser disc, a magnetic tape, a magneto-optical disc, and / or a floppy disc, or the like, using at least one storage medium capable of storing data permanently or semi-permanently.
  • the virtual machine refers to a machine that is virtually created and operated based on resources of the physical machine 15.
  • One or more virtual machines (VM: VM-1 to VM-k + 1) may be created in one computing device 11, 12 under the control of the processor 17.
  • Each of the plurality of virtual machines (VM: VM-1 to VM-k + 1) operates as a virtually independent machine (apparatus).
  • each of the virtual machines (VM: VM-1 to VM-k + 1) may operate as an independent computing device by separately operating an operating system (OS).
  • OS operating system
  • the system in any one virtual machine may be migrated to another virtual machine (VM-k + 1) depending on the user's operation or predefined settings.
  • Migration can be performed in a different environment (i. E., A new environment, e. G., A new environment, e. G. To another VM-k + 1).
  • a new environment e. G.
  • a new environment e. G.
  • VM-k + 1 the existing environment and the new environment in which the system exists may not be identical to each other.
  • the system resources (CPU, memory, etc.) provided to the existing virtual machine (VM-k) and the system resources provided to the new virtual machine (VM-k + 1) may be different from each other.
  • the migration of the virtual machine (VM-k) may be performed simultaneously with the generation of the new virtual machine (VM-k + 1) or sequentially. That is, a new virtual machine (VM-k + 1) is created by using a newly created virtual machine (VM-k) while generating a new virtual machine (VM-k + 1) for reasons such as waste of resources, lack of resources, -k + 1). < / RTI > In this case, the new virtual machine (VM-k + 1) can be generated while being scaled. In other words, the new virtual machine VM-k + 1 may be created while scaling-up, scale-down, scale-in, or scale-out an existing virtual machine VM-k.
  • the generation process of the new virtual machine VM-k + 1 may be performed by the processor 17 of the cloud computing devices 11 and 12, for example.
  • the terminals 9 (9-1 to 9-5) are devices provided for requesting a predetermined cloud service to the cloud 10 according to a user's operation or a predetermined setting and using the provided cloud service.
  • the terminals 9: 9-1 to 9-5 can exchange data with at least one cloud computing device 11 (11-1 to 11-6) so that a user can receive a predetermined cloud service.
  • terminals 9 (9-1 through 9-5) may also transmit and receive data directly or indirectly with central cloud computing device 12, as needed, so that users receive cloud services from central cloud computing device 12 You may.
  • the terminal devices 9-1a and 9-1b may be connected to a different cloud computing device (for example, a cloud computing device 11-6, and 11-1.
  • a cloud computing device 11-6 for example, a cloud computing device 11-6, and 11-1.
  • the terminal device 9-1a before the movement is connected to the sixth cloud computing device 11-6 to receive the cloud service, and the terminal device -1b after the movement receives the relatively more first cloud 11 -1) to provide cloud services.
  • the terminals 9: 9-1 to 9-5 may be, for example, a cellular phone, a smart phone, a tablet PC, a head mounted display (HMD) device, a smart clock, a desktop computer, a laptop computer, , A set top box, a navigation device, a personal digital assistant (PDA), a portable game machine, an artificial intelligent sound reproducing device, and / or other devices capable of inputting and modifying codes.
  • a cellular phone a smart phone, a tablet PC, a head mounted display (HMD) device, a smart clock, a desktop computer, a laptop computer, , A set top box, a navigation device, a personal digital assistant (PDA), a portable game machine, an artificial intelligent sound reproducing device, and / or other devices capable of inputting and modifying codes.
  • HMD head mounted display
  • PDA personal digital assistant
  • the cloud 10 may further include a resource scaling control device 13 provided separately from the cloud computing devices 11 and 12.
  • the resource scaling control unit 13 performs resource scaling as described below so that when each of the cloud computing devices 11 and 12 creates or executes a virtual machine, the virtual machine's scale-up, scale-down, And / or scale-out.
  • the resource scaling control apparatus 13 may perform resource scaling based on the fuzzy-analytic hierarchical process in the same manner as the cloud computing apparatuses 11 and 12.
  • the resource scaling control device 13 may be performed by at least one cloud computing device 11 (11-1 to 11-5) and / or by a central cloud computing device 12 .
  • the two can perform communication based on the wired / wireless communication network as described above.
  • the wired communication network can be constructed using a cable, and the cable may be implemented using, for example, a pair cable, a coaxial cable, an optical fiber cable, or an Ethernet cable.
  • the wireless communication network may be constructed using at least one of a local area network and a telecommunications network.
  • the local area network may be, for example, Wi-Fi, zigbee, Bluetooth, Wi-Fi Direct, Bluetooth Low Energy, And NFC (Near Field Communication), and the telecommunication network may be implemented based on a mobile communication standard such as 3GPP, 3GPP2 or WiMAX series.
  • the resource scaling system 100 including the resource scaling apparatus 110 and the fuzzy system 120 will be described below.
  • FIG. 3 is a diagram showing an embodiment of a resource scaling apparatus and a fuzzy system
  • FIG. 4 is a diagram for explaining an example of the operation of the resource scaling apparatus.
  • the resource scaling system 100 may include a resource scaling apparatus 110 and a fuzzy system 120.
  • the resource scaling device 110 monitors the resources of at least one of the cloud computing devices 11: 11-1 to 11-6 and / or the central cloud computing device 12, 1 to VM-k + 1).
  • the resource scaling apparatus 110 may include a resource monitoring unit 112, a scaling determination unit 114, and a resource scaling unit 116.
  • the resource monitoring unit 112 provides the status of the virtual machines (VM-1 to VM-k + 1) and / or the virtual machines (VM-1 to VM-k + (S1). ≪ / RTI > For example, the resource monitoring unit 112 may check the workload of the virtual machines (VM-1 to VM-k + 1) based on the machine learning results of the purge system 120.
  • the resource monitoring unit 112 monitors a central processing unit (CPU, which is an application processor, a microcontroller unit, etc.) of the virtual machines (VM-1 to VM-k + (VM-1 to VM-k + 1) or by monitoring the state of the virtual machines (VM-1 to VM-k + 1) by monitoring the usage of the virtual machines VM-1 to VM-k + 1).
  • the resource monitoring unit 112 also monitors the time (waiting time) in which the virtual machines (VM-1 to VM-k + 1) are waiting or the time when the virtual machines (VM-1 to VM- It is also possible to monitor the period during which the operation of the virtual machines VM-1 to VM-k + 1 has ended and / or the frequency of interruption of power supply.
  • the monitoring result of the resource monitoring unit 112 may be transmitted to the fuzzy system 120.
  • the resource monitoring unit 112 may transmit the monitoring result to the fuzzy system 120 periodically or continuously.
  • the monitoring results transmitted periodically or continuously may be transmitted to the machine learning unit 121 of the purge system 120.
  • the machine learning unit 121 performs machine learning based on monitoring results transmitted periodically or continuously.
  • the resource monitoring unit 112 may transmit the current monitoring result to the fuzzy rule building unit 123.
  • the fuzzy rule building unit 123 generates a fuzzy rule by applying the current monitoring result to the learning model generated as a result of the learning in the machine learning unit 121, and transmits the generated fuzzy rule to the scaling determination unit 110 of the resource scaling device 110 114).
  • the scaling determination unit 114 evaluates the degree of necessity of the resource using the fuzzy rule transmitted from the fuzzy system 120 and determines whether or not the virtual machines VM-1 to VM-k + 1 are to be scaled and the scaling method have. For example, the scaling determination unit 114 may determine whether or not to scale according to rules based on various metrics of the fuzzy system 120. For example, as shown in FIG. 4, the scaling determination unit 114 may determine the waste of resources, the degree of resource utilization, the degree of energy consumption, and / or the migration performance level (s2). In this case, whether the resource is wasted can be determined based on at least one of the usage amount of the central processing unit, the memory usage amount, and the network resource status, for example.
  • the scaling determination unit 114 may quantify the usage amount, the memory usage amount, and / or the network resource status of the central processing unit independently or collectively, and may determine that the resource is wasted if the numerical result is larger than a predefined threshold value .
  • the degree of resource utilization or the degree of energy consumption can be determined based on at least one of, for example, the usage amount of the central processing unit, the memory usage amount, and the network resource status, which can be determined through the purge rule of the purge system 120 .
  • the level of migration performance can be determined using, for example, resource utilization, latency and execution time, and fuzzy rules can be used for this.
  • the resource scaling unit 116 may perform resource scaling based on the determination result of the scaling determination unit 114 (s3). In other words, the resource scaling unit 116 may perform the scaling in the migration or the like through the calculated priority list based on the fuzzy-analytic hierarchical process.
  • the resource scaling unit 116 generates control signals for at least one of scale-up, scale-down, scale-in and scale-out and supplies them to the virtual machines VM- +1) to perform scaling of the virtual machines VM-1 to VM-k + 1.
  • the virtual machines VM-1 to VM-k + 1 scaled by the resource scaling unit 116 may include previously created virtual machines VM-1 to VM-k, and / Or a virtual machine (VM-k + 1) being generated.
  • the scaling to be performed may be performed based on, for example, the degree of resource utilization, the degree of energy consumption, and / or the migration performance level. If the resource scaling unit 116 determines that the resource is wasted, the resource scaling unit 116 terminates the operation of the computing device (e.g., the server device) or discovers the virtual machines VM-1 to VM- k + 1).
  • FIG. 5 is a diagram illustrating an example of a process of selecting a target virtual machine
  • FIG. 6 is a diagram illustrating an example of a hierarchical structure in relation to prioritization of a target virtual machine
  • FIG. 7 is a chart showing an example of scores defined according to relative importance
  • FIG. 8 is a diagram showing an example of a pairwise comparison matrix.
  • the resource scaling unit 116 may determine virtual machines (VM-1 to VM-k + 1) on which resource scaling is to be performed. In this case, the resource scaling unit 116 first generates a fuzzy pairwise comparison metric, for example, as shown in FIG. 5 (s12), and calculates an optimal weighting matrix based on the fuzzy pair comparison matrix (S14). The final score is determined using the derived optimum weight (s16), and at least one of the plurality of virtual machines (VM1 to VM6) can be selected based on the score as shown in Fig. 6 have. A decision table may be determined before generation of the fuzzy pair comparison matrix as necessary.
  • the resource scaling unit 116 may include a fuzzy system for comparing the metrics of the fuzzy system 120 based on a hierarchy that is preset in advance or can be generated by the resource scaling unit 116, A pair comparison matrix is generated (s12).
  • the hierarchy can be configured according to the purpose or function of the service to be provided (for example, the cloud service to be provided by the virtual machine).
  • the highest level (level 1) is determined by the order of the targets to be obtained, that is, the target machines (VM-1 to VM-7).
  • the next ranking (level 2) is determined by the sub-factors required to select the target machine, for example, performance and energies.
  • the third level (level 3) is determined by the elements corresponding to the selected elements in the second level. For example, sub-elements of performance include time minimization, resource and reliability, and sub-elements of energy may include resources and costs.
  • the fourth level may include sub-elements corresponding to elements of the third level (level 3), for example, the time minimization may include a total migration time, a down time, Time, and number of migrations, resources may have sub-elements such as central processing unit, memory and network, and reliability may have sub-factors such as failure rate, response time, and resource cost. In addition, resources may have sub-elements such as central processing unit, memory and network.
  • the target machines VM-1 to VM-7 can be compared with each other based on these rankings (for example, elements of the fourth rank (level 4). For example, At least two of the target machines VM-1 to VM-7 of the VM-7 can be compared with each other based on the fourth order of descendant elements.
  • the hierarchical structure shown in FIG. 6 is an example, It is apparent that various definitions can be made depending on the designer's choice.
  • the priority list can be changed according to the selected metric.
  • the priority for each of the virtual machines (VM-1 to VM-7) to be selected according to the selection of the metric is changed differently. Therefore, the selection of the metrics affects the selection of the virtual machines (VM-1 to VM-7).
  • a comparison is made between the metrics of the fuzzy system 120 for the selection of at least one metric.
  • the comparison between the metrics can be performed based on the scores defined, for example, according to the relative importance as shown in FIG.
  • the score may be defined according to the difference in importance between two metrics (M1 to Mn) (hereinafter referred to as relative importance).
  • the score may be defined larger as the relative importance increases. 7, if two selected metrics (M1 to Mn) of two choices (i.e., metrics M1 to Mn) are equally important or equal in quality to each other, Is defined as 1 and the relative importance between the two choices is defined as 3 if either of the two metrics M1 to Mn is more or less important or the quality is somewhat better.
  • the relative importance between the two choices can be defined as 5 and 7, respectively. If either of the two metrics M1 to Mn is extremely important, the relative importance between the two choices may be defined as 9.
  • the definition of the relative importance of the left column of FIG. 7, or the score values corresponding to the right column, are illustrative, and they can be variously defined depending on the designer's choice.
  • the comparison between the above-mentioned metrics M1 to Mn can be configured in the form of a fuzzy-pair comparison matrix as shown in FIG.
  • the fuzzy-pair comparison matrix may be implemented using the relative importance of FIG.
  • M1 to Mn mean metrics, and the value at the point where the i-th row and the j-th column intersect with each other (i.e. Vi / Vj) corresponds to the i-th metric Mi).
  • Vi is the numerical value of the i-th metric (Mi) according to predefined criteria by the designer or user.
  • Vi / Vj is the importance or quality of the i-th metric (Mi) divided by the importance or quality of the j-th metric, which may be the same as the relative importance described above.
  • Vi / Vj may be a value obtained by normalizing the importance described above. Of course, it may be obtained by directly dividing the values defined separately for each of the metrics M1 to Mn as described above.
  • (I. E., Vi / Vj) at the intersection of the i-th row and the j-th column in the pair comparison matrix is the reciprocal of the value at the intersection of the j-th row and the i-th row (i.e., Vj / Vi).
  • the point at which the i-th row and the j-th column intersect i. E., The comparison value between the same metric Mi) is defined as one.
  • the fuzzy weight is calculated using the following equations (1) to (3).
  • Wn is a weight for a metric n (Mn) and Mm is a sum of weights for a metric n (Mn).
  • Mn a weight for a metric n (Mn)
  • Mm a sum of weights for a metric n (Mn).
  • FIG. 9 is a diagram showing a weight according to a change in a matrix.
  • a final score i.e., the final fuzzy weight
  • the fuzzy weight may be computed based on the fuzzy weight (s16).
  • each element e.g., energy consumption, capacity, resource utilization, number of virtual machines, and / or wait time, etc.
  • a combination of various weights P1 to P5 is determined according to the predefined setting or data.
  • a weight based on the fuzzy-analytic hierarchical process for the metric can be obtained.
  • the priority is determined according to the cloud service and resource usage provided.
  • the virtual machines VM-1 to VM-k + 1 are selected in accordance with the determined priority order (s18).
  • VM-1 to VM-k + 1 are scaled as described above, and the virtual machines VM-1 to VM-k + 1 are appropriately selected according to the purpose or use of the cloud service provided by the virtual machines VM- k + 1) and resource scaling for the selected virtual machine (VM-1 to VM-k + 1) can be performed.
  • 10 is a diagram for explaining the operation of the machine learning unit of the purge system.
  • the fuzzy system 120 performs fuzzing based on the monitoring results (e.g., resource usage data) and the learning results (e.g., models for learned resource usage, etc.) - Analytical hierarchy Process based rules can be set.
  • the purge system 120 may include a machine learning unit 121 and a fuzzy rule processing unit 123.
  • the machine learning unit 121 performs the machine learning based on the monitoring result (for example, the occupancy rate of the central processing unit, the memory usage amount, etc.) transmitted from the resource monitoring unit 112.
  • the monitoring result for example, the occupancy rate of the central processing unit, the memory usage amount, etc.
  • the machine learning unit 121 may include an average operation unit 121a, a fuzzification unit 121b, and a machine learning processing unit 121c.
  • the averaging unit 121a calculates an average of the monitoring results input during a predetermined period. For example, if the occupancy rate of the central processing unit is continuously input, the average of the occupancy rates over a predefined period can be calculated. The calculation result is transmitted to the fuzzification unit 121b.
  • the fuzzification unit 121b performs fuzzification by converting an input variable (i.e., an operation result) into a predetermined numerical value at which the instruction can be realized. Specifically, the fuzzing unit 121b may perform scale mapping to convert a range of values of an input variable (i.e., an operation result) into a universe of discourse. A fuzzy set of data is thus obtained. The fuzzy set of data is transmitted to the machine learning processing unit 121c.
  • the machine learning processing unit 121c performs machine learning.
  • the machine learning can be implemented using a predetermined machine learning algorithm.
  • the machine learning algorithms can be classified into two types: Deep Neural Network (DNN), Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), Deep Belief Network (DBN) And deep Q-networks, but the machine learning algorithm that can be implemented is not limited thereto.
  • the machine learning processing unit 121c includes an input layer, a hidden layer composed of data obtained by applying the perch weights, and learning based on an algorithm composed of an output layer in which data is output by reflecting the fuzzy weight Can be performed.
  • the learned model may be transmitted to the fuzzy rule building unit 123, specifically, the model application unit 123b.
  • the fuzzy rule building unit 123 may acquire a resource monitoring result corresponding to a predetermined time range from the current or current time and set a rule based on the fuzzy-analytic hierarchical process based on the acquired result.
  • the fuzzy rule building unit 123 may include a fuzzing unit 123a, a model application unit 123b, a defuzzification unit 123c, and a rule generation unit 123d .
  • the fuzzification unit 123a can perform fuzzification by converting an input variable (i.e., the current monitoring result) to a predetermined value at which the command can be realized. In other words, the fuzzification unit 123a can perform a scale mapping operation for the current monitoring result.
  • the model application unit 123b may apply the fuzzy data to the learning model obtained in the machine learning processing unit 121c to obtain a result value.
  • the output value of the learning model is transmitted to the deblurring unit 123c.
  • the diffusing unit 123c performs a scale mapping operation of converting an output variable (i.e., an output value of the learning model) into a desired range and converting the output variable into a discussion area.
  • the output value of the learning model can have a value range similar to the monitoring result.
  • the result obtained according to the scale mapping operation is transmitted to the rule generating unit 123d.
  • the rule generation unit 123d generates and builds a fuzzy rule based on the divided output values.
  • the rule generation unit 123d can find a rule from the output value of the learning model, record and store the found rule, and generate the fuzzy rule.
  • the generated fuzzy rule is transmitted to the scaling determination unit 114 and the scaling determination unit 114 can determine whether to scaling the virtual machines VM-1 to VM-k + 1 and the scaling method based on the fuzzy rule .
  • the fuzzification unit 121b and the machine learning processing unit 121c and the fuzzy rule building unit 123, the fuzzification unit 123a, the model application unit 123b, the defuzzification unit 123c, and the rule generation unit 123d logically It may be separate or physically separate. If logically divided, they may be implemented by one or more semiconductor chips and associated components, and so on. In addition, if they are physically separated, they may be implemented by separate semiconductor chips and associated parts, respectively.
  • the above-described resource scaling device 110 and the purge system 120 may be implemented by one device, for example, either one of the cloud computing devices 11, 12 or the resource scaling control device 13, Or may be performed by at least two of the plurality of devices, for example, at least one cloud computing device 11, 12 and the resource scaling control device 13.
  • the resource scaling device 110 may be implemented by any one of the cloud computing devices 11 and 12, and the fuzzy system 120 may be implemented by the resource scaling control device 13 .
  • the purge system 120 may be implemented by other computing devices external to the cloud 10. That is, the resource scaling device 110 is implemented by at least one cloud computing device 11, 12 or the resource scaling control device 13, and the fuzzy system 120 is separately constructed for the fuzzy- Or may be implemented by other systems having more than one computing device.
  • Fig. 11 is a diagram comparing energy consumption with the prior art.
  • the x-axis in FIG. 11 denotes the number of allocated virtual machines (V-1 to V-k + 1), and the y-axis represents the relative value of the energy consumption.
  • the block on the left side represented by a set of a plurality of line segments in Fig. 11 means the energy consumption amount used in the prior art, and the block on the right indicated in monochrome means the energy consumption amount of the resource scaling device.
  • the resource scaling apparatus 110 when the resource scaling apparatus 110 performs resource scaling, the amount of energy consumption is significantly reduced as compared to the conventional cloud system, as shown in FIG.
  • the amount of energy consumption varies greatly depending on the number of virtual machines (V-1 to V-k + 1), and the value thereof is also very large.
  • the resource scaling apparatus 110 described above when the resource scaling apparatus 110 described above is used, the variation of the energy consumption amount according to the number of the virtual machines V-1 to V-k + 1 is substantially constant and the absolute value of the energy consumption is relatively low Able to know.
  • FIG. 12 is a flow chart illustrating one embodiment of a priority-based resource scaling method.
  • an apparatus or a system for performing resource scaling starts to operate (310).
  • An apparatus or system for performing resource scaling monitors resources of a resource scaling device or resources of another device (e.g., a cloud computing device, etc.) and obtains resource monitoring results (312). In this case, resource monitoring can be performed continuously, continuously.
  • the fuzzy system applies the resource monitoring acquisition result to the acquired learning model to determine the fuzzy rule (314). Specifically, the fuzzy system performs fuzzy analysis on the current resource monitoring acquisition result, applies the fuzzy data to the learned learning model to obtain the output value, performs the evaluation on the output value, Fuzzy rules can be generated based on the results.
  • the learned learning model may be a model obtained as a result of the machine learning on the resource monitoring result continuously and continuously inputted. In detail, the fuzzy system obtains the average of the resource monitoring results continuously input for a predetermined period, performs fuzzy processing on the obtained average, and then performs the machine learning on the fuzzy result to obtain the learning model have.
  • the resource scaling device may determine whether to scale based on the fuzzy rule obtained in the fuzzy system (316). For example, the resource scaling apparatus may evaluate the degree of necessity of the resource using the transmitted fuzzy rule, and determine whether or not the scaling of the resource scaling object (for example, a virtual machine) and the scaling method are based thereon. The determination as to whether or not the virtual machine is scaled and the method may be performed together or sequentially when a migration or the like is performed.
  • the resource scaling apparatus may evaluate the degree of necessity of the resource using the transmitted fuzzy rule, and determine whether or not the scaling of the resource scaling object (for example, a virtual machine) and the scaling method are based thereon. The determination as to whether or not the virtual machine is scaled and the method may be performed together or sequentially when a migration or the like is performed.
  • a virtual machine on which resource scaling will be performed may be determined 318.
  • a possible machine for which resource scaling is to be performed is to generate a fuzzy pair comparison matrix based on which an optimal weight is derived, a final weight is determined based on the optimal weight, and then at least one of the plurality of virtual machines One virtual machine can be selected.
  • scaling of the virtual machine may be performed 320 according to the determined scaling method. For example, a scale-up, scale-down, scale-in, or scale-out of an existing virtual machine or a newly created virtual machine for migration may be performed.
  • the priority-based resource method according to the above-described embodiment can be implemented in the form of a program that can be driven by a computer device.
  • the program may include program commands, data files, data structures, and the like, alone or in combination.
  • the program may be designed and manufactured using machine code or high-level language code.
  • the program may be specially designed to implement the priority-based resource method described above, or may be implemented using various functions or definitions known and available to those skilled in the computer software field.
  • the computer device may be implemented by including a processor, a memory, or the like that enables the function of the program, and may further include a communication device as needed.
  • the priority-based resource program for implementing the above-described method can be recorded in a computer-readable recording medium.
  • the recording medium readable by a computer include a magnetic disk storage medium such as a hard disk or a floppy disk, an optical recording medium such as a magnetic tape, a compact disk or a DVD, a magneto-optical recording medium such as a floppy disk, , A semiconductor storage device such as a RAM or flash memory, and the like.
  • the priority-based resource devices and methods are not limited to the above-described embodiments.
  • Various apparatuses and methods that can be modified and modified based on the above-described embodiments are also examples of the above-described priority-based resource devices and methods.
  • the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, And may be an embodiment of the priority-based resource device and method described above even if it is replaced or replaced by an equivalent.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법에 관한 것으로, 우선 순위 기반 자원 스케일링 시스템은, 자원 스케일링 시스템은, 가상 머신이 설치되는 물리 머신의 자원을 계속적으로 모니터링하는 자원 스케일링 장치 및 상기 물리 머신의 자원에 대한 계속적인 모니터링 결과를 기반으로 생성된 학습 모델을 생성하고, 상기 자원에 대한 현재의 모니터링 결과를 상기 학습 모델에 적용하여 퍼지 룰을 생성하는 퍼지 시스템을 포함하되, 상기 자원 스케일링 장치는, 상기 자원 모니터링부에 의한 자원에 대한 현재의 모니터링 결과를 기반으로 생성된 퍼지 룰에 따라 스케일링 여부 및 스케일링 방법을 결정하고, 상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 가상 머신 또는 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행할 수 있다.

Description

클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법
클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법에 관한 것이다.
가상 머신(VM, Virtual Machine)은 물리 머신(예를 들어, 데스크톱 컴퓨터나 서버 컴퓨터 등) 또는 가상 머신 내에 가상적으로 생성한 시스템을 의미한다. 가상 머신은 물리 머신의 자원(즉, 리소스)을 이용하여 물리 머신 내에 가상적으로 구축된다. 가상 머신은, 예를 들어, 물리 머신 내에 설치된 운영 체제 내에 동종 또는 이종의 운영 체제를 설치하는 등과 같이 다양한 방법을 통하여 구현될 수 있다.
한편, 설치된 가상 머신이 요구하는 자원을 클라우드 시스템 내의 물리 머신이 충분하게 보유하지 못한 경우, 각각의 가상 머신은 요구하는 수준의 자원을 제공받을 수 없게 되고, 이에 따라 가상 머신의 성능은 저하 및 핫스팟(Hot spot)의 문제가 발생하기도 한다. 따라서, 가상 머신을 이용함에 있어서 물리 머신 내의 각각의 가상 머신에게 적절하고 효율적으로 자원을 분배 및/또는 제공해야 할 필요성이 존재한다.
클라우드 컴퓨팅을 이용하는 클라우드 시스템 역시 이와 같은 가상 머신은 생성 및 실행될 수 있다. 클라우드 컴퓨팅이란 인터넷 등과 같은 네트워크를 통하여 사용자가 언제 어디서든 단말기를 이용하여 소정의 작업(예를 들어, 소프트웨어의 이용이나 개발, 데이터의 저장, 백업 또는 복원 등)을 수행할 수 있도록 마련된 컴퓨팅 방법을 의미한다. 클라우드 컴퓨팅을 이용하는 경우, 사용자는 서로 상이한 위치에서 원하는 작업을 수행할 수 있게 된다. 클라우드 시스템은 클라우드 서비스를 제공하기 위해 동작하는 적어도 하나의 물리적 장치(예를 들어, 서버 장치)를 포함하는데, 이들 물리적 장치에도 소정의 운영 체제가 설치되어 있다. 클라우드 시스템은, 이와 같은 물리적 장치의 운영 체제 내에 동종 또는 이종의 운영 체제를 설치시킴으로써 가상 머신을 기반으로 클라우드 서비스를 제공할 수 있게 된다.
가상 머신(VM, Virtual Machine)을 이용하는 경우에 있어서 자원 상태를 동작으로 판단하여 자원을 효율적으로 사용하면서도 그 성능을 향상시킬 수 있는 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법이 제공된다.
자원 스케일링 장치는, 가상 머신이 설치되는 물리 머신의 자원을 모니터링하는 자원 모니터링부; 상기 자원 모니터링부에 의한 자원에 대한 현재의 모니터링 결과를 기반으로 생성된 퍼지 룰에 따라 스케일링 여부 및 스케일링 방법을 결정하는 스케일링 결정부; 및 상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 가상 머신 또는 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행하는 자원 스케일링부;를 포함할 수 있다.
상기 퍼지 룰은, 상기 자원에 대한 현재의 모니터링 결과를, 상기 물리 머신의 자원에 대한 계속적인 모니터링 결과를 기반으로 생성된 학습 모델에 적용하여 획득되는 것일 수 있다.
상기 자원 스케일링부는, 퍼지-분석적 계층 프로세스(Fuzzy-AHP, Fuzzy-Analytic Hierarchy Process)를 기반으로 자원 스케일링을 수행할 수 있다.
상기 자원 스케일링부는, 자원 스케일링 대상이 되는 가상 머신을 더 결정할 수 있다.
상기 자원 스케일링부는, 퍼지화 및 학습을 수행하는 퍼지 시스템의 복수의 메트릭의 비교 결과를 기반으로 결정된 우선 순위에 따라서 자원 스케일링 대상이 되는 가상 머신을 결정할 수 있다.
상기 자원 스케일링부는, 상기 복수의 메트릭 중 적어도 둘 간의 쌍대 비교 행렬을 획득하고, 쌍대 비교 행렬을 기반으로 퍼지 가중치를 획득하고, 연산된 퍼지 가중치를 기반으로 최종 퍼지 가중치를 획득하고, 획득한 최종 퍼지 가중치를 기반으로 우선 순위를 결정하고, 결정된 우선 순위를 기반으로 자원 스케일링 대상이 되는 가상 머신을 결정할 수 있다.
상기 새로 생성되는 가상 머신은, 기존의 가상 머신의 시스템이 마이그레이션되는 가상 머신을 포함할 수 있다.
자원 스케일링 시스템은, 가상 머신이 설치되는 물리 머신의 자원을 계속적으로 모니터링하는 자원 스케일링 장치; 및 상기 물리 머신의 자원에 대한 계속적인 모니터링 결과를 기반으로 생성된 학습 모델을 생성하고, 상기 자원에 대한 현재의 모니터링 결과를 상기 학습 모델에 적용하여 퍼지 룰을 생성하는 퍼지 시스템;을 포함하되, 상기 자원 스케일링 장치는, 상기 자원 모니터링부에 의한 자원에 대한 현재의 모니터링 결과를 기반으로 생성된 퍼지 룰에 따라 스케일링 여부 및 스케일링 방법을 결정하고, 상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 가상 머신 또는 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행할 수 있다.
상기 자원 스케일링 장치는, 퍼지-분석적 계층 프로세스를 기반으로 자원 스케일링을 수행할 수 있다.
상기 자원 스케일링 장치는, 자원 스케일링 대상이 되는 가상 머신을 더 결정할 수 있다.
상기 자원 스케일링 장치는, 퍼지화 및 학습을 수행하는 퍼지 시스템의 복수의 메트릭의 비교 결과를 기반으로 결정된 우선 순위에 따라서 자원 스케일링 대상이 되는 가상 머신을 결정할 수 있다.
상기 자원 스케일링 장치는, 상기 복수의 메트릭 중 적어도 둘 간의 쌍대 비교 행렬을 획득하고, 쌍대 비교 행렬을 기반으로 퍼지 가중치를 획득하고, 연산된 퍼지 가중치를 기반으로 최종 퍼지 가중치를 획득하고, 획득한 최종 퍼지 가중치를 기반으로 우선 순위를 결정하고, 결정된 우선 순위를 기반으로 자원 스케일링 대상이 되는 가상 머신을 결정할 수 있다.
상기 새로 생성되는 가상 머신은, 기존의 가상 머신의 시스템이 마이그레이션되는 가상 머신을 포함할 수 있다.
자원 스케일링 방법은, 물리 머신의 자원을 모니터링하는 단계; 상기 자원 모니터링부에 의한 자원에 대한 현재의 모니터링 결과를 기반으로 생성된 퍼지 룰에 따라 스케일링 여부 및 스케일링 방법을 결정하는 단계; 및 상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 물리 머신에 설치된 가상 머신 또는 상기 물리 머신에 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행하는 단계;를 포함할 수 있다.
자원 스케일링 방법은, 상기 자원에 대한 현재의 모니터링 결과를, 상기 물리 머신의 자원에 대한 계속적인 모니터링 결과를 기반으로 생성된 학습 모델에 적용하여 상기 퍼지 룰을 획득하는 단계;를 더 포함할 수 있다.
상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 물리 머신에 설치된 가상 머신 또는 상기 물리 머신에 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행하는 단계는, 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 더 포함할 수 있다.
상기 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계는, 퍼지-분석적 계층 프로세스를 기반으로 하는 우선 순위 리스트를 통해 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 포함할 수 있다.
상기 퍼지-분석적 계층 프로세스를 기반으로 하는 우선 순위 리스트를 통해 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계는, 퍼지화 및 학습을 수행하는 퍼지 시스템의 복수의 메트릭의 비교 결과를 기반으로 결정된 우선 순위에 따라서 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 포함할 수 있다.
상기 퍼지-분석적 계층 프로세스를 기반으로 하는 우선 순위 리스트를 통해 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계는, 상기 복수의 메트릭 중 적어도 둘 간의 쌍대 비교 행렬을 획득하는 단계; 쌍대 비교 행렬을 기반으로 퍼지 가중치를 획득하는 단계; 연산된 퍼지 가중치를 기반으로 최종 퍼지 가중치를 획득하고, 획득한 최종 퍼지 가중치를 기반으로 우선 순위를 결정하는 단계; 및 결정된 우선 순위를 기반으로 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 포함할 수 있다.
상기 새로 생성되는 가상 머신은, 기존의 가상 머신의 시스템이 마이그레이션되는 가상 머신을 포함할 수 있다.
상술한 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법에 의하면, 자원 상태를 동작으로 판단하여 자원 스케일링을 수행함으로써 자원의 효율적 사용 및 가상 머신의 성능을 향상시킬 수 있게 되는 효과를 얻을 수 있다.
상술한 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법에 의하면, 분산 클라우드를 이용하는 경우, 특정 지역의 데이터 센터를 통해 클라우드 서비스를 제공받던 사용자가 다른 지역으로 이동하더라도 지리적으로 가까운 새로운 데이터센터로부터 기존의 클라우드 서비스를 끊김없이 계속해서 제공받을 수 있게 되는 효과도 얻을 수 있다.
상술한 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법에 의하면, 새로운 가상 머신으로 마이그레이션(migration, 이관 또는 이주)을 수행하는 경우 시스템이 마이그레이션될 가상 머신에 대해 적절한 자원 제공을 수행할 수 있게 되는 효과도 얻을 수 있다.
상술한 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법에 의하면, 기계 학습을 통하여 불안정한 자원의 상태를 판단하여 자원 스케일링을 결정할 수 있게 되는 효과도 얻을 수 있다.
상술한 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법에 의하면, 제공되는 클라우드 서비스의 목적이나 용도 등에 따라 적절하게 자원 스케일링을 수행할 수 있게 되고, 이에 따라 에너지 효율도 향상 및 개선할 수 있는 효과도 얻을 수 있다.
도 1은 클라우드 시스템의 일 실시예를 도시한 도면이다.
도 2는 클라우드 시스템 내의 어느 하나의 컴퓨팅 장치의 일 실시예를 도시한 블록도이다.
도 3은 자원 스케일링 장치 및 퍼지 시스템의 일 실시예를 도시한 도면이다.
도 4는 자원 스케일링 장치의 동작의 일례를 설명하기 위한 도면이다.
도 5는 목표 가상 머신을 선정하는 과정의 일례를 도시한 도면이다.
도 6은 목표 가상 머신의 우선 순위 결정과 관련하여 계층 구조의 일 실시예를 도시한 도면이다.
도 7은 상대적 중요도에 따라 정의된 스코어들의 일례를 도시한 도표이다.
도 8은 쌍대 비교 행렬의 일례를 도시한 도면이다.
도 9는 행렬의 변화에 따른 가중치를 도시한 도면이다.
도 10은 퍼지 시스템의 기계 학습부의 동작을 설명하기 위한 도면이다.
도 11은 종래 기술과의 에너지 소비량을 비교한 도면이다.
도 12는 우선 순위 기반 자원 스케일링 방법의 일 실시예를 도시한 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 '부'가 하나의 부품으로 구현되거나, 하나의 '부'가 복수의 부품들로 구현되는 것도 가능하다.
명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다.
제 1 이나 제 2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 11을 참조하여 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 장치의 일 실시예에 대해서 설명한다. 이하 설명의 편의를 위하여 우선 순위 기반 자원 스케일링의 일 실시예로 분산 클라우드에서의 우선 순위 기반 자원 스케일링을 들어 설명하도록 하나, 후술하는 우선 순위 기반 자원 스케일링은 오직 도 1 등에 도시된 분산 클라우드에 한정하여 적용되는 것은 아니다. 후술하는 우선 순위 기반 자원 스케일링은 분산 클라우드 이외에도, 동일하게 또는 일부 변형을 거쳐, 중앙 집중형 클라우드나 가상 머신을 구축 가능한 통상적인 컴퓨팅 장치(예를 들어, 서버 장치)에도 적용 가능하다.
도 1은 클라우드 시스템의 일 실시예를 도시한 도면이다.
도 1에 도시된 바를 참조하면, 클라우드 시스템(1)은 복수의 클라우드 컴퓨팅 장치(11, 12)가 마련된 적어도 하나의 클라우드(10)를 포함할 수 있다.
클라우드(10)는 분산 클라우드로 구현될 수 있다. 이 경우, 클라우드(10)는 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6)를 포함할 수 있다.
적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6)는 사용자의 단말기(9: 9-1 내지 9-5)가 유선 통신 네트워크 및 무선 통신 네트워크 중 적어도 하나(이하 유무선 통신 네트워크)를 기반으로 접속 가능하게 마련되며, 접속한 사용자의 단말기(9: 9-1 내지 9-5)에 사용자가 요구하는 클라우드 서비스를 제공할 수 있다. 적어도 하나의 클라우드 컴퓨팅 장치(12: 12-1 내지 12-6)는 복수의 위치에 각각 설치될 수 있으며, 신속한 서비스의 제공을 위하여 상대적으로 사용자와 가까운 위치에 설치될 수 있다. 사용자의 단말기(9: 9-1 내지 9-5)는 인접한 클라우드 컴퓨팅 장치(12: 12-1 내지 12-6)에 접속하여 클라우드 서비스를 제공받을 수 있다.
상황에 따라서 어느 하나의 클라우드 컴퓨팅 장치(12: 12-1 내지 12-6)에는 하나의 단말기(9: 9-1 내지 9-5)가 접속할 수도 있고, 또는 어느 하나의 클라우드 컴퓨팅 장치(12: 12-1 내지 12-6)에 복수의 단말기(9: 9-1 내지 9-5)가 접속할 수도 있다. 또한, 복수의 클라우드 컴퓨팅 장치(12: 12-1 내지 12-6)에 적어도 하나의 단말기(9: 9-1 내지 9-5)가 접속하는 것도 가능하다.
일 실시예에 의하면, 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-5)는 자원 스케일링을 수행하도록 설계될 수도 있다. 다시 말해서, 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-5)가 후술하는 자원 스케일링 시스템(도 3의 100) 또는 자원 스케일링 장치(도 3의 110)의 일례가 될 수도 있다. 구체적으로 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-5)는 후술하는 바와 같이 자원 스케일링을 수행하여, 각각의 클라우드 컴퓨팅 장치(11, 12)가 가상 머신을 생성(또는 할당)하거나 실행할 때 생성 또는 실행되는 가상 머신에 제공되는 자원을 증가시키거나(스케일-업, scale-up), 감소시키거나(스케일-다운, scale-down), 적어도 하나의 가상 머신을 복수의 가상 머신으로 리 및 분산시키거나(스케일-아웃, scale- out) 또는 복수의 가상 머신을 더 적은 수의 가상 머신으로 통합시킬 수도 있다(스케일-인, scale-in). 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-5)는, 퍼지-분석적 계층 프로세스(Fuzzy-AHP, Fuzzy-Analytic Hierarchy Process)를 기반으로 자원 스케일링을 수행할 수도 있다.
클라우드(10)는, 실시예에 따라서, 적어도 하나의 클라우드 컴퓨팅 장치(12: 12-1 내지 12-6)와 유무선 통신 네트워크를 통해 연결되고, 적어도 하나의 클라우드 컴퓨팅 장치(12: 12-1 내지 12-6)에 대한 소정의 제어 권한을 갖는 중앙 클라우드 컴퓨팅 장치(12)를 더 포함할 수도 있다. 중앙 클라우드 컴퓨팅 장치(12) 역시 필요에 따라 사용자의 단말기(9: 9-1 내지 9-5)에 사용자가 요구하는 클라우드 서비스를 제공할 수 있다.
일 실시예에 의하면, 중앙 클라우드 컴퓨팅 장치(12)는 자원 스케일링을 수행할 수도 있다. 즉, 중앙 클라우드 컴퓨팅 장치(12)가 자원 스케일링 시스템(100) 또는 자원 스케일링 장치(110)로 동작하는 것도 가능하다. 마찬가지로 중앙 클라우드 컴퓨팅 장치(12) 역시 퍼지-분석적 계층 프로세스를 기반으로 자원 스케일링을 수행하도록 설계되는 것도 가능하다.
도 2는 클라우드 시스템 내의 어느 하나의 컴퓨팅 장치의 일 실시예를 도시한 블록도이다.
도 2에 도시된 바에 의하면, 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6) 및/또는 중앙 클라우드 컴퓨팅 장치(12)는 물리 머신(16)을 포함할 수 있다. 물리 머신(16)은 예를 들어, 통신부(16), 프로세서(17) 및 저장부(18)를 포함할 수 있으며, 이외에도 그래픽 처리 장치(GPU, Graphic Processing Unit) 등과 같은 부가적인 장치를 더 포함할 수도 있다.
통신부(16)는 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6) 및/또는 중앙 클라우드 컴퓨팅 장치(12)가 네트워크에 접속할 수 있도록 한다. 통신부(16)는, 이용되는 통신 기술에 따라 다양한 부품을 포함할 수 있으며, 예를 들어, 외부 단자(예를 들어, 범용 직렬 버스(USB) 단자 등)나 네트워크 단자(RJ-45 단자 등) 등을 이용하여 구현되거나, 또는 안테나나 통신 칩 등을 이용하여 구현될 수 있다.
프로세서(17)는 소정의 소프트웨어를 구동시켜, 미리 정의된 연산, 판단, 처리 및/또는 제어 동작 등을 수행할 수도 있다. 소정의 소프트웨어는 저장부(18)에 저장된 것일 수 있다. 저장부(18)에 저장된 소프트웨어는 설계자에 의해 미리 작성되어 저장된 것일 수도 있고, 또는 유선 또는 무선 통신 네트워크를 통해 접속 가능한 전자 소프트웨어 유통망을 통하여 획득 또는 갱신된 것일 수도 있다.
일 실시예에 의하면, 프로세서(17)는 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6) 및/또는 중앙 클라우드 컴퓨팅 장치(12)의 동작에 필요한 각종 연산 처리 및 제어를 수행할 수 있다. 예를 들어, 프로세서(17)는 클라우드 서비스의 제공에 필요한 각종 연산 및 제어 동작을 수행할 수도 있다. 또한, 프로세서(17)는 적어도 하나의 가상 머신(VM-1 내지 VM-k+1)의 생성 및 동작을 수행, 제어 또는 지원할 수도 있다. 또한, 프로세서(17)는 자원 스케일링을 수행할 수도 있으며, 이를 위해 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6) 및/또는 중앙 클라우드 컴퓨팅 장치(12) 각각의 자원의 모니터링 결과를 획득하거나, 획득한 결과를 기반으로 퍼지 시스템(Fuzzy system)을 구동하거나, 퍼지 시스템의 구동 결과를 기반으로 각 가상 머신(VM-1 내지 VM-k)의 스케일링 여부를 결정하거나, 스케일링을 수행할 가상 머신(VM-1 내지 VM-k+1)을 결정하거나, 및/또는 선택된 가상 머신(VM-1 내지 VM-k+1)의 스케일링을 수행할 수도 있다. 이들에 대한 자세한 설명은 후술한다.
프로세서(17)는, 예를 들어, 중앙 처리 장치(17a, CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 마이컴(Micom, Micro Processor), 애플리케이션 프로세서(AP, Application Processor), 전자 제어 유닛(ECU, Electronic Controlling Unit) 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 다른 전자 장치 등을 포함할 수 있다. 이들 장치는 예를 들어 하나 또는 둘 이상의 반도체 칩 및 관련 부품을 이용하여 구현 가능하다.
저장부(18)는 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6) 및/또는 중앙 클라우드 컴퓨팅 장치(12)의 동작에 필요한 소프트웨어(애플리케이션, 프로그램 또는 앱으로 지칭 가능하다) 데이터를 일시적 또는 비일시적으로 저장할 수 있다. 예를 들어, 저장부(18)는 자원 스케일링과 관련된 소프트웨어, 퍼지 시스템에 대한 소프트웨어, 퍼지 시스템 결과 획득된 학습된 모델(trained model) 및/또는 퍼지 룰 등을 저장할 수 있다.
저장부(18)는, 예를 들어, 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다. 주기억장치는 롬(ROM) 및/또는 램(RAM)과 같은 반도체 저장 매체를 이용하여 구현된 것일 수 있다. 롬은, 예를 들어, 통상적인 롬, 이프롬(EPROM), 이이프롬(EEPROM) 및/또는 마스크롬(MASK-ROM) 등을 포함할 수 있다. 램은 예를 들어, 디램(DRAM) 및/또는 에스램(SRAM) 등을 포함할 수 있다. 보조기억장치는, 플래시 메모리 장치, SD(Secure Digital) 카드, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 하드 디스크 드라이브(HDD, Hard Disc Drive), 자기 드럼, 컴팩트 디스크(CD), 디브이디(DVD) 또는 레이저 디스크 등과 같은 광 기록 매체(optical media), 자기 테이프, 광자기 디스크 및/또는 플로피 디스크 등과 같이 데이터를 영구적 또는 반영구적으로 저장 가능한 적어도 하나의 저장 매체를 이용하여 구현될 수 있다.
가상 머신(VM)은 물리 머신(15)의 자원을 기반으로 가상적으로 생성되어 동작하는 머신을 의미한다. 가상 머신(VM: VM-1 내지 VM-k+1)은, 프로세서(17)의 제어에 따라, 하나의 컴퓨팅 장치(11, 12)에 하나 또는 둘 이상 생성될 수 있다. 복수의 가상 머신(VM: VM-1 내지 VM-k+1) 각각은 가상적으로 서로 독립적인 머신(장치)으로 동작하게 된다. 예를 들어, 각각의 가상 머신(VM: VM-1 내지 VM-k+1)은 각각 별도로 운영체제(OS, Operating System)를 구동시켜 각각 분리된 컴퓨팅 장치인 것처럼 동작할 수 있다.
사용자의 조작이나 미리 정의된 설정에 따라서, 어느 하나의 가상 머신(예를 들어, VM-k) 내의 시스템은 다른 가상 머신(VM-k+1)으로 마이그레이션(migration)될 수 있다. 마이그레이션은 특정한 환경(즉, 기존의 환경, 예를 들어, 하나의 가상 머신, VM-k)의 시스템, 애플리케이션 또는 모듈 등(이하 시스템 등)을 그대로 다른 환경(즉, 새로운 환경, 예를 들어, 다른 가상 머신 VM-k+1)으로 이주시키는 것을 의미한다. 이 경우, 시스템 등이 존재하던 기존의 환경과 새로운 환경은 서로 동일하지 않을 수 있다. 예를 들어, 기존의 가상 머신(VM-k)에 제공되던 시스템 자원(CPU, 메모리 등)과 새로운 가상 머신(VM-k+1)에 제공되는 시스템 자원은 서로 상이할 수 있다.
가상 머신(VM-k)의 마이그레이션은 새로운 가상 머신(VM-k+1)의 생성과 동시에 또는 순차적으로 수행될 수도 있다. 즉, 자원 낭비나, 자원 부족이나, 또는 소프트웨어 업그레이드 등과 같은 이유로, 새로운 가상 머신(VM-k+1)을 생성하면서, 기존에 사용하던 가상 머신(VM-k)을 새로 생성된 가상 머신(VM-k+1)에 마이그레이션할 수도 있다. 이 경우, 새로운 가상 머신(VM-k+1)은 스케일링되면서 생성될 수 있다. 다시 말해서, 새로운 가상 머신(VM-k+1)은 기존의 가상 머신(VM-k)을 스케일-업, 스케일-다운, 스케일-인 또는 스케일-아웃하면서 생성될 수도 있다. 새로운 가상 머신(VM-k+1)의 생성 과정은, 예를 들어, 클라우드 컴퓨팅 장치(11, 12)의 프로세서(17)에 의해 수행될 수 있다.
단말기(9: 9-1 내지 9-5)는 사용자가 조작하거나 또는 미리 정의된 설정에 따라서 클라우드(10)에 소정의 클라우드 서비스 제공을 요청하고, 제공되는 클라우드 서비스를 이용할 수 있도록 마련된 장치이다. 단말기(9: 9-1 내지 9-5)는 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6)와 상호 데이터를 송수신하여 사용자가 소정의 클라우드 서비스를 제공받도록 할 수 있다. 또한, 필요에 따라서 단말기(9: 9-1 내지 9-5)는 중앙 클라우드 컴퓨팅 장치(12)와도 직접 또는 간접적으로 상호 데이터를 송수신하여 사용자가 중앙 클라우드 컴퓨팅 장치(12)로부터 클라우드 서비스를 제공받도록 할 수도 있다.
또한, 사용자의 이동 등에 따라서 단말기(예를 들어, 9-1)는 그 위치가 변경될 수 있으며, 이 경우 단말 장치(9-1a, 9-1b)는 이동 전과 이동 후에 서로 상이한 클라우드 컴퓨팅 장치(11-6, 11-1)에 접속할 수도 있다. 다시 말해서, 이동 전의 단말 장치(9-1a)는 제6 클라우드 컴퓨팅 장치(11-6)에 접속하여 클라우드 서비스를 제공받고, 이동 후의 단말 장치(-1b)는 상대적으로 더 인접한 제1 클라우드(11-1)에 접속하여 클라우드 서비스를 제공받게 된다.
단말기(9: 9-1 내지 9-5)는, 예를 들어, 셀룰러 폰, 스마트 폰, 태블릿 피씨, 두부 장착형 디스플레이(HMD, Head Mounted Display) 장치, 스마트 시계, 데스크톱 컴퓨터, 랩톱 컴퓨터, 디지털 텔레비전, 셋톱 박스, 내비게이션 장치, 개인용 디지털 보조기(PDA, Personal Digital Assistant), 휴대용 게임기, 인공 지능 음향 재생 장치 및/또는 이외 부호의 입력 및 수정이 가능한 다양한 장치 중 적어도 하나를 포함할 수 있다.
일 실시예에 의하면, 클라우드(10)는 클라우드 컴퓨팅 장치(11, 12)와는 별도로 마련된 자원 스케일링 제어 장치(13)를 더 포함할 수도 있다. 자원 스케일링 제어 장치(13)는 후술하는 바와 같이 자원 스케일링을 수행하여, 각각의 클라우드 컴퓨팅 장치(11, 12)가 가상 머신을 생성하거나 실행할 때 가상 머신의 스케일-업, 스케일-다운, 스케일-인 및/또는 스케일-아웃을 제어할 수도 있다. 이 경우, 자원 스케일링 제어 장치(13)는, 클라우드 컴퓨팅 장치(11, 12)와 동일하게, 퍼지-분석적 계층 프로세스를 기반으로 자원 스케일링을 수행할 수도 있다.
상술한 바와 같이, 자원 스케일링 제어 장치(13)는 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-5)에 의해 수행될 수도 있고, 및/또는 중앙 클라우드 컴퓨팅 장치(12)에 의해 수행될 수도 있다.
적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6), 중앙 클라우드 컴퓨팅 장치(12), 자원 스케일링 제어 장치(13) 및 사용자의 단말기(9: 9-1 내지 9-5) 중 적어도 둘은, 상술한 바와 같이 유무선 통신 네트워크를 기반으로 통신을 수행할 수 있다. 여기서, 유선 통신 네트워크는, 통상 케이블을 이용하여 구축 가능하며, 케이블은, 예를 들어, 페어 케이블, 동축 케이블, 광섬유 케이블 또는 이더넷 케이블 등을 이용하여 구현된 것일 수 있다. 무선 통신 네트워크는 근거리 통신 네트워크 및 원거리 통신 네트워크 중 적어도 하나를 이용하여 구축될 수 있다. 근거리 통신 네트워크는, 예를 들어, 와이 파이(Wi-Fi), 지그비(zigbee), 블루투스(Bluetooth), 와이파이 다이렉트(Wi-Fi Direct), 저전력 블루투스(Bluetooth Low Energy), 캔(CAN) 통신 또는 엔에프씨(NFC, Near Field Communication) 등을 이용하여 구현된 것일 수 있고, 원거리 통신 네트워크는, 예를 들어, 3GPP, 3GPP2 또는 와이맥스 계열 등의 이동 통신 표준을 기반으로 구현된 것일 수 있다.
이하 자원 스케일링 장치(110) 및 퍼지 시스템(120)을 포함하는 자원 스케일링 시스템(100)에 대해 설명한다.
도 3은 자원 스케일링 장치 및 퍼지 시스템의 일 실시예를 도시한 도면이고, 도 4는 자원 스케일링 장치의 동작의 일례를 설명하기 위한 도면이다.
도 3에 도시된 바에 의하면 자원 스케일링 시스템(100)은 자원 스케일링 장치(110) 및 퍼지 시스템(120)을 포함할 수 있다.
자원 스케일링 장치(110)는 적어도 하나의 클라우드 컴퓨팅 장치(11: 11-1 내지 11-6) 및/또는 중앙 클라우드 컴퓨팅 장치(12)의 자원을 모니터링하고, 기존의 또는 생성되는 가상 머신(VM-1 내지 VM-k+1)의 자원 스케일링을 수행한다.
자원 스케일링 장치(110)는 자원 모니터링부(112), 스케일링 결정부(114) 및 자원 스케일링부(116)를 포함할 수 있다.
도 4에 도시된 바를 참조하면, 자원 모니터링부(112)는, 가상 머신(VM-1 내지 VM-k+1)의 상태 및/또는 가상 머신(VM-1 내지 VM-k+1)에 제공되는 제공되는 자원을 모니터링할 수 있다(s1). 예를 들어, 자원 모니터링부(112)는 퍼지 시스템(120)의 기계 학습 결과를 기반으로 가상 머신(VM-1 내지 VM-k+1)의 워크 로드(work load)를 검사할 수 있다. 보다 구체적으로 예를 들어 자원 모니터링부(112)는 가상 머신(VM-1 내지 VM-k+1)의 중앙 처리 장치(CPU, 이는 애플리케이션 프로세서나 마이크로 컨트롤러 유닛 등과 같이 처리나 제어를 위해 이용되는 전자 장치일 수도 있다)의 사용량, 램 등의 메모리 사용량 및/또는 네트워크 자원 상태(예를 들어, 대역폭) 등을 모니터링함으로써, 가상 머신(VM-1 내지 VM-k+1)의 상태나 가상 머신(VM-1 내지 VM-k+1)에 제공되는 자원에 대한 정보를 획득할 수 있다. 또한, 자원 모니터링부(112)는 가상 머신(VM-1 내지 VM-k+1)이 대기한 시간(대기 시간)이나, 가상 머신(VM-1 내지 VM-k+1)이 동작한 시간(실행 시간)이나, 가상 머신(VM-1 내지 VM-k+1)의 동작이 종료된 기간이나, 및/또는 전력 공급의 중단의 빈도 등을 모니터링하는 것도 가능하다.
자원 모니터링부(112)의 모니터링 결과는 퍼지 시스템(120)으로 전달될 수 있다. 이 경우, 자원 모니터링부(112)는 주기적으로 또는 연속적으로 퍼지 시스템(120)에 모니터링 결과를 전송할 수도 있다. 주기적으로 또는 연속적으로 전달된 모니터링 결과는 퍼지 시스템(120)의 기계 학습부(121)로 전달될 수 있다. 기계 학습부(121)는 주기적으로 또는 연속적으로 전달되는 모니터링 결과를 기반으로 기계 학습을 수행한다. 또한, 자원 모니터링부(112)는 현재의 모니터링 결과를 퍼지 룰 구축부(123)로 전달할 수도 있다. 퍼지 룰 구축부(123)는 현재의 모니터링 결과를 기계 학습부(121)에서 학습 결과 생성된 학습 모델에 적용하여 퍼지 룰을 생성하고 생성한 퍼지 룰을 자원 스케일링 장치(110)의 스케일링 결정부(114)로 전달할 수 있다.
스케일링 결정부(114)는 퍼지 시스템(120)에서 전달된 퍼지 룰을 이용하여 자원의 필요 정도를 평가하고, 가상 머신(VM-1 내지 VM-k+1)의 스케일링 여부 및 스케일링 방법을 결정할 수 있다. 예를 들어, 스케일링 결정부(114)는 퍼지 시스템(120)의 다양한 메트릭(metric)를 기반으로 룰에 따라서 스케일링 여부 및 방법을 결정할 수 있다. 예를 들어, 도 4에 도시된 바와 같이 스케일링 결정부(114)는 자원 낭비 여부나, 자원 활용 정도나, 에너지 소모 정도 및/또는 마이그레이션 퍼포먼스 수준 등을 결정할 수 있다(s2). 이 경우, 자원 낭비 여부는, 예를 들어, 중앙 처리 장치의 사용량, 메모리 사용량 및 네트워크 자원 상태 중 적어도 하나를 기반으로 결정될 수 있다. 보다 구체적으로 스케일링 결정부(114)는 중앙 처리 장치의 사용량, 메모리 사용량 및/또는 네트워크 자원 상태를 독립적으로 또는 종합하여 수치화하고 수치화된 결과가 미리 정의된 임계 값보다 크면 자원 낭비로 판단할 수 있다. 자원 활용 정도나 에너지 소모 정도는, 예를 들어, 중앙 처리 장치의 사용량, 메모리 사용량 및 네트워크 자원 상태 중 적어도 하나를 기반으로 판단될 수 있으며, 이는 퍼지 시스템(120)의 퍼지 룰을 통해 결정될 수 있다. 또한, 마이그레이션 퍼포먼스 수준은, 예를 들어, 자원 활용 정도와 대기 시간 및 실행 시간을 이용하여 판단될 수 있으며, 이를 위해 퍼지 룰이 이용될 수 있다.
자원 스케일링부(116)는 스케일링 결정부(114)의 결정 결과를 기반으로 자원 스케일링을 수행할 수 있다(s3). 다시 말해서, 자원 스케일링부(116)는 퍼지-분석적 계층 프로세스 기반의 계산된 우선 순위 리스트를 통해 마이그레이션 등에 있어서 스케일링을 수행할 수 있다.
일 실시예에 의하면, 자원 스케일링부(116)는 스케일-업, 스케일-다운, 스케일-인 및 스케일-아웃 중 적어도 하나에 대한 제어 신호를 생성하고, 이를 가상 머신(VM-1 내지 VM-k+1)에 전달하여 가상 머신(VM-1 내지 VM-k+1)의 스케일링을 수행할 수 있다. 자원 스케일링부(116)에 의해 스케일링되는 가상 머신(VM-1 내지 VM-k+1)은 기존에 생성된 가상 머신(VM-1 내지 VM-k)을 포함할 수도 있고, 및/또는 새로 생성되거나 생성되고 있는 가상 머신(VM-k+1)을 포함할 수도 있다. 수행되는 스케일링은, 예를 들어, 자원 활용 정도나, 에너지 소모 정도 및/또는 마이그레이션 퍼포먼스 수준 등을 기반으로 수행될 수 있다. 또한, 자원 스케일링부(116)는 자원 낭비가 발생되고 있다고 판단된 경우에는 컴퓨팅 장치(예를 들어, 서버 장치)의 동작을 종료시키거나 또는 자원을 낭비하고 있는 가상 머신(VM-1 내지 VM-k+1)을 제거하도록 설계될 수도 있다.
도 5는 목표 가상 머신을 선정하는 과정의 일례를 도시한 도면이고, 도 6은 목표 가상 머신의 우선 순위 결정과 관련하여 계층 구조의 일 실시예를 도시한 도면이다. 도 7은 상대적 중요도에 따라 정의된 스코어들의 일례를 도시한 도표이고, 도 8은 쌍대 비교 행렬의 일례를 도시한 도면이다.
일 실시예에 의하면, 자원 스케일링부(116)는, 자원 스케일링이 수행될 가상 머신(VM-1 내지 VM-k+1)을 결정할 수도 있다. 이 경우, 자원 스케일링부(116)는, 예를 들어, 도 5에 도시된 바와 같이, 먼저 퍼지 쌍대 비교 행렬(fuzzy pairwise comparison metric)을 생성하고(s12), 퍼지 쌍대 비교 행렬을 기반으로 최적 가중치를 도출하고(s14), 도출된 최적 가중치를 이용하여 최종 스코어를 결정한 후(s16), 스코어를 기반으로 도 6에 도시된 바와 같이 복수의 가상 머신(VM1 내지 VM6) 중 적어도 하나를 선정할 수 있다. 필요에 따라 퍼지 쌍대 비교 행렬의 생성 전에 결정 테이블(decision table)이 결정될 수도 있다.
구체적으로 자원 스케일링부(116)는, 도 6에 도시된 바와 같이 사전에 미리 설정되거나 또는 자원 스케일링부(116)에 의해 생성 가능한 계층 구조를 기반으로 퍼지 시스템(120)의 메트릭을 비교하기 위한 퍼지 쌍대 비교 행렬을 생성한다(s12).
계층 구조는 제공될 서비스(예를 들어 가상 머신이 제공할 클라우드 서비스)의 목적이나 기능 등에 따라 구성될 수 있다. 최상위(level 1)는 얻고자 하는 목표, 즉 목표 머신들(VM-1 내지 VM-7)의 순위로 결정된다. 다음 순위(level 2)는 목표 머신을 선정하기 위해 필요한 하위 요소들, 예를 들어 퍼포먼스와 에너지들로 결정된다. 제3 순위(level 3)는 제2 순위(level)에서 선정된 요소들에 대응하는 요소들로 결정된다. 예를 들어, 퍼포먼스의 하위 요소들은 시간 최소화, 자원 및 신뢰성을 포함하고, 에너지의 하위 요소들은 자원 및 비용을 포함할 수 있다. 또한, 제4 순위(level 4)는 제3 순위(level 3)의 요소들에 대응하는 하위 요소들을 포함할 수 있으며, 예를 들어, 시간 최소화는 총 마이그레이션 시간, 다운 타임(down time), 대기 시간 및 마이그레이션 개수 등의 하위 요소를, 자원은 중앙 처리 장치, 메모리 및 네트워크 등의 하위 요소를, 신뢰성은 실패율, 응답 시간 및 지원 비용(resource cost) 등의 하위 요소를 가질 수 있다. 또한, 자원은 중앙 처리 장치, 메모리 및 네트워크 등의 하위 요소를 가질 수 있다. 이들 순위(예를 들어, 제4 순위(level 4)의 요소들을 기반으로 목표 머신들(VM-1 내지 VM-7)은 상호 비교될 수 있다. 예를 들어, 목표 머신들(VM-1 내지 VM-7) 중 적어도 두 개의 목표 머신들(VM-1 내지 VM-7)은 제4 순위의 하위 요소들을 기준으로 상호 비교될 수 있다. 도 6에 도시된 계층 구조는 예시적인 것으로, 계층 구조는 설계자의 선택 등에 따라서 다양하게 정의 가능함은 자명하다.
우선 순위 리스트는 선정된 메트릭에 따라 변경될 수 있다. 다시 말해서, 메트릭의 선정에 따라서 선택될 가상 머신(VM-1 내지 VM-7) 각각에 대한 우선 순위가 상이하게 변경된다. 따라서, 메트릭의 선정은 가상 머신(VM-1 내지 VM-7)의 선택에 영향을 미친다.
적어도 하나의 메트릭의 선정을 위하여 퍼지 시스템(120)의 메트릭 간에 비교가 수행된다. 메트릭 간의 비교는, 예를 들어, 도 7에 도시된 바와 같은 상대적 중요도에 따라 정의된 스코어들을 기반으로 수행될 수 있다. 이 경우, 스코어는 두 개의 메트릭(M1 내지 Mn) 사이의 중요도의 차이(이하 상대적 중요도)에 따라서 정의될 수 있다. 예를 들어, 스코어는 상대적 중요도가 증가할수록 더 크게 정의될 수 있다. 도 7에 도시된 바를 참고하면, 두 개의 선택지(즉, 메트릭(M1 내지 Mn)) 중 선택된 두 개의 메트릭(M1 내지 Mn)이 서로 동등하게 중요하거나 그 질(quality)이 동일하면, 두 개의 선택지 간의 상대적 중요도는 1로 정의되고, 두 개의 메트릭(M1 내지 Mn) 중 어느 하나가 다소 중요하거나 질이 다소 더 나으면, 두 개의 선택지 간의 상대적 중요도는 3으로 정의된다. 마찬가지로 두 개의 메트릭(M1 내지 Mn) 중 어느 하나가 꽤 중요하거나 또는 상당히 더 중요한 경우에는, 두 개의 선택지 간의 상대적 중요도는 각각 5 및 7로 정의될 수 있다. 만약 두 개의 메트릭(M1 내지 Mn) 중 어느 하나가 극히 더 중요한 경우에는 두 개의 선택지 간의 상대적 중요도는 9로 정의될 수도 있다. 도 7의 좌측 열의 상대적 중요도의 정의나, 또는 우측 열의 이에 대응하는 스코어 값은 예시적인 것으로 설계자의 선택에 따라서 이들은 다양하게 정의될 수 있다.
상술한 메트릭(M1 내지 Mn)들 간의 비교는 도 8에 도시된 바와 같이 퍼지-쌍대 비교 행렬의 형태로 구성될 수 있다. 퍼지-쌍대 비교 행렬은 도 7의 상대적 중요도를 이용하여 구현될 수 있다. 도 8의 퍼지-쌍대 비교 행렬에서 M1 내지 Mn은 메트릭을 의미하고, i행과 j열이 서로 교차하는 지점의 값(즉, Vi/Vj)는 j번째 메트릭(Mj)에 대한 i번째 메트릭(Mi)의 중요도를 의미한다. Vi는 i번째 메트릭(Mi)의 중요도나 질 등을 설계자나 사용자 등에 의해 미리 정의된 기준에 따라서 수치화한 것이다. Vi/Vj는 i번째 메트릭(Mi)의 중요도나 질 등을 j번째 메트릭의 중요도나 질로 나눈 것으로, 상술한 상대적 중요도와 동일할 수도 있다. 실시예에 따라서, Vi/Vj는 상술한 중요도를 정규화하여 획득한 값일 수도 있다. 물론, 상술한 바와 같이 각각의 메트릭(M1 내지 Mn)들 마다 별도로 정의된 수치를 직접 나누어 획득된 것일 수도 있다. 쌍대 비교 행렬에서 i행과 j열이 서로 교차하는 지점의 값(즉, Vi/Vj)은 j행과 i열이 서로 교차하는 지점의 값(즉, Vj/Vi)의 역수가 된다. 또한, i행과 j열이 교차하는 지점(즉, 동일한 메트릭(Mi) 간의 비교 값)은 1로 정의된다.
이와 같이 퍼지 시스템(120)에서 제공된 메트릭 간의 퍼지-쌍대 비교 행렬이 획득되면, 각 기준의 퍼지 가중치가 연산된다(s14).
구체적으로 퍼지 가중치는 하기의 수학식 1 내지 수학식 3을 이용하여 연산된다.
Figure PCTKR2018015418-appb-M000001
Figure PCTKR2018015418-appb-M000002
Figure PCTKR2018015418-appb-M000003
수학식 1 내지 수학식 3에서 Wn은 메트릭 n(Mn)에 대한 가중치이고, Mm은 메트릭 n(Mn)에 대한 가중치의 합을 의미한다. 수학식 1 내지 수학식 3에 의하면 퍼지 가중치가 연산될 수 있다.
도 9는 행렬의 변화에 따른 가중치를 도시한 도면이다.
각 기준의 퍼지 가중치가 연산되면, 퍼지 가중치를 기반으로 최종 스코어, 즉 최종 퍼지 가중치가 계산될 수 있다(s16). 메트릭에 대한 최종 퍼지 가중치가 연산되면, 도 9에 도시된 바와 같이 메트릭에 따라서 각각의 요소, 예를 들어, 에너지 소비, 능력(capacity), 자원 활용 정도, 가상 머신 개수 및/또는 대기 시간 등 각각에 대한 다양한 가중치들의 조합(P1 내지 P5)이 미리 정의된 설정이나 데이터에 따라서 결정된다. 이에 따라 메트릭에 대한 퍼지-분석적 계층 프로세스 기반의 가중치가 획득될 수 있게 된다.
최종 퍼지 가중치가 연산되면, 제공하는 클라우드 서비스 및 자원 사용량에 따라 우선 순위가 결정된다. 가상 머신(VM-1 내지 VM-k+1)은, 결정된 우선 순위에 따라 선정된다(s18).
우선 순위에 따라 선정된 가상 머신(VM-1 내지 VM-k+1)은 상술한 바와 같이 스케일링되고, 이에 의하여 제공되는 클라우드 서비스의 목적이나 용도 등에 따라 적절하게 가상 머신(VM-1 내지 VM-k+1)의 선택 및 선택된 가상 머신(VM-1 내지 VM-k+1)에 대한 자원 스케일링이 수행될 수 있게 된다.
도 10은 퍼지 시스템의 기계 학습부의 동작을 설명하기 위한 도면이다.
퍼지 시스템(120)은 모니터링 결과(예를 들어, 자원 사용량 데이터)와 학습 결과(예를 들어, 학습된 자원 사용량에 대한 모델 등)을 기반으로 퍼지화를 수행하고, 퍼지화된 메트릭에 대해 퍼지-분석적 계층 프로세스 기반의 룰을 설정할 수 있다.
도 3에 도시된 바를 참조하면, 퍼지 시스템(120)은 기계 학습부(121) 및 퍼지 룰 처리부(123)를 포함할 수 있다.
기계 학습부(121)는 자원 모니터링부(112)에서 전달되는 모니터링 결과(예를 들어, 중앙 처리 장치의 점유율이나 메모리 사용량 등)을 기반으로 기계 학습을 수행한다.
구체적으로 기계 학습부(121)는, 평균 연산부(121a), 퍼지화부(121b) 및 기게 학습 처리부(121c)를 포함할 수 있다.
평균 연산부(121a)는 일정한 기간 동안 입력된 모니터링 결과들의 평균을 연산한다. 예를 들어, 중앙 처리 장치의 점유율이 연속적으로 입력되면, 미리 정의된 기간 동안의 점유율의 평균을 연산할 수 있다. 연산 결과는 퍼지화부(121b)로 전달된다.
퍼지화부(121b)는 입력 변수(즉, 연산 결과)를 명령이 실현될 수 있는 소정의 수치로 변환시켜 퍼지화를 수행한다. 구체적으로 퍼지화부(121b)는 스케일 매핑(scale mapping)을 수행하여 입력 변수(즉, 연산 결과)의 값의 범위를 일치시키는 논의 영역(Universe of discourse)으로 변환시킬 수 있다. 이에 따라 퍼지화된 데이터 집합이 획득된다. 퍼지화된 데이터 집합은 기계 학습 처리부(121c)로 전달된다.
기계 학습 처리부(121c)는 기계 학습을 수행한다. 기계 학습은 소정의 기계 학습 알고리즘을 이용하여 구현 가능하다. 기계 학습 알고리즘은, 예를 들어, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 심층 신뢰 신경망(DBN, Deep Belief Network) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나를 이용하여 구현될 수 있으나, 구현 가능한 기계 학습 알고리즘은 이에 한정되는 것은 아니다.
기계 학습 처리부(121c)는 도 10에 도시된 바와 같이, 입력층과, 퍼치 가중치들이 적용되어 획득된 데이터들로 이루어지는 은닉층과, 퍼지 가중치가 반영되어 데이터가 출력되는 출력층으로 이루어진 알고리즘을 기반으로 학습을 수행할 수 있다. 이에 따라 자원 상태를 반영하여 학습이 수행될 수 있게 된다. 학습에 따라 학습된 모델은 퍼지 룰 구축부(123), 구체적으로는 모델 적용부(123b)로 전달될 수 있다.
퍼지 룰 구축부(123)는, 현재 또는 현재로부터 일정한 시간 범위에 해당하는 자원 모니터링 결과를 획득하고, 획득 결과를 기반으로 퍼지-분석적 계층 프로세스 기반의 룰을 설정할 수 있다.
구체적으로 퍼지 룰 구축부(123)는, 도 3에 도시된 바와 같이, 퍼지화부(123a), 모델 적용부(123b), 디퍼지화부(123c) 및 룰 생성부(123d)를 포함할 수 있다.
퍼지화부(123a)는 입력 변수(즉, 현재의 모니터링 결과)를 명령이 실현될 수 있는 소정의 수치로 변환시켜 퍼지화를 수행할 수 있다. 다시 말해서, 퍼지화부(123a)는 현재의 모니터링 결과에 대한 스케일 매핑 작업을 수행할 수 있다.
모델 적용부(123b)는 퍼지화된 데이터를 기계 학습 처리부(121c)에서 획득된 학습 모델에 적용하여 결과 값을 획득할 수 있다. 학습 모델의 출력 값은 디퍼지화부(123c)로 전달된다.
디퍼지화부(123c)는, 출력 변수(즉, 학습 모델의 출력 값)을 원하는 범위로 변환하여 논의 영역으로 전환하는 스케일 매핑 작업을 수행한다. 이 과정에서, 학습 모델의 출력 값은 모니터링 결과와 유사한 범위의 값을 가질 수 있게 된다. 스케일 매핑 작업에 따라 획득된 결과는 룰 생성부(123d)로 전달된다.
룰 생성부(123d)는, 디퍼지화된 출력 값을 기반으로 퍼지 룰을 생성 및 구축한다. 룰 생성부(123d)는 학습 모델의 출력 값으로부터 룰을 찾아내고 찾아낸 룰을 기록 및 저장하여 퍼지 룰을 생성할 수 있다. 생성된 퍼지 룰은 스케일링 결정부(114)으로 전달되고, 스케일링 결정부(114)는 퍼지 룰을 기반으로 가상 머신(VM-1 내지 VM-k+1)의 스케일링 여부 및 스케일링 방법을 결정할 수 있다.
상술한 자원 스케일링 장치(110)의 자원 모니터링부(112), 스케일링 결정부(114) 및 자원 스케일링부(116)와, 퍼지 시스템(120)의 기계 학습부(121), 평균 연산부(121a), 퍼지화부(121b) 및 기게 학습 처리부(121c) 및 퍼지 룰 구축부(123), 퍼지화부(123a), 모델 적용부(123b), 디퍼지화부(123c) 및 룰 생성부(123d)는 논리적으로 구분되는 것일 수도 있고 또는 물리적으로 구분되는 것일 수도 있다. 논리적으로 구분되는 경우 이들은 하나 또는 둘 이상의 반도체 칩 및 관련 부품 등에 의해 구현될 수도 있다. 또한, 물리적으로 구분되는 경우, 이들은 각각 별도의 반도체 칩 및 관련 부품 등에 의해 구현될 수도 있다.
상술한 자원 스케일링 장치(110) 및 퍼지 시스템(120)은, 실시예에 따라서, 하나의 장치, 예를 들어 어느 하나의 클라우드 컴퓨팅 장치(11, 12) 또는 자원 스케일링 제어 장치(13)에 의해 수행될 수도 있고, 또는 복수의 장치, 예를 들어, 적어도 하나의 클라우드 컴퓨팅 장치(11, 12) 및 자원 스케일링 제어 장치(13) 중 적어도 둘에 의해 수행될 수도 있다. 후자의 경우, 예를 들어, 자원 스케일링 장치(110)는 어느 하나의 클라우드 컴퓨팅 장치(11, 12)에 의해 구현되고, 퍼지 시스템(120)은 자원 스케일링 제어 장치(13)에 의해 구현될 수도 있다. 또한, 실시예에 따라서, 퍼지 시스템(120)은 클라우드(10) 외부에 존재하는 다른 컴퓨팅 장치에 의해 구현될 수도 있다. 즉, 자원 스케일링 장치(110)는 적어도 하나의 클라우드 컴퓨팅 장치(11, 12) 또는 자원 스케일링 제어 장치(13)에 의해 구현되고, 퍼지 시스템(120)은 퍼지와 관련된 연산 처리를 위해 별도로 구축되고 하나 또는 둘 이상의 컴퓨팅 장치를 갖는 다른 시스템에 의해 구현될 수도 있다.
도 11은 종래 기술과의 에너지 소비량을 비교한 도면이다. 도 11의 x축은 할당된 가상 머신(V-1 내지 V-k+1)의 개수를 의미하고, y축은 에너지 소비량의 상대값을 표시한 것이다. 또한 도 11의 복수의 선분의 집합으로 표현된 좌측의 블록은 종래 기술이 이용하는 에너지 소비량을 의미하고, 단색으로 표시된 우측의 블록은 상술한 자원 스케일링 장치의 에너지 소비량을 의미한다.
상술한 바와 같이 자원 스케일링 장치(110)가 자원 스케일링을 수행하면, 도 11에 도시된 바와 같이 에너지 소비량이 종래의 클라우드 시스템에 비해서 상당히 감소한다. 예를 들어, 종래의 클라우드 시스템의 경우 가상 머신(V-1 내지 V-k+1)의 개수에 따라서 에너지 소비량의 변화가 크며 또한 그 값 역시 매우 크다. 반면에 상술한 자원 스케일링 장치(110)를 이용하는 경우 가상 머신(V-1 내지 V-k+1)의 개수에 따른 에너지 소비량의 변화가 대략 일정하며, 또한 에너지 소비량의 절대적 수치가 상대적으로 낮음을 알 수 있다.
이하 도 12를 참조하여 우선 순위 기반 자원 스케일링 방법의 일 실시예에 대해서 설명하도록 한다.
도 12는 우선 순위 기반 자원 스케일링 방법의 일 실시예를 도시한 흐름도이다.
도 12에 도시된 바에 의하면, 자원 스케일링을 수행하기 위한 장치나 시스템(예를 들어, 분산형 클라우드 시스템의 클라우드 컴퓨팅 장치나 자원 스케일링 제어 장치 등)이 구동을 개시한다(310).
자원 스케일링을 수행하기 위한 장치나 시스템은, 자원 스케일링 장치의 자원이나 또는 다른 장치(예를 들어, 클라우드 컴퓨팅 장치 등)의 자원을 모니터링하고 자원 모니터링 결과를 획득한다(312). 이 경우, 자원 모니터링은 지속적으로, 연속적으로 수행될 수 있다.
퍼지 시스템은 자원 모니터링 획득 결과를 기 획득한 학습 모델에 적용하여, 퍼지 룰을 결정한다(314). 구체적으로 퍼지 시스템은 현재의 자원 모니터링 획득 결과에 대한 퍼지화를 수행하고, 퍼지화된 데이터를 기 획득한 학습 모델에 적용하여 출력 값을 얻고, 출력 값에 대한 디퍼지화를 수행한 후, 디퍼지화된 결과를 기반으로 퍼지 룰을 생성할 수 있다. 여기서, 기 획득한 학습 모델은, 지속적으로, 연속적으로 입력되는 자원 모니터링 결과에 대한 기계 학습 결과 획득된 모델일 수 있다. 상세하게는 퍼지 시스템은 일정 기간 동안 연속적으로 입력되는 자원 모니터링 결과의 평균을 획득하고, 획득한 평균에 대한 퍼지화를 수행한 후 퍼지화된 결과에 대해 기계 학습을 수행하여 학습 모델을 획득할 수 있다.
자원 스케일링 장치는 퍼지 시스템에서 획득한 퍼지 룰을 기반으로 스케일링 여부를 결정할 수 있다(316). 예를 들어, 자원 스케일링 장치는 전달된 퍼지 룰을 이용하여 자원의 필요 정도를 평가하고, 이를 기반으로 자원 스케일링 대상(예를 들어, 가상 머신)의 스케일링 여부 및 스케일링 방법을 결정할 수 있다. 가상 머신의 스케일링 여부 및 방법의 결정은 마이그레이션 등이 수행될 때 함께 또는 순차적으로 수행될 수도 있다.
한편, 스케일링 여부나 방법의 결정과 동시에 또는 이시에, 자원 스케일링이 수행될 가상 머신이 결정될 수 있다(318). 자원 스케일링이 수행될 가능 머신은, 퍼지 쌍대 비교 행렬을 생성하고, 이를 기반으로 최적 가중치를 도출하고, 최적 가중치를 기반으로 최종적인 가중치를 결정한 후, 결정된 최종 가중치를 기반으로 복수의 가상 머신 중 적어도 하나의 가상 머신이 선택될 수 있다.
가상 머신이 선택되면, 결정된 스케일링 방법에 따라서 가상 머신의 스케일링이 수행될 수 있다(320). 예를 들어, 기존의 가상 머신 또는 마이그레이션을 위해 새로 생성되는 가상 머신의 스케일-업, 스케일-다운, 스케일-인 또는 스케일-아웃이 수행될 수도 있다.
상술한 실시예에 따른 우선 순위 기반 자원 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 우선 순위 기반 자원 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다.
상술한 방법을 구현하기 위한 우선 순위 기반 자원 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 하드 디스크나 플로피 디스크와 같은 자기 디스크 저장 매체, 자기 테이프, 콤팩트 디스크나 디브이디와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 기록 매체 및 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 다양한 종류의 하드웨어 장치를 포함할 수 있다.
이상 우선 순위 기반 자원 장치 및 방법의 여러 실시예에 대해 설명하였으나, 우선 순위 기반 자원 장치 및 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 장치나 방법 역시 상술한 우선 순위 기반 자원 장치 및 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 우선 순위 기반 자원 장치 및 방법의 일 실시예가 될 수 있다.

Claims (20)

  1. 가상 머신이 설치되는 물리 머신의 자원을 모니터링하는 자원 모니터링부;
    상기 자원 모니터링부에 의한 자원에 대한 현재의 모니터링 결과를 기반으로 생성된 퍼지 룰에 따라 스케일링 여부 및 스케일링 방법을 결정하는 스케일링 결정부; 및
    상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 가상 머신 또는 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행하는 자원 스케일링부;를 포함하는 자원 스케일링 장치.
  2. 제1항에 있어서,
    상기 퍼지 룰은, 상기 자원에 대한 현재의 모니터링 결과를, 상기 물리 머신의 자원에 대한 계속적인 모니터링 결과를 기반으로 생성된 학습 모델에 적용하여 획득되는 자원 스케일링 장치.
  3. 제1항에 있어서,
    상기 자원 스케일링부는, 퍼지-분석적 계층 프로세스(Fuzzy-AHP, Fuzzy-Analytic Hierarchy Process)를 기반으로 자원 스케일링을 수행하는 자원 스케일링 장치.
  4. 제3항에 있어서,
    상기 자원 스케일링부는, 자원 스케일링 대상이 되는 가상 머신을 더 결정하는 자원 스케일링 장치.
  5. 제4항에 있어서,
    상기 자원 스케일링부는, 퍼지화 및 학습을 수행하는 퍼지 시스템의 복수의 메트릭의 비교 결과를 기반으로 결정된 우선 순위에 따라서 자원 스케일링 대상이 되는 가상 머신을 결정하는 자원 스케일링 장치.
  6. 제5항에 있어서,
    상기 자원 스케일링부는, 상기 복수의 메트릭 중 적어도 둘 간의 쌍대 비교 행렬을 획득하고, 쌍대 비교 행렬을 기반으로 퍼지 가중치를 획득하고, 연산된 퍼지 가중치를 기반으로 최종 퍼지 가중치를 획득하고, 획득한 최종 퍼지 가중치를 기반으로 우선 순위를 결정하고, 결정된 우선 순위를 기반으로 자원 스케일링 대상이 되는 가상 머신을 결정하는 자원 스케일링 장치.
  7. 제1항에 있어서,
    상기 새로 생성되는 가상 머신은, 기존의 가상 머신의 시스템이 마이그레이션되는 가상 머신을 포함하는 자원 스케일링 장치.
  8. 가상 머신이 설치되는 물리 머신의 자원을 계속적으로 모니터링하는 자원 스케일링 장치; 및
    상기 물리 머신의 자원에 대한 계속적인 모니터링 결과를 기반으로 생성된 학습 모델을 생성하고, 상기 자원에 대한 현재의 모니터링 결과를 상기 학습 모델에 적용하여 퍼지 룰을 생성하는 퍼지 시스템;을 포함하되,
    상기 자원 스케일링 장치는,
    상기 자원 모니터링부에 의한 자원에 대한 현재의 모니터링 결과를 기반으로 생성된 퍼지 룰에 따라 스케일링 여부 및 스케일링 방법을 결정하고,
    상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 가상 머신 또는 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행하는 자원 스케일링 시스템.
  9. 제8항에 있어서,
    상기 자원 스케일링 장치는, 퍼지-분석적 계층 프로세스를 기반으로 자원 스케일링을 수행하는 자원 스케일링 시스템.
  10. 제9항에 있어서,
    상기 자원 스케일링 장치는, 자원 스케일링 대상이 되는 가상 머신을 더 결정하는 자원 스케일링 시스템.
  11. 제10항에 있어서,
    상기 자원 스케일링 장치는, 퍼지화 및 학습을 수행하는 퍼지 시스템의 복수의 메트릭의 비교 결과를 기반으로 결정된 우선 순위에 따라서 자원 스케일링 대상이 되는 가상 머신을 결정하는 자원 스케일링 시스템.
  12. 제11항에 있어서,
    상기 자원 스케일링 장치는, 상기 복수의 메트릭 중 적어도 둘 간의 쌍대 비교 행렬을 획득하고, 쌍대 비교 행렬을 기반으로 퍼지 가중치를 획득하고, 연산된 퍼지 가중치를 기반으로 최종 퍼지 가중치를 획득하고, 획득한 최종 퍼지 가중치를 기반으로 우선 순위를 결정하고, 결정된 우선 순위를 기반으로 자원 스케일링 대상이 되는 가상 머신을 결정하는 자원 스케일링 시스템.
  13. 제8항에 있어서,
    상기 새로 생성되는 가상 머신은, 기존의 가상 머신의 시스템이 마이그레이션되는 가상 머신을 포함하는 자원 스케일링 시스템.
  14. 물리 머신의 자원을 모니터링하는 단계;
    상기 자원 모니터링부에 의한 자원에 대한 현재의 모니터링 결과를 기반으로 생성된 퍼지 룰에 따라 스케일링 여부 및 스케일링 방법을 결정하는 단계; 및
    상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 물리 머신에 설치된 가상 머신 또는 상기 물리 머신에 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행하는 단계;를 포함하는 자원 스케일링 방법.
  15. 제14항에 있어서,
    상기 자원에 대한 현재의 모니터링 결과를, 상기 물리 머신의 자원에 대한 계속적인 모니터링 결과를 기반으로 생성된 학습 모델에 적용하여 상기 퍼지 룰을 획득하는 단계;를 더 포함하는 자원 스케일링 방법.
  16. 제14항에 있어서,
    상기 스케일링 여부 및 상기 스케일링 방법을 기반으로 상기 물리 머신에 설치된 가상 머신 또는 상기 물리 머신에 새로 생성되는 가상 머신에 제공되는 자원에 대한 스케일링을 수행하는 단계는,
    자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 더 포함하는 자원 스케일링 방법.
  17. 제16항에 있어서,
    상기 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계는,
    퍼지-분석적 계층 프로세스를 기반으로 하는 우선 순위 리스트를 통해 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 포함하는 자원 스케일링 방법.
  18. 제17항에 있어서,
    상기 퍼지-분석적 계층 프로세스를 기반으로 하는 우선 순위 리스트를 통해 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계는,
    퍼지화 및 학습을 수행하는 퍼지 시스템의 복수의 메트릭의 비교 결과를 기반으로 결정된 우선 순위에 따라서 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 포함하는 자원 스케일링 방법.
  19. 제17항에 있어서,
    상기 퍼지-분석적 계층 프로세스를 기반으로 하는 우선 순위 리스트를 통해 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계는,
    상기 복수의 메트릭 중 적어도 둘 간의 쌍대 비교 행렬을 획득하는 단계;
    쌍대 비교 행렬을 기반으로 퍼지 가중치를 획득하는 단계;
    연산된 퍼지 가중치를 기반으로 최종 퍼지 가중치를 획득하고, 획득한 최종 퍼지 가중치를 기반으로 우선 순위를 결정하는 단계; 및
    결정된 우선 순위를 기반으로 자원 스케일링 대상이 되는 가상 머신을 결정하는 단계;를 포함하는 자원 스케일링 방법.
  20. 제14항에 있어서,
    상기 새로 생성되는 가상 머신은, 기존의 가상 머신의 시스템이 마이그레이션 되는 가상 머신을 포함하는 자원 스케일링 방법.
PCT/KR2018/015418 2017-12-26 2018-12-06 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법 WO2019132299A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0179097 2017-12-26
KR1020170179097A KR101990411B1 (ko) 2017-12-26 2017-12-26 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2019132299A1 true WO2019132299A1 (ko) 2019-07-04

Family

ID=67067672

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/015418 WO2019132299A1 (ko) 2017-12-26 2018-12-06 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101990411B1 (ko)
WO (1) WO2019132299A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102247629B1 (ko) * 2019-12-17 2021-05-04 부산대학교 산학협력단 기계 학습 기반의 클라우드 가상머신 자원의 최적화 장치 및 방법
PH12019050292A1 (en) 2019-12-22 2021-11-08 Samsung Electronics Ltd Method for scaling gpu in the cloud
KR102425505B1 (ko) * 2020-07-21 2022-07-25 고려대학교 산학협력단 이종 가상화 데이터 센터에서 주변 온도를 고려한 가상 머신 배치 방법 및 장치
KR102365839B1 (ko) * 2020-08-12 2022-02-21 숭실대학교산학협력단 애플리케이션 성능 모니터링 방법 및 장치
KR102542149B1 (ko) * 2022-12-27 2023-06-13 오케스트로 주식회사 우선순위 기반의 장애 모니터링을 통한 가상머신 통합관리 방법 및 이를 구현하는 가상머신 통합관리 시스템
KR102557631B1 (ko) * 2022-12-27 2023-07-21 오케스트로 주식회사 자원을 고려한 모니터링 장치 및 이를 포함하는 클라우드 통합운영 시스템
KR102607459B1 (ko) * 2023-03-31 2023-11-29 오케스트로 주식회사 서버 가동효율의 제고를 위한 서버 모니터링 장치 및 이를 포함하는 멀티 클라우드 통합운영 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100954840B1 (ko) * 2008-02-28 2010-04-28 고려대학교 산학협력단 정준 상관 분석에 기반한 계층 분석 방법, 그 장치 및 이를기록한 기록매체
KR101287448B1 (ko) * 2011-10-27 2013-07-18 삼성에스디에스 주식회사 퍼지 제어 기반 가상 머신 스케일링 시스템 및 방법
KR20150007698A (ko) * 2013-07-12 2015-01-21 이규호 가상 데스크탑 서비스를 위한 부하 분산 시스템
KR20160044623A (ko) * 2014-10-15 2016-04-26 극동대학교 산학협력단 리눅스 가상 서버의 로드 밸런싱 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0162751B1 (ko) 1994-12-09 1999-04-15 양승택 다심 광커넥터
KR20140012932A (ko) 2013-12-31 2014-02-04 연세대학교 원주산학협력단 유산균 추출물 및 유청을 이용한 갈락토올리고당의 제조방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100954840B1 (ko) * 2008-02-28 2010-04-28 고려대학교 산학협력단 정준 상관 분석에 기반한 계층 분석 방법, 그 장치 및 이를기록한 기록매체
KR101287448B1 (ko) * 2011-10-27 2013-07-18 삼성에스디에스 주식회사 퍼지 제어 기반 가상 머신 스케일링 시스템 및 방법
KR20150007698A (ko) * 2013-07-12 2015-01-21 이규호 가상 데스크탑 서비스를 위한 부하 분산 시스템
KR20160044623A (ko) * 2014-10-15 2016-04-26 극동대학교 산학협력단 리눅스 가상 서버의 로드 밸런싱 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SON ET AL: "A Study on Migration for QoS Based on Multi-Metirc in Cloud Computing", PROCEEDING OF THE KOREAN INSTITUTE OF COMMUNICATIONS AND INFORMATION SCIENCES (KICS) 2017 WINTER CONFERENCE, January 2017 (2017-01-01), pages 1227 - 1228 *

Also Published As

Publication number Publication date
KR101990411B1 (ko) 2019-10-01
KR101990411B9 (ko) 2022-03-15

Similar Documents

Publication Publication Date Title
WO2019132299A1 (ko) 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법
CN108829494B (zh) 基于负载预测的容器云平台智能资源优化方法
CN108089921B (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
US9183024B2 (en) Computer system with a cluster load balancer for graphics processing and graphics processing method thereof
WO2012067431A2 (en) Resource distribution apparatus and method in cloud computing
WO2022050541A1 (ko) 복수의 vnf(virtualized network function)에 대한 컴퓨팅 자원의 할당을 조정하는 방법 및 그 서버
CN106489251A (zh) 应用拓扑关系发现的方法、装置和系统
WO2021066621A1 (en) Intelligent cloud platform to host resource efficient edge network function
WO2020138605A1 (ko) 사용자 특성을 반영한 클러스터 기반 가상 네트워크 기능의 자원 할당 방법
WO2022139150A1 (ko) 클라우드 기반 동영상 분산 렌더링 시스템 및 이의 오토 스케일링 방법
CN113467944B (zh) 面向复杂软件系统的资源部署装置及方法
CN116257363B (zh) 资源调度方法、装置、设备及存储介质
Yang et al. QoS guaranteed resource allocation for live virtual machine migration in edge clouds
Alhumaima et al. Modelling the power consumption and trade‐offs of virtualised cloud radio access networks
WO2022072012A1 (en) Optimizing job runtimes via prediction-based token allocation
WO2022145564A1 (ko) 딥러닝 모델 서빙 최적화를 위한 모델 자동 경량화 방법 및 장치, 이를 이용한 클라우드 추론 서비스 제공 방법
CN116208613A (zh) 云主机的迁移方法、装置、电子设备及存储介质
WO2022065623A1 (en) Method of implementing self-organizing network for plurality of access network devices and electronic device for performing the same
Li et al. Task offloading and parameters optimization of MAR in multi-access edge computing
WO2020246724A1 (en) Electronic apparatus and method of performing operations thereof
WO2022102982A1 (ko) 사용자 참여 기반의 인공 지능 서비스 방법 및 이러한 방법을 수행하는 장치
WO2016195225A1 (ko) Gpgpu 어플리케이션을 위한 dvfs 기법이 적용된 모바일 디바이스
WO2023106467A1 (ko) 인공지능 기반 클라우드 학습장치 및 방법
WO2021020746A1 (ko) 가상 머신 관리 장치 및 방법
WO2023033229A1 (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: 18897179

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

Country of ref document: EP

Kind code of ref document: A1