KR20130119285A - 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법 - Google Patents

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

Info

Publication number
KR20130119285A
KR20130119285A KR1020120042313A KR20120042313A KR20130119285A KR 20130119285 A KR20130119285 A KR 20130119285A KR 1020120042313 A KR1020120042313 A KR 1020120042313A KR 20120042313 A KR20120042313 A KR 20120042313A KR 20130119285 A KR20130119285 A KR 20130119285A
Authority
KR
South Korea
Prior art keywords
resource
node
resources
unit
computing environment
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020120042313A
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 KR1020120042313A priority Critical patent/KR20130119285A/ko
Priority to US13/764,882 priority patent/US20130283286A1/en
Publication of KR20130119285A publication Critical patent/KR20130119285A/ko
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 클러스터 컴퓨팅 환경의 가용 자원 집합 내에서, 사용자가 요청한 작업 수행시 필요한 필요 자원에 대응되는 노드를 검색하는 노드 검색부; 상기 필요 자원이 가용한 노드가 존재하는지 여부를 판단하는 노드 존재 판단부; 및 판단 결과에 따라 상기 필요 자원이 가용한 노드가 존재하지 않는 경우, 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하여 할당하는 자원 변경부; 를 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치를 제공한다.

Description

클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법{APPARATUS AND METHOD FOR RESOURCES ALLOCATION IN A CLUSTERED COMPUTING ENVIRONMENT}
본 발명은 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법에 관한 것으로, 보다 자세하게는 이종의 컴퓨팅 자원으로 구성된 클러스터 환경에서 사용자가 요청한 작업을 수행하기 위해 자원을 할당하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법에 관한 것이다.
근래에는 고성능 컴퓨팅 분야에서는 CPU(Central Processing Unit), GPGPGPU(General Purpose Graphic Processing Unit), MIC(Many Integrated Core) 등과 같은 상이한 성능과 기능을 가진 이종 컴퓨팅 자원을 활용하여 보다 나은 성능을 내기 위한 연구가 활발히 진행되고 있다.
이러한, 이종의 컴퓨팅 자원으로 구성된 클러스터 환경에서 자원을 효율적으로 활용하기 위해 컴퓨팅 자원을 관리하고 최적의 순서로 사용자가 요청한 작업을 수행할 자원을 할당하여 수행하는 시스템을 자원 및 작업 관리 시스템이라 한다.
자원 및 작업 관리 시스템은 일반적으로 다음과 같은 순서대로 작업을 수행하게 된다. 먼저, 가용 자원 풀에서 사용자의 자원 요구를 만족시키는 노드를 찾는다. 다음으로 해당 요구를 만족시키는 자원이 가용한 노드가 존재하는지 판단한다. 판단 결과, 요구 자원이 가용한 노드가 존재하지 않으면 자원이 가용하도록 일정 시간 동안 기다린 후에 다시 사용자의 자원 요구를 만족시키는 노드를 찾는 작업을 수행한다. 판단 결과, 자원이 가용한 노드가 존재하면 해당 노드의 자원을 해당 작업 수행을 위해 할당한다. 자원이 할당되었으면 할당된 자원을 이용하여 작업을 수행한다.
상기와 같은 자원 및 작업 관리 시스템은 대한민국 특허 출원 공개 번호 제2004-0077512호에 개시된 '지연된 자원 할당을 위한 방법 및 컴퓨터 판독가능 기록 매체'에 개시된 바와 같이 사용자가 요구하는 자원이 가용하지 않은 경우에 이종의 다른 자원이 놀고 있어도 해당 자원이 가용될 때까지 기다림으로 인해 사용자의 응답시간이 길어지며, 시스템 차원에서는 자원의 활용률이 낮아지게 되는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 발명된 것으로서, 이종의 컴퓨팅 자원으로 구성된 클러스터 환경에서 사용자가 요청한 작업을 수행하기 위해 필요 자원이 가용한 노드가 존재할 때까지 기다리는 것이 아니라 대체 자원을 할당하여 작업이 수행되도록 함으로써, 사용자의 응답시간을 단축시켜 시스템의 전반적인 성능을 향상시킬 수 있도록 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 사용자가 요청한 작업 수행에 필요한 필요 자원을 대체 자원으로 대체하여 변경함에 있어 통일된 기준을 구축하고 이를 활용함으로써, 전체 자원의 활용을 개선하여 시스템 운용의 효율성을 향상시킬 수 있도록 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 사용자가 요청한 작업 수행에 필요한 필요 자원을 대체 자원으로 대체하여 변경함에 있어 통일된 기준을 자원의 규격을 활용하거나 실험을 통해 구축하고 이를 활용함으로써, 전체 자원의 활용을 개선하여 시스템 운용의 효율성을 향상시킬 수 있도록 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법을 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치는 클러스터 컴퓨팅 환경의 가용 자원 집합 내에서, 사용자가 요청한 작업 수행 시 필요한 필요 자원에 대응되는 노드를 검색하는 노드 검색부; 상기 필요 자원이 가용한 노드가 존재하는지 여부를 판단하는 노드 존재 판단부; 상기 노드 존재 판단부의 판단 결과에 따라 상기 필요 자원이 가용한 노드가 존재하지 않는 경우, 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하는 자원 변경부; 및 상기 노드 존재 판단부의 판단 결과에 따라 상기 필요 자원이 가용한 노드가 존재하는 경우, 상기 해당 존재 노드의 자원을 상기 작업 수행을 위해 할당하는 자원 할당부;를 포함한다.
또한, 상기 클러스터 컴퓨팅 환경은 복수의 MIC(Many Integrated Core), GPGPU(General Purpose Graphic Processing Unit), CPU(Central Processing Unit) 등 이종의 하드웨어 구성을 기반으로 하는 것을 특징으로 한다.
또한, 상기 자원 변경부는, 상기 클러스터 컴퓨팅 환경 내에서 구성 개수가 적은 하드웨어 순서대로 상기 대체 자원을 대체하는 것을 특징으로 한다. 즉, 상기 자원 변경부는 구성 개수가 많은 CPU 보다는 구성 개수가 적은 MIC 또는 GPGPU를 우선적으로 상기 대체 자원으로 변경하는 것을 특징으로 한다.
또한, 상기 자원 변경부는, 상기 MIC, GPGPU, CPU의 순으로 상기 필요 자원 및 상기 대체 자원의 우선순위를 설정하는 우선순위 설정부; 상기 설정된 우선순위를 토대로 상기 필요 자원을 상기 대체 자원으로 변경하는 변경부; 및 상기 변경된 대체 자원을 노드 검색부에 송신하는 자원 송신부;를 포함하는 것을 특징으로 한다.
한편, 상기 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자 요청 작업을 수행하는 작업 수행부;를 더 포함하는 것을 특징으로 한다.
또한, 상기 작업 수행부는, 상기 노드 존재 판단부로부터 수신된 상기 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받는 자원 수신부; 상기 대체 자원을 할당 받은 경우, 상기 대체 자원을 상기 필요한 자원에 상응하는 코드로의 변환을 수행하는 코드 변환부; 상기 할당된 해당 존재 노드의 자원 또는 상기 코드 변환이 수행된 대체 자원을 이용하여 상기 요청 작업을 수행하는 수행부; 및 상기 대체 자원을 이용하여 상기 요청 작업이 수행된 경우, 상기 필요 자원이 가용 되었는지를 모니터링 하는 모니터링부;를 포함하는 것을 특징으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 방법은 클러스터 컴퓨팅 환경의 가용 자원 집합 내에서 노드 검색부에 의해, 사용자가 요청한 작업 수행 시 필요한 필요 자원에 대응되는 노드를 검색하는 단계; 노드 존재 판단부에 의해, 필요 자원이 가용한 노드가 존재하는지 여부를 판단하는 단계; 자원 변경부에 의해, 판단 결과 상기 필요 자원이 가용한 노드가 존재하지 않는 경우, 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하는 단계; 및 자원 할당부에 의해, 판단 결과 상기 필요 자원이 가용한 노드가 존재하는 경우, 상기 해당 존재 노드의 자원을 상기 작업 수행을 위해 할당하는 단계;를 포함한다.
또한, 상기 기 설정된 우선순위에 따라 상기 필요 자원을 대체 자원으로 변경하는 단계에서, 상기 자원 변경부에 의해, 상기 클러스터 컴퓨팅 환경에서 사용되는 상기 MIC, GPGPU, CPU 에 대한 상기 필요 자원 및 상기 대체 자원의 우선순위를 상기 클러스터 컴퓨팅 환경 내에서 구성 개수가 적은 하드웨어 순서대로 설정되는 것을 특징으로 한다.
또한, 상기 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하는 단계에서, 상기 자원 변경부에 의해, 상기 MIC, GPGPU, CPU 순으로 설정된 우선순위를 토대로 하여 상기 필요 자원을 상기 대체 자원으로 변경하고, 변경된 상기 대체 자원을 상기 작업 수행을 위해 할당하는 것을 특징으로 한다.
또한, 상기 작업 수행을 위해 할당하는 단계 이후에, 작업 수행부에 의해, 상기 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자가 요청한 작업이 수행되는 단계;를 더 포함하는 것을 특징으로 한다.
또한, 상기 할당된 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자가 요청한 작업이 수행되는 단계에서, 상기 대체 자원이 할당된 경우 코드 변환부에 의해 상기 대체 자원을 상기 필요한 자원에 상응하는 코드로의 변환을 수행하고, 상기 대체 자원을 이용하여 상기 요청 작업이 수행된 경우 모니터링부에 의해 상기 필요 자원이 가용해졌는지를 모니터링 하는 것을 특징으로 한다.
또한, 상기 할당된 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자가 요청한 작업이 수행되는 단계에서, 모니터링 결과, 필요로 했던 자원이 가용해졌으면 해당 자원을 할당 받아 중복적으로 작업을 재 수행시키거나, 대체 자원에서 실행 중인 작업을 새로 할당 받은 작업 수행을 위해 필요로 했던 자원으로 이동시키는 것을 특징으로 한다.
상기와 같은 구성을 갖는 본 발명에 의한 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법은 이종의 컴퓨팅 자원으로 구성된 클러스터 환경에서 사용자가 요청한 작업을 수행하기 위해 필요 자원이 가용한 노드가 존재할 때까지 기다리는 것이 아니라 대체 자원을 할당하여 작업이 수행되도록 함으로써, 사용자의 응답시간을 단축시켜 시스템의 전반적인 성능을 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 사용자가 요청한 작업 수행에 필요한 필요 자원을 대체 자원으로 변경함에 있어 통일된 기준을 구축하고 이를 활용함으로써, 전체 자원의 활용을 개선하여 시스템 운용의 효율성을 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 사용자가 요청한 작업 수행에 필요한 필요 자원을 대체 자원으로 대체하여 변경함에 있어 통일된 기준을 자원의 규격을 활용하거나 실험을 통해 구축하고 이를 활용함으로써, 전체 자원의 활용을 개선하여 시스템 운용의 효율성을 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치의 구성을 나타내는 도면이고,
도 2는 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치에 채용되는 자원 변경부의 세부 구성을 나타내는 도면이고,
도 3은 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치에 채용되는 자원 변경부가 필요 자원을 대체 자원으로 변경할 시 참조하는 정보표의 예를 나타내는 도면이고,
도 4는 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치에 채용되는 작업 수행부의 구성을 나타내는 도면이고,
도 5는 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치에 채용되는 작업 수행부를 이용하여 대체 자원을 활용하여 작업 수행을 수행하는 예를 나타내는 도면이고,
도 6은 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 방법의 흐름을 나타내는 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 우선, 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하에서는, 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법에 대하여 첨부된 도면을 참고로 하여 상세히 설명한다.
도 1을 참조하여 설명하면, 본 발명에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 장치(100)는 크게 노드 검색부(110), 노드 존재 판단부(120), 자원 변경부(130), 자원 할당부(140), 작업 수행부(150)를 포함하여 이루어진다.
여기서, 클러스터 컴퓨팅이란 많은 양의 계산을 하거나 데이터를 저장하기 위해 여러 대의 컴퓨터를 하나로 묶어 놓은 것을 말한다. 이때, 각각의 컴퓨터는 '노드'라고 부른다. 노드로는 주로 PC를 이용하며, 운영 체제로는 리눅스가 많이 쓰인다. 나눌 수 없는 단일한 계산은 한대의 PC에서 처리하는 것과 다를 바가 없다. 그러나 나누어 계산할 수 있는 문제들의 경우에 네트워크로 연결된 여러 노드에 문제를 분산하여 처리하게 하여 노드의 수에 비례하여 성능이 증가하게 된다.
따라서, 본 발명에 따른 클러스터 컴퓨팅 환경은 복수의 MIC(Many Integrated Core), GPGPU(General Purpose Graphic Processing Unit), CPU(Central Processing Unit) 기반으로 하나 이에 한정되지는 않는다.
노드 검색부(110)는 클러스터 컴퓨팅 환경의 가용 자원 집합 내에서 사용자가 요청한 작업 수행에 필요한 노드를 검색한다. 즉, 노드 검색부(100)는 가용 자원 집합에서 사용자가 요청한 필요 자원을 모두 포함하고 있는 노드를 검색한다. 이때, 필요 자원은 사용자가 요청한 작업을 수행하기 위해 요구되는 자원을 말한다.
노드 존재 판단부(120)는 사용자의 작업 요청에 요구되는 필요 자원이 가용한 노드가 존재하는지 여부를 판단한다.
자원 변경부(130)는 노드 존재 판단부(120)의 판단 결과에 따라 필요 자원이 가용한 노드가 존재하지 않는 경우, 필요 자원을 대체 자원으로 변경한 후 다시 노드 검색부(110)를 통해 검색한다. 즉, 자원 변경부(130)는 노드 존재 판단부(120)의 의해 사용자의 작업 요청에 요구되는 필요 자원이 부족하다고 판단되면, 기 설정된 우선순위를 토대로 필요 자원을 대체 자원을 변경한 후 노드 검색부(110)와 노드 존재 판단부(120)를 통해 가용한 자원을 검색한다.
이를 위해, 자원 변경부(130)는 도 2에 도시된 바와 같이 우선순위 설정부(131), 변경부(132), 자원 송신부(133)를 포함하여 구성될 수 있다.
우선순위 설정부(131)는 클러스터 컴퓨팅 환경 내에서 구성 개수가 적은 MIC, GPGPU, CPU 순서대로 우선순위를 설정할 수 있다. 우선순위 설정부(131)는 필요 자원을 대체 자원을 변경하기 위해, 상대적으로 흔하지 않은 자원을 먼저 대체 자원으로 변경할 수 있도록 도 3에 도시된 바와 같은 정보를 구성하여 제공한다.
변경부(132)는 설정된 우선순위를 토대로 필요 자원을 대체 자원으로 변경할 수 있다. 변경부(132)는 도 3을 참조하여 설명하면, 필요 자원 열에서 먼저 나오는 것을 먼저 대체 자원으로 변경할 수 있다. 또한, 동일한 필요 자원을 대체하는데 있어서 대체 자원 열에서 위에 있는 것이 우선 순위가 더 높다. 예를 들면, CPU를 대체할 자원으로 먼저 우선 순위가 높은 MIC를 찾아보고 없으면 GPGPU를 찾아 변경한다. 또한, 사용자가 GPGPU 1개를 원했는데 가용한 GPGPU가 존재하지 않는 경우에는 먼저 GPGPU 1개 대신 MIC 1개가 가용했는지를 확인한 후 만약 가용하지 않으면 다시 GPGPU 1개 대신 CPU 4개가 가용한 노드를 찾아 변경한다.
자원 송신부(133)는 상기 변경된 대체 자원을 노드 검색부(110)에 송신한다.
자원 할당부(140)는 노드 존재 판단부(120)의 판단 결과에 따라 필요 자원이 가용한 노드가 존재하는 경우, 해당 존재 노드의 자원을 작업 수행을 위해 할당한다.
작업 수행부(150)는 자원 할당부(140)로부터 해당 존재 노드의 자원을 할당 받아 사용자가 요청한 작업을 수행한다.
이를 위해, 작업 수행부(150)는 자원 수신부(151), 코드 변환부(152), 수행부(153), 모니터링부(154)를 포함하여 구성될 수 있다.
자원 수신부(151)는 노드 존재 판단부(120)로부터 수신된 해당 존재 노드의 자원 또는 대체 자원을 할당 받는다.
코드 변환부(152)는 대체 자원을 할당 받은 경우, 작업이 대체 자원에서 수행될 수 있도록 작업 코드 변환을 수행한다. 즉, 코드 변환부(152)는 작업이 대체자원을 활용하여 필요자원에서 동작하는 것과 상응하는 효과를 낼 수 있도록 작업의 코드 변환을 수행한다.
이에 본 발명에 따르는 코드 변환부(152)에서는 사용자가 작업 실행 코드 작성시에 이종의 자원을 고려하여 자원별 코드를 별도로 작성하여 함께 제출한 경우에는 할당된 자원에 해당하는 코드를 작업 수행 코드로 선택한다. 만약, 사용자가 별도로 코드를 작성하지 않은 경우에는 자동 변환 도구(도면 미도시)를 이용하여 대체 자원을 활용하여 작업이 동작할 수 있도록 코드를 변환할 수 있다.
수행부(153)는 할당된 자원을 활용하여 사용자가 요청한 작업을 수행한다. 도 5는 본 발명에 따르는 대체 자원을 활용한 자원 할당의 일 실시예로, 사용자는 Job1을 수행하는데 이어서 CPU 1개와 GPGPU 2개를 가진 규격의 자원 2 세트( 2 X [CPU*1 + GPGPU*2] )를 사용하기를 요청한다. 하지만 현재 보유한 자원들이 다른 작업 수행을 위해 할당되어 해당 조건을 만족하는 가용한 자원은 Node3 하나밖에 없다. 따라서 가용한 대체 자원이 있으면 이를 활용한다. 이때, 대체 자원 정보가 도 3과 같다고 할 때, 우선 GPGPU를 대체할 수 있는 자원인 MIC 로 변경하여(CPU*1 + GPGPU*1 + MIC*1, CPU*1 + MIC*2) 가용한 자원이 있는지를 찾아보니 Node6에 자원 CPU*1 + MIC*2)이 존재한다. 따라서 Node3과 Node6을 이용하여 Job1이 수행되게 한다. 이때 하나의 CPU와 두 개의 GPU가 가용한 Node3에서는 사용자가 작성한 코드가 그대로 동작할 수 있지만, 하나의 CPU와 두 개의 MIC가 가용한 Node6을 활용하여 Job1이 동작할 수 있도록 하기 위해 GPGPU 상에서 동작할 수 있도록 작성된 코드를 MIC를 활용하여 동작할 수 있도록 변환한 후 Job1을 수행시킨다.
모니터링부(154)는 대체 자원을 이용하여 사용자의 요청 작업이 수행된 경우, 필요 자원이 가용 되었는지를 확인할 수 있다. 즉, 모니터링부(154)는 대체 자원을 이용하여 작업을 수행한 경우, 처음 작업 수행 요청 시 요청했던 자원이 가용해졌는지를 모니터링 하여 사용자가 작업 제출시 요청했던 작업 수행을 위한 필요 자원을 할당 받아 중복적으로 작업을 재 수행시키거나 대체 자원을 이용하여 수행 중인 작업을 새로이 할당 받은 필요 자원으로 이동시켜 작업을 수행시킬 수 있다.
도 6은 본 발명의 실시예에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 방법의 흐름을 나타내는 도면이다.
도 6을 참조하여 설명하면, 본 발명에 따른 클러스터 컴퓨팅 환경에서의 자원 할당 방법은 먼저, 클러스터 컴퓨팅 환경의 가용 자원 집합 내에서 노드 검색부에 의해, 사용자가 요청한 작업 수행 시 필요한 필요 자원에 대응되는 노드를 검색한다.(S100)
다음으로, 필요 자원이 가용한 노드가 존재하는지 여부를 판단한다.(S200) 이는 노드 존재 판단부(120)에 의해 이루어질 수 있다.
다음으로, 판단 결과 필요 자원이 가용한 노드가 존재하지 않는 경우, 기 설정된 우선순위를 토대로 필요 자원을 대체 자원으로 변경한다.(S300) 이는 자원 변경부(130)에 의해 이루어질 수 있다. 자원 변경부(130) 클러스터 컴퓨팅 환경에서 사용되는 MIC, GPGPU, CPU에 대한 필요 자원 및 대체 자원의 우선순위를 상기 클러스터 컴퓨팅 환경 내에서 구성 개수가 적은 순서대로 설정한다. 그 다음 MIC, GPGPU, CPU의 순으로 설정된 우선순위를 토대로 하여 필요 자원을 대체 자원으로 변경하고, 변경된 대체 자원을 작업 수행을 위해 전 단계인 노드 검색 단계, 노드 존재를 판단하는 단계를 거쳐 작업 수행을 위해 할당한다.
다음으로, 판단 결과 필요 자원이 가용한 노드가 존재하는 경우, 해당 존재 노드의 자원을 작업 수행을 위해 할당한다.(S400) 이는 자원 할당부(140)에 의해 이루어질 수 있다.
마지막으로 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자가 요청한 작업을 수행한다.(S500) 이는 작업 수행부(150)에 의해 이루어질 수 있으며 대체 자원이 할당된 경우 코드 변환부에 의해 코드 변환을 수행하고, 대체 자원을 이용하여 요청 작업이 수행된 경우 모니터링부에 의해 필요 자원이 가용 되었는지를 모니터링 할 수 있다.
이처럼, 본 발명은 이종의 컴퓨팅 자원으로 구성된 클러스터 환경에서 사용자가 요청한 작업을 수행하기 위해 필요 자원이 가용한 노드가 존재할 때까지 기다리는 것이 아니라 대체 자원을 할당하여 작업이 수행되도록 함으로써, 사용자의 응답시간을 단축시켜 시스템의 전반적인 성능을 향상시킬 수 있다. 또한, 본 발명은 사용자가 요청한 작업 수행에 필요한 필요 자원을 대체 자원으로 변경함에 있어 통일된 기준을 구축하고 이를 활용함으로써, 전체 자원의 활용을 개선하여 시스템 운용의 효율성을 향상시킬 수 있다.
이상에서, 본 발명에 따른 바람직한 실시예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진 자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형 예 및 수정 예를 실시할 수 있을 것으로 이해된다.
100 : 클러스터 컴퓨팅 환경에서의 자원 할당 장치
110 : 노드 검색부 120 : 노드 존재 판단부
130 : 자원 변경부 140 : 자원 할당부
150 : 작업 수행부

Claims (14)

  1. 클러스터 컴퓨팅 환경의 가용 자원 집합 내에서, 사용자가 요청한 작업 수행시 필요한 필요 자원에 대응되는 노드를 검색하는 노드 검색부;
    상기 필요 자원이 가용한 노드가 존재하는지 여부를 판단하는 노드 존재 판단부; 및
    판단 결과에 따라 상기 필요 자원이 가용한 노드가 존재하지 않는 경우, 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하여 할당하는 자원 변경부;
    를 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치.
  2. 제 1항에 있어서,
    상기 클러스터 컴퓨팅 환경은 복수의 MIC(Many Integrated Core), GPGPU(General Purpose Graphic Processing Unit), CPU(Central Processing Unit) 를 기반으로 구성되는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치.
  3. 제 2항에 있어서,
    상기 자원 변경부는,
    상기 클러스터 컴퓨팅 환경 내에서 구성 개수가 적은 하드웨어 순으로 상기 대체 자원을 대체하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치.
  4. 제 3항에 있어서,
    상기 자원 변경부는,
    상기 MIC, GPGPU, CPU 순으로 상기 필요 자원 및 상기 대체 자원의 우선순위를 설정하는 우선순위 설정부;
    상기 설정된 우선순위를 토대로 상기 필요 자원을 상기 대체 자원으로 변경하는 변경부; 및
    상기 변경된 대체 자원을 상기 노드 검색부에 송신하는 자원 송신부;
    를 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치.
  5. 제 1항에 있어서,
    상기 노드 존재 판단부의 판단 결과에 따라 상기 필요 자원이 가용한 노드가 존재하는 경우, 상기 해당 존재 노드의 자원을 할당하는 자원 할당부;를 더 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치.
  6. 제 1항에 있어서,
    상기 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자 요청 작업을 수행하는 작업 수행부;를 더 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치.
  7. 제 6항에 있어서,
    상기 작업 수행부는,
    상기 노드 존재 판단부로부터 수신된 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받는 자원 수신부;
    상기 대체 자원을 할당 받은 경우, 상기 대체 자원을 상기 필요한 자원에 상응하는 코드로의 변환을 수행하는 코드 변환부;
    상기 할당된 해당 존재 노드의 자원 또는 상기 코드 변환이 수행된 대체 자원을 이용하여 상기 요청 작업을 수행하는 수행부; 및
    상기 대체 자원을 이용하여 상기 요청 작업이 수행된 경우, 상기 필요 자원이 가용 되었는지를 모니터링 하는 모니터링부;
    를 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 장치.
  8. 클러스터 컴퓨팅 환경의 가용 자원 집합 내에서 노드 검색부에 의해, 사용자가 요청한 작업 수행 시 필요한 필요 자원에 대응되는 노드를 검색하는 단계;
    노드 존재 판단부에 의해, 상기 필요 자원이 가용한 노드가 존재하는지 여부를 판단하는 단계; 및
    자원 변경부에 의해, 판단 결과 상기 필요 자원이 가용한 노드가 존재하지 않는 경우, 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하여 할당하는 단계;
    를 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 방법.
  9. 제 8항에 있어서,
    상기 기 설정된 우선순위에 따라 상기 필요 자원을 대체 자원으로 변경하는 단계에서,
    상기 자원 변경부에 의해, 상기 클러스터 컴퓨팅 환경 내에서 구성 개수가 적은 하드웨어 순으로 상기 대체 자원을 대체하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 방법.
  10. 제 9항에 있어서,
    상기 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하는 단계에서,
    상기 자원 변경부에 의해, 상기 MIC, GPGPU, CPU 순으로 설정된 우선순위를 토대로 하여 상기 필요 자원을 상기 대체 자원으로 변경하고, 변경된 상기 대체 자원을 할당하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 방법.
  11. 제 8항에 있어서,
    상기 기 설정된 우선순위를 토대로 상기 필요 자원을 대체 자원으로 변경하는 단계 이후에,
    자원 할당부에 의해, 판단 결과 상기 필요 자원이 가용한 노드가 존재하는 경우, 상기 해당 존재 노드의 자원을 할당하는 단계;를 더 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 방법.
  12. 제 11항에 있어서,
    상기 작업 수행을 위해 할당하는 단계 이후에,
    작업 수행부에 의해, 상기 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자가 요청한 작업이 수행되는 단계;를 더 포함하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 방법.
  13. 제 12항에 있어서,
    상기 할당된 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자가 요청한 작업이 수행되는 단계에서,
    상기 대체 자원이 할당된 경우 코드 변환부에 의해 상기 대체 자원을 상기 필요한 자원에 상응하는 코드로의 변환을 수행하고, 상기 대체 자원을 이용하여 상기 요청 작업이 수행된 경우 모니터링부에 의해 상기 필요 자원이 가용해졌는지를 모니터링 하는 것을 특징으로 하는 클러스터 컴퓨팅 환경에서의 자원 할당 방법.
  14. 제 13항에 있어서,
    상기 할당된 해당 존재 노드의 자원 또는 상기 대체 자원을 할당 받아 상기 사용자가 요청한 작업이 수행되는 단계에서,
    모니터링 결과, 필요로 했던 자원이 가용해졌으면 해당 자원을 할당받아 중복적으로 작업을 재수행시키거나, 대체 자원에서 실행 중인 작업을 새로 할당 받은 작업 수행을 위해 필요로 했던 자원으로 이동시키는 것을 더 포함하는 작업 수행 방법.

KR1020120042313A 2012-04-23 2012-04-23 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법 Withdrawn KR20130119285A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120042313A KR20130119285A (ko) 2012-04-23 2012-04-23 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법
US13/764,882 US20130283286A1 (en) 2012-04-23 2013-02-12 Apparatus and method for resource allocation in clustered computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120042313A KR20130119285A (ko) 2012-04-23 2012-04-23 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20130119285A true KR20130119285A (ko) 2013-10-31

Family

ID=49381379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120042313A Withdrawn KR20130119285A (ko) 2012-04-23 2012-04-23 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법

Country Status (2)

Country Link
US (1) US20130283286A1 (ko)
KR (1) KR20130119285A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220141592A (ko) * 2021-04-13 2022-10-20 한국과학기술원 공유 gpu 클러스터의 분산 딥 러닝 작업 스케줄링 방법 및 시스템

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2011018B1 (en) 2006-04-12 2016-07-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
CN107368285B (zh) 2006-11-14 2020-10-09 英特尔公司 多线程架构
EP3156896B1 (en) 2010-09-17 2020-04-08 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
CN108108188B (zh) 2011-03-25 2022-06-28 英特尔公司 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段
CN103547993B (zh) 2011-03-25 2018-06-26 英特尔公司 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块
KR101620676B1 (ko) 2011-03-25 2016-05-23 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트
US9442772B2 (en) 2011-05-20 2016-09-13 Soft Machines Inc. Global and local interconnect structure comprising routing matrix to support the execution of instruction sequences by a plurality of engines
CN107729267B (zh) 2011-05-20 2022-01-25 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
WO2013077876A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. A microprocessor accelerated code optimizer
KR101703401B1 (ko) 2011-11-22 2017-02-06 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
WO2014151043A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for emulating a guest centralized flag architecture by using a native distributed flag architecture
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9632825B2 (en) * 2013-03-15 2017-04-25 Intel Corporation Method and apparatus for efficient scheduling for asymmetrical execution units
EP2972845B1 (en) 2013-03-15 2021-07-07 Intel Corporation A method for executing multithreaded instructions grouped onto blocks
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US20140373024A1 (en) * 2013-06-14 2014-12-18 Nvidia Corporation Real time processor
CN104268007A (zh) * 2014-01-07 2015-01-07 深圳市华傲数据技术有限公司 一种事件请求分布式调度方法和系统
US9489242B2 (en) * 2014-09-30 2016-11-08 Telefonaktiebolaget L M Ericsson (Publ) Algorithm for faster convergence through affinity override
CN105848012A (zh) * 2016-03-30 2016-08-10 乐视控股(北京)有限公司 实时转码速率控制方法及装置
US10394604B2 (en) * 2017-03-15 2019-08-27 Samsung Electronics Co., Ltd. Method for using local BMC to allocate shared GPU resources inside NVMe over fabrics system
CN109993299B (zh) * 2017-12-29 2024-02-27 中兴通讯股份有限公司 数据训练方法及装置、存储介质、电子装置
WO2019135704A1 (en) * 2018-01-08 2019-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive application assignment to distributed cloud resources
JP2020144606A (ja) * 2019-03-06 2020-09-10 株式会社リコー 情報処理システム、情報処理方法、情報処理装置及びプログラム
KR102607421B1 (ko) 2020-04-27 2023-11-29 한국전자통신연구원 광 회선을 통해 상호 연결된 컴퓨팅 자원 분할 협업 시스템, 자원 분할 협업 방법
US12554545B2 (en) * 2021-09-28 2026-02-17 Advanced Micro Devices, Inc. Dynamic allocation of platform resources

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6140643A (ja) * 1984-07-31 1986-02-26 Hitachi Ltd システムの資源割当て制御方式
JP4532423B2 (ja) * 2006-03-16 2010-08-25 富士通株式会社 サーバシステム
US20120042076A1 (en) * 2010-08-16 2012-02-16 Nokia Corporation Method and apparatus for managing application resources via policy rules
US8838261B2 (en) * 2011-06-03 2014-09-16 Apple Inc. Audio configuration based on selectable audio modes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220141592A (ko) * 2021-04-13 2022-10-20 한국과학기술원 공유 gpu 클러스터의 분산 딥 러닝 작업 스케줄링 방법 및 시스템

Also Published As

Publication number Publication date
US20130283286A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
KR20130119285A (ko) 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법
US20230136661A1 (en) Task scheduling for machine-learning workloads
US8881165B2 (en) Methods, computer systems, and physical computer storage media for managing resources of a storage server
US9483319B2 (en) Job scheduling apparatus and method therefor
US8725912B2 (en) Dynamic balancing of IO resources on NUMA platforms
US8893148B2 (en) Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks
RU2571366C2 (ru) Виртуальная архитектура неоднородного доступа к памяти для виртуальных машин
US20140331235A1 (en) Resource allocation apparatus and method
EP2309388B1 (en) Network distributed system including an allocation control server and one or more clients carrying out parallel task processing by means of multicore processors.
KR101733117B1 (ko) 멀티코어 시스템의 태스크 분배 방법 및 장치
WO2022247105A1 (zh) 一种任务调度方法、装置、计算机设备和存储介质
US20090064168A1 (en) System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks By Modifying Tasks
WO2015117565A1 (en) Methods and systems for dynamically allocating resources and tasks among database work agents in smp environment
US20090064165A1 (en) Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks
US20140373020A1 (en) Methods for managing threads within an application and devices thereof
JPWO2012066640A1 (ja) 計算機システム、マイグレーション方法及び管理サーバ
CN111338785A (zh) 资源调度方法及装置、电子设备、存储介质
US20090064166A1 (en) System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks
Zhang et al. Miger: Integrating multi-instance gpu and multi-process service for deep learning clusters
US10164904B2 (en) Network bandwidth sharing in a distributed computing system
US20140259022A1 (en) Apparatus and method for managing heterogeneous multi-core processor system
US20100269119A1 (en) Event-based dynamic resource provisioning
JP6010975B2 (ja) ジョブ管理装置、ジョブ管理方法、及びプログラム
CN107634978B (zh) 一种资源调度方法及装置
US20150365343A1 (en) Parallel computer system and control method

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20120423

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid