WO2014142553A1 - 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법 - Google Patents

워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법 Download PDF

Info

Publication number
WO2014142553A1
WO2014142553A1 PCT/KR2014/002072 KR2014002072W WO2014142553A1 WO 2014142553 A1 WO2014142553 A1 WO 2014142553A1 KR 2014002072 W KR2014002072 W KR 2014002072W WO 2014142553 A1 WO2014142553 A1 WO 2014142553A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
switching
virtual machine
transfer
data
Prior art date
Application number
PCT/KR2014/002072
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 US14/775,030 priority Critical patent/US9904639B2/en
Publication of WO2014142553A1 publication Critical patent/WO2014142553A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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]
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to interconnect fabric switching, and more particularly, to an apparatus and method for switching interconnect fabric switches to enable dynamic resource allocation according to workload.
  • FIG. 1 is a diagram illustrating an internal structure of a micro server.
  • the micro server has a structure in which a plurality of cards are stacked, and each card has a compute card 110, a HDD and / or SSD 120, a storage card 130, Ethernet card (140), midplane interconnect (150).
  • a plurality of cards including the above components are stacked to form one micro server.
  • the micro server uses a low power central processing unit (CPU) and restricts unnecessary and redundant use for conventional input / output devices. In this way, micro servers can reduce power and footprint by a quarter of that of traditional servers.
  • CPU central processing unit
  • micro servers are being used for low power computing in data centers.
  • the micro server is designed for hardware and software only for a specific purpose of a work load (work load).
  • the micro server is designed to reduce the use and volume of the input and output devices by integrating the input and output devices of the existing server, performance may be degraded when frequent requests for input and output.
  • the present invention has been made to solve the above problems, and an object thereof is to provide an interconnect fabric switching device and method for improving the performance of a computing node for solving power problems such as data centers. do.
  • the present invention in a data center or server cluster structure in which a plurality of compute nodes are interconnected, selectively operates compute nodes according to a workload, and does not connect via a network node when exchanging information (interconnect fabric switch).
  • the purpose is to maximize the performance of low-power computing by directly exchanging information between nodes.
  • An apparatus for controlling a switching connection to at least one node of the present invention for solving the above problems is at least one operation node, a switching connection for switching between the operation node and the input and output nodes, and the walk of the operation node Analyze the load, and determine whether to transfer the virtual machine of the first operation node to the second operation node according to the analysis result, and, when determining the transfer, the virtual machine of the first operation node via the switching connection through the switching connection And a control unit for controlling the transfer to the two operation nodes.
  • the method for controlling the switching connection to the at least one node of the present invention comprises the steps of analyzing the workload for at least one compute node, according to the analysis result of the virtual machine of the first compute node to the second compute node A decision step of determining whether or not to transfer to the switching step, a switching step of switching the switching connection part so that the virtual machine of the first operation node can be transferred to the second operation node via a switching connection part in the transfer decision, and the switching And a transfer step of transferring the virtual machine from the first operation node to the second operation node through a connection unit, wherein the switching connection unit switches between the operation node and the input / output node.
  • information is exchanged between computing nodes directly via switching connections (especially interconnect fabric switches) rather than through input / output nodes such as network nodes. This significantly reduces the time for information exchange, transfer and copying, maximizing low power computing performance.
  • the virtual machine since the virtual machine is transferred from the first compute node to the second compute node according to the workload, the first compute node is powered off, so that computing and input / output resources can be efficiently managed, thereby operating costs. Savings are also possible.
  • FIG. 1 is a diagram illustrating an internal structure of a micro server.
  • FIG. 2 illustrates a structure of a data center or server cluster according to an embodiment of the present invention.
  • FIG. 3 illustrates a data center or server cluster with interconnect fabric switching devices in accordance with one embodiment of the present invention.
  • FIG. 4 is a flow chart illustrating a sequence of interconnect fabric switching operations capable of dynamically allocating resources in accordance with an embodiment of the present invention.
  • FIG. 5 illustrates a Hadoop framework applied to another embodiment of the present invention.
  • Figure 6 illustrates a data center or server cluster with interconnect fabric switching devices in accordance with another embodiment of the present invention.
  • FIG. 7 is a flow chart illustrating an interconnect fabric switching process according to the embodiment of FIG.
  • FIG. 8 illustrates a data center or server cluster with interconnect fabric switching devices in accordance with another embodiment of the present invention.
  • a computing node refers to a node having a computing capability capable of performing a specific task for a given task.
  • the compute node may include a server and a micro server.
  • FIG. 2 is a diagram illustrating the structure of a data center or server cluster according to an embodiment of the present invention.
  • the data center or server cluster of the present invention may include a plurality of compute nodes 210, 220, and 230, a storage node 240, and a network node 250.
  • the storage node 240 and the network node 250 except for the calculation node may be referred to as input / output (I / O) nodes.
  • Any computing node may include a virtual machine, a hypervisor, a CPU, memory, and the like.
  • a virtual machine can refer to software that acts as an interface between the compiled binary code and the microprocessor (or hardware platform) that actually executes the instructions of the program. More specifically, the virtual machine may refer to virtual hardware generated to operate as a real hardware is driven by each operating system when operating a plurality of operating systems. This makes the user feel as if he is monopolizing all the resources of the system.
  • a hypervisor is a logical platform for running multiple operating systems simultaneously on a host computer. Through the hypervisor, one compute node can run a plurality of virtual machines.
  • the central processing unit processes the operation, and the memory stores data temporarily or permanently.
  • VM migration is one of the most effective methods for low power.
  • the virtual machine transfer when a certain time or workload, when the operation or input and output is not frequent, transfer a plurality of virtual machines to a few compute nodes, and then cut off the power of the compute node that does not require operation to realize low power do.
  • the virtual machine migration may include a static VM migration and a live VM migration method.
  • Live virtual machine migration is a technique for moving a virtual machine to another compute node while the virtual machine is running. In live virtual machine migration, it is important to gradually copy the contents of the virtual machine's memory to other compute nodes, to perform the virtual machines of compute nodes that are transferred at the last moment, and to minimize service latency in the live virtual machine migration. Do.
  • the present invention proposes a switching connection for transferring information of a virtual machine, a data block, and the like.
  • the switching connection may be implemented through an interconnect fabric switch, but this is only a preferred embodiment and need not be limited thereto.
  • the switching connection is an interconnect fabric switch, and the drawings will be described accordingly.
  • the interconnect fabric switch of the present invention is shown at 260 in FIG.
  • a fabric switch is a network topology in which network nodes are connected to each other through one or more network switches, especially crossbar switches.
  • the interconnect fabric switch of the present invention can directly connect a compute node and an input / output node (eg, a storage node, a network node) to quickly implement a migration of a virtual machine or the like.
  • the virtual machine when a transfer of a virtual machine is required, the virtual machine is transferred from the first operation node to the second operation node via a network node which is a separate input / output node. Instead, transfer directly from the first compute node to the second compute node through the interconnect fabric switch. Therefore, the time for transferring the virtual machine or the like can be shortened, thereby reducing the power consumption.
  • FIG. 3 is a diagram illustrating a data center or server cluster having an interconnect fabric switching device in accordance with an embodiment of the present invention.
  • the embodiment of the present invention shown in FIG. 3 describes a method of directly transferring through an interconnect fabric switch without passing through a network node when transferring an image of a virtual machine between compute nodes. In this case, if there is a local store at the compute node, the data stored in the local store is also transferred directly to the target compute node via the interconnect fabric switch.
  • a plurality of compute nodes and input / output devices are connected in a Peripheral Component Interconnect Express (PCIe) based fabric interconnect, or in an environment connected by a direct fabric switch.
  • PCIe Peripheral Component Interconnect Express
  • the virtual machine 1 when the virtual machine 1 is transferred using the shared storage, after the virtual machine 1 is transferred to the compute node of the virtual machine 2, the virtual machine 1 disconnects the IO node connection that was previously in use. It provides access to I / O nodes seamlessly.
  • the Policy Manager of the present invention maintains mapping information between the compute node and the input / output nodes through a mapping table, and when the migration is completed, powers off the compute node where the virtual machine 1 is located. (off) and update the mapping table. Then, the transferred virtual machine 1 can access the seamless I / O node as before, without modification of the operating system.
  • the policy manager will be referred to as a controller in the sense of collectively controlling the operation of the switching connection to enable dynamic resource allocation according to the workload of the present invention.
  • the virtual machine 1 requests access to the local storage of the transfer target compute node in order to transfer the contents (data) of the local memory as well as the contents of the local memory for the transfer. Then, the controller may set a switching path of the local storage for the target operation node, and copy the data stored in the local storage of the virtual machine 1 to the target operation node by using an incremental copy of live migration. . In this case, since only the storage in the target node is accessed and copied without passing through the network node, network traffic can be eliminated and copy performance can be improved. It can also minimize the impact on the performance of running target compute nodes.
  • Each operation node 310, 320, 330 may include a CPU that performs an operation, a memory that stores data, and a fabric switch that performs a connection between nodes.
  • the fabric switch is illustrated in FIG. 3 as being included in the compute node, it is not necessarily limited to this configuration, and it should be noted that the fabric switch may be implemented in the interconnect fabric layer.
  • each compute node may have local storages 311 and 321.
  • the compute node and local storage can be connected through a fabric switch.
  • an upper layer of each compute node may include a hypervisor and a virtual machine driven based on the hypervisor.
  • the input / output nodes shown in FIG. 3 are storage nodes and network nodes, and various input / output nodes may be connected to the data center.
  • the controller 350 controls the signal flow between each node according to an embodiment of the present invention. More specifically, the control unit 350 controls a series of processes for directly transferring through the interconnect fabric switch of the interconnect fabric layer without passing through the network node when transferring the image of the virtual machine between the compute nodes.
  • controller 350 stores the switch mapping table to manage the interconnection relationship between the fabric switches through the mapping table.
  • the controller 350 is connected (via a fabric switch) to the storage node 330, and the compute node 320 is connected to the network node 340.
  • the mapping table is managed as shown in Table 1 below.
  • the controller 350 updates the mapping table of Table 1 as shown in Table 2 below.
  • the controller 350 updates the mapping table of Table 2 as shown in Table 3 below.
  • the virtual machine 1 transferred to the arithmetic node 320 will be referred to as i
  • the virtual machine 2 conventionally located at the arithmetic node 320 will be referred to as ii.
  • the control unit 350 manages the mapping table according to the transfer of the virtual machine, as shown in Tables 1 to 3 above.
  • the embodiment of the present invention is not limited to the above-described method, and a network file system (NFS) may be used to minimize modifications to the hypervisor and the virtual machine.
  • NFS network file system
  • the virtual machine can be transferred to the target compute node via an NFS connection.
  • the ID of the virtual machine is checked and mounted directly to the partner file system without the network I / O node.
  • FIG. 4 is a flow chart illustrating an interconnect fabric switching sequence of operations capable of dynamically allocating resources in accordance with an embodiment of the present invention.
  • controller 350 will be described as controlling the operation of FIG. 4, but it is not necessarily limited thereto, and a separate controller may perform the same.
  • the controller 350 determines to transfer any virtual machine, for example, virtual machine 1.
  • the controller 350 may determine the movement of the virtual machine 1 when the workload of the operation node 1 having the virtual machine 1 is overloaded.
  • the present invention is not limited thereto, and when it is determined that the hardware of the operation node 1 has a problem, the controller 350 may determine the transfer of the virtual machine 1.
  • control unit 350 determines a target operation node to which the virtual machine 1 is transferred in step S405.
  • the controller 350 checks whether or not the operation node 1 has local storage to be transferred (copyed) in step S410. In the case of having local storage, the control unit 350 proceeds to step S415 to check whether the target operation node has local storage.
  • control unit 350 receives an input / output path change request of the operation node 1 in operation S420, and proceeds to operation S425 to map mapping table information of the virtual machine 1 and the virtual machine 2 (for example, For example, check Table 1).
  • the controller 350 controls to transfer the virtual machine 1 to the compute node 2 through the interconnect fabric switch.
  • the controller 350 proceeds to step S430 to set a mapping table for local storage between the virtual machine 1 and the virtual machine 2 (eg, Table 2).
  • the controller 350 controls to copy data stored in the local storage of the virtual machine 1 to the local storage of the target operation node.
  • the data is copied from the local storage of virtual machine 1 to the local storage of the target compute node via the interconnect fabric switch, according to an embodiment of the invention.
  • control unit 350 controls to copy the data stored in the memory of the virtual machine 1 to the memory of the target operation node through the interconnect fabric switch in step S440.
  • controller 350 determines whether data copying of the memory and the local storage is completed. If not, the control unit 350 returns to step S435 to proceed with copying.
  • control unit 350 Upon completion of * 63, the control unit 350 proceeds to step S450 to finally update the mapping table (eg, Table 3).
  • mapping table eg, Table 3
  • control unit 350 proceeds to step S455 to control the virtual machine 1 to be turned off (power) to the compute node 1, which has been transferred.
  • FIG. 5 is a diagram illustrating a Hadoop framework applied to another embodiment of the present invention.
  • Hadoop is a free Java software framework that supports distributed applications running on large computer clusters that can handle large amounts of data.
  • the Hadoop framework divides a large amount of data in the client node 510 and copies it to a plurality of data nodes (data nodes 1, 2, 3, etc.) according to the configuration of the name node 520.
  • data nodes 1, 2, 3, etc. data nodes 1, 2, 3, etc.
  • data copying is performed through a number of switches existing on a network input / output node, which causes a delay.
  • Distributed computing / storage solutions such as the Hadoop framework, are the server workloads of recent interest to expand the micro server market.
  • the micro server has a limited number of network input / output nodes in order to maximize low power, and there is a limit of computational power. Accordingly, there is a problem in that quality of service for performance and low power cannot be guaranteed when network traffic occurs.
  • the present invention intends to provide a means for solving the problem, which will be described with reference to FIGS. 6 to 7.
  • FIG. 6 illustrates a data center or server cluster with interconnect fabric switching devices in accordance with another embodiment of the present invention.
  • the client node requests the separation of large data blocks with the name node. Then, in response to the request, the name node informs the client node of information about the data node to which the large data block is separated and to which the separate data block is to be copied.
  • the client node then splits the large data block into a plurality of data blocks, and then directly (via interconnect fabric switches) the storage of the target data node (preferably via an interconnect fabric switch), rather than via an I / O node (e.g., a network node).
  • an interconnect fabric switch e.g., a network node
  • the controller updates the mapping table to maintain a connection relationship between the client node and the target data node. Since the mapping table management method has been described above, a detailed description thereof will be omitted and will not be significantly departed from the spirit of the mapping table management method shown in Tables 1 to 3 above.
  • Each data node then performs a given operation on the data block copied from the client node.
  • Each data node uses the name node's information to prevent unnecessary redundancy.
  • the performance is improved and the delay is reduced by direct copying through the interconnect fabric switch between the client node and the data nodes without the overhead of the network node.
  • data node 1 processes data block 1 to output data block 1-1
  • data block 1-1 is data block 2-2 processed by data node 2. Assume that it is necessary for the processing of.
  • each data node directly transmits (copys) the data block 1-1 outputted by the data node 1 to the data node 2, and in this case, the processing time may be delayed due to frequent copying.
  • each data node stores its own data block.
  • a reduce node accesses each data node and copies the processed data blocks.
  • the reduce node merges the data blocks according to a predetermined rule.
  • the reduce node may serve as a reduce node of any one of a plurality of data nodes, or may be a separate node for data block merging.
  • the mapping table is updated so that the access is mapped to a storage block stored in each data node.
  • each of the data nodes can prevent frequent copying of the data block, thereby eliminating the overhead of copying and controlling excessive network traffic.
  • the Hadoop framework may use NFS and the like to minimize modifications to the hibervisor and the operating system.
  • the Hadoop framework may support the direct access by mounting the relative file system directly on the file system by checking the ID of the virtual machine.
  • the controller dynamically determines interconnect fabric switching according to the workload.
  • the control unit dynamically performs fabric switching according to a routing rule of the name node.
  • the control unit manages the mapping table for switching the interconnect fabric between the client node and the input / output nodes.
  • FIG. 7 is a flow chart illustrating an interconnect fabric switching process according to the embodiment of FIG.
  • the client node 710 requests the name node 720 for a large data operation. Then, in step S710, the name node 720 responds to the client node 710 with information about a method of separating the large amount of data and information on a target data node to which the separated data block is to be copied.
  • the client node 710 then separates the bulk data based on the response.
  • the client node 710 copies the data block 1 to the data node 1 730 in step S715, and copies the data block 2 to the data node 2 740 in step S720.
  • the data node 1 730 performs an operation on the data block 1 in operation S725, and the data node 2 740 performs an operation on the data block 2 in operation S730.
  • data node 2 740 simultaneously performs a role of a reduce node for merging each data block.
  • the data node 1 730 After processing the data block 1, the data node 1 730 maintains a standby state in step S735. On the other hand, when the merge time point for the calculated data blocks arrives, the data node 2 740 accesses the data node 1 730 in operation S740. The data node 2 740 copies the data block 1 output by the data node 1 730 in operation S745.
  • the data node 2 740 performs an operation on the data block 1 and the data block 2, that is, performs a merge operation.
  • FIG. 8 is a diagram illustrating a data center or server cluster having an interconnect fabric switching device according to another embodiment of the present invention.
  • FIG. 8 illustrates a method for maximizing performance according to workload in an interconnect fabric switching based environment of a data center and a micro server.
  • the controller 800 stores the corresponding data in the memory cache card 810. Or to store in a high performance solid state drive (SSD) storage 820.
  • SSD solid state drive
  • the controller manages the relationship between the data and the storage where the data is stored in the form of a mapping table.
  • control is stored in a storage node 830 such as a hard disk drive (HDD).
  • HDD hard disk drive
  • information is exchanged between computing nodes directly through an interconnect fabric switch rather than through input / output nodes such as network nodes. This significantly reduces the time for information exchange, transfer and copying, maximizing low power computing performance.
  • the virtual machine since the virtual machine is transferred from the first compute node to the second compute node according to the workload, the first compute node is powered off, so that computing and input / output resources can be efficiently managed, thereby operating costs. Savings are also possible.

Abstract

본 발명은 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법에 관한 것으로, 본 발명의 스위칭 연결부를 구비하는 장치는 적어도 하나의 연산 노드, 상기 연산 노드와 입출력 노드를 상호간 스위칭 연결하는 스위칭 연결부, 및 상기 연산 노드의 워크 로드를 분석하고, 분석 결과에 따라 제1 연산 노드의 가상 머신을 제2 연산 노드로 이송할 것인지 여부를 결정하며, 이송 결정 시 상기 제1 연산 노드의 가상 머신을 상기 스위칭 연결부를 경유하여 상기 제2 연산 노드로 이송시키도록 제어하는 제어부를 포함하는 것을 특징으로 한다.

Description

워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법
본 발명은 상호 연결 패브릭 스위칭에 관한 것으로, 보다 구체적으로 워크 로드에 따라 동적으로 자원 할당이 가능하도록 상호 연결 패브릭 스위치를 스위칭하는 장치 및 방법에 관한 것이다.
최근 데이터 센터(Data Center)를 비롯한 다양한 컴퓨팅 분야에서 전력 문제가 대두되고 있다. 이러한 전력 문제의 심각성 해결을 위해 마이크로 서버(MicroServer)와 같은 저전력 서버가 출시되고 있다. 도 1은 마이크로 서버의 내부 구조를 도시하는 도면이다.
도 1에서 도시된 바와 같이, 마이크로 서버는 복수 개의 카드가 적층된 구조이며, 각 카드는 연산 카드(compute card, 110), HDD 및/또는 SSD(120), 저장소 카드(storage card, 130), 이더넷 카드(Ethernet card, 140), 미드 플레인 상호 연결 카드(Midplane interconnect, 150)를 포함한다.
상기 구성 요소를 포함하는 한 개의 카드가 복수 개 적층되어 한 개의 마이크로 서버를 구성한다.
마이크로 서버는 저전력 CPU(Central Processing Unit)를 사용하고, 종래의 입출력 장치에 대한 불필요하고 중복적인 사용을 제한한다. 이를 통해, 마이크로 서버는 기존의 서버 대비 전력 및 차지하는 공간을 1/4 수준으로 절감할 수 있다.
이러한 마이크로 서버는 데이터 센터 내 저전력 컴퓨팅을 위해 사용되고 있다. 그런데 상기 마이크로 서버는 특정 목적의 워크 로드(Work Load)(작업량)만을 위해 하드웨어 및 소프트웨어가 설계되었다. 또한, 상기 마이크로 서버는 기존 서버들의 입출력 장치들을 통합하여 입출력 장치의 사용과 부피를 줄이려는 목적으로 설계되어, 입출력에 대한 요청이 빈번할 경우 성능이 저하될 수 있다.
이에 따라, 데이터 센터 서버 클러스터 시스템에서 성능이 향상되고, 저전력을 극대화시키기 위한 마이크로 서버, 서버에 대한 연구가 필요한 실정이다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 데이터 센터 등의 전력 문제 해결을 위한 연산 노드(computing node)의 성능을 향상시키기 위한 상호 연결 패브릭 스위칭 장치 및 방법을 제공하는 것을 그 목적으로 한다.
보다 구체적으로, 본 발명은 복수 개의 연산 노드들이 상호 연결된 데이터 센터 또는 서버 클러스터 구조에서, 워크 로드에 따라 연산 노드들을 선택적으로 운영하며, 정보 교환 시 네트워크 노드를 경유하지 않고 스위칭 연결부(상호 연결 패브릭 스위치)를 통해 각 노드 간 정보를 직접 교환하도록 하여, 저전력 컴퓨팅의 성능을 극대화 시키는 것을 목적으로 한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 적어도 하나의 노드에 대한 스위칭 연결을 제어하는 장치는 적어도 하나의 연산 노드, 상기 연산 노드와 입출력 노드를 상호간 스위칭 연결하는 스위칭 연결부, 및 상기 연산 노드의 워크 로드를 분석하고, 분석 결과에 따라 제1 연산 노드의 가상 머신을 제2 연산 노드로 이송할 것인지 여부를 결정하며, 이송 결정 시 상기 제1 연산 노드의 가상 머신을 상기 스위칭 연결부를 경유하여 상기 제2 연산 노드로 이송시키도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
또한, 본 발명의 적어도 하나의 노드에 대한 스위칭 연결을 제어하는 방법은 적어도 하나의 연산 노드에 대한 워크 로드를 분석하는 분석 단계, 상기 분석 결과에 따라 제1 연산 노드의 가상 머신을 제2 연산 노드로 이송할 것인지 여부를 결정하는 결정 단계, 이송 결정 시 상기 제1 연산 노드의 가상 머신이 스위칭 연결부를 경유하여 상기 제2 연산 노드로 이송될 수 있도록 상기 스위칭 연결부를 스위칭하는 스위칭 단계, 및 상기 스위칭 연결부를 통해 상기 가상 머신을 상기 제1 연산 노드에서 상기 제2 연산 노드로 이송시키는 이송 단계를 포함하며, 상기 스위칭 연결부는 상기 연산 노드와 입출력 노드를 상호간 스위칭 연결하는 것을 특징으로 한다.
본 발명에 따르면, 컴퓨팅 노드들 간 정보 교환 시 네트워크 노드와 같은 입출력 노드들을 통하지 않고 스위칭 연결부(특히, 상호 연결 패브릭 스위치)를 통해 직접 정보를 교환한다. 이에 따라 정보 교환, 이송, 복사를 위한 시간이 현격히 줄어들어 저전력 컴퓨팅 성능을 극대화 시킬 수 있다.
또한, 본 발명에 따르면 워크 로드에 따라 가상 머신 등을 제1 연산 노드에서 제2 연산 노드로 이송한 후 제1 연산 노드의 파워를 오프시키므로 컴퓨팅 및 입출력 리소스를 효율적으로 관리할 수 있어, 운용 비용 절감도 가능하다.
도 1은 마이크로 서버의 내부 구조를 도시하는 도면.
도 2는 본 발명의 실시예에 따른 데이터 센터 또는 서버 클러스터의 구조를 도시하는 도면.
도 3은 본 발명의 일 실시예에 따른 상호 연결 패브릭 스위칭 장치를 구비하는 데이터 센터 또는 서버 클러스터를 도시하는 도면.
도 4는 본 발명의 일 실시예에 따른 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 동작 순서를 도시하는 순서도.
도 5는 본 발명의 다른 실시예에 적용되는 하둡(Hadoop) 프레임워크를 도시하는 도면.
도 6은 본 발명의 다른 실시예에 따른 상호 연결 패브릭 스위칭 장치를 구비하는 데이터 센터 또는 서버 클러스터를 도시하는 도면.
도 7은 도 6의 실시예에 따른 상호 연결 패브릭 스위칭 과정을 도시하는 순서도.
도 8은 본 발명의 또 다른 실시예에 따른 상호 연결 패브릭 스위칭 장치를 구비하는 데이터 센터 또는 서버 클러스터를 도시하는 도면.
이하에서 기술되는 본 발명의 실시예에서 연산 노드(computing node)는 주어진 업무에 대해 특정 작업을 수행할 수 있는 연산 능력을 구비하는 노드를 칭한다. 본 발명의 실시예에 따르면, 상기 연산 노드는 서버, 마이크로 서버를 포함할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
도 2는 본 발명의 실시예에 따른 데이터 센터 또는 서버 클러스터의 구조를 도시하는 도면이다.
도 2에서 도시되는 바와 같이, 본 발명의 데이터 센터 또는 서버 클러스터는 복수 개의 연산 노드들(210, 220, 230), 저장소 노드(240), 네트워크 노드(250)를 포함할 수 있다. 여기서, 연산 노드를 제외한 저장소 노드(240), 네트워크 노드(250)를 입출력(I/O) 노드라고 칭할 수도 있다.
임의의 연산 노드는 가상 머신(Virtual Machine), 하이퍼바이저(Hypervisor), CPU, 메모리 등을 포함할 수 있다.
가상 머신은 컴파일된 바이너리 코드와 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 의미할 수 있다. 보다 구체적으로, 상기 가상 머신은 복수 개의 운영 체제를 운영하는 경우 각 운영 체제에 의해 실제 하드웨어가 구동되는 것으로 운영하기 위해 생성된 가상의 하드웨어를 의미할 수 있다. 이로 인해 사용자는 마치 그 시스템의 모든 자원을 독점하는 것으로 느끼게 된다.
*21하이퍼바이저는 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼(platform)을 의미한다. 하이퍼바이저를 통해, 하나의 연산 노드는 복수 개의 가상 머신을 구동시킬 수 있다.
중앙 처리 장치(Central Processing Unit, CPU)는 연산을 처리하며, 메모리는 데이터를 일시 또는 영구적으로 저장한다.
데이터 센터 또는 서버 클러스터에서, 가상 머신 이송(VM Migration)은 저전력을 위한 가장 효과적인 방법 중 하나이다. 상기 가상 머신 이송은 특정 시간 또는 워크 로드에서, 연산 또는 입출력이 빈번하지 않을 경우, 다수의 가상 머신을 소수의 연산 노드로 이송한 후, 동작이 필요하지 않은 연산 노드의 전원을 차단하여 저전력을 실현한다.
상기 가상 머신 이송은 정적 가상 머신 이송(Static VM Migration)과, 라이브 가상 머신 이송(Live VM Migration) 방법이 존재할 수 있다.
정적 가상 머신 이송은 이송하고자 하는 가상 머신의 메모리 이미지(memory image)를 공유 저장소에 저장한 후, 다른 연산 노드에서 다시 읽어서 이송 수행으로 이송 시간 단축이 중요하다.
라이브 가상 머신 이송은 가상 머신이 동작 중인 동안에도, 가상 머신을 다른 연산 노드로 이송시키는 기술이다. 라이브 가상 머신 이송은 가상 머신의 메모리에 대한 내용을 다른 연산 노드로 점진적으로 복사하고, 최종 순간에 이송되는 연산 노드의 가상 머신을 수행하며, 상기 라이브 가상 머신 이송에서는 서비스 지연 시간을 최소화 시키는 것이 중요하다.
데이터 센터 및 서버 클러스터 환경에서는 수 많은 연산 노드들이 집적되어 있어, 가상 머신 이송의 최적화는 저전력에 매우 중요한 요소이다.
본 발명에서는 이를 구현하기 위해, 가상 머신, 데이터 블록 등의 정보를 전달하는 스위칭 연결부를 제안한다. 본 발명의 바람직한 실시예에 따르면, 상기 스위칭 연결부는 상호 연결 패브릭 스위치를 통해 구현될 수 있지만, 이는 바람직한 실시예일 뿐, 반드시 이에 한정될 필요는 없다는 점에 유의해야 한다. 이하에서 기술되는 본 발명의 실시예에서는 상기 스위칭 연결부가 상호 연결 패브릭 스위치임을 가정하고 도면을 도시하고, 이에 따라 설명하도록 한다.
본 발명의 상호 연결 패브릭 스위치는 도 2의 260에서 도시된다. 패브릭 스위치는 하나 이상의 네트워크 스위치(특히 크로스바 스위치)를 통해 네트워크 노드들이 서로 연결된 네트워크 토폴로지를 의미한다. 본 발명의 상호 연결 패브릭 스위치는 연산 노드와 입출력 노드(예를 들어, 저장소 노드, 네트워크 노드)들을 직접 연결하여 가상 머신 등의 이송을 신속히 구현할 수 있다.
다시 말해, 종래에는 가상 머신 등의 이송이 필요한 경우, 별도의 입출력 노드인 네트워크 노드를 경유하여 제1 연산 노드에서 제2 연산 노드로 가상 머신을 이송시켰음에 반해, 본 발명에 따르면 네트워크 노드를 경유하지 않고 상호 연결 패브릭 스위치를 통해 제1 연산 노드에서 제2 연산 노드로 직접 이송시킨다. 따라서, 가상 머신 등을 이송시키는데 시간을 단축시킬 수 있으며, 이에 따라 전력 소모도 줄일 수 있다.
이하에서는 상호 연결 패브릭 스위치를 이용하여 저전력 데이터 센터 또는 서버 클러스터를 구성하는 본 발명의 실시예들에 대해 기술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 상호 연결 패브릭 스위칭 장치를 구비하는 데이터 센터 또는 서버 클러스터를 도시하는 도면이다.
도 3에서 도시되는 본 발명의 실시예에서는 연산 노드들 사이에 가상 머신에 대한 이미지 이송 시, 네트워크 노드를 거치지 않고 상호 연결 패브릭 스위치를 통해 직접 이송하는 방법에 대해 기술한다. 이 경우, 연산 노드에 로컬 저장소가 있는 경우, 상기 로컬 저장소에 저장된 데이터 역시, 상기 상호 연결 패브릭 스위치를 통해 직접 대상 연산 노드로 이송된다.
도 3에 도시되는 본 발명의 실시예에서는, 다수의 연산 노드와, 입출력 장치가 PCIe(Peripheral Component Interconnect Express) 기반 패브릭 상호 연결로 연결되거나, 또는 다이렉트 패브릭 스위치(direct fabric switch)에 의해 연결된 환경에서, 가상 머신 1이 정적 또는 라이브 이송을 이용하여 가상 머신 2를 구비하는 연산 노드로 이송 되는 경우에 대해 기술한다.
이 경우, 가상 머신 1이 공유된 저장소를 이용하여 이송되는 경우, 상기 가상 머신 1이 가상 머신 2의 연산 노드로 이송된 후, 가상 머신 1은 기존에 사용 중이던 입출력 노드 연결(IO node connection)을 유지하도록 하여 끊김없이 입출력 노드로의 액세스를 제공한다.
이를 위해, 본 발명의 정책 관리자(Policy Manager)는 연산 노드와 입출력 노드들 간의 매핑 정보를 매핑 테이블(mapping table)을 통해 유지하며, 이송이 완료되면 가상 머신 1이 위치하던 연산 노드의 파워를 오프(off)하고, 매핑 테이블을 갱신한다. 그러면, 이송된 가상 머신 1은 운영 체제 등의 수정 없이, 기존과 같이 끊김없이(seamless) 입출력 노드에 액세스 할 수 있다. 이하에서 기술되는 본 발명의 실시예에서는 상기 정책 관리자를, 본 발명의 워크 로드에 따라 동적 자원 할당 가능하도록 스위칭 연결부의 동작을 총괄적으로 제어한다는 의미에서 제어부(controller)라고 칭하기로 한다.
또한, 가상 머신 1은 이송을 위하여 로컬 메모리의 내용뿐만 아니라 로컬 저장소에 대한 내용(데이터)을 이송하기 위해, 이송 대상 연산 노드의 로컬 저장소에 대한 액세스를 요청한다. 그러면 제어부는 대상 연산 노드에 대한 로컬 저장소의 스위칭 경로를 설정하고, 라이브 이송의 증가 복사(incremental copy) 등의 방법을 이용하여 가상 머신 1의 로컬 저장소에 저장된 데이터를 대상 연산 노드로 복사할 수 있다. 이 경우, 네트워크 노드를 경유하지 않고 타겟 노드 내의 저장소만을 액세스 하여 복사하므로, 네트워크 트래픽을 제거할 수 있으며 복사 성능을 향상시킬 수 있다. 또한 동작 중인 타겟 연산 노드의 성능에 대한 영향을 최소화시킬 수 있다.
상기 내용에 기반하여 도 3에 도시된 상호 연결 패브릭 스위칭 장치를 구비하는 데이터 센터 또는 서버 클러스터에서 가상 머신 이송 방법에 대해 기술하도록 한다.
각 연산 노드(310, 320, 330)는 연산을 수행하는 CPU, 데이터를 저장하는 메모리, 노드들 사이의 연결을 수행하는 패브릭 스위치를 구비할 수 있다. 도 3에서는 상기 패브릭 스위치가 연산 노드에 포함되는 것으로 도시하였지만, 반드시 이러한 구성에 한정되는 것은 아니며, 상호 연결 패브릭 계층에 구현될 수도 있음에 유의해야 한다.
또한, 각 연산 노드는 로컬 저장소(311, 321)를 구비할 수도 있다. 이 경우 연산 노드와 로컬 저장소는 패브릭 스위치를 통해 연결될 수 있다.
상기한 바와 같이, 각 연산 노드의 상위 계층에는 하이퍼바이저와, 상기 하이퍼바이저에 기반하여 구동되는 가상 머신이 구비될 수 있다.
도 3에 도시된 입출력 노드는 저장소 노드(storage node), 네트워크 노드(network node)이며, 이외에도 다양한 입출력 노드들이 데이터 센터에 연결될 수 있다.
제어부(350)는 본 발명의 실시예에 따라 각 노드들 간의 신호 흐름을 제어한다. 보다 구체적으로 제어부(350)는 연산 노드들 사이에 가상 머신에 대한 이미지 이송 시, 네트워크 노드를 거치지 않고 상호 연결 패브릭 계층의 상호 연결 패브릭 스위치를 통해 직접 이송하기 위한 일련의 과정을 제어한다.
또한, 제어부(350)는 스위치 매핑 테이블을 저장하여, 패브릭 스위치 간 상호 연결 관계를 매핑 테이블을 통해 관리한다.
예를 들어, 초기 시스템 구동 시, 연산 노드(310)가 저장소 노드(330)에 (패브릭 스위치를 통해) 연결되고, 연산 노드(320)가 네트워크 노드(340)에 연결된 경우, 제어부(350)는 매핑 테이블을 하기의 표 1과 같이 관리한다.
표 1
310 <-> 330
320 <-> 340
이후, 가상 머신 1의 이송을 위해, 연산 노드(310)와 연산 노드(320)가 연결되는 경우, 제어부(350)는 상기 표 1의 매핑 테이블을 하기의 표 2와 같이 업데이트한다.
표 2
310 <-> 320
320 <-> 340
이후, 가상 머신 1이 연산 노드(320)로 이송되면, 제어부(350)는 상기 표 2의 매핑 테이블을 하기의 표 3과 같이 업데이트 한다. 이 경우, 연산 노드(320)로 이송된 가상 머신 1을 i, 연산 노드(320)에 종래 있던 가상 머신 2를 ii로 칭하기로 한다.
표 3
320i <-> 330
320ii <-> 340
본 발명의 실시예에 따른 제어부(350)는 상기의 표 1 내지 표 3과 같이, 가상 머신의 이송에 따라 매핑 테이블을 관리한다.
한편, 본 발명의 실시예는 상술한 방법에만 국한되는 것은 아니며, 하이퍼바이저 및 가상 머신에 대한 수정의 최소화를 위해 네트워크 파일 시스템(Network File System, NFS)을 이용할 수도 있다. 이 경우에는 가상 머신이 NFS 연결을 통해 대상 연산 노드로 이송될 수 있다. 이 경우 가상 머신 이송 시, 네트워크 입출력 노드의 경유 없이 가상 머신의 ID를 확인하여 직접 상대 파일 시스템으로 마운트(mount)하여 연결을 수행한다.
도 4는 본 발명의 일 실시예에 따른 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 동작 순서를 도시하는 순서도이다.
도 4의 순서도를 기술함에 있어, 제어부(350)가 도 4의 동작을 제어하는 것으로 기술할 것이나 반드시 이에 한정될 필요는 없으며, 별도의 컨트롤러가 수행할 수도 있음에 유의해야 한다.
제어부(350)는 임의의 가상 머신 예를 들어, 가상 머신 1을 이송 시킬 것을 결정한다. 제어부(350)는 가상 머신 1이 있는 연산 노드 1의 워크 로드가 과부하 상태인 경우 가상 머신 1의 이송을 결정할 수 있다. 그러나 반드시 이에 한정되는 것은 아니며, 제어부(350)는 연산 노드 1의 하드웨어에 문제가 있다고 판단되는 경우, 가상 머신 1의 이송을 결정할 수도 있다.
가상 머신 1의 이송을 결정한 경우, 제어부(350)는 S405 단계에서 상기 가상 머신 1을 이송 시킬 타겟 연산 노드를 결정한다.
그리고 제어부(350)는 S410 단계에서 연산 노드 1이 이송(복사)할 로컬 스토리지를 구비하고 있는지 여부를 확인한다. 로컬 스토리지를 구비하는 경우, 제어부(350)는 S415 단계로 진행하여 타겟 연산 노드가 로컬 스토리지를 구비하고 있는지 여부를 확인한다.
타겟 연산 노드가 로컬 스토리지를 구비하는 경우, 제어부(350)는 S420 단계에서 연산 노드 1의 입출력 경로 변경 요청을 수신하고, S425 단계로 진행하여 가상 머신 1 및 가상 머신 2의 매핑 테이블 정보(예를 들어, 표 1)를 확인한다. 그리고 제어부(350)는 상호 연결 패브릭 스위치를 통해 가상 머신 1을 연산 노드 2로 이송하도록 제어한다.
그리고 제어부(350)는 S430 단계로 진행하여 가상 머신 1 및 가상 머신 2 사이의 로컬 저장소에 대한 매핑 테이블을 설정(예를 들어, 표 2)한다.
이후, 제어부(350)는 S435 단계에서, 가상 머신 1의 로컬 저장소에 저장된 데이터를 타겟 연산 노드의 로컬 저장소로 복사하도록 제어한다. 이 경우, 상기 데이터는 본 발명의 실시예에 따라, 상호 연결 패브릭 스위치를 통해 가상 머신 1의 로컬 저장소에서 대상 연산 노드의 로컬 저장소로 복사된다.
마찬가지로 제어부(350)는 S440 단계에서 가상 머신 1의 메모리에 저장된 데이터가 상호 연결 패브릭 스위치를 통해 타겟 연산 노드의 메모리로 복사되도록 제어한다.
그리고 제어부(350)는 S445 단계에서, 메모리 및 로컬 저장소의 데이터 복사가 완료되었는지 여부를 판단한다. 미 완료 시, 제어부(350)는 S435 단계로 복귀하여 복사를 진행한다.
*63완료 시, 제어부(350)는 S450 단계로 진행하여, 매핑 테이블을 최종적으로 업데이트(예를 들어, 표 3)한다.
그리고 제어부(350)는 S455 단계로 진행하여, 가상 머신 1이 이송된, 연산 노드 1에 대한 전력(파워)을 오프(off)하도록 제어한다.
도 5는 본 발명의 다른 실시예에 적용되는 하둡(Hadoop) 프레임워크를 도시하는 도면이다.
하둡은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 자유 자바 소프트웨어 프레임워크이다.
대용량 데이터 처리를 위한 분산 컴퓨팅/저장소와 같은 워크 로드에서는 빈번한 데이터 복사로 인하여 과도한 네트워크 트래픽이 발생하며, 이로 인해 지연(Latency)이 증가된다.
이를 해결하기 위해, 하둡 프레임워크에서는 클라이언트 노드(510)에서 대용량의 데이터를 분할하고, 네임 노드(520)의 설정에 따라 다수의 데이터 노드(data node 1, 2, 3 등)에 복사한다. 이 경우, 신뢰성(Reliability)을 위해, 3개 이상의 원격 데이터 노드에 데이터를 백업하는데, 이 경우 데이터 복사는 네트워크 입출력 노드 상에 존재하는 수 많은 스위치 들을 통해 이루어지므로 지연이 발생하게 된다.
따라서, 네트워크 트래픽을 최소화하고 클라이언트 노드(510)의 요청에 대한 빠른 응답을 위해 데이터 복사를 최소화시키는 방법이 필요하다.
하둡 프레임워크와 같은 분산 컴퓨팅/저장소 솔루션은 마이크로 서버 시장 확대를 위해 최근 주목받고 있는 서버 워크로드 이다. 그런데, 마이크로 서버는 저전력 극대화를 위해 네트워크 입출력 노드의 수가 제한되어 있으며, 연산 전력의 한계가 있다. 이에 따라, 네트워크 트래픽이 발생하는 경우 성능 및 저전력에 대한 서비스 품질(Quality of Service)을 보장할 수 없다는 문제점이 있다.
본 발명은 이를 해결하기 위한 수단을 제공하고자 하며, 도 6 내지 도 7을 통해 설명하기로 한다.
도 6은 본 발명의 다른 실시예에 따른 상호 연결 패브릭 스위칭 장치를 구비하는 데이터 센터 또는 서버 클러스터를 도시하는 도면이다.
클라이언트 노드는 네임 노드로 대용량 데이터 블록의 분리를 요청한다. 그러면, 네임 노드는 상기 요청에 대응하여 대용량 데이터 블록의 분리 및 분리된 데이터 블록을 복사할 데이터 노드에 대한 정보를 상기 클라이언트 노드에 알려준다.
그러면, 클라이언트 노드는 대용량 데이터 블록을 복수 개의 데이터 블록으로 분리한 후, 입출력 노드(예를 들어, 네트워크 노드)를 경유하지 않고, 직접(상호 연결 패브릭 스위치를 경유하여) 대상 데이터 노드의 저장소(바람직하게는 로컬 저장소)에 복사를 수행한다.
이 경우, 제어부는 클라이언트 노드와 대상 데이터 노드에 대한 연결 관계를 유지하기 위해, 매핑 테이블을 업데이트한다. 매핑 테이블 관리 방법에 대해서는 상술한 바 있으므로, 자세한 설명은 생략하기로 하며 상기의 표 1 내지 표 3에서 도시된 매핑 테이블의 관리 방법의 취지에서 크게 벗어나지 않을 것이다.
그러면 각 데이터 노드는 클라이언트 노드로부터 복사된 데이터 블록에 대해 주어진 연산을 수행한다. 각 데이터 노드는 불필요한 중복(redundancy)을 방지하기 위해, 네임 노드의 정보를 이용한다.
상기와 같이, 본 발명의 실시예를 적용한 하둡 프레임워크에서는 네트워크 노드에 대한 오버헤드 없이, 클라이언트 노드와 데이터 노드들 간 상호 연결 패브릭 스위치를 통한 직접 복사로 성능이 향상되고, 지연이 단축된다.
또한, 본 발명의 실시예에 따르면, 예를 들어 데이터 노드 1이 데이터 블록 1을 처리하여 데이터 블록1-1을 출력하였으며, 상기 데이터 블록 1-1은 데이터 노드 2가 처리한 데이터 블록 2-2의 처리를 위해 필요하다고 가정한다.
이러한 경우, 일반적으로 데이터 노드 1은 자신이 출력한 데이터 블록 1-1을 데이터 노드 2에 바로 전송(복사)하며, 이러한 경우 빈번한 복사로 인해 처리 시간이 지연될 우려가 있다. 본 발명에서는 이를 해결하기 위해, 각 데이터 노드는 자신이 처리한 데이터 블록을 저장한다. 그리고 처리된 데이터 블록을 병합해야 하는 시점이 도래하면, 리듀스 노드(Reduce node)가 각 데이터 노드에 액세스(access)하여 처리된 데이터 블록을 복사해온다. 그리고 리듀스 노드는 정해진 규칙에 따라 데이터 블록들을 병합한다.
상기 리듀스 노드는 복수 개의 데이터 노드들 중 어느 하나의 노드가 리듀스 노드의 역할을 수행할 수도 있고, 또는 데이트 블록 병합을 위한 별도의 노드일 수도 있다.
상기 실시예에 따르면, 리듀스 노드가 각 데이터를 포인팅하는 블록 링크에 대해 액세스 할 경우, 해당 액세스는 각 데이터 노드에 저장된 저장소 블록(storage block)으로 매핑되도록 매핑 테이블이 업데이트된다.
상기 실시예에 따르면, 각 데이터 노드들끼리 데이터 블록의 빈번한 복사를 방지하여, 복사에 대한 오버헤드를 제거할 수 있고, 또한 과도한 네트워크 트래픽을 제어할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 상기 하둡 프레임워크에서 하이버바이저 및 운영 체제에 대한 수정의 최소화를 위해 NFS 등을 이용할 수도 있다. 이 경우 네트워크 입출력 노드의 경우 없이, 상기 하둡 프레임워크는 가상 머신의 ID를 확인하여 파일 시스템 상에서 직접 상대 파일 시스템을 마운트 하여 직접 액세스를 지원할 수도 있다.
상기 실시예에 따르면, 제어부는 워크로드에 따라 상호 연결 패브릭 스위칭을 동적으로 결정한다. 구체적으로, 제어부는 네임 노드의 루팅 규칙(routing rule)에 따라 동적으로 패브릭 스위칭을 수행한다. 이와 동시에, 제어부는 클라이언트 노드와 입출력 노드들 간 상호 연결 패브릭 스위칭을 위해 매핑 테이블을 관리한다.
도 7은 도 6의 실시예에 따른 상호 연결 패브릭 스위칭 과정을 도시하는 순서도이다.
우선, 클라이언트 노드(710)는 S705 단계에서, 네임 노드(720)에게 대용량 데이터 연산을 요청한다. 그러면 네임 노드(720)는 S710 단계에서, 상기 대용량 데이터의 분리 방법 및, 분리된 데이터 블록을 복사할 대상 데이터 노드에 대한 정보를 클라이언트 노드(710)로 응답한다.
그러면, 클라이언트 노드(710)는 상기 응답에 기반하여, 대용량 데이터를 분리한다. 그리고 클라이언트 노드(710)는 S715 단계에서 데이터 블록 1을 데이터 노드 1(730)에 복사하고, S720 단계에서 데이터 블록 2를 데이터 노드 2(740)에 복사한다.
그러면, 데이터 노드 1(730)은 S725 단계에서 데이터 블록 1에 대해 연산을 수행하고, 데이터 노드 2(740)는 S730 단계에서 데이터 블록 2에 대해 연산을 수행한다.
그리고 도 7의 도면 설명에 있어서는 데이터 노드 2(740)가 각 데이터 블록을 병합하는 리듀스 노드의 역할을 동시에 수행한다고 가정한다.
데이터 노드 1(730)은 데이터 블록 1을 처리한 후, S735 단계에서 대기 상태를 유지한다. 한편, 데이터 노드 2(740)는 연산된 데이트 블록들에 대한 병합 시점이 도래하면, S740 단계에서, 데이터 노드 1(730)에 액세스 한다. 그리고 데이터 노드 2(740)는 S745 단계에서 데이터 노드 1(730)에 의해 출력된 데이터 블록 1을 복사한다.
이어서, 데이터 노드 2(740)는 S750 단계에서, 데이터 블록 1 및 데이트 블록 2에 대해 연산을 수행 즉, 병합 연산을 수행한다
도 8은 본 발명의 또 다른 실시예에 따른 상호 연결 패브릭 스위칭 장치를 구비하는 데이터 센터 또는 서버 클러스터를 도시하는 도면이다.
도 8에서 도시되는 실시예는 데이터 센터 및 마이크로 서버의 상호 연결 패브릭 스위칭 기반 환경에서, 워크 로드에 따라 성능을 극대화하는 방법에 대한 것이다.
보다 구체적으로, 저지연(Low Latency)을 요구하는 멤캐쉬(memcache), 서치 인덱스 서비스(search index service)와 같은 워크 로드를 위한 데이터의 경우, 제어부(800)는 해당 데이터를 메모리 캐쉬 카드(810)나 고성능 SSD(Solid State Drive) 저장소(820)에 저장하도록 제어한다. 이 경우, 제어부는 해당 데이터 및 상기 데이터가 저장된 저장소에 대한 관계를 매핑 테이블 형태로 관리한다.
반면, 대용량, 또는 지연에 민감하지 않은 대용량 동영상 스트리밍, 또는 대용량 데이터 처리를 위한 워크 로드의 경우 HDD(Hard Disk Drive)와 같은 저장소 노드(830)에 저장하도록 제어한다.
상술한 본 발명에 따르면, 컴퓨팅 노드들 간 정보 교환 시 네트워크 노드와 같은 입출력 노드들을 통하지 않고 상호 연결 패브릭 스위치를 통해 직접 정보를 교환한다. 이에 따라 정보 교환, 이송, 복사를 위한 시간이 현격히 줄어들어 저전력 컴퓨팅 성능을 극대화 시킬 수 있다.
또한, 본 발명에 따르면 워크 로드에 따라 가상 머신 등을 제1 연산 노드에서 제2 연산 노드로 이송한 후 제1 연산 노드의 파워를 오프시키므로 컴퓨팅 및 입출력 리소스를 효율적으로 관리할 수 있어, 운용 비용 절감도 가능하다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (12)

  1. 적어도 하나의 노드에 대한 스위칭 연결을 제어하는 장치에 있어서,적어도 하나의 연산 노드;
    상기 연산 노드와 입출력 노드를 상호간 스위칭 연결하는 스위칭 연결부; 및
    상기 연산 노드의 워크 로드를 분석하고, 분석 결과에 따라 제1 연산 노드의 가상 머신을 제2 연산 노드로 이송할 것인지 여부를 결정하며, 이송 결정 시 상기 제1 연산 노드의 가상 머신을 상기 스위칭 연결부를 경유하여 상기 제2 연산 노드로 이송시키도록 상기 스위칭 연결부의 스위칭 동작을 제어하는 제어부를 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서, 상기 제어부는,
    상기 가상 머신 이송 시, 상기 입출력 노드를 경유하지 않고 상기 제1 연산 노드에서 상기 제2 연산 노드로 이송시키는 것을 특징으로 하는 장치.
  3. 제1항에 있어서, 상기 제어부는,
    상기 각각의 연산 노드와 입출력 노드 사이의 연결 관계를 매핑 테이블을 통해 관리하는 것을 특징으로 하는 장치.
  4. 제1항에 있어서, 상기 제어부는,
    상기 이송 후 상기 제1 연산 노드의 전력을 오프하도록 제어하는 것을 특징으로 하는 장치.
  5. 제1항에 있어서, 상기 연산 노드는,
    서버 또는 마이크로 서버를 포함하는 것을 특징으로 하는 장치.
  6. 제1항에 있어서, 상기 제어부는,
    상기 가상 머신 이송 결정 시 상기 제1 연산 노드의 로컬 저장소 구비 여부를 판단하고, 구비 시 상기 제1 연산 노드의 로컬 저장소에 저장된 데이터를 상기 스위칭 연결부를 경유하여 상기 제2 연산 노드의 로컬 저장소로 복사하도록 상기 스위칭 연결부의 스위칭 동작을 제어하는 것을 특징으로 하는 장치.
  7. 적어도 하나의 노드에 대한 스위칭 연결을 제어하는 방법에 있어서,
    적어도 하나의 연산 노드에 대한 워크 로드를 분석하는 분석 단계;
    상기 분석 결과에 따라 제1 연산 노드의 가상 머신을 제2 연산 노드로 이송할 것인지 여부를 결정하는 결정 단계;
    이송 결정 시 상기 제1 연산 노드의 가상 머신이 스위칭 연결부를 경유하여 상기 제2 연산 노드로 이송될 수 있도록 상기 스위칭 연결부를 스위칭하는 스위칭 단계; 및
    상기 스위칭 연결부를 통해 상기 가상 머신을 상기 제1 연산 노드에서 상기 제2 연산 노드로 이송시키는 이송 단계를 포함하며,
    상기 스위칭 연결부는 상기 연산 노드와 입출력 노드를 상호간 스위칭 연결하는 것을 특징으로 하는 스위칭 제어 방법.
  8. 제7항에 있어서, 상기 이송 단계는,
    상기 입출력 노드를 경유하지 않고, 상기 가상 머신을 상기 제1 연산 노드에서 상기 제2 연산 노드로 이송시키는 것을 특징으로 하는 스위칭 제어 방법.
  9. 제7항에 있어서,
    상기 각각의 연산 노드와 입출력 노드 사이의 연결 관계를 매핑 테이블을 통해 관리하는 관리 단계를 더 포함하는 것을 특징으로 하는 스위칭 제어 방법.
  10. 제7항에 있어서,
    상기 가상 머신 이송 후, 상기 제1 연산 노드의 전력을 오프시키는 단계를 더 포함하는 것을 특징으로 하는 스위칭 제어 방법.
  11. 제7항에 있어서, 상기 연산 노드는,
    서버 또는 마이크로 서버를 포함하는 것을 특징으로 하는 스위칭 제어 방법.
  12. 제7항에 있어서, 상기 이송 단계는,
    상기 가상 머신 이송 결정 시 상기 제1 연산 노드의 로컬 저장소 구비 여부를 판단하는 단계;
    구비 시 상기 제1 연산 노드의 로컬 저장소에 저장된 데이터를 상기 스위칭 연결부를 경유하여 상기 제2 연산 노드의 로컬 저장소로 복사하도록 상기 스위칭 연결부를 스위칭하는 단계; 및
    상기 스위칭 연결부를 경유하여 상기 제1 연산 노드의 로컬 저장소에 저장된 데이터를 경유하여 상기 제2 연산 노드의 로컬 저장소로 복사하는 단계를 더 포함하는 것을 특징으로 하는 스위칭 제어 방법.
PCT/KR2014/002072 2013-03-12 2014-03-12 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법 WO2014142553A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/775,030 US9904639B2 (en) 2013-03-12 2014-03-12 Interconnection fabric switching apparatus capable of dynamically allocating resources according to workload and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0025991 2013-03-12
KR1020130025991A KR102043276B1 (ko) 2013-03-12 2013-03-12 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2014142553A1 true WO2014142553A1 (ko) 2014-09-18

Family

ID=51537101

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/002072 WO2014142553A1 (ko) 2013-03-12 2014-03-12 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법

Country Status (3)

Country Link
US (1) US9904639B2 (ko)
KR (1) KR102043276B1 (ko)
WO (1) WO2014142553A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201409056D0 (en) * 2014-05-21 2014-07-02 Univ Leeds Datacentre
US20180213669A1 (en) * 2015-07-10 2018-07-26 Prasad Lalathuputhanpura KOCHUKUNJU Micro data center (mdc) in a box system and method thereof
US10223016B2 (en) * 2016-05-10 2019-03-05 Vmware, Inc Power management for distributed storage systems
US11157641B2 (en) * 2016-07-01 2021-10-26 Microsoft Technology Licensing, Llc Short-circuit data access
US10404800B2 (en) 2016-07-15 2019-09-03 Hewlett Packard Enterprise Development Lp Caching network fabric for high performance computing
US10521260B2 (en) 2016-07-15 2019-12-31 Hewlett Packard Enterprise Development Lp Workload management system and process
CN106155697A (zh) * 2016-07-30 2016-11-23 北京慧摩尔科技有限公司 一种面向服务的开发框架(YC‑Framework)
US10705951B2 (en) * 2018-01-31 2020-07-07 Hewlett Packard Enterprise Development Lp Shared fabric attached memory allocator
CN114501434B (zh) * 2021-12-27 2023-03-24 国网安徽省电力有限公司信息通信分公司 面向电力控制与采集业务的5g通信边缘计算装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
US20080184229A1 (en) * 2005-04-07 2008-07-31 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
KR20110121206A (ko) * 2010-04-30 2011-11-07 주식회사 넥스알 가상머신의 동적 재배치가 가능한 자율적 서버를 이용한 자율적 서버 전원 관리방법
KR20120013074A (ko) * 2010-08-04 2012-02-14 삼성에스디에스 주식회사 사용자 단말장치 및 멀티 가상머신 전환 방법
US20120226866A1 (en) * 2011-03-02 2012-09-06 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415551B2 (en) * 2003-08-18 2008-08-19 Dell Products L.P. Multi-host virtual bridge input-output resource switch
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US8140719B2 (en) 2007-06-21 2012-03-20 Sea Micro, Inc. Dis-aggregated and distributed data-center architecture using a direct interconnect fabric
US8195774B2 (en) * 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US20100296520A1 (en) 2009-05-19 2010-11-25 Matthews David L Dynamic quality of service adjustment across a switching fabric
JP5785050B2 (ja) * 2011-10-27 2015-09-24 株式会社日立製作所 情報処理システム、その省電力制御方法、及び装置
US9094302B2 (en) * 2012-04-16 2015-07-28 Dell Products, Lp System and method to discover virtual machine instantiations and configure network service level agreements
US9135048B2 (en) * 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US20150071091A1 (en) * 2013-09-12 2015-03-12 Alcatel-Lucent Usa Inc. Apparatus And Method For Monitoring Network Performance
US10176004B2 (en) * 2014-11-18 2019-01-08 International Business Machines Corporation Workload-aware load balancing to minimize scheduled downtime during maintenance of host or hypervisor of a virtualized computing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
US20080184229A1 (en) * 2005-04-07 2008-07-31 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
KR20110121206A (ko) * 2010-04-30 2011-11-07 주식회사 넥스알 가상머신의 동적 재배치가 가능한 자율적 서버를 이용한 자율적 서버 전원 관리방법
KR20120013074A (ko) * 2010-08-04 2012-02-14 삼성에스디에스 주식회사 사용자 단말장치 및 멀티 가상머신 전환 방법
US20120226866A1 (en) * 2011-03-02 2012-09-06 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling

Also Published As

Publication number Publication date
US20160026590A1 (en) 2016-01-28
US9904639B2 (en) 2018-02-27
KR20140111746A (ko) 2014-09-22
KR102043276B1 (ko) 2019-11-12

Similar Documents

Publication Publication Date Title
WO2014142553A1 (ko) 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법
JP6328134B2 (ja) クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム
JP5039029B2 (ja) 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理
EP3252608B1 (en) Node system, server device, scaling control method, and program
EP0709779B1 (en) Virtual shared disks with application-transparent recovery
JP5598493B2 (ja) 情報処理装置、演算装置および情報転送方法
US7308551B2 (en) System and method for managing metrics table per virtual port in a logically partitioned data processing system
JP5373893B2 (ja) 異なるサイズを有するデータのブロックを格納し、取り出すための構成
CN102473106B (zh) 虚拟环境中的资源分配
WO2013133621A1 (ko) 이종의 운영체제를 사용하는 가상화 시스템의 전력 관리 방법 및 장치
Yang et al. AutoReplica: automatic data replica manager in distributed caching and data processing systems
US20080189432A1 (en) Method and system for vm migration in an infiniband network
WO2012111905A2 (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
CN101980490B (zh) 虚拟交换机和物理交换机的链路建立方法及其装置
US20070192518A1 (en) Apparatus for performing I/O sharing &amp; virtualization
US20060095690A1 (en) System, method, and storage medium for shared key index space for memory regions
WO2014006656A1 (en) Computer system, cache control method and computer program
WO2016199955A1 (ko) 코드 분산 해쉬테이블 기반의 맵리듀스 시스템 및 방법
WO2017082505A1 (ko) 멀티 운영시스템을 지닌 전자장치 및 이의 동적 메모리 관리 방법
WO2016064158A1 (ko) 재구성 가능 프로세서 및 그 동작 방법
JP2017227969A (ja) 制御プログラム、システム、及び方法
Huang et al. Nomad: migrating OS-bypass networks in virtual machines
GB2536515A (en) Computer system, and a computer system control method
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
WO2014112831A1 (en) Method and system for dynamically changing page allocator

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14775030

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14764809

Country of ref document: EP

Kind code of ref document: A1