KR102022972B1 - 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법 - Google Patents

이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법 Download PDF

Info

Publication number
KR102022972B1
KR102022972B1 KR1020180028260A KR20180028260A KR102022972B1 KR 102022972 B1 KR102022972 B1 KR 102022972B1 KR 1020180028260 A KR1020180028260 A KR 1020180028260A KR 20180028260 A KR20180028260 A KR 20180028260A KR 102022972 B1 KR102022972 B1 KR 102022972B1
Authority
KR
South Korea
Prior art keywords
task
heterogeneous
tasks
critical
core processor
Prior art date
Application number
KR1020180028260A
Other languages
English (en)
Other versions
KR20190106577A (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 KR1020180028260A priority Critical patent/KR102022972B1/ko
Publication of KR20190106577A publication Critical patent/KR20190106577A/ko
Application granted granted Critical
Publication of KR102022972B1 publication Critical patent/KR102022972B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/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
    • 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/3243Power saving in microcontroller unit
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

본 발명의 일실시예에 따르면, 이종 멀티 프로세싱 시스템 환경에서 테스크 병렬화 기법을 통해 복수개의 테스크를 병렬로 실행시키는 경우, 각 테스크별 특성을 파악하여 각 테스크를 수행하기 위한 가장 효율적인 코어 프로세서 종류와 개수 등의 시스템 자원을 동적으로 할당하는 시스템 운영조건을 설정함으로써 이종 멀티 프로세싱 시스템의 에너지 효율을 최대화시킬 수 있다.

Description

이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법{RUNTIME MANAGEMENT APPARATUS FOR HETEROGENEOUS MULTI-PROCESSING SYSTEM AND METHOD THEREOF}
본 발명은 이종 멀티 프로세싱 시스템에 관한 것으로, 특히 이종 멀티 프로세싱 시스템(heterogeneous multi-processing system) 환경에서 테스크 병렬화 기법(task parallelism)을 통해 복수개의 테스크를 병렬로 실행시키는 경우, 각 테스크별 특성을 파악하여 각 테스크를 수행하기 위한 가장 효율적인 코어 프로세서 종류(type)와 개수 등의 시스템 자원을 동적으로 할당하는 시스템 운영조건을 설정함으로써 이종 멀티 프로세싱 시스템의 에너지 효율을 최대화시킬 수 있도록 하는 이종 멀티 프로세싱 시스템 환경 기반 런타임(runtime) 관리장치 및 방법에 관한 것이다.
일반적으로 이종 멀티 프로세싱 시스템은 서로 특성이 다른 이종의 코어 프로세서를 구비하여 병렬화 기법으로 실행되는 복수개의 테스크를 수행하는 시스템을 말하는 것이다.
이러한 이종 멀티 프로세싱 시스템은 예를 들어 스마트폰에서는 빅(big), 리틀(little) 아키텍쳐로서 구현되어 적용될 수 있으며, 스마트폰이 대기 모드로 있을 때는 이종 멀티 프로세서 중 성능이 상대적으로 좋지 않지만 전력소모가 적은 코어 프로세서가 동작하도록 하고, 게임 등과 같이 데이터 처리를 빠르게 해야하는 작업을 수행하는 경우에는 이종 멀티 프로세서 중 전력 소모가 많더라도 성능이 상대적으로 좋은 코어 프로세서가 동작하도록 하여 에너지 효율을 높이도록 하고 있다.
한편, 이종 멀티 프로세싱 시스템 기반에서 수행되는 테스크에 대해서는 병렬화 기법을 통해 복수개의 테스크를 독립적으로 실행할 수 있다.
도 1은 종래 병렬화 기법 중 테스크 병렬화(task parallelism) 적용시 테스크간 의존성과 테스크 실행 개념을 도시한 것이다.
여기서, 테스크 병렬화는 전체 작업이 있는 경우, 전체 작업을 여러 개의 독립적인 테스크 단위로 나누고, 각 테스크를 여러 개의 워커 쓰레드(worker thread)에서 독립적으로 병렬처리하는 방법을 말한다.
도 1을 참조하면, 도 1의 (a)에서 각각의 노드는 독립적인 테스크로 일련의 숫자로 표시하였으며, 화살표는 각 테스크간 의존성을 나타낸다. 즉, 화살표로 연결된 테스크는 서로 의존성을 가지는 테스크로 이전 테스크가 실행된 후 실행이 가능하게 된다.
이때, 서로 의존성이 있는 테스크를 연결한 테스크 경로를 정의할 수 있는데, 테스크 경로 중 가장 긴 경로를 크리티컬 경로(critical path)(100)라고 정의할 수 있으며, 이러한 크리티컬 경로(100)에 포함된 테스크를 크리티컬 테스크(critical task)로 정의할 수 있다. 또한, 크리티컬 경로가 아닌 다른 경로는 넌크리티컬 경로(non-critical task)(110, 120)로 정의할 수 있고, 넌크리티컬 경로(110, 120)에 포함된 테스크를 넌크리티컬 테스크(non-critical task)로 정의할 수 있다.
위와 같이 테스크 경로가 정의되는 경우, 종래 이종 멀티 프로세싱 시스템 기반의 테스크 병렬화 기법에서는 도 1의 (b)에서와 같이 크리티컬 경로(100)와 넌크리티컬 경로(110, 120)에 포함된 테스크를 각각 크리티컬 큐(critical queue)와 넌크리티컬 큐(non-critical queue)에 구분하여 저장시킨 후, 크리티컬 테스크를 상대적으로 처리 속도가 빠른 코어 프로세서(core processor)에서 수행하도록 함으로써 시스템의 성능을 높이도록 하고 있다.
그러나, 종래 이종 멀티 프로세싱 시스템 기반의 테스크 병렬화 기법에서는 런타임 관리에 있어서, 단지 테스크에 따라 코어 프로세서의 종류(type)만을 테스크의 특성에 맞게 할당하는 것에 대해서만 고려하고 있을 뿐이어서, 다양한 시스템 자원을 동적으로 할당하여 시스템을 보다 효율적으로 운영하는데는 한계가 있었다.
대한민국 공개특허번호 10-2017-0035797호(공개일자 2017년 03월 31일)
따라서, 본 발명의 일실시예에서는 이종 멀티 프로세싱 시스템 환경에서 테스크 병렬화 기법을 통해 복수개의 테스크를 병렬로 실행시키는 경우, 각 테스크별 특성을 파악하여 각 테스크를 수행하기 위한 가장 효율적인 코어 프로세서 종류와 개수 등의 시스템 자원을 동적으로 할당하는 시스템 운영조건을 설정함으로써 이종 멀티 프로세싱 시스템의 에너지 효율을 최대화시킬 수 있도록 하는 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법을 제공하고자 한다.
상술한 본 발명의 일실시예에 따른 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치로서, 이종 멀티 프로세싱 시스템에 할당한 복수개의 테스크에 대한 정보를 테스크 병렬 어플리케이션(task parallel application)으로부터 수신하고, 상기 복수개의 테스크에 대한 시스템 운영조건을 설정하는 런타임 관리부와, 상기 시스템 운영조건에 따라 상기 복수개의 테스크를 상기 이종 멀티 프로세싱 시스템에 할당하는 경우 상기 이종 멀티 프로세싱 시스템의 성능을 계산하는 성능 예측부와, 상기 시스템 운영조건에 따라 상기 복수개의 테스크를 실행시키는 경우 상기 이종 멀티 프로세싱 시스템의 전력 소모량을 계산하는 전력 예측부를 포함하되, 상기 런타임 관리부는, 상기 계산된 성능과 전력 소모량을 기반으로 상기 시스템 운영조건일 때 상기 이종 멀티 프로세싱 시스템의 에너지 효율을 산출하고, 상기 산출된 에너지 효율이 이전 시스템 운영조건에서의 에너지 효율보다 높은 경우 상기 시스템 운영조건을 상기 이종 멀티 프로세싱 시스템에 적용시키는 것을 특징으로 한다.
또한, 상기 시스템 운영조건은, 각 테스크의 특성에 부합하는 코어 프로세서의 종류, 상기 각 테스크를 실행시키기 위한 코어 프로세서의 개수 및 코어 프로세서의 동작 주파수에 대한 정보를 포함하는 것을 특징으로 한다.
또한, 상기 전력 예측부는, 상기 이종 멀티 프로세싱 시스템내 코어 프로세서별 상기 시스템 운영조건에 따라 설정된 동작 주파수와 측정된 각 코어 프로세서별 사용률을 적용하여 각 코어 프로세서로부터 발생하는 전력 소모량을 계산하여 상기 시스템의 전력 소모량을 계산하는 것을 특징으로 한다.
또한, 상기 런타임 관리부는, 상기 복수개의 테스크중 수행 시간이 가장 오래 걸리는 테스크 경로에 포함되는 크리티컬 테스크들을 수행하기 위한 크리티컬 경로 수행 시간을 산출하고, 상기 테스크 경로에 포함되지 않은 넌크리티컬 테스크들을 수행하기 위한 넌크리티컬 경로 수행 시간을 산출한 후, 상기 크리티컬 경로 수행 시간과 상기 넌크리티컬 경로 수행 시간의 차이가 기설정된 기준 범위내에서 유지되도록 상기 시스템 운영조건을 설정하는 것을 특징으로 한다.
또한, 상기 성능 예측부는, 상기 크리티컬 테스크 및 상기 넌크리티컬 테스크에 각각 할당되는 코어 프로세서의 종류와, 개수 및 각 코어 프로세서의 동작 주파수를 기반으로 상기 크리티컬 테스크 및 상기 넌크리티컬 테스크를 수행하는데 소요되는 코어 프로세서들의 성능을 계산하여 상기 시스템의 성능을 계산하는 것을 특징으로 한다.
또한, 상기 복수개의 테스크는, 상기 이종 멀티 프로세싱 시스템에서 테스크 병렬 기법으로 실행되는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리방법으로서, 이종 멀티 프로세싱 시스템에서 실행되는 복수개의 테스크에 대한 정보를 테스크 병렬 어플리케이션으로부터 수신하는 단계와, 상기 복수개의 테스크에 대한 시스템 운영조건을 설정하는 단계와, 상기 시스템 운영조건에 따라 상기 복수개의 테스크를 상기 이종 멀티 프로세싱 시스템에 할당하는 경우 상기 이종 멀티 프로세싱 시스템의 성능을 계산하는 단계와, 상기 시스템 운영조건에 따라 상기 복수개의 테스크를 상기 이종 멀티 프로세싱 시스템에 할당하는 경우 상기 이종 멀티 프로세싱 시스템의 전력 소모량을 계산하는 단계와, 상기 계산된 성능과 전력 소모량을 기반으로 상기 시스템 운영조건일 때 상기 이종 멀티 프로세싱 시스템의 에너지 효율을 산출하는 단계와, 상기 산출된 에너지 효율과 이전 시스템 운영조건에서의 에너지 효율을 비교하는 단계와, 상기 산출된 에너지 효율이 상기 이전 시스템 운영조건에서의 에너지 효율보다 높은 경우 상기 시스템 운영조건을 상기 이종 멀티 프로세싱 시스템에 적용시키는 단계를 포함한다.
또한, 상기 시스템 운영조건은, 각 테스크의 특성에 부합하는 코어 프로세서의 종류, 상기 각 테스크를 실행시키기 위한 코어 프로세서의 개수 및 코어 프로세서의 동작 주파수에 대한 정보를 포함하는 것을 특징으로 한다.
또한, 상기 전력 소모량을 계산하는 단계는, 상기 이종 멀티 프로세싱 시스템내 코어 프로세서별 상기 시스템 운영조건에 따라 설정된 동작 주파수와 측정된 각 코어 프로세서별 사용률을 적용하는 단계와, 상기 동작 주파수 및 상기 각 코어 프로세서별 사용률 적용시 각 코어 프로세서로부터 발생하는 전력 소모량을 계산하여 상기 시스템의 전력 소모량을 계산하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 시스템 운영조건을 설정하는 단계는, 상기 복수개의 테스크중 수행 시간이 가장 오래 걸리는 테스크 경로에 포함되는 크리티컬 테스크들을 수행하기 위한 크리티컬 경로 수행 시간을 산출하는 단계와, 상기 테스크 경로에 포함되지 않은 넌크리티컬 테스크들을 수행하기 위한 넌크리티컬 경로 수행 시간을 산출하는 단계와, 상기 크리티컬 경로 수행 시간과 상기 넌크리티컬 경로 수행 시간의 차이가 기설정된 기준 범위내에서 유지되도록 상기 시스템 운영조건을 설정하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 성능을 계산하는 단계는, 상기 크리티컬 테스크 및 상기 넌크리티컬 테스크에 각각 할당되는 코어 프로세서의 종류와, 개수 및 각 코어 프로세서의 동작 주파수를 기반으로 상기 크리티컬 테스크 및 상기 넌크리티컬 테스크를 수행하는데 소요되는 코어 프로세서들의 성능을 계산하여 상기 시스템의 성능을 계산하는 단계인 것을 특징으로 한다.
또한, 상기 복수개의 테스크는, 상기 이종 멀티 프로세싱 시스템에서 테스크 병렬 기법으로 실행되는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 이종 멀티 프로세싱 시스템 환경에서 테스크 병렬화 기법을 통해 복수개의 테스크를 병렬로 실행시키는 경우, 각 테스크별 특성을 파악하여 각 테스크를 수행하기 위한 가장 효율적인 코어 프로세서 종류와 개수 등의 시스템 자원을 동적으로 할당하는 시스템 운영조건을 설정함으로써 이종 멀티 프로세싱 시스템의 에너지 효율을 최대화시킬 수 있다.
도 1은 종래 병렬화 기법 중 테스크 병렬화 적용시 테스크간 의존성과 테스크 실행 개념도.
도 2는 본 발명의 일실시예에 따른 런타임 관리 장치를 포함하는 이종 멀티 프로세싱 시스템 구성도.
도 3은 본 발명의 일실시예에 따른 런타임 관리 장치에서 이종 멀티 프로세싱 시스템의 런타임을 관리하는 동작 제어 흐름도.
도 4는 본 발명의 일실시예에 따른 에너지 소모량 비교 그래프 예시도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운영자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 2는 본 발명의 일실시예에 따른 런타임 관리장치를 포함하는 이종 멀티 프로세싱 시스템을 도시한 것이다.
도 2를 참조하면, 이종 멀티 프로세싱 시스템(heterogeneous multi-processing system)(270)이 구현된 환경에서 테스크 병렬 어플리케이션(task parallel application)(200)이 실행되는 경우, 테스크 병렬 어플리케이션(200)에 의해 복수개의 테스크가 이종 멀티 프로세싱 시스템(270)에 구비된 이종 코어 프로세서를 통해 병렬로 실행된다.
이때, 테스크 병렬 어플리케이션(200)에서는 도 1에서와 같이 전체 테스크를 독립적인 복수개의 테스크로 나누고, 각 테스크를 여러 개의 워커 쓰레드(worker thread)에서 병렬적으로 처리하게 되는 것은 전술한 바 있으며, 또한, 이때, 도 1에서와 같이 테스크간 의존성(dependancy)이 존재하는 경우 각 테스크는 이전 테스크가 실행된 후 실행되도록 구현될 수 있음은 전술한 바와 같다.
런타임 관리장치(250)는 위와 같이 이종 멀티 프로세싱 시스템(270)이 구현된 환경에서 테스크 병렬 어플리케이션(200)이 실행되는 경우 테스크 병렬 어플리케이션(200)으로부터 런타임 데이터(runtime data)를 읽어온다. 이러한 런타임 데이터에는 테스크 병렬 어플리케이션(200)에서 병렬화 기법을 통해 실행되는 복수개의 테스크에 대한 정보가 포함될 수 있다. 또한, 이러한 테스크에 대한 정보에는 복수개의 테스크 중 크리티컬 테스크의 개수 및 넌크리티컬 테스크의 개수에 대한 정보가 포함될 수 있다.
런타임 관리장치(250)는 위와 같은 런타임 데이터를 이용하여 이종 멀티 프로세싱 시스템(270)의 각 코어 프로세서의 성능과 코어 프로세서별 전력 소모량을 측정하여 현재 시스템 운영조건에서 에너지 효율을 산출하고, 이종 멀티 프로세싱 시스템(270)의 에너지 효율을 극대화시킬 수 있는 시스템 운영조건을 결정한다.
이때, 이러한 시스템 운영조건은 예를 들어 각 테스크의 특성에 부합하는 코어 프로세서의 종류, 각 테스크를 실행하는 코어 프로세서의 개수 및 코어 프로세서의 동작 주파수 등에 대한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
한편, 종래에는 복수개의 테스크가 병렬로 실행되는 경우 크리티컬 테스크에는 상대적으로 처리속도가 빠른 코어 프로세서를 할당하도록 하고, 넌크리티컬 테스크에는 상대적으로 처리속도가 느린 코어 프로세서를 할당하는 시스템 운영조건만을 고려하고 있어서, 이종 멀티 프로세싱 시스템(270)의 에너지 효율을 최적으로 운영하는데 한계가 있었음은 전술한 바와 같다.
따라서, 본 발명의 일실시예에서는 이종 멀티 프로세싱 시스템(270)의 코어 프로세서간 이종성과 테스크별 특성을 고려하는 것에 더하여 테스크별 할당하는 코어 프로세서의 종류, 개수, 전압, 동작 주파수 등의 이종 멀티 프로세싱 시스템(270)내 모든 시스템 자원을 동적으로 조절하여 이종 멀티 프로세싱 시스템(270)에서 병렬 테스크 어플리케이션의 에너지 효율을 최대화시킬 수 있도록 한다.
위와 같은 런타임 관리장치(250)는 도 2에서 보여지는 바와 같이, 성능 예측부(performance estimator)(252), 런타임 관리부(runtime manager)(254), 전력 예측부(power estimator)(256) 등을 포함할 수 있다.
이하에서는, 런타임 관리장치(250) 각 구성요소에서의 동작을 보다 상세히 설명하기로 한다.
런타임 관리부(254)는 이종 멀티 프로세싱 시스템(270)에서 실행되는 복수개의 테스크에 대한 정보를 수신하고, 복수개의 테스크를 실행시키기 위한 시스템 운영조건을 설정한다.
또한, 런타임 관리부(254)는 성능 예측부(252)와 전력 예측부(256)에서 계산된 성능과 전력 소모량을 기반으로 위에서 설정된 시스템 운영조건으로 이종 멀티 프로세싱 시스템(270)을 운영하는 경우를 가정하여, 이종 멀티 프로세싱 시스템(270)의 에너지 효율을 산출하고, 이와 같이 산출된 에너지 효율이 이전에서 설정되었던 이전 시스템 운영조건에서 이종 멀티 프로세싱 시스템(270)을 운영했을때의 에너지 효율보다 높은 경우 현재 설정한 시스템 운영조건을 이종 멀티 프로세싱 시스템에 적용시킨다. 이에 따라, 이종 멀티 프로세싱 시스템(270)의 에너지 효율을 높일 수 있게 된다.
이때, 위와 같은 시스템 운영조건은 이종 멀티 프로세싱 시스템(270)을 운영하는데 필요한 다양한 시스템 자원을 운영하는 조건을 말하는 것이다. 이종 멀티 프로세싱 시스템(270)에는 서로 다른 종류의 복수개의 코어 프로세서가 포함될 수 있는데, 시스템 운영조건은 위와 같은 이종의 코어 프로세서 등의 시스템 자원을 복수개의 테스크에 할당하는 조건을 의미할 수 있으며, 예를 들어 각 테스크의 특성에 부합하는 코어 프로세서의 종류, 각 테스크를 실행시키기 위한 코어 프로세서의 개수 및 코어 프로세서의 동작 주파수 등에 대한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 런타임 관리부(254)는 복수개의 테스크중 수행 시간이 가장 오래 걸리는 테스크 경로에 포함되는 크리티컬 테스크들을 수행하기 위한 크리티컬 경로 수행 시간을 산출하고, 크리티컬 테스크 경로에 포함되지 않은 넌크리티컬 테스크들을 수행하기 위한 넌크리티컬 경로 수행 시간을 산출한 후, 크리티컬 경로 수행시간과 넌크리티컬 경로 수행시간이 기설정된 기준 범위내에서 유지되도록 각 테스크를 수행하는 코어 프로세서의 종류, 개수, 동작 주파수 등을 설정하는 시스템 운영조건을 설정할 수 있다.
이때, 테스크 병렬화 기법을 사용하여 복수개의 테스크를 수행하는 경우 크리티컬 경로 수행시간에 의해 전체 시스템의 성능이 영향을 받을 수 있으므로, 크리티컬 경로 수행시간이 넌크리티컬 경로 수행시간보다 너무 길어지지 않도록 시스템 운영조건을 설정하는 것이 바람직하다.
전력 예측부는(256) 런타임 관리부(254)에서 설정한 시스템 운영조건에 따라 이종 멀티 프로세싱 시스템 기반에서 복수개의 테스크를 실행시키는 경우 이종 멀티 프로세싱 시스템(270)의 전력 소모량을 계산한다.
이때, 전력 예측부(256)는 시스템의 전력 소모량을 계산함에 있어서, 이종 멀티 프로세싱 시스템내(270) 각 코어 프로세서에 대해 시스템 운영조건에 따라 설정된 동작 주파수와 측정된 각 코어 프로세서별 사용률을 적용하여 각 코어 프로세서로부터 발생하는 전력 소모량을 계산하고, 각 코어 프로세서로부터 발생하는 전력 소모량을 합산하여 이종 멀티 프로세싱 시스템(270)의 전체 전력 소모량으로 계산할 수 있다.
성능 예측부(252)는 런타임 관리부(254)에서 설정한 시스템 운영조건에 따라 복수개의 테스크를 실행시키는 경우 이종 멀티 프로세싱 시스템(270)의 성능을 계산한다.
이때, 성능 예측부(252)는 시스템의 성능을 계산함에 있어서, 크리티컬 테스크 및 넌크리티컬 테스크에 각각 할당되는 코어 프로세서의 종류와, 개수 및 각 코어 프로세서의 동작 주파수 등을 기반으로 크리티컬 테스크 및 넌크리티컬 테스크를 수행하는데 소요되는 코어 프로세서들의 성능을 계산하여 상기 시스템의 성능을 계산할 수 있다.
도 3은 본 발명의 일실시예에 따른 런타임 관리장치(250)에서 이종 멀티 프로세싱 시스템(270)의 런타임을 관리하는 동작 제어 흐름을 도시한 것이다. 이하, 도 2 내지 도 3을 참조하여 본 발명의 일실시예를 보다 상세히 설명하기로 한다.
먼저, 런타임 관리장치(250)는 이종 멀티 프로세싱 시스템(270)의 테스크 병렬 어플리케이션에서 실행되는 복수개의 테스크에 대한 정보를 수신하고(S300), 복수개의 테스크를 실행시키기 위한 시스템 운영조건을 설정한다(S302).
또한, 런타임 관리장치(250)는 위와 같이 설정된 새로운 시스템 운영조건을 적용하는 경우 이종 멀티 프로세싱 시스템의 성능과 전력 소모량을 계산한다(S304).
이어, 런타임 관리장치(250)는 위와 같이 계산된 성능과 전력 소모량을 기반으로 위에서 설정된 시스템 운영조건으로 이종 멀티 프로세싱 시스템을 운영하는 경우를 가정하여, 이종 멀티 프로세싱 시스템(270)의 에너지 효율을 산출한다(S306).
그런 후, 런타임 관리장치(250)는 이와 같이 산출된 에너지 효율과 이전에 설정되었던 이전 시스템 운영조건으로 이종 멀티 프로세싱 시스템(270)을 운영한 경우의 이전 에너지 효율을 비교한다(S308).
비교결과, 새로운 시스템 운영조건에서 산출된 에너지 효율이 이전 시스템 운영조건의 이전 에너지 효율보다 높은 경우(S310), 새로운 시스템 운영조건을 이종 멀티 프로세싱 시스템(270)에 적용시킨다(S312). 이에 따라, 이종 멀티 프로세싱 시스템(270)의 에너지 효율을 높일 수 있게 된다.
이때, 위와 같은 시스템 운영조건은 이종 멀티 프로세싱 시스템을 운영하는데 필요한 다양한 시스템 자원을 운영하는 조건을 말하는 것이다. 즉, 이종 멀티 프로세싱 시스템에는 서로 다른 종류의 복수개의 코어 프로세서가 포함될 수 있는데, 시스템 운영조건은 위와 같은 이종의 코어 프로세서 등의 시스템 자원을 복수개의 테스크에 할당하는 조건을 의미할 수 있으며, 예를 들어 각 테스크의 특성에 부합하는 코어 프로세서의 종류, 각 테스크를 실행시키기 위한 코어 프로세서의 개수 및 코어 프로세서의 동작 주파수 등에 대한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 4는 본 발명의 일실시예에 따른 에너지 소모량 비교 그래프를 도시한 것이다.
도 4의 참조번호 (400)은 테스크 병렬화를 지원하는 런타임 시스템 중 OmpSs 런타임 시스템에서의 전체 에너지 소모량을 각 벤치마크(benchmark)별로 나타낸 것이고, 참조번호 (402)는 코어 프로세서의 종류만을 고려한 CATS 런타임 시스템에서의 전체 에너지 소모량을 각 벤치마크(benchmark)별로 나타낸 것이며, 참조번호 (404)는 본 발명의 일실시예에 따라 코어 프로세서의 개수, 종류, 동작 주파수 등을 모두 고려한 런타임 시스템에서의 전체 에너지 소모량을 나타각 벤치마크(benchmark)별로 낸 것이다.
도 4에서 보여지는 바와 같이, 본 발명의 일실시예에 따른 런타임 시스템을 적용하는 경우 평균 에너지 소모량에서 종래 OmpSs 런타임 시스템 및 CATS 런타임 시스템과 비교하여 전체 에너지 소모량이 크게 줄어든 것을 알 수 있다.
상술한 바와 같이, 본 발명의 일실시예에 따르면, 이종 멀티 프로세싱 시스템 환경에서 테스크 병렬화 기법을 통해 복수개의 테스크를 병렬로 실행시키는 경우, 각 테스크별 특성을 파악하여 각 테스크를 수행하기 위한 가장 효율적인 코어 프로세서 종류와 개수 등의 시스템 자원을 동적으로 할당하는 시스템 운영조건을 설정함으로써 이종 멀티 프로세싱 시스템의 에너지 효율을 최대화시킬 수 있다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
200 : 테스크 병렬 어플리케이션 250 : 런타임 관리장치
252 : 성능 예측부 254 : 런타임 관리부
256 : 전력 예측부 270 : 이종 멀티 프로세싱 시스템

Claims (12)

  1. 이종 멀티 프로세싱 시스템에 할당한 복수개의 테스크에 대한 정보를 테스크 병렬 어플리케이션(task parallel application)으로부터 수신하고, 상기 복수개의 테스크에 대한 시스템 운영조건을 설정하는 런타임 관리부와,
    상기 시스템 운영조건에 따라 상기 복수개의 테스크를 상기 이종 멀티 프로세싱 시스템에 할당하는 경우 상기 이종 멀티 프로세싱 시스템의 성능을 계산하는 성능 예측부와,
    상기 시스템 운영조건에 따라 상기 복수개의 테스크를 실행시키는 경우 상기 이종 멀티 프로세싱 시스템의 전력 소모량을 계산하는 전력 예측부를 포함하되,
    상기 런타임 관리부는,
    상기 계산된 성능과 전력 소모량을 기반으로 상기 시스템 운영조건일 때 상기 이종 멀티 프로세싱 시스템의 에너지 효율을 산출하고, 상기 산출된 에너지 효율이 이전 시스템 운영조건에서의 에너지 효율보다 높은 경우 상기 시스템 운영조건을 상기 이종 멀티 프로세싱 시스템에 적용시키고,
    상기 런타임 관리부는,
    상기 복수개의 테스크 중 수행 시간이 가장 오래 걸리는 테스크 경로에 포함되는 크리티컬 테스크들을 수행하기 위한 크리티컬 경로 수행 시간을 산출하고, 상기 테스크 경로에 포함되지 않은 넌크리티컬 테스크들을 수행하기 위한 넌크리티컬 경로 수행 시간을 산출한 후, 상기 크리티컬 경로 수행 시간과 상기 넌크리티컬 경로 수행 시간의 차이가 기설정된 기준 범위내에서 유지되도록 상기 시스템 운영조건을 설정하는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치.
  2. 제 1 항에 있어서,
    상기 시스템 운영조건은,
    각 테스크의 특성에 부합하는 코어 프로세서의 종류, 상기 각 테스크를 실행시키기 위한 코어 프로세서의 개수 및 코어 프로세서의 동작 주파수에 대한 정보를 포함하는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치.
  3. 제 1 항에 있어서,
    상기 전력 예측부는,
    상기 이종 멀티 프로세싱 시스템내 코어 프로세서별 상기 시스템 운영조건에 따라 설정된 동작 주파수와 측정된 각 코어 프로세서별 사용률을 적용하여 각 코어 프로세서로부터 발생하는 전력 소모량을 계산하여 상기 시스템의 전력 소모량을 계산하는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 성능 예측부는,
    상기 크리티컬 테스크 및 상기 넌크리티컬 테스크에 각각 할당되는 코어 프로세서의 종류와, 개수 및 각 코어 프로세서의 동작 주파수를 기반으로 상기 크리티컬 테스크 및 상기 넌크리티컬 테스크를 수행하는데 소요되는 코어 프로세서들의 성능을 계산하여 상기 시스템의 성능을 계산하는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치.
  6. 제 1 항에 있어서,
    상기 복수개의 테스크는,
    상기 이종 멀티 프로세싱 시스템에서 테스크 병렬 기법으로 실행되는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치.
  7. 이종 멀티 프로세싱 시스템에서 실행되는 복수개의 테스크에 대한 정보를 테스크 병렬 어플리케이션으로부터 수신하는 단계와,
    상기 복수개의 테스크에 대한 시스템 운영조건을 설정하는 단계와,
    상기 시스템 운영조건에 따라 상기 복수개의 테스크를 상기 이종 멀티 프로세싱 시스템에 할당하는 경우 상기 이종 멀티 프로세싱 시스템의 성능을 계산하는 단계와,
    상기 시스템 운영조건에 따라 상기 복수개의 테스크를 상기 이종 멀티 프로세싱 시스템에 할당하는 경우 상기 이종 멀티 프로세싱 시스템의 전력 소모량을 계산하는 단계와,
    상기 계산된 성능과 전력 소모량을 기반으로 상기 시스템 운영조건일 때 상기 이종 멀티 프로세싱 시스템의 에너지 효율을 산출하는 단계와,
    상기 산출된 에너지 효율과 이전 시스템 운영조건에서의 에너지 효율을 비교하는 단계와,
    상기 산출된 에너지 효율이 상기 이전 시스템 운영조건에서의 에너지 효율보다 높은 경우 상기 시스템 운영조건을 상기 이종 멀티 프로세싱 시스템에 적용시키는 단계를 포함하고,
    상기 시스템 운영조건을 설정하는 단계는,
    상기 복수개의 테스크 중 수행 시간이 가장 오래 걸리는 테스크 경로에 포함되는 크리티컬 테스크들을 수행하기 위한 크리티컬 경로 수행 시간을 산출하는 단계와,
    상기 테스크 경로에 포함되지 않은 넌크리티컬 테스크들을 수행하기 위한 넌크리티컬 경로 수행 시간을 산출하는 단계와,
    상기 크리티컬 경로 수행 시간과 상기 넌크리티컬 경로 수행 시간의 차이가 기설정된 기준 범위내에서 유지되도록 상기 시스템 운영조건을 설정하는 단계를 포함하는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리방법.
  8. 제 7 항에 있어서,
    상기 시스템 운영조건은,
    각 테스크의 특성에 부합하는 코어 프로세서의 종류, 상기 각 테스크를 실행시키기 위한 코어 프로세서의 개수 및 코어 프로세서의 동작 주파수에 대한 정보를 포함하는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리방법.
  9. 제 7 항에 있어서,
    상기 전력 소모량을 계산하는 단계는,
    상기 이종 멀티 프로세싱 시스템내 코어 프로세서별 상기 시스템 운영조건에 따라 설정된 동작 주파수와 측정된 각 코어 프로세서별 사용률을 적용하는 단계와,
    상기 동작 주파수 및 상기 각 코어 프로세서별 사용률 적용시 각 코어 프로세서로부터 발생하는 전력 소모량을 계산하여 상기 시스템의 전력 소모량을 계산하는 단계를 포함하는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리방법.
  10. 삭제
  11. 제 7 항에 있어서,
    상기 성능을 계산하는 단계는,
    상기 크리티컬 테스크 및 상기 넌크리티컬 테스크에 각각 할당되는 코어 프로세서의 종류와, 개수 및 각 코어 프로세서의 동작 주파수를 기반으로 상기 크리티컬 테스크 및 상기 넌크리티컬 테스크를 수행하는데 소요되는 코어 프로세서들의 성능을 계산하여 상기 시스템의 성능을 계산하는 단계인
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리방법.
  12. 제 7 항에 있어서,
    상기 복수개의 테스크는,
    상기 이종 멀티 프로세싱 시스템에서 테스크 병렬 기법으로 실행되는
    이종 멀티 프로세싱 시스템 환경 기반 런타임 관리방법.
KR1020180028260A 2018-03-09 2018-03-09 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법 KR102022972B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180028260A KR102022972B1 (ko) 2018-03-09 2018-03-09 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180028260A KR102022972B1 (ko) 2018-03-09 2018-03-09 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190106577A KR20190106577A (ko) 2019-09-18
KR102022972B1 true KR102022972B1 (ko) 2019-09-19

Family

ID=68067761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180028260A KR102022972B1 (ko) 2018-03-09 2018-03-09 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법

Country Status (1)

Country Link
KR (1) KR102022972B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023132414A1 (ko) * 2022-01-07 2023-07-13 울산과학기술원 스레드 할당 방법, 스레드 할당 장치, 및 컴퓨터 판독 가능한 기록 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101655030B1 (ko) 2015-05-21 2016-09-07 성균관대학교산학협력단 태스크 특성 기반의 여유시간 분배를 통한 동적 전압 주파수 스케일링 방법, 그 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램 및 그 매체
KR101828996B1 (ko) * 2016-08-23 2018-02-13 울산과학기술원 이종 멀티프로세싱 환경에서 파이프라인 병렬화를 지원하는 동적 시스템 자원 할당 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424092B2 (en) * 2014-09-26 2016-08-23 Microsoft Technology Licensing, Llc Heterogeneous thread scheduling
KR102607808B1 (ko) 2015-09-11 2023-11-30 삼성전자주식회사 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101655030B1 (ko) 2015-05-21 2016-09-07 성균관대학교산학협력단 태스크 특성 기반의 여유시간 분배를 통한 동적 전압 주파수 스케일링 방법, 그 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램 및 그 매체
KR101828996B1 (ko) * 2016-08-23 2018-02-13 울산과학기술원 이종 멀티프로세싱 환경에서 파이프라인 병렬화를 지원하는 동적 시스템 자원 할당 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kallia Chronaki 외 5명. 'Criticality-Aware Dynamic Task Scheduling for Heterogeneous Architectures'. Proceedings of the 29th ACM on International Conference on Supercomputing, 2015.06., pp.329-338.*
김호중 외 3명. '분산 이기종 컴퓨팅 시스템에서 임계노드를 고려한 태스크 스케줄링 알고리즘'. 전자공학회논문지 제52권 제3호, 2015.03., pp.116-126.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023132414A1 (ko) * 2022-01-07 2023-07-13 울산과학기술원 스레드 할당 방법, 스레드 할당 장치, 및 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
KR20190106577A (ko) 2019-09-18

Similar Documents

Publication Publication Date Title
US11989647B2 (en) Self-learning scheduler for application orchestration on shared compute cluster
EP3285170B1 (en) Application profiling job management system, program, and method
US10133602B2 (en) Adaptive contention-aware thread placement for parallel runtime systems
Gregg et al. Dynamic heterogeneous scheduling decisions using historical runtime data
KR101629155B1 (ko) 전력-인식 스레드 스케줄링 및 프로세서들의 동적 사용
US20110067015A1 (en) Program parallelization apparatus, program parallelization method, and program parallelization program
Lee et al. Orchestrating multiple data-parallel kernels on multiple devices
EP2446357A1 (en) High-throughput computing in a hybrid computing environment
Banikazemi et al. PAM: a novel performance/power aware meta-scheduler for multi-core systems
Stavrinides et al. Energy-aware scheduling of real-time workflow applications in clouds utilizing DVFS and approximate computations
JP2006244479A (ja) 実行可能プログラムをスケジューリングするためのシステム及び方法
JP6778130B2 (ja) 仮想計算機システムおよびそのリソース割当て方法
Huang et al. Novel heuristic speculative execution strategies in heterogeneous distributed environments
Kim et al. Application performance prediction and optimization under cache allocation technology
Li et al. Federated scheduling for stochastic parallel real-time tasks
Zahaf et al. Preemption-aware allocation, deadline assignment for conditional dags on partitioned edf
JP2017073000A (ja) 並列化方法、並列化ツール、車載装置
WO2017020941A1 (en) Category based execution scheduling
US20160239348A1 (en) Method and system for assigning a computational block of a software program to cores of a multi-processor system
KR102022972B1 (ko) 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법
Thanasias et al. VM capacity-aware scheduling within budget constraints in IaaS clouds
Tsog et al. Static allocation of parallel tasks to improve schedulability in cpu-gpu heterogeneous real-time systems
Krawczyk et al. Automated distribution of software to multi-core hardware in model based embedded systems development
US11392415B2 (en) Electronic devices and methods for 5G and B5G multi-core load balancing
WO2021044810A1 (ja) コア割当装置及びコア割当方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant