KR20130088512A - 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법 - Google Patents

클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법 Download PDF

Info

Publication number
KR20130088512A
KR20130088512A KR1020120009788A KR20120009788A KR20130088512A KR 20130088512 A KR20130088512 A KR 20130088512A KR 1020120009788 A KR1020120009788 A KR 1020120009788A KR 20120009788 A KR20120009788 A KR 20120009788A KR 20130088512 A KR20130088512 A KR 20130088512A
Authority
KR
South Korea
Prior art keywords
resource
node
resource allocation
information
performance
Prior art date
Application number
KR1020120009788A
Other languages
English (en)
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 KR1020120009788A priority Critical patent/KR20130088512A/ko
Priority to US13/584,028 priority patent/US8949847B2/en
Publication of KR20130088512A publication Critical patent/KR20130088512A/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria

Abstract

본 발명은, 이기종의 자원을 포함하는 클러스터 시스템에서의 자원 관리 장치 및 방법에 관한 발명으로, 상세하게는, 임의의 작업을 수행하기 위한 자원 할당 요청이 입력되면, 자원 할당에 필요한 동작을 수행하는 자원 관리부, 상기 작업의 특성에 기초하여 자원 할당 정책을 결정하고, 상기 결정된 자원 할당 정책에 따라 할당 노드 및 자원에 대한 정보를 포함하는 자원 할당 정보를 생성하는 자원 정책 관리부, 상기 클러스터 시스템의 노드들의 토폴로지, 자원 성능 정보, 및 연관 자원 정보를 관리하는 공유 자원 성능 관리부, 상기 노드들 각각의 상태 정보 및 할당 자원 사용 정보를 모니터링 하고 관리하는 공유 자원 상태 감시부, 및 상기 자원 할당 정보, 및 상기 토폴로지 및 상긱 자원 성능 정보에 기초하여, 상기 자원 할당 정보에 따른 자원 할당 요청 신호를 상기 복수의 노드들 중 적어도 하나의 노드로 전송하는 공유 자원 할당부를 포함하는 자원 할당 장치를 통하여 고성능의 이기종 자원들이 포함된 클러스터 컴퓨팅 환경에서 각 자원들의 자원 특성을 고려하여 자원을 분배하고, 관리할 수 있도록 하는 정책 기반의 효율적인 자원 관리 장치 및 방법에 관한 발명이다.

Description

클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법{APPARATUS AND METHOD FOR MANAGING RESOURCE IN CLUSTERED COMPUTING ENVIRONMENT}
본 발명은, 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법에 관한 발명으로, 상세하게는, 고성능의 이기종 자원들이 포함된 클러스터 컴퓨팅 환경에서 각 자원들의 자원 특성을 고려하여 자원을 분배하고, 관리할 수 있도록 하는 정책 기반의 효율적인 자원 관리 장치 및 방법에 관한 발명이다. 즉, 클러스터 시스템을 구성하는 노드(node)들이 이기종 자원들로 이루어진 환경에서 응용 소프트웨어의 다양한 특성에 따라 요구된 자원을 최적의 이기종 자원 구성으로 할당할 수 있도록 하여 자원 관리의 효율성을 향상시키는 발명이다.
고성능 컴퓨팅(High Performance Computing; HPC)분야에서, 주류를 이루는 분산/병렬 컴퓨팅 환경은 클러스터 시스템이다. 또한, 하드웨어 기술의 발달로 클러스터를 구성하는 노드들의 자원 구성이 이기종으로 다양화 되고 각 자원이 지원하는 용량도 대용량화 되고 있다.
도 1은 클러스터 자원 관리 시스템의 구성을 도시한 도면이고, 도 2는 도 1의 자원 에이전트 장치를 상세히 도시한 도면이다.
클러스터 자원 관리 시스템은, 이기종 매니코어(Mani-core) 기반 고성능 컴퓨팅 클러스터 자원 관리 시스템으로 구성될 수 있다.
대부분의 고성능 컴퓨팅 클러스터 시스템에서는 전용의 자원 관리 시스템이 제공된다. 도 1을 참조하면, 자원 관리 시스템 관점에서의 클러스터 시스템(100)의 하드웨어는 이기종 연산장치에 기반한 계산성능 가속 노드(150)를 포함하는 자원 에이전트(Resource Agent) 장치(140), 및 이기종 자원의 효과적인 시스템 관리 및 서비스를 위한 자원 매니저 노드(자원 관리부 node, 130)를 포함할 수 있고, 상기 자원 에이전트 노드와 상기 자원 매니저 노드는 고속 네트워크에 기반한 시스템 네트워크로 연결될 수 있다. 따라서, 퍼블릭 네트워크(120)로 연결된 클라이언트 노드(110)는 이기종 고성능 컴퓨팅 클러스터 시스템에 접속하여 작업을 수행할 자원 할당을 요청하고, 요청된 자원을 포함하는 노드들이 할당되면 응용 소프트웨어를 할당된 노드상에서 수행시킬 수 있다.
또한, 도 2에 도시된 바와 같이, 클러스터를 구성하는 자원 에이전트 노드들(141, 142, 143)은 역할에 따라 상이한 하드웨어 자원의 형상을 가질 수 있다.
즉, 이기종 매니코어 클러스터는 노드들이 동일한 자원 구성 및 계산 능력을 갖는 형태가 아니라 노드들의 구성 및 계산 능력이 자원 구성에 따라 특화된 형태를 포함한다.
따라서, 이러한 노드 별 특성에 따라 각 구성 자원을 효율적으로 사용할 수 있는 응용들이 수행되어야 전체적인 동작 성능의 향상을 달성할 수 있다. 즉, 도 1(b)에 도시된 바와 같이, 그래픽 프로세서(Graphic Process Unit; GPU)와 같은 성능계산 가속장치들로 구성된 노드들(141), MIC(Many Integrated Core)와 같은 다른 유형의 성능계산 가속장치들로 구성된 노드들(142), 대용량 메모리(BIGMEM)를 지원하는 대용량 메모리를 탑재한 노드들(143)을 각각 포함할 수 있다.
따라서, 각 노드의 구성 자원의 유형에 따라 CPU를 집중적으로 사용하는 응용 프로그램의 수행 시 좋은 성능을 보장하는 노드 구성도 존재하고, 고성능 입출력 또는 대용량의 메모리를 요구하는, 데이터를 집중적으로 사용하는 응용 프로그램의 수행 시 좋은 성능을 보장하는 노드 구성을 각각 포함할 수 있다.
다만, 종래 기술에 따른 고성능 컴퓨팅 클러스터 환경의 자원 관리 시스템은 범용 프로세서(CPU)와 함께 다양한 성능가속 장치(GPGPU, MIC, FPGA 등)을 동시에 활용하는 이기종 매니코어 기반 고성능 컴퓨팅 시스템에 대한 효율적인 자원 관리에 대한 고려가 부족한 문제점이 있었다.
반면에, 하드웨어 기술 발전과 성능 향상으로 각 구성 노드의 관리 대상 자원은 점차 이기종, 대용량화 되어가고 있는 실정이다. 즉, 수백 개의 코어를 갖는 범용 프로세서와 GPGPU, FPGA등의 이기종 성능 가속장치, 수백 기가바이트(Giga-byte) 이상의 대용량 노드 메모리를 가질 수 있다.
또한, 코어의 집합인 소켓마다 메모리를 갖고 이러한 메모리의 합이 노드 메모리의 용량이 되고, 다른 코어에 연결된 메모리는 동일 시스템이지만 거리가 달라 접근 비용이 높게 된다. 따라서, 효율적인 수행 및 성능 향상을 위해서는 코어와 연결된 메모리를 할당하는 것이 효과적이다. 다만, 응용의 수행 시 프로세서나 메모리 같은 연관된 자원의 위치나 거리를 고려하지 않는 경우, 성능 저하가 발생하게 된다. 즉, 수행되는 응용의 특성에 맞는 효율적인 자원 할당 및 관리를 제공하지 못하면 전체적인 자원 활용률이 현저히 저하되고 응용의 수행 성능을 충분히 보장하지 못하게 된다.
또한, 메시지 패싱 인터페이스(Message Passing Interface; MPI)와 같은 클러스터 환경에서 수행되는 병렬 프로그램은 네트워크 데이터 전송 속도가 성능을 좌우하게 된다. 따라서, 노드 간 통신 비용이 최소화 될 수 있는 인접 노드를 할당해야 하는데, 이런 할당을 위해서는 전체 클러스터 구성 노드에 대한 네트워크 토폴로지(topology) 및 각 노드 간 통신 비용을 파악하고 이를 고려한 할당이 요구된다. 그런데, 종래 기술의 자원 관리 시스템에서는 병렬 프로그램 자원 할당 시 노드 토폴로지 및 통신 비용을 고려하지 않고 있다.
따라서, 종래 기술에서는 응용에 따른 자원 활용률의 현저한 차이가 발생하는 데 이로 인해 낮은 계산 성능 효율성을 갖는다. 또한, 이질적인 특성을 갖는 이기종 계산 자원이 혼재된 환경에서의 자원 할당에 대한 고려가 부족하여 다중 작업 스케줄링 시 자원의 동작 효율성 저해를 초래하게 되는 문제점이 존재한다.
또한, 상기 문제점을 해결하기 위하여 자원 활용 상태를 모니터링 하는 발명(한국 특허 공개번호: 2010-0073120, '가상화 기반 물리 시스템 및 그 자원 관리 방법')이 개시된 바 있으나, 다양한 종류의 자원이 혼재된 클러스터 시스템에는 그 적용에 한계가 존재하였다.
이에 따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 이기종 클러스터 시스템의 자원 관리와 모니터링을 서비스 노드를 통해 효과적으로 일원화하는 클러스터 시스템의 자원 관리 장치 및 방법을 제공하는 것을 목적으로 한다.
즉, 응용 소프트웨어의 다양한 특성에 따라 요구된 자원을 최적의 이기종 자원 구성으로 할당하고, 다중 노드 상에서 동작하는 병렬 프로그램 수행 성능 최적화를 위해 노드 연결 토폴로지 및 거리 기반 노드 및 자원 할당을 제공하고, 고성능 컴퓨팅 응용에서 요구되는 시스템 자원 성능 형태의 자원 용량 추출, 정형화 및 할당을 수행함으로써, 응용 소프트웨어의 실행에 따른 자원 활용률을 향상시키고 계산 성능 효율을 최대화할 수 있도록 하는 자원 관리 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 자원 관리 장치는, 이기종의 자원을 포함하는 클러스터 시스템에 임의의 작업을 수행하기 위한 자원 할당 요청이 입력되면, 자원 할당에 필요한 동작을 수행하는 자원 관리부, 자원 특성 기반 자원 할당 정책 및 정량적 자원 할당 정책을 관리하고, 상기 작업의 특성에 기초하여 자원 할당 정책을 결정하고, 상기 결정된 자원 할당 정책에 따라 할당 노드 및 자원에 대한 정보를 포함하는 자원 할당 정보를 생성하는 자원 정책 관리부, 상기 자원 할당 장치에 연결된 복수의 노드들 각각의 토폴로지, 상기 노드들 각각을 구성하는 자원의 성능 정보, 및 각 노드들 각각의 연관 자원 정보를 관리하는 공유 자원 성능 관리부, 상기 복수의 노드들 각각의 상태 정보 및 할당 자원 사용 정보를 모니터링 하고 관리하는 공유 자원 상태 감시부, 및 상기 자원 할당 정보, 및 상기 토폴로지 및 상긱 자원 성능 정보에 기초하여, 상기 자원 할당 정보에 따른 자원 할당 요청 신호를 상기 복수의 노드들 중 적어도 하나의 노드로 전송하는 공유 자원 할당부를 포함한다.
또한, 본 발명의 다른 실시 예에 따른 이기종의 자원을 포함하는 클러스터 시스템의 자원 할당 장치의 자원 할당 방법은, 소정 작업을 수행하기 위한 자원 할당 요청이 입력되면, 상기 작업의 특성에 기초하여 자원 할당 정책을 결정하는 단계, 상기 결정된 자원 할당 정책, 상기 클러스터 시스템에 포함된 각 노드의 토폴로지 정보 및 상기 각 노드를 구성하는 자원의 성능 정보에 기초하여, 상기 작업의 수행에 필요한 자원을 할당 받을 노드를 결정하는 단계, 상기 결정된 노드가 다중 노드이고, 상기 자원 할당 장치가 통신 기반 병렬 모델인 경우, 상기 각 노드의 토폴로지 정보를 이용하여, 통신 비용이 최소인 노드를 포함하는 제1 노드 리스트를 생성하는 단계, 상기 각 노드의 연관 자원 정보에 기초하여, 상기 제1 노드 리스트에 포함된 노드들 중, 자원 연관 조건을 충족하는 노드를 포함하는 제2 노드 리스트를 생성하는 단계, 상기 각 노드의 상태 정보 및 할당 자원 사용 정보를 참조하여, 상기 제2 노드 리스트에서 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 단계, 및 상기 생성된 자원 할당 정보를 상기 결정된 노드의 자원 제공부로 전송하여 자원 할당을 요청하는 단계를 포함한다.
본 발명의 구성에 따르면, 이질적인 특성을 갖는 다양한 형태의 이기종 자원들을 효과적으로 관리하고 사용환경의 복잡도를 최소화 할 수 있도록 함으로써, 클러스터 시스템의 성능 최적화 및 고성능 컴퓨팅 활용 편의성을 확대할 수 있다.
또한, 응용 모델과 자원 특성을 고려한 정책 기반의 자원 할당을 통해 응용 모델 기반으로 노드 간 통신 비용을 최소화하고, 노드 내 자원 연관성 기반 할당으로 수행 성능을 향상시킬 수 있고, 데이터 인텐시브, 컴퓨팅 인텐시브 등의 작업 특성을 고려한 자원 할당을 통해 자원 사용의 효율성을 높이고 성능을 최적화할 수 있다.
또한, 고성능 컴퓨팅 환경에서 수행되는 응용 소프트웨어의 성능을 향상시킬 수 있고, 자원 사용의 효율성을 높여 클러스터 시스템의 운영 비용을 절감시킬 수 있는 효과가 있다.
도 1은 클러스터 자원 관리 시스템의 구성을 도시한 도면이다.
도 2는 도 1의 자원 에이전트 장치를 상세히 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 자원 관리 장치의 구성을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 자원 에이전트 장치의 구성을 도시한 도면이다.
도 5는 본 발명의 실시 예에 따른 자원 관리 장치의 자원 할당 정책을 도시한 도면이다.
도 6은 본 발명의 실시 예에 따른 범용 프로세서의 구성을 도시한 도면이다.
도 7은 본 발명의 실시 예에 따른 자원 관리 방법을 도시한 순서도이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 여러 가지 실시 예들을 보다 상세히 설명하도록 하겠다. 나아가, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "부", "모듈" 및 "장치"는 단순히 본 명세서 작성의 용이함을 고려하여 부여되는 것으로서, 상기 "부", "모듈" 및 "장치"는 서로 혼용되어 사용될 수 있으며, 하드웨어 또는 소프트웨어로 설계 가능하다.
나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시 예를 상세하게 설명하지만, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다.
본 발명의 실시 예에 따른 자원 관리 장치 및 방법은, 고성능 컴퓨팅 이기종 클러스터 시스템에서 자원 특성을 고려한 정책을 기반으로 하여 효율적으로 이기종 자원을 할당하고 관리할 수 있도록 한다.
또한, 자원 관리를 위한 노드의 유형은 두 가지로 분류될 수 있다. 즉, 실시 예에 따라, 사용자 및 작업 스케줄러의 요청을 받아서 자원 할당을 실제적으로 처리하는 자원 관리(자원 관리부) 장치와 상기 자원 관리 장치의 요청으로 실제 자원 할당을 수행하고 사용 등의 상태 정보를 모니터링 하는 자원 에이전트(Resource Agent) 장치로 분류될 수 있다.
따라서, 자원 관리를 수행하는 마스터 노드에 해당하는 자원 관리 장치는 중앙 집중형 관리 형태로 클러스터를 구성하는 다수의 노드에서 동작하는 자원 에이전트 장치와 연동하여 자원 할당, 모니터링 등의 자원 관리 서비스를 제공할 수 있다.
또한, 자원 에이전트 장치는 클러스터를 구성하는 노드들을 포함할 수 있고, 실제 응용 작업이 수행되는 이기종 매니코어를 포함하는 컴퓨팅 노드들을 포함할 수 있다.
도 3은 본 발명의 실시 예에 따른 자원 관리 장치의 구성을 도시한 도면이다.
실시 예에 따라, 자원 관리 시스템은 크게 자원 관리 장치(210)와 이하 도 3에 도시된 자원 에이전트 장치로 구성될 수 있다. 또한, 자원 관리 시스템의 자원 코디네이터(Coordinator)는 자원 관리 서비스를 제공하는 자원 관리 장치에 설치되고, 클러스터 시스템을 구성하는 다수의 노드와 연동하여 자원 관리 서비스를 제공한다. 또한, 자원 에이전트 장치는 클러스터 시스템을 구성하는 자원 관리 대상인 자원 에이전트 장치마다 설치될 수 있다.
또한, 자원 관리 장치는 자원 관리부(211), 자원 정책 관리부(212), 공유 자원 할당부(213), 공유 자원 상태 감시부(214), 및 공유 자원 성능 관리부(215) 5개의 모듈을 포함할 수 있다.
실시 예에 따라, 자원 관리부(211)는, 이기종의 자원을 포함하는 클러스터 시스템에 소정의 작업을 수행하기 위한 자원 할당 요청이 입력되면, 자원 할당 장치의 각 모듈을 제어하여 자원 할당에 필요한 동작을 수행한다. 즉, 입력한 인자(parameters)를 해석하여 하부 블록의 실행에 필요한 정보를 전달하고 동작이 적절히 수행되도록 작업을 제어할 수 있다.
자원 관리 작업은 자원 할당 정책 작성 및 변경, 자원 할당 요청, 노드 및 자원의 상태 및 자원 사용에 대한 모니터링 등의 작업을 해당 블록으로 전달할 수 있다.
자원 정책 관리부(212)는, 자원 특성 기반 자원 할당 정책 및 정량적 자원 할당 정책을 관리하고, 클러스터 시스템에서 수행되는 작업의 특성에 기초하여 자원 할당 정책을 결정할 수 있다. 즉, 자원 할당 정책의 관리 및 할당 자원 선택 시 특성을 고려한 정책을 적용하여 할당 노드 및 자원을 결정할 수 있다.
공유 자원 성능 관리부는(215)는, 자원 할당 장치에 연결된 각 노드의 토폴로지(topology), 각 노드를 구성하는 자원의 성능(capability) 정보, 및 각 노드의 연관 자원 정보를 관리할 수 있다. 즉, 클러스터를 구성하는 노드 토폴로지 및 각 노드를 구성하는 자원의 성능 정보와 각 노드 연관 자원 정보를 관리할 수 있다.
공유 자원 할당부(213)은, 자원 정책 관리부(212)에서 생성된 자원 할당 정보, 및 공유 자원 성능 관리부(215)의 자원 성능 정보에 기초하여, 상기 자원 할당 정보에 따른 자원 할당 요청 신호를 소정 노드의 자원 제공부로 전송할 수 있다. 즉, 자원할당 정책과 토폴로지, 자원 성능 정보를 바탕으로 최적의 노드와 자원을 할당할 수 있다.
공유 자원 상태 감시부(214)는, 자원 할당 장치에 연결된 각 노드의 토폴로지, 각 노드를 구성하는 자원의 성능 정보, 및 각 노드의 연관 자원 정보를 관리할 수 있다. 즉, 클러스터 시스템의 전체 구성 노드의 상태 및 할당 자원 상용 정보를 모니터링하고 관리 할 수 있다.
자원 정책 관리부(212)는 자원 특성 기반 자원 할당 정책 및 정량적 자원 할당 정책을 관리하고, 상기 작업의 특성에 기초하여 자원 할당 정책을 결정하고, 상기 결정된 자원 할당 정책에 따라 할당 노드 및 자원에 대한 정보를 포함하는 자원 할당 정보를 생성할 수 있다. 즉, 자원 할당 정책의 관리 및 할당 자원 선택 시 특성을 고려한 정책을 적용하여 할당 노드 및 자원을 결정하는 작업을 수행할 수 있다.
실시 예에 따라, 자원 할당 정책은 종래의 자원 관리 시스템에서 제공하는 정량적 자원 할당(노드 수, 코어 수, 메모리양, 및 입출력 대역폭 등)과 본 발명에서 추가로 제공하는 정책, 자원 특성 기반 자원 할당 정책을 지원할 수 있다. 또한, 정책 및 자원 특성 기반 자원 할당에 대해서는 이하 도 4에서 자세히 설명한다.
또한, 자원 정책 관리부는, 클러스터 시스템에서 수행되는 작업에 대하여, 고속의 데이터 입출력이 요구되는 특성, 높은 연산 속도가 요구되는 특성, 및 복합 성능이 필요한 특성 중, 어느 하나의 특성을 설정할 수 있다.
또한, 자원 정책 관리부는, 실시 예에 따라, 상기 결정된 노드가 다중 노드이고, 상기 자원 할당 장치가 통신 기반 병렬모델인 경우, 상기 공유 성능 관리부의 토폴로지 정보를 이용하여, 통신 비용이 최소인 노드를 포함하는 제1 노드 리스트를 생성하고, 상기 제1 노드 리스트에 포함된 노드들 중, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관 조건을 충족하는 노드를 포함하는 제2 노드 리스트를 생성하고, 상기 제2 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성할 수 있고, 상기 결정된 노드가 다중 노드이고, 상기 자원 할당 장치가 통신 기반 병렬모델이 아닌 경우, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관조건을 충족하는 노드를 포함하는 제3 노드 리스트를 생성하고, 상기 제3 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공받도록 자원 할당 정보를 생성할 수 있다.
또한, 자원 정책 관리부는, 다른 실시 예에 따라, 상기 결정된 노드가 단일 노드이고, 상기 결정된 정책이 정량적 자원 할당이 아닌 경우, 상기 작업의 특성을 판단하여, 상기 공유 성능 관리부의 자원 성능 정보에 따라 상기 판단된 특성에 매칭되는 자원이 존재하는 노드를 포함하는 제4 노드 리스트를 생성하고, 상기 제4 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성할 수 있고, 상기 결정된 노드가 단일 노드이고, 상기 결정된 정책이 정량적 자원 할당인 경우, 상기 공유 자원 성능 관리부를 통하여 상기 자원 할당 장치에 연결된 전체 노드 중, 상기 자원 할당 요청에 따른 자원 할당이 가능한 노드를 포함하는 제5 노드 리스트를 생성하고, 상기 제5 노드 리스트에 포함된 노드들 중, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관 조건을 충족하는 노드를 포함하는 제6 노드 리스트를 생성하고, 상기 제6 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성할 수 있다.
공유 자원 할당부(213)는 실시 예에 따라, 상기 자원 정책 관리부에서 생성된 자원 할당 정보, 및 상기 공유 자원 성능 관리부의 토폴로지와 자원 성능 정보에 기초하여, 상기 자원 할당 정보에 따른 자원 할당 요청 신호를 소정 노드의 자원 제공부로 전송할 수 있다. 즉, 자원할당 정책과 토폴로지, 자원 성능(capability)정보를 바탕으로 최적의 노드와 자원을 할당한다.
또한, 선택된 노드와 자원 정보를 대상 노드의 자원 제공부로 전송하여 자원 할당을 요청한다. 자원 할당 요청이 완료되면 자원 할당 인스턴스를 생성하고 할당된 노드 및 자원 정보를 반영하여 저장할 수 있다.
공유 자원 성능 관리부(215)는, 자원 할당 장치에 연결된 각 노드의 토폴로지, 각 노드를 구성하는 자원의 성능 정보, 및 각 노드의 연관 자원 정보를 관리할 수 있다. 즉, 클러스터 시스템을 구성하는 노드 토폴로지 및 각 노드를 구성하는 자원의 성능(Capability) 정보와 각 노드 연관 자원 정보를 관리할 수 있다.
또한, 클러스터 노드 토폴로지 및 네트워크 거리 정보 추출, 저장 관리하고, 노드 내 연관 자원 정보를 저장 관리할 수 있고, 노드 별 연산속도(FLOPS), 입출력속도(IOPS), 및 대역폭(bandwidth) 정보 등 자원 구성 별 자원 성능 정보를 저장하고 관리할 수 있다. 또한, 각 노드에 대한 자원 성능 정보는 소정 노드의 자원 제공부 에 연결되면 해당 노드의 정보를 전송 받아 저장하고 관리할 수 있다.
공유 자원 상태 감시부(214)는, 전체 구성 노드의 상태 및 할당 자원 사용 정보를 모니터링하고 관리할 수 있다. 따라서, 자원 할당 시에도 부하 분산 및 사용 효율을 향상시키기 위해 상태 및 자원 사용 정보가 이용될 수 있다..
도 4는 본 발명의 실시 예에 따른 자원 에이전트 장치의 구성을 도시한 도면이다.
실시 예에 따라, 자원 에이전트 장치(220)는, 자원 에이전트부(221), 노드 자원 성능 관리부(222), 자원 할당부(223), 자원 제어부(224), 및 자원 상태 감시부(225) 5개의 모듈을 포함할 수 있다.
즉, 실시 예에 따라, 자원 에이전트 장치(220)는, 상기 도 2의 자원 할당 장치(210)로부터 전달받은 요청에 대해 인자를 해석하여 하부 블록의 실행에 필요한 정보를 전달하고 요청한 동작이 적절히 수행되도록 작업을 제어하는 자원 에이전트부(221), 노드를 구성하는 자원의 성능(Capability) 정보를 추출하고 관리하는 노드 자원 성능 관리부(222), 요청된 자원 할당 정보와 자원 성능 정보를 바탕으로 최적의 자원을 할당하는 자원 할당부(223), 노드의 상태 및 할당 자원 상용 정보를 모니터링하고 관리하는 자원 상태 감시부(225), 그리고 할당된 자원의 독립적인 수행 및 대역폭을 제공하는 자원 제어부(224)로 구성될 수 있다.
자원 에이전트부(221)는 전체 자원 에이전트 장치의 각 구성 요소의 기능 별 실행을 제어한다. 상기 도 2의 자원 할당 장치(210)로부터 요청된 작업을 수행할 수 있다. 즉, 처음 연결되면 노드 자원 성능 관리부(222)를 통해 노드 연관정보 및 구성 자원에 대한 성능 정보를 추출하고, 추출된 정보를 자원 할당 장치로 전송하여 등록할 수 있다. 자원 할당 및 상태 모니터링에 대한 요청을 해당 블록에 전달하고 수행이 완료되면 결과를 전송할 수 있다.
노드 자원 성능 관리부(222)는 노드 내의 연관 자원 정보를 추출하고 저장한다. 즉, FLOPS, IOPS, 및 대역폭 등의 자원 구성 별 자원 성능 정보를 추출하고 저장할 수 있다.
자원 할당부(223)는 요청된 자원 할당 정보, 자원간 연동 정보와 자원 성능정보를 바탕으로 최적의 자원을 할당하고, 할당된 자원 인스턴스에 대한 정보를 저장하고 관리할 수 있다.
자원 제어부(224)는 할당 자원간의 격리 및 대역폭 관리 등 자원에 대한 관리 및 제어를 담당한다. 따라서, 자원간의 격리 및 대역폭 관리가 정상적으로 이루어져서 자원을 기반으로 수행되는 응용의 성능 및 자원의 사용 효율성이 보장되도록 할 수 있다.
자원 상태 감시부(225)는 노드의 할당 자원 사용정보와 상태 정보 등을 주기적 또는 이벤트에 의해 모니터링하는 역할을 수행할 수 있다.
도 5는 본 발명의 실시 예에 따른 자원 관리 장치의 자원 할당 정책을 도시한 도면이다.
실시 예에 따라, 본 발명에 따라 자원이 할당되는 클러스터 시스템은 이기종 매니코어 자원 관리 시스템을 포함할 수 있다.
본 발명에서 제공하는 자원 할당 정책(300)은 크게 정량적 자원 할당(310)과 정책/자원 특성 기반 할당(320)을 포함할 수 있다.
정량적 할당은 기존의 자원 관리 시스템과 동일한 할당 기법을 포함할 수 있다. 즉, 수행에 필요한 자원 정보(노드 수, CPU 수, 메모리 양, 네트워크 대역폭, 등)를 파라미터로 자원 할당 및 사용 정보(311)를 활용하여 노드 및 자원을 할당 할 수 있다.
다만, 본 발명의 실시 예에 따르면, 정량적 자원할당을 수행하는 경우에도, 자원 연관성 할당(330)을 적용하여 수행 성능을 향상시킨다. 자원 연관성 할당은 노드 내의 연관 자원을 함께 할당하는 방식을 포함한다. 이는 현재 생산되는 범용 프로세서가 다수의 소켓과 메모리를 포함하고 있기 때문이다. 상기 범용 프로세서에 관하여는 이하 도 6에서 상세히 설명한다.
또한, 정책, 자원 특성 기반 할당(320) 방식은 자원 연관성과 자원 할당 및 상태 정보 이외에 추가적으로 토폴로지와 각 구성 자원의 성능(capability) 정보(321)를 활용하여 자원 할당을 처리할 수 있다.
또한, 정책 및 자원특성 할당에는 먼저 프로그래밍 모델(350)을 고려한다. MPI와 같은 병렬 통신 모델, PGAS/SHMEM 같은 분산 공유메모리 모델, OpenMP 같은 공유 메모리 모델, CUDA/OpenCL 같은 이기종 계산 가속 모델 그리고 하이브리드 모델 등으로 크게 분류할 수 있다. 각 모델은 자원 사용 및 동작 특성이 다르다. 예를 들어, MPI와 같은 병렬 통신 모델인 경우 다수의 노드 간에 데이터 전송이 많이 발생한다. 따라서, 네트워크 대역폭이 크고 데이터 통신 비용이 최소화되는 노드에 자원 할당이 이루어져야 수행 작업의 성능을 최적화 할 수 있다. 이와 같이 각 프로그래밍 모델의 특성에 적합한 최적의 자원 할당을 토폴로지와 성능 정보를 활용하여 성능 향상 및 자원 효율성을 높일 수 있다.
작업의 특성(340)은 크게 계산 성능이 높은 자원이 요구되는 CPU-인텐시브(intensive) 작업, 대용량의 많은 데이터 또는 빠른 데이터 입출력을 요구하는 Data-인텐시브(intensive), 두 가지 특성을 모두 갖는 하이브리드(hybrid) 작업으로 분류될 수 있다. 작업 특성을 고려하지 않는 정량적인 자원 할당 요청은 사용자가 구성 자원의 성능을 정확히 파악하여 자원 할당을 요청하기 어려워 자원 사용의 효율성이 낮고, 수행 작업의 자원 요구 특성에 맞지 않는 자원 할당을 하게 되어 수행 작업의 성능 최적화가 어렵다. 또한, 자원 할당 요청이 10TFlops와 10,000IOPS, 네트워크 대역폭이 100GB/s 등의 자원 성능 형태의 자원 할당 요청은 기존 자원 관리 시스템에서는 처리할 수 가 없다. 따라서, 본 발명에서는 공유 자원 성능 관리부를 통하여 FLOPS, IOPS, 및 네트워크 대역폭 등의 노드 별 자원 정보와 토폴로지를 고려한 네트워크 비용 등의 자료를 추출하고 관리할 수 있고, 각 노드의 구성 자원 별 자원 성능을 추출하고 관리한다. 계산 성능을 나타내는 FLOPS는 CPU의 구성 코어 및 계산 가속 장치(GPU, MIC, FPGA) 유형별로 관리되어 세밀한 단위의 자원 할당을 지원하여 자원 사용의 효율성을 높일 수 있고, 최적화된 성능을 통하여 작업을 수행할 수 있다.
도 6은 본 발명의 실시 예에 따른 범용 프로세서의 구성을 도시한 도면이다.
도 6에 도시된 바와 같이, 최근 생산되는 범용 프로세서(350)는 다수의 소켓(360)으로 구성되고 각각의 소켓은 다수의 코어(361)를 갖는다. 또한, 각 소켓은 메모리 노드(370)와 연결되고, 전체 메모리 노드의 메모리 합이 시스템 메모리의 용량에 해당한다. 따라서, 자원 연관 할당(380)을 통해 소켓 코어와 연결된 메모리를 할당하면 데이터의 지역성(locality)가 높아져 자원을 사용하는 프로세스나 쓰레드(thread)의 성능이 향상된다. 하지만 소켓 코어와 연결되지 않은 다른 소켓의 메모리가 일반 할당(390)되면 메모리 접근 비용이 높아져서 프로세스나 쓰레드의 성능 저하가 발생한다. 따라서, 본 발명에서는 자원 연관 할당을 최대한 보장하여 전체 수행 작업의 성능을 향상시킬 수 있다.
도 7은 본 발명의 실시 예에 따른 자원 관리 방법을 도시한 순서도이다.
실시 예에 따라 본 발명의 클러스터 시스템은 이기종 매니코어 자원 관리 시스템을 포함할 수 있다.
먼저, 자원에 대한 작업 특성, 할당 정책 또는 각 할당 자원의 용량 등을 파라미터로 자원 할당 장치(210)의 자원 관리부(211)에서 자원 할당 요청을 입력 받을 수 있다 (S401).
다음으로, 자원 관리부(211)는 할당 정책과 작업 특성 등의 자원 할당 입력 정보(S402)를 기반으로 자원 정책 관리부(212)와 연동하여 자원 할당 정책을 결정할 수 있다(S403).
또한, 할당 정책이 결정되면, 자원 할당 요청이 단일 노드에 대한 할당 요청인지 다중 노드에 대한 할당 요청인지 판단하고(S404), 단일 노드에 대한 자원 할당 요청인 경우 정량적 자원 할당 여부를 판단한다(S410).
상기 판단(S410)결과, 기존 자원 할당 시스템에서 동작하는 정량적 자원 할당 요청인 경우 공유 자원 성능 관리부(215)를 통해 노드 별 자원 할당이 가능한 전체 노드들의 리스트를 작성하고(S411), 자원 할당이 가능한 노드들 중 자원 연관 정보를 통해 연관 할당이 가능한 노드들을 추출할 수 있다(S412).
따라서, 해당 노드 들 중 자원 할당 및 사용 정보를 통해 노드의 부하가 가장 적은 노드를 선택할 수 있다(S416). 이러한 방식으로 기존 자원 관리 시스템의 정량적인 자원 요청인 경우에도 연관성 높은 노드를 할당하여 성능을 최적화하고, 부하가 가장 적은 노드 할당으로 전체 시스템의 사용률 및 로드 밸런싱을 높이는 자원 할당을 수행할 수 있다
반면에, 상기 판단(S410)결과, 정량적 자원 할당 요청이 아닌 경우, 작업 특성을 판단하고(S413), 작업 특성과 요구되는 자원의 성능을 기반으로 작업 특성에 적합한 자원을 결정할 수 있다(S414). 실시 예에 따라, 작업 특성의 경우 계산 성능(FLOPS)이 높은 자원들을 요구하는 CPU-인텐시브(intensive), 대용량 메모리나 입출력 성능(IOPS)이 높은 자원들을 요구하는 Data-인텐시브(intensive), 그리고 계산 성능과 입출력 성능을 모두 요구하는 복합(hybrid) 작업으로 작업 특성이 판단될 수 있다. 작업 특성을 고려하지 않는 정량적인 자원 할당 요청은 사용자가 구성 자원의 성능을 정확히 파악하여 자원 할당을 요청하기 어려워 자원 사용의 효율성이 낮고, 작업의 자원 요구 특성에 맞지 않는 자원 할당을 하게 되어 성능 최적화가 어렵다. 예를 들어, 자원 할당 요청이 10TFlops와 10,000IOPS, 네트워크 대역폭이 100GB/s 등의 자원 성능 형태의 자원 할당 요청은 기존 자원 관리 시스템에서는 처리할 수 가 없다. 따라서, 본 발명에서는 공유자원 성능 관리부를 통해 FLOPS, IOPS, 네트워크 대역폭 등의 노드 별 자원 정보와 토폴로지를 고려한 네트워크 비용 등의 자료를 추출하고 관리할 수 있다. 또한, 본 발명의 실시 예에 따른 자원 할당 장치는 각 노드의 구성 자원 별 성능을 추출하고 관리할 수 있다. 계산 성능을 나타내는 FLOPS는 CPU의 구성 코어 및 계산 가속 장치(GPU, MIC, FPGA) 유형별로 관리되어 세밀한 단위의 자원 할당이 가능하게 되어 자원 사용의 효율성을 높이고 성능 최적화를 지원할 수 있다.
또한, 자원이 결정되면 해당 자원의 성능이 높은 노드 리스트를 추출하고(S415), 노드 리스트 중에서 부하가 최소인 노드를 선택할 수 있다(S416).
또한, 상기 판단(S410) 결과, 자원 할당 요청이 다중 노드에 대한 자원 할당 요청인 경우 통신 기반 병렬 프로그래밍 모델인지 판단 한다(S420). 실시 예에 따라, 프로그래밍 모델이 MPI 등의 통신 기반 병렬 모델이면 토폴로지와 네트워크 비용 정보를 이용하여 통신 비용이 최소인 노드 그룹을 할당해야 한다. 즉, 동일 네트워크 스위치에 연결된 노드들이 선택되어야 하고, 다른 랙이나 스위치에 연결된 노드는 동일한 대역폭이라도 지연 시간이 높아져 성능이 저하될 수 있다. 따라서 통신 비용이 최소인 노드 그룹의 리스트를 추출한다(S421). 다음으로, 상기 추출된 리스트 그룹들에 대하여 각 구성 노드의 자원 연관성 정보를 검사하고(S422), 각 그룹별로 자원 연관성이 높은 노드가 많은 그룹을 선택하거나, 자원 연관성도 동일한 그룹이 존재하면 노드의 사용 및 상태 정보를 통해 노드 부하의 합이 최소인 그룹을 선택할 수 있다(S423).
또한, 상기 판단(S420)결과, 통신 기반 병렬 모델이 아닌 경우에는 토폴로지와 네트워크 비용을 이용해 통신 비용이 최소인 노드 리스트 그룹을 추출하는 단계를 수행하지 않을 수 있다. 따라서, 자원 연관 정보를 최대한 만족하는 노드 그룹을 선택하고(S422), 노드 부하가 최소인 그룹을 최종 선택하여(S423) 자원 할당 노드 및 해당 노드의 자원 선택을 완료할 수 있다.
따라서, 종래 자원 관리 시스템에서 제공되는 정량적 자원 할당, 관리 방법과 본 발명에서 제공하는 정책 및 자원 특성 기반 할당을 통해 이기종 대용량 자원으로 구성된 고성능 컴퓨팅 클러스터 시스템에서 수행되는 응용의 성능을 최적화하고 자원 사용의 효율성을 향상시킬 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
210: 자원 할당 장치
211: 자원 관리부
212: 자원 정책 관리부
213: 공유 자원 할당부
214: 공유 자원 상태 감시부
215: 공유 자원 성능 관리부

Claims (17)

  1. 이기종의 자원을 포함하는 클러스터 시스템에 임의의 작업을 수행하기 위한 자원 할당 요청이 입력되면, 자원 할당에 필요한 동작을 수행하는 자원 관리부;
    자원 특성 기반 자원 할당 정책 및 정량적 자원 할당 정책을 관리하고, 상기 작업의 특성에 기초하여 자원 할당 정책을 결정하고, 상기 결정된 자원 할당 정책에 따라 할당 노드 및 자원에 대한 정보를 포함하는 자원 할당 정보를 생성하는 자원 정책 관리부;
    상기 자원 할당 장치에 연결된 복수의 노드들 각각의 토폴로지, 상기 노드들 각각을 구성하는 자원의 성능 정보, 및 각 노드들 각각의 연관 자원 정보를 관리하는 공유 자원 성능 관리부;
    상기 복수의 노드들 각각의 상태 정보 및 할당 자원 사용 정보를 모니터링 하고 관리하는 공유 자원 상태 감시부; 및
    상기 자원 할당 정보, 및 상기 토폴로지 및 상긱 자원 성능 정보에 기초하여, 상기 자원 할당 정보에 따른 자원 할당 요청 신호를 상기 복수의 노드들 중 적어도 하나의 노드로 전송하는 공유 자원 할당부를 포함하는 것을 특징으로 하는 자원 할당 장치.
  2. 청구항 1에 있어서,
    자원 정책 관리부는,
    상기 작업에 대하여, 고속의 데이터 입출력이 요구되는 특성, 높은 연산 속도가 요구되는 특성, 및 복합 성능이 필요한 특성 중, 어느 하나의 특성을 설정하는 것을 특징으로 하는 자원 할당 장치.
  3. 청구항 1에 있어서,
    상기 자원 정책 관리부는,
    상기 결정된 노드가 다중 노드이고, 상기 자원 할당 장치가 통신 기반 병렬 모델인 경우, 상기 공유 성능 관리부의 토폴로지 정보를 이용하여, 통신 비용이 최소인 노드를 포함하는 제1 노드 리스트를 생성하고, 상기 제1 노드 리스트에 포함된 노드들 중, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관 조건을 충족하는 노드를 포함하는 제2 노드 리스트를 생성하고, 상기 제2 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 것을 특징으로 하는 자원 할당 장치.
  4. 청구항 1에 있어서,
    상기 자원 정책 관리부는,
    상기 결정된 노드가 다중 노드이고, 상기 자원 할당 장치가 통신 기반 병렬 모델이 아닌 경우, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관 조건을 충족하는 노드를 포함하는 제3 노드 리스트를 생성하고, 상기 제3 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 것을 특징으로 하는 자원 할당 장치.
  5. 청구항 1에 있어서,
    상기 자원 정책 관리부는,
    상기 결정된 노드가 단일 노드이고, 상기 결정된 정책이 정량적 자원 할당이 아닌 경우, 상기 작업의 특성을 판단하여, 상기 공유 성능 관리부의 자원 성능 정보에 따라 상기 판단된 특성에 매칭되는 자원이 존재하는 노드를 포함하는 제4 노드 리스트를 생성하고, 상기 제4 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 것을 특징으로 하는 자원 할당 장치.
  6. 청구항 1에 있어서,
    상기 자원 정책 관리부는,
    상기 결정된 노드가 단일 노드이고, 상기 결정된 정책이 정량적 자원 할당인 경우, 상기 공유 자원 성능 관리부를 통하여 상기 자원 할당 장치에 연결된 전체 노드 중, 상기 자원 할당 요청에 따른 자원 할당이 가능한 노드를 포함하는 제5 노드 리스트를 생성하고, 상기 제5 노드 리스트에 포함된 노드들 중, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관 조건을 충족하는 노드를 포함하는 제6 노드 리스트를 생성하고, 상기 제6 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 것을 특징으로 하는 자원 할당 장치.
  7. 청구항 1에 있어서,
    상기 공유 자원 성능 관리부는,
    상기 자원 할당 장치가 소정 노드의 자원 제공부에 연결되면, 상기 연결된 자원 제공부로부터 상기 소정 노드의 정보를 전송 받아 저장 및 관리하는 것을 특징으로 하는 자원 할당 장치.
  8. 청구항1에 있어서,
    상기 공유 자원 할당부는,
    상기 자원 할당 요청에 대응되는 자원이 할당되면, 자원 할당 인스턴스를 생성하고, 상기 결정된 노드 및 상기 자원 제공부에서 할당 받은 자원에 대한 정보를 상기 인스턴스에 저장하는 것을 특징으로 하는 자원 할당 장치.
  9. 청구항 1에 있어서,
    상기 공유 자원 성능 관리부는,
    상기 클러스터 시스템에 포함된 각 노드의 토폴로지, 네트워크 거리, 연관 자원, 연산 성능, 데이터 입출력 성능, 및 대역폭에 대한 정보 중 어느 하나 이상의 정보를 포함하는 자원 구성 별 성능 정보를 저장 및 관리하는 것을 특징으로 하는 자원 할당 장치.
  10. 이기종의 자원을 포함하는 클러스터 시스템의 자원 할당 장치의 자원 할당 방법에 있어서,
    임의의 작업을 수행하기 위한 자원의 할당 요청이 입력되면, 상기 작업의 특성에 기초하여 자원 할당 정책을 결정하는 단계;
    상기 결정된 자원 할당 정책, 상기 클러스터 시스템의 각 노드의 토폴로지, 및 상기 노드들 각각을 구성하는 자원의 성능 정보에 기초하여, 상기 자원을 할당 받을 노드를 결정하는 단계;
    상기 결정된 노드가 다중 노드이고, 상기 자원 할당 장치가 통신 기반 병렬 모델인 경우, 상기 각 노드의 토폴로지를 이용하여, 통신 비용이 최소인 노드를 포함하는 제1 노드 리스트를 생성하는 단계;
    상기 복수의 노드들 각각의 연관 자원 정보에 기초하여, 상기 제1 노드 리스트에 포함된 노드들 중, 자원 연관 조건을 충족하는 노드를 포함하는 제2 노드 리스트를 생성하는 단계;
    상기 복수의 노드들 각각의 상태 정보 및 할당 자원 사용 정보를 참조하여, 상기 제2 노드 리스트에서 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 단계; 및
    상기 생성된 자원 할당 정보를 상기 결정된 노드로 전송하여 자원 할당을 요청하는 단계를 포함하는 것을 특징으로 하는 자원 할당 방법.
  11. 청구항 10에 있어서,
    상기 자원 할당 정책을 결정하는 단계는,
    상기 작업에 대하여, 고속의 데이터 입출력이 요구되는 특성, 높은 연산 속도가 요구되는 특성, 및 복합 성능이 필요한 특성 중, 어느 하나의 특성을 설정하는 단계를 포함하는 것을 특징으로 하는 자원 할당 방법.
  12. 청구항 10에 있어서,
    상기 결정된 노드가 다중 노드이고, 상기 자원 할당 장치가 통신 기반 병렬 모델이 아닌 경우, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관 조건을 충족하는 노드를 포함하는 제3 노드 리스트를 생성하는 단계; 및
    상기 제3 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드들을 선택하는 단계를 더 포함하는 것을 특징으로 하는 자원 할당 방법.
  13. 청구항 10에 있어서,
    상기 결정된 노드가 단일 노드이고, 상기 결정된 정책이 정량적 자원 할당이 아닌 경우, 상기 작업의 특성을 판단하여, 상기 공유 성능 관리부의 자원 성능 정보에 따라 상기 판단된 특성에 매칭되는 자원이 존재하는 노드를 포함하는 제4 노드 리스트를 생성하는 단계; 및
    상기 제4 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는 자원 할당 방법.
  14. 청구항 10에 있어서,
    상기 결정된 노드가 단일 노드이고, 상기 결정된 정책이 정량적 자원 할당인 경우, 상기 공유 자원 성능 관리부를 통하여 상기 자원 할당 장치에 연결된 전체 노드 중, 상기 자원 할당 요청에 따른 자원 할당이 가능한 노드를 포함하는 제5 노드 리스트를 생성하는 단계;
    상기 제5 노드 리스트에 포함된 노드들 중, 상기 공유 성능 관리부의 연관 자원 정보를 반영하여 자원 연관 조건을 충족하는 노드를 포함하는 제6 노드 리스트를 생성하는 단계; 및
    상기 제6 노드 리스트에서 상기 모니터링 정보를 참조하여 부하가 가장 적은 노드에서 자원을 제공 받도록 자원 할당 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는 자원 할당 방법.
  15. 청구항 10에 있어서,
    상기 자원을 할당 받을 노드를 결정하는 단계는,
    상기 자원 할당 장치가 소정 노드의 자원 제공부에 연결되면, 상기 연결된 자원 제공부로부터 상기 소정 노드의 정보를 전송 받는 단계를 포함하는 것을 특징으로 하는 자원 할당 방법.
  16. 청구항 10에 있어서,
    상기 자원 할당 요청에 대응되는 자원이 할당되면, 자원 할당 인스턴스를 생성하고, 상기 결정된 노드 및 상기 자원 제공부에서 할당 받은 자원에 대한 정보를 상기 인스턴스에 저장하는 단계를 포함하는 것을 특징으로 하는 자원 할당 방법.
  17. 청구항 10에 있어서,
    상기 자원을 할당 받을 노드를 결정하는 단계는,
    상기 클러스터 시스템에 포함된 각 노드의 토폴로지, 네트워크 거리, 연관 자원, 연산 성능, 데이터 입출력 성능, 및 대역폭 중 어느 하나 이상의 정보를 포함하는 자원 구성 별 성능 정보를 로드하는 단계를 포함하는 것을 특징으로 하는 자원 할당 방법.
KR1020120009788A 2012-01-31 2012-01-31 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법 KR20130088512A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120009788A KR20130088512A (ko) 2012-01-31 2012-01-31 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법
US13/584,028 US8949847B2 (en) 2012-01-31 2012-08-13 Apparatus and method for managing resources in cluster computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120009788A KR20130088512A (ko) 2012-01-31 2012-01-31 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20130088512A true KR20130088512A (ko) 2013-08-08

Family

ID=48871507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120009788A KR20130088512A (ko) 2012-01-31 2012-01-31 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법

Country Status (2)

Country Link
US (1) US8949847B2 (ko)
KR (1) KR20130088512A (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160048579A (ko) * 2014-10-24 2016-05-04 삼성전자주식회사 무선 그리드 컴퓨팅 방법 및 장치
US9396033B2 (en) 2014-01-23 2016-07-19 Snu R&Db Foundation Method of executing parallel application on manycore cluster system and the manycore cluster system
KR101656706B1 (ko) * 2015-04-02 2016-09-22 두산중공업 주식회사 고성능 컴퓨팅 환경에서의 작업 분배 시스템 및 방법
KR20170069586A (ko) * 2015-12-11 2017-06-21 주식회사 유누스 실시간 처리 시스템의 서버 자원 배치 방법
KR20180028004A (ko) * 2016-09-07 2018-03-15 한국전자통신연구원 복수의 워커 노드가 분산된 환경에서 데이터 스트림을 분석하고 처리하는 방법 및 장치, 그리고 태스크를 관리하는 방법 및 장치
KR20190058619A (ko) * 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법
WO2019117593A1 (ko) * 2017-12-13 2019-06-20 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
US10509681B2 (en) 2016-11-21 2019-12-17 Samsung Electronics Co., Ltd. Electronic apparatus for effective resource management and method thereof
KR20200133484A (ko) * 2019-05-20 2020-11-30 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR20210058609A (ko) * 2019-11-13 2021-05-24 서강대학교산학협력단 Numa 시스템에서 메모리 버스에 연결하여 사용하는 저장장치의 할당 방법
KR20210077466A (ko) * 2019-12-17 2021-06-25 건국대학교 산학협력단 동적 매니코어 파티셔닝 장치 및 방법
KR20220072946A (ko) * 2020-11-25 2022-06-03 주식회사 커먼컴퓨터 코드 저장소와 연동하여 원클릭 배포 서비스를 제공하는 방법 및 시스템

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11237719B2 (en) * 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US9411702B2 (en) * 2013-08-30 2016-08-09 Globalfoundries Inc. Flexible and modular load testing and monitoring of workloads
JP6164298B2 (ja) * 2013-09-27 2017-07-19 日本電気株式会社 無線通信システム、無線通信端末、無線通信システムの制御方法、及び、プログラム
JP2015088112A (ja) * 2013-11-01 2015-05-07 ソニー株式会社 制御装置、処理装置及び情報処理方法
US9516137B2 (en) * 2014-12-09 2016-12-06 International Business Machines Corporation Combining disparate applications into a single workload group
CN104461740B (zh) * 2014-12-12 2018-03-20 国家电网公司 一种跨域集群计算资源聚合和分配的方法
US9697045B2 (en) 2015-03-24 2017-07-04 International Business Machines Corporation Selecting resource allocation policies and resolving resource conflicts
US9871857B2 (en) * 2015-04-29 2018-01-16 Microsoft Technology Licensing, Llc Optimal allocation of dynamic cloud computing platform resources
US10298515B1 (en) * 2015-06-05 2019-05-21 VCE IP Holding Company LLC Methods, systems, and computer readable mediums for creating a tenant cloud
US10997326B2 (en) 2015-09-04 2021-05-04 Halliburton Energy Services, Inc. Time-to-finish simulation forecaster
CN105468459B (zh) * 2015-12-02 2019-03-12 上海兆芯集成电路有限公司 计算机资源控制器以及控制方法
WO2018068857A1 (en) * 2016-10-13 2018-04-19 Huawei Technologies Co., Ltd. Method and unit for radio resource management using reinforcement learning
US10257033B2 (en) 2017-04-12 2019-04-09 Cisco Technology, Inc. Virtualized network functions and service chaining in serverless computing infrastructure
US10884807B2 (en) 2017-04-12 2021-01-05 Cisco Technology, Inc. Serverless computing and task scheduling
US10489195B2 (en) 2017-07-20 2019-11-26 Cisco Technology, Inc. FPGA acceleration for serverless computing
WO2019061122A1 (zh) * 2017-09-28 2019-04-04 深圳大学 一种spark任务分配方法和系统
US10771584B2 (en) 2017-11-30 2020-09-08 Cisco Technology, Inc. Provisioning using pre-fetched data in serverless computing environments
KR102423416B1 (ko) * 2017-12-12 2022-07-22 한국전자통신연구원 서버리스 환경에서의 펑션 장기 실행 제공 장치 및 방법
US10678444B2 (en) 2018-04-02 2020-06-09 Cisco Technology, Inc. Optimizing serverless computing using a distributed computing framework
CN108595257B (zh) * 2018-04-27 2022-04-15 武汉轻工大学 一种云任务调度方法
KR102598084B1 (ko) * 2018-11-06 2023-11-03 삼성전자주식회사 작업 의존성에 기초하여 컴퓨팅 작업을 서버에 스케줄링하는 방법 및 장치
CN110365799B (zh) * 2019-08-16 2022-04-22 广东浪潮大数据研究有限公司 一种集群多节点调度方法、装置和计算机可读存储介质
CN110618870B (zh) * 2019-09-20 2021-11-19 广东浪潮大数据研究有限公司 一种深度学习训练任务的工作方法及装置
US11347558B2 (en) * 2019-12-09 2022-05-31 Nutanix, Inc. Security-aware scheduling of virtual machines in a multi-tenant infrastructure
CN113630843B (zh) * 2020-05-09 2023-04-18 华为技术有限公司 一种通信方法和通信装置
CN111949407B (zh) * 2020-08-13 2024-04-12 抖音视界有限公司 一种资源分配方法及装置
CN112272201B (zh) * 2020-09-15 2022-05-27 网宿科技股份有限公司 一种设备纳管方法、系统及纳管集群
US11687370B2 (en) * 2020-11-23 2023-06-27 International Business Machines Corporation Activity assignment based on resource and service availability
US10970113B1 (en) * 2020-12-23 2021-04-06 CTRL IQ, Inc. Systems and methods for orchestrating seamless, distributed, and stateful high performance computing
CN112817728A (zh) * 2021-02-20 2021-05-18 咪咕音乐有限公司 任务调度方法、网络设备和存储介质
CN113255165A (zh) * 2021-06-28 2021-08-13 中国人民解放军国防科技大学 一种基于动态任务分配的实验方案并行推演系统
US11321064B1 (en) 2021-10-04 2022-05-03 CTRL IQ, Inc. Systems and methods for trusted and secure application deployment via collective signature verification of the application artifacts

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US6952714B2 (en) * 2001-10-02 2005-10-04 Citrix Systems, Inc. Method for distributed program execution with server-based file type association
US7430741B2 (en) * 2004-01-20 2008-09-30 International Business Machines Corporation Application-aware system that dynamically partitions and allocates resources on demand
US7900206B1 (en) * 2004-03-31 2011-03-01 Symantec Operating Corporation Information technology process workflow for data centers
US7707288B2 (en) * 2005-01-06 2010-04-27 International Business Machines Corporation Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US7761557B2 (en) * 2005-01-06 2010-07-20 International Business Machines Corporation Facilitating overall grid environment management by monitoring and distributing grid activity
US20070233843A1 (en) * 2006-03-30 2007-10-04 Gabriele Frey-Ganzel Method and system for an improved work-load balancing within a cluster
JP2008226181A (ja) * 2007-03-15 2008-09-25 Fujitsu Ltd 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法
US8584131B2 (en) * 2007-03-30 2013-11-12 International Business Machines Corporation Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
WO2009113172A1 (ja) * 2008-03-13 2009-09-17 富士通株式会社 ジョブ割当装置、ジョブ割当装置の制御プログラム及び制御方法
US8713182B2 (en) * 2009-08-03 2014-04-29 Oracle International Corporation Selection of a suitable node to host a virtual machine in an environment containing a large number of nodes
US8479216B2 (en) * 2009-08-18 2013-07-02 International Business Machines Corporation Method for decentralized load distribution in an event-driven system using localized migration between physically connected nodes and load exchange protocol preventing simultaneous migration of plurality of tasks to or from a same node
CN103329499B (zh) * 2010-11-30 2017-11-07 皇家Kpn公司 服务网络节点的动态分配方法、服务器、系统及网络节点

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396033B2 (en) 2014-01-23 2016-07-19 Snu R&Db Foundation Method of executing parallel application on manycore cluster system and the manycore cluster system
KR20160048579A (ko) * 2014-10-24 2016-05-04 삼성전자주식회사 무선 그리드 컴퓨팅 방법 및 장치
KR101656706B1 (ko) * 2015-04-02 2016-09-22 두산중공업 주식회사 고성능 컴퓨팅 환경에서의 작업 분배 시스템 및 방법
KR20170069586A (ko) * 2015-12-11 2017-06-21 주식회사 유누스 실시간 처리 시스템의 서버 자원 배치 방법
KR20180028004A (ko) * 2016-09-07 2018-03-15 한국전자통신연구원 복수의 워커 노드가 분산된 환경에서 데이터 스트림을 분석하고 처리하는 방법 및 장치, 그리고 태스크를 관리하는 방법 및 장치
KR20210136179A (ko) * 2016-10-05 2021-11-16 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법
KR20190058619A (ko) * 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법
US11494245B2 (en) 2016-10-05 2022-11-08 Partec Cluster Competence Center Gmbh High performance computing system and method
US10509681B2 (en) 2016-11-21 2019-12-17 Samsung Electronics Co., Ltd. Electronic apparatus for effective resource management and method thereof
WO2019117593A1 (ko) * 2017-12-13 2019-06-20 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
KR20210070253A (ko) * 2019-05-20 2021-06-14 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR20200133484A (ko) * 2019-05-20 2020-11-30 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR20210058609A (ko) * 2019-11-13 2021-05-24 서강대학교산학협력단 Numa 시스템에서 메모리 버스에 연결하여 사용하는 저장장치의 할당 방법
KR20210077466A (ko) * 2019-12-17 2021-06-25 건국대학교 산학협력단 동적 매니코어 파티셔닝 장치 및 방법
KR20220072946A (ko) * 2020-11-25 2022-06-03 주식회사 커먼컴퓨터 코드 저장소와 연동하여 원클릭 배포 서비스를 제공하는 방법 및 시스템

Also Published As

Publication number Publication date
US8949847B2 (en) 2015-02-03
US20130198755A1 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
KR20130088512A (ko) 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법
US11934883B2 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
KR20160087706A (ko) 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
CN110221920B (zh) 部署方法、装置、存储介质及系统
US11467874B2 (en) System and method for resource management
Khalifa¹ et al. Collaborative autonomic resource management system for mobile cloud computing
JP2021026659A (ja) ストレージシステム及びリソース割当て制御方法
KR20150117258A (ko) 분산형 컴퓨팅 아키텍쳐
WO2018158819A1 (ja) 分散データベースシステム及び分散データベースシステムのリソース管理方法
US9509562B2 (en) Method of providing a dynamic node service and device using the same
KR20120071979A (ko) 클라우드 컴퓨팅 시스템의 자원관리장치 및 방법
CN111435319A (zh) 一种集群的管理方法及装置
Peng et al. BQueue: A coarse-grained bucket QoS scheduler
KR102014246B1 (ko) 리소스 통합관리를 위한 메소스 처리 장치 및 방법
Zhang et al. Dynamic load-balanced multicast based on the Eucalyptus open-source cloud-computing system
KR20170094899A (ko) 컴퓨팅 리소스 관리 시스템 및 방법
Guo et al. The hierarchical resource management model based on cloud computing
Zhang et al. Towards a scalable and energy-efficient resource manager for coupling cluster computing with distributed embedded computing
KR20210127565A (ko) 가상 머신에 자원을 할당하는 방법 및 장치
Jin et al. : Efficient Resource Disaggregation for Deep Learning Workloads
Zanella et al. A Hierarchical Approach for Resource Management in Heterogeneous Systems
Hsu et al. Multi-valued neural logic networks
Kumar A comparative evaluation of VM placement techniques in mapreduce cloud
Liang et al. Enabling software DSM system for Grid computing
Delamare et al. Roles of Desktop Grids in Hybrid Distributed Computing Infrastructures

Legal Events

Date Code Title Description
SUBM Surrender of laid-open application requested