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

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

Info

Publication number
KR20140111746A
KR20140111746A KR1020130025991A KR20130025991A KR20140111746A KR 20140111746 A KR20140111746 A KR 20140111746A KR 1020130025991 A KR1020130025991 A KR 1020130025991A KR 20130025991 A KR20130025991 A KR 20130025991A KR 20140111746 A KR20140111746 A KR 20140111746A
Authority
KR
South Korea
Prior art keywords
node
virtual machine
switching
data
switching connection
Prior art date
Application number
KR1020130025991A
Other languages
English (en)
Other versions
KR102043276B1 (ko
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 KR1020130025991A priority Critical patent/KR102043276B1/ko
Priority to PCT/KR2014/002072 priority patent/WO2014142553A1/ko
Priority to US14/775,030 priority patent/US9904639B2/en
Publication of KR20140111746A publication Critical patent/KR20140111746A/ko
Application granted granted Critical
Publication of KR102043276B1 publication Critical patent/KR102043276B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법{APPARATUS AND METHOD FOR DYNAMIC RESOURCE ALLOCATION BASED ON INTERCONNECT FABRIC SWITCHING}
본 발명은 상호 연결 패브릭 스위칭에 관한 것으로, 보다 구체적으로 워크 로드에 따라 동적으로 자원 할당이 가능하도록 상호 연결 패브릭 스위치를 스위칭하는 장치 및 방법에 관한 것이다.
최근 데이터 센터(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, 메모리 등을 포함할 수 있다.
가상 머신은 컴파일된 바이너리 코드와 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 의미할 수 있다. 보다 구체적으로, 상기 가상 머신은 복수 개의 운영 체제를 운영하는 경우 각 운영 체제에 의해 실제 하드웨어가 구동되는 것으로 운영하기 위해 생성된 가상의 하드웨어를 의미할 수 있다. 이로 인해 사용자는 마치 그 시스템의 모든 자원을 독점하는 것으로 느끼게 된다.
하이퍼바이저는 호스트 컴퓨터에서 다수의 운영 체제(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과 같이 관리한다.
310 <-> 330
320 <-> 340
이후, 가상 머신 1의 이송을 위해, 연산 노드(310)와 연산 노드(320)가 연결되는 경우, 제어부(350)는 상기 표 1의 매핑 테이블을 하기의 표 2와 같이 업데이트한다.
310 <-> 320
320 <-> 340
이후, 가상 머신 1이 연산 노드(320)로 이송되면, 제어부(350)는 상기 표 2의 매핑 테이블을 하기의 표 3과 같이 업데이트 한다. 이 경우, 연산 노드(320)로 이송된 가상 머신 1을 i, 연산 노드(320)에 종래 있던 가상 머신 2를 ii로 칭하기로 한다.
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 단계로 복귀하여 복사를 진행한다.
완료 시, 제어부(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 연산 노드의 로컬 저장소로 복사하는 단계를 더 포함하는 것을 특징으로 하는 스위칭 제어 방법.
KR1020130025991A 2013-03-12 2013-03-12 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법 KR102043276B1 (ko)

Priority Applications (3)

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

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

Publications (2)

Publication Number Publication Date
KR20140111746A true KR20140111746A (ko) 2014-09-22
KR102043276B1 KR102043276B1 (ko) 2019-11-12

Family

ID=51537101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130025991A KR102043276B1 (ko) 2013-03-12 2013-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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044284A1 (en) * 2003-08-18 2005-02-24 Pescatore John C. Multi-host virtual bridge input-output switch
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

Family Cites Families (13)

* 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
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
KR101104264B1 (ko) * 2010-04-30 2012-01-11 주식회사 넥스알 가상머신의 동적 재배치가 가능한 자율적 서버를 이용한 자율적 서버 전원 관리방법
KR101122962B1 (ko) * 2010-08-04 2012-03-16 삼성에스디에스 주식회사 사용자 단말장치 및 멀티 가상머신 전환 방법
US8478961B2 (en) * 2011-03-02 2013-07-02 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044284A1 (en) * 2003-08-18 2005-02-24 Pescatore John C. Multi-host virtual bridge input-output switch
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

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102043276B1 (ko) 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법
US11080081B2 (en) Virtual machine and volume allocation in hyperconverged infrastructure environment and storage system
CN105426245B (zh) 包括分散的部件的动态地组成的计算节点
US10007609B2 (en) Method, apparatus and computer programs providing cluster-wide page management
Yang et al. AutoReplica: automatic data replica manager in distributed caching and data processing systems
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
CN108292235B (zh) 使用选择性资源迁移的网络附连存储器
US10248346B2 (en) Modular architecture for extreme-scale distributed processing applications
US10229021B1 (en) System, and control method and program for input/output requests for storage systems
TWI699697B (zh) 多形儲存裝置、儲存系統及儲存裝置的方法
JP2014175009A (ja) 仮想マシンをサポートするフラッシュ・ベースのキャッシング・ソリューションでの動的キャッシュ共有のためのシステム、方法、およびコンピュータ可読媒体
CN102693230B (zh) 用于存储区域网络的文件系统
JP2005056077A (ja) データベース制御方法
US11556391B2 (en) CPU utilization for service level I/O scheduling
US20220206871A1 (en) Techniques for workload balancing using dynamic path state modifications
Zhang et al. Compucache: Remote computable caching using spot vms
Xu et al. Rethink the storage of virtual machine images in clouds
US20150378706A1 (en) Software overlays for disaggregated components
CN110447019B (zh) 存储器分配管理器及由其执行的用于管理存储器分配的方法
US20230136522A1 (en) Method and system for implementing metadata compression in a virtualization environment
Kaynar et al. D3N: A multi-layer cache for the rest of us
JP6998419B2 (ja) 制御プログラム
JP6351387B2 (ja) 情報処理装置、プログラムおよび記録媒体
JP6694007B2 (ja) 情報処理装置
US10904090B2 (en) Virtual machine placement based on network communication patterns with other virtual machines

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant