KR101721341B1 - 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법 - Google Patents

이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법 Download PDF

Info

Publication number
KR101721341B1
KR101721341B1 KR1020150191237A KR20150191237A KR101721341B1 KR 101721341 B1 KR101721341 B1 KR 101721341B1 KR 1020150191237 A KR1020150191237 A KR 1020150191237A KR 20150191237 A KR20150191237 A KR 20150191237A KR 101721341 B1 KR101721341 B1 KR 101721341B1
Authority
KR
South Korea
Prior art keywords
execution
unit
performance
processing unit
specific program
Prior art date
Application number
KR1020150191237A
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 KR1020150191237A priority Critical patent/KR101721341B1/ko
Application granted granted Critical
Publication of KR101721341B1 publication Critical patent/KR101721341B1/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/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
    • 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/5044Allocation 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 hardware capabilities
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 CPU(중앙처리장치)/GPU(그래픽처리장치)와 같이 이종의 멀티코어로 구성된 환경에서 특정 프로그램의 수행속도를 향상시키기 위해 CPU(중앙처리장치) 또는 GPU(그래픽처리장치) 중 어느 하나로 수행장치의 결정하는 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 방법에 관한 것이다. 본 발명은 프로그램 실행시, 중앙처리장치 및 그래픽처리장치의 수행속도를 측정하여 프로그램을 수행하기 적합한 처리장치를 제공함으로써, 프로그램의 실행속도를 향상시킬 수 있는 효과가 있다.

Description

이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법{DETERMINATION MODULE OF EXECUTING APPARATUS USING IN HETEROGENEOUS MULTI-CORE AND METHOD FOR THE SAME}
본 발명은 이종 멀티코어 환경에서 사용되는 수행장치를 결정하는 시스템 및 방법으로써, 더욱 상세하게는 CPU(중앙처리장치)/GPU(그래픽처리장치)와 같이 이종의 멀티코어로 구성된 환경에서 특정 프로그램의 수행속도를 향상시키기 위해 CPU(중앙처리장치) 또는 GPU(그래픽처리장치) 중 어느 하나로 수행장치의 결정하는 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 방법에 관한 것이다.
최근 컴퓨터의 발달로 인해 CPU(중앙처리장치)의 경우 하나의 코어만 탑재된 싱글코어부터 8개의 코어가 탑재된 옥타코어까지 복수개의 코어가 탑재된 중앙처리장치가 개발되어 왔다. 또한, 3D 그래픽의 발전으로 인해 벡터데이터 및 행렬데이터들의 처리량의 증가에 따라 GPU에는 수천개의 코어가 탑재하게 되었다. 통상적으로 CPU보다는 GPU를 사용하는 것이 데이터 연산 처리 속도 및 병렬 처리 속도가 높다고 알려져 있으나, GPU의 연산 가능한 데이터양에도 한계가 있음에 따라 항상 GPU의 처리속도가 빠르지는 않다. 한편, 각 프로그램의 특성 또는 환경에 따라 CPU를 이용했을 때 더 효율적인 프로그램이 있을 수 있으며, GPU를 이용했을 때 더 효율적인 프로그램이 있을 수 있다. 하지만, 사용자가 각 프로그램의 특성 또는 환경을 이해하는 것은 어려우며, 각 프로그램이 수행될 처리장치의 선택은 많은 어려움이 따른다.
한국 등록특허 제10-1568204호(이하 '선행문헌'이라 칭함)는 CPU/GPU 기반 매니코어 시스템 및 CPU/GPU의 동시처리를 위한 멀티코어 CPU의 코어 개수 결정 방법에 관한 것이다. 선행문헌은 GPU로 데이터를 복사하는데 소요되는 시간에 기초하여 작업을 수행할 CPU의 코어 개수를 결정함으로써 CPU의 작업 처리 속도를 향상시킬 수 있는 효과가 있다. 선행문헌은 CPU와 GPU를 동시처리를 위한 멀티코어 CPU의 코어 개수를 결정하기 위한 방법으로써, 특정 프로그램에 수행 적합한 처리장치를 인식하지 못하며, CPU 및 GPU의 사용률을 고려하지 못하는 문제점을 가지고 있다.
따라서 컴퓨터 시스템에서 실행가능한 프로그램들이 CPU 또는 GPU 중 어느 수행장치에 적합하며, CPU와 GPU의 사용률을 고려하여 수행장치의 선택이 가능한 시스템이 필요한 실정이다.
한국 등록특허 제10-1568204호(발명의 명칭 : CPU/GPU 기반 매니코어 시스템 및 CPU/GPU의 동시처리를 위한 멀티코어 CPU의 코어 개수 결정방법, 등록일 : 2015.11.05)
본 발명은 이와 같은 문제점을 해결하기 위해 프로그램 실행시, 중앙처리장치 및 그래픽처리장치의 수행속도를 측정하여, 프로그램을 수행하기 적합한 수행장치를 제공하는데 그 목적이 있다.
또한, 본 발명은 프로그램을 재실행할 경우, 기존에 기록된 처리장치정보를 기반으로 프로그램의 수행장치를 선택하는데 그 목적이 있다.
또한, 본 발명은 중앙처리장치와 그래픽처리장치의 사용률을 일정시간주기로 측정하며, 각 처리장치의 사용률에 따라 프로그램을 수행시킬 수행장치를 전환하는데 그 목적이 있다.
본 발명은 데이터 처리를 위한 중앙처리장치 및 그래픽 처리를 위한 그래픽처리장치를 포함하는 수행장치, 특정 프로그램의 실행 시 상기 중앙처리장치 및 그래픽처리장치에서 소요되는 수행시간을 각각 측정하는 연산측정부, 상기 각각 측정된 수행시간을 상호 비교하여 상기 수행장치 중 어느 하나에서 상기 특정 프로그램을 재실행시킬 것인지를 판단하는 수행판단부, 상기 수행장치에 의해 상기 특정 프로그램이 수행이 완료되면, 상기 특정 프로그램 및 상기 특정 프로그램이 수행된 수행장치정보를 기록하는 수행기록부, 상기 중앙처리장치의 중앙처리사용률 및 상기 그래픽처리장치의 그래픽처리사용률을 확인하는 사용률확인부 및 상기 수행판단부의 결정에 의하여 상기 특정 프로그램이 상기 수행장치 중 어느 하나를 선택하였을 때, 사용률확인부의 중앙처리사용률 또는 그래픽처리사용률이 소정의 사용률 이상일 경우, 상기 수행판단부에서 결정된 상기 수행장치 중 어느 하나를 다른 하나로 전환하는 수행장치전환부를 포함한다.
본 발명의 수행장치 결정 모듈을 이용한 이종 멀티코어 환경에서 사용되는 수행장치 결정방법에 있어서, 특정 프로그램이 실행되면, 수행판단부가 상기 특정 프로그램의 수행기록을 확인하는 수행기록확인단계 및 상기 특정프로그램의 종전 수행기록의 여부에 따라 기록모드 또는 미기록모드를 선택하는 모드선택단계를 포함하되, 상기 기록모드는 상기 특정 프로그램의 실행 시 연산측정부가 중앙처리장치 및 그래픽처리장치에서 소요되는 수행시간을 각각 측정하는 연산측정단계, 상기 수행판단부가 상기 각각 측정된 수행시간을 상호 비교하여 상기 수행장치 중 어느 하나에서 상기 특정 프로그램을 재실행시킬 것인지를 판단하는 수행장치판단단계;\, 및 상기 수행장치에 의해 상기 특정 프로그램이 수행이 완료되면, 상기 특정 프로그램 및 상기 특정 프로그램이 수행된 수행장치정보가 수행기록부에 기록되는 수행기록단계를 포함한다.
본 발명에 있어서 상기 미기록모드는 상기 수행판단부가 상기 수행기록부에 기록된 상기 수행장치정보에 따라 상기 특정 프로그램이 수행될 수행장치를 판단하는 기록장치판단단계를 포함한다.
본 발명의 수행장치 결정방법은 상기 기록모드 또는 상기 미기록모드에 따라 상기 특정 프로그램이 상기 중앙처리장치 또는 그래픽처리장치 중 어느 하나로 수행되는 연산수행단계, 사용률확인부가 상기 중앙처리장치의 중앙처리사용률 및 상기 그래픽처리장치의 그래픽처리사용률을 확인하는 사용량확인단계 및 상기 수행판단부의 결정에 의하여 상기 특정 프로그램이 상기 수행장치 중 어느 하나를 선택하였을 때, 상기 사용률확인부의 중앙처리사용률 또는 그래픽처리사용률이 소정의 사용률 이상일 경우, 수행장치전환부가 상기 수행판단부에서 결정된 상기 수행장치 중 어느 하나를 다른 하나로 전환하는 장치전환단계를 더 포함한다.
본 발명은 프로그램 실행시, 중앙처리장치 및 그래픽처리장치의 수행속도를 측정하여 프로그램을 수행하기 적합한 처리장치를 제공함으로써, 프로그램의 실행속도를 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 프로그램을 재실행할 경우, 기존에 기록된 처리장치정보를 기반으로 프로그램의 수행장치를 선택함으로써, 프로그램의 수행시 발생되는 리소스를 줄일 수 있는 효과가 있다.
또한, 본 발명은 중앙처리장치와 그래픽처리장치의 사용률을 기 설정된 시간주기로 측정하며, 각 처리장치의 사용률에 따라 프로그램을 수행시킬 수행장치를 전환함으로써, 프로그램의 효율성을 높일 수 있다.
도 1은 본 발명에 따른 수행장치 결정모듈의 구성도이다.
도 2는 본 발명에 따른 수행장치 결정방법을 설명하기 위한 플로우챠트이다.
도 3은 본 발명에 따른 사용률에 따른 수행장치의 전환을 설명하기 위한 일 실시예이다.
이하, 본 발명의 바람직한 실시 예에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 본 발명의 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
도 1을 참조하면, 수행장치 결정모듈(100)은 중앙처리장치(110), 그래픽처리장치(120), 연산측정부(130), 수행판단부(140), 수행기록부(150), 사용률확인부(160), 수행장치전환부(170)를 포함할 수 있다.
중앙처리장치(110)는 데이터의 연산을 위한 장치이다. 중앙처리장치(110)는 central processing unit(CPU)로 칭할 수 있으며, 컴퓨터 시스템 전체를 제어하는 장치로서, 명령어의 해석과 자료의 연산, 비교 등의 처리를 제어하는 컴퓨터 시스템의 핵심적인 장치라 할 수 있다.
그래픽처리장치(120)는 그래픽 데이터의 연산을 위한 장치이다. 그래픽처리장치(120)는 graphics processing unit(GPU)로 칭할 수 있으며, 영상정보를 처리하거나 그래픽카드 또는 마더보드에서 그래픽과 관련된 연산을 처리하는 장치이다.
연산측정부(130)는 특정 프로그램이 실행되면, 중앙처리장치(110) 및 그래픽처리장치(120)가 특정 프로그램을 수행하기 위해 소요되는 수행시간을 각 측정하는 장치이다. 일 예로, A라는 프로그램이 실행되면, 연산측정부(130)는 먼저 A라는 프로그램이 실행되었는지에 대한 수행기록을 확인한다. 수행기록은 수행기록부(150)에 기록되어 있으며, 수행기록부(150)에 대한 기재는 후술한다. A라는 프로그램의 수행기록이 없을 시, 연산측정부(130)는 중앙처리장치(110)를 통해 A라는 프로그램을 수행시 소요되는 시간을 측정한다. 또한, 그래픽처리장치(120)를 통해 A라는 프로그램을 수행시 소요되는 시간을 측정한다. 한편, 프로그램을 수행시간을 측정하는 장치순서는 경우에 따라 바뀔 수 있다.
수행판단부(140)는 각 측정된 수행시간을 비교하여 중앙처리장치(110) 또는 그래픽처리장치(120) 중 특정 프로그램이 수행될 수행장치를 판단한다. 예를 들어, A라는 프로그램이 수행되었으며, 중앙처리장치(110)의 수행시간이 2분, 그래픽처리장치(120)의 수행시간이 1분이라면, 수행판단부(140)는 그래픽처리장치(120)를 A라는 프로그램의 수행장치로 판단한다.
수행기록부(150)는 수행장치에 의해 특정 프로그램이 수행이 완료되면, 특정 프로그램 및 특정 프로그램을 수행한 수행장치정보를 기록한다. 프로그램의 정보와 프로그램을 실행시, 중앙처리장치로(110)의 수행시간, 그래픽처리장치(120)의 수행시간 등의 수행장치정보가 기록된다.
따라서 수행판단부(140)는 특정 프로그램이 재실행되면, 수행기록부(150)에 기록된 수행장치정보에 따라 특정 프로그램이 수행될 수행장치를 판단하게 된다. 예를 들어, B라는 프로그램이 실행되었으며, 수행기록부(150)에 B라는 프로그램의 수행장치정보가 기록되어 있을 경우, 수행판단부(140)는 수행기록부(150)에 기록된 수행장치정보를 통해 B라는 프로그램의 수행장치를 판단하게 된다. 중앙처리장치(110)의 수행시간이 1분, 그래픽처리장치(120)의 수행시간이 2분으로 기록되어 있으면, 수행판단부(140)는 중앙처리장치(110)를 B라는 프로그램의 수행장치로 판단한다.
사용률확인부(160)는 중앙처리장치(110)의 중앙처리사용률 및 그래픽처리장치(120)의 그래픽처리사용률을 기 설정된 시간주기로 확인한다. 중앙처리장치(110)는 싱글코어, 듀얼코어, 쿼드코어 등과 같이 코어의 개수 또는 코어의 성능에 따라 데이터의 처리가 가능한 양의 크기가 결정된다. 또한, 그래픽처리장치(120)는 그래픽 데이터 처리를 위해 수천 개에 달하는 코어가 탑재되어 있으며, 그래픽처리장치(120)의 성능에 따른 데이터 처리량을 갖는다. 중앙처리장치(110)는 현재 실행중인 프로그램의 개수 또는 프로그램의 요구성능에 따라 중앙처리장치(110)의 중앙처리사용률을 구하게 된다. 예를 들어, 중앙처리장치(110)의 총 처리가능한 데이터양이 100이며, 현재 처리중인 데이터양이 40일 경우, 중앙처리사용률은 40이 된다. 그래픽처리장치(120)의 그래픽처리사용률도 위의 예시와 같이 계산된다.
시간주기가 1초일 경우, 사용률확인부(160)는 1초의 시간마다 중앙처리사용률과 그래픽처리사용률을 확인하게 된다.
수행장치전환부(170)는 수행판단부(140)의 결정에 의하여 특정 프로그램이 수행장치 중 어느 하나를 선택하였을 때, 사용률확인부(160)의 중앙처리사용률 또는 그래픽처리사용률이 소정의 사용률 이상일 경우, 수행판단부(140)에서 결정된 수행장치 중 어느 하나를 다른 하나로 전환하는 장치이다.
일 예로, 그래픽처리사용률이 제1 사용률을 초과할 경우, 중앙처리장치(110)를 통해 특정 프로그램이 수행되도록 제어한다. 또한, 중앙처리사용률이 제2 사용률을 초과할 경우, 그래픽처리장치를 통해 특정 프로그램이 수행되도록 제어한다. 제1 사용률이 80, 제2 사용률일 50으로 설정되었으며, 그래픽처리사용률이 80을 넘게 되면, 수행장치전환부(170)는 중앙처리장치(110)를 통해 특정 프로그램이 수행되도록 제어한다. 또한. 중앙처리장치사용률이 50을 넘게 되면, 그래픽처리장치(120)를 통해 특정 프로그램이 수행되도록 제어한다. 여기서 소정의 사용률을 제1 사용률 및 제2 사용룔이 되며, 제1 사용률 및 제2 사용률은 위의 예시로 한정하지 않는다. 소정의 사용률은 중앙처리장치 및 그래픽처리장치의 성능에 따라 변경될 수 있다. 수행장치전환에 대한 설명은 도 3을 통해 자세히 후술한다.
도 2는 본 발명에 따른 수행장치 결정방법에 대한 플로우차트이다. 앞서 설명한 사항에 대한 설명은 생략하거나 간략히 한다. 이하의 설명에 앞서 본 발명의 수행장치 결정모듈의 구성이 보다 명확해질 수 있다.
도 2를 참조하면, 특정 프로그램이 실행된다(S201). 특정 프로그램이 실행되면, 수행판단부(140)는 특정 프로그램의 수행기록을 확인한다(S202). 예를 들어, A라는 프로그램이 실행되었다면, 수행판단부(140)는 A라는 프로그램이 수행기록부(150)에 기록되었는지를 확인한다. 수행판단부(140)는 수행기록의 확인에 따른 미기록모드(S206)를 선택하거나 수행기록의 미확인에 따른 기록모드(S203 내지 S205)를 선택한다.
기록모드는 중앙처리장치(110) 및 그래픽처리장치(120)가 특정 프로그램을 수행하기 위해 소요되는 수행시간을 연산측정부(130)를 통해 각 측정한다(S203). 수행판단부(140)가 각 측정된 수행시간을 비교하여 중앙처리장치 또는 그래픽처리장치 중 특정 프로그램이 수행될 수행장치를 판단한다(S204). 수행장치에 의해 상기 특정 프로그램이 수행이 완료되면, 수행기록부(150)가 특정 프로그램 및 특정 프로그램을 수행한 수행장치정보를 기록한다(S205).
미기록모드는 수행판단부(140)가 수행기록부(150)에 기록된 수행장치정보에 따라 특정 프로그램이 수행될 수행장치를 판단한다(S206).
기록모드 또는 미기록모드에 따라 특정 프로그램이 중앙처리장치 또는 그래픽처리장치 중 어느 하나로 수행된다(S207). 예를 들어, A라는 프로그램이 실행되었고, A라는 프로그램이 수행기록부(150)에 기록되지 않을 경우, 기록모드에 수행장치가 결정된다. 한편, 기록모드의 종료 후, A라는 프로그램이 재실행된다면, 미기록모드에 의해 수행장치가 결정된다.
사용률확인부(160)가 중앙처리장치(110)의 중앙처리사용률 및 그래픽처리장치(120)의 그래픽처리사용률을 기 설정된 시간주기로 확인한다(S208).
사용률확인부(160)의 중앙처리사용률 또는 그래픽처리사용률이 소정의 사용률 이상일 경우, 상기 수행판단부에서 결정된 수행장치 중 어느 하나를 다른 하나로 전환하게 된다. 도 2에서는 제1 사용률 및 제2 사용률을 소정의 사용률이라 가정한다.
그래픽처리사용률이 제1 사용률을 넘어설(S209) 경우, 수행장치변환부(170)가 중앙처리장치(110)를 통해 특정 프로그램이 수행되도록 제어한다(S210).
그래픽처리사용률이 제1 사용률보다 낮지만, 중앙처리사용률이 제2 사용률을 넘어설(S211) 경우, 수행장치변환부(170)가 그래픽처리장치(120)를 통해 특정 프로그램이 수행되도록 제어한다(S212).
이하 도 3을 통해 사용률에 따른 수행장치의 전환에 대해 더욱 자세히 설명한다. 도 3은 본 발명에 따른 사용률에 따른 수행장치의 전환을 설명하기 위한 일 실시예이다.
도 3은 제1 사용률이 80, 제2 사용률이 50일 경우의 일 실시예이다. 프로그램 수행 진행률 100은 프로그램의 실행완료를 의미한다. 위의 표를 확인하면, 프로그램 수행 진행률이 10부터 100까지의 수행 진행상황을 확인할 수 있다. 수행장치전환의 제1 조건은 그래픽처리사용률이 제1 사용률 이상일 경우, 중앙처리장치를 통해 프로그램을 수행한다. 제2 조건은 그래픽처리사용률이 제1 사용률 이하이지만, 중앙처리장치가 제2 사용률 이상일 경우, 그래픽처리장치(120)를 통해 프로그램을 수행한다. 한편, 도 3의 예시는 수행판단부(140)에 의해 수행장치가 그래픽처리장치(120)로 판단된 경우이다.
프로그램 수행 진행률이 10일 때, 중앙처리장치(110)의 중앙처리사용률이 40이며, 그래픽처리장치의 그래픽처리사용률이 60이다. 그래픽처리사용률이 제1 사용률 이하로써, 제1 조건 및 제2 조건을 충족시키지 못한다. 따라서 프로그램의 수행장치는 장치전환 없이 그래픽처리장치(120)가 된다. 한편, 수행판단부(140)에 의해 프로그램의 수행장치가 중앙처리장치(110)로 판단되었으면, 프로그램 수행장치는 중앙처리장치(110)가 된다.
프로그램 수행 진행률이 20일 때, 중앙처리장치(110)의 중앙처리사용률이 40이며, 그래픽처리장치의 그래픽처리사용률이 90이다. 그래픽처리사용률이 제1 사용률 이상, 중앙처리사용률이 제2 사용률보다 이하로써, 제1 조건을 충족시키게 된다. 따라서 수행장치는 그래픽처리장치(120)에서 중앙처리장치(110)로 전환된다.
프로그램 수행 진행률이 30일 때, 중앙처리장치(110)의 중앙처리사용률이 70이며, 그래픽처리장치의 그래픽처리사용률이 90이다. 그래픽처리사용률이 제1 사용률 이상, 중앙처리사용률이 제2 사용률보다 이상으로써, 제2 조건을 충전시키게 된다. 따라서 수행장치는 중앙처리장치(110)에서 그래픽처리장치(120)로 전환된다.
이하, 프로그램 수행 진행률 40 내지 100은 위의 제1 조건 및 제2 조건에 따라 수행장치를 전환하여 프로그램을 수행하였으며, 그 결과는 하단의 그래프와 같다. 한편, 제1 사용률과 제2 사용률은 중앙처리장치(110) 및 그래픽처리장치(120)의 개수 및 성능에 따라 변경될 수 있다.
100 : 수행장치 선택모듈 110 : 중앙처리장치
120 : 그래픽처리장치 130 : 연산측정부
140 : 수행판단부 150 : 수행기록부
160 : 사용률확인부 170 : 수행장치전환부

Claims (6)

  1. 데이터 처리를 위한 중앙처리장치 및 그래픽 처리를 위한 그래픽처리장치를 포함하는 수행장치;
    특정 프로그램의 실행 시 상기 중앙처리장치 및 그래픽처리장치에서 소요되는 수행시간을 각각 측정하는 연산측정부;
    상기 각각 측정된 수행시간을 상호 비교하여 상기 수행장치 중 어느 하나에서 상기 특정 프로그램을 재실행시킬 것인지를 판단하는 수행판단부;
    상기 중앙처리장치의 중앙처리사용률 및 상기 그래픽처리장치의 그래픽처리사용률을 기 설정된 시간주기로 확인하는 사용률확인부; 및
    상기 수행판단부에 의해 상기 수행장치 중 어느 하나가 판단되면, 상기 사용률확인부의 중앙처리사용률 또는 상기 그래픽처리장치의 그래픽처리사용률이 기 설정된 제1조건 또는 제2조건의 만족여부를 상기 기 설정된 시간주기마다 판단하며, 상기 만족여부에 따라 상기 수행판단부에서 결정된 상기 수행장치 중 어느 하나를 다른 하나로 전환하는 수행장치전환부;를 더 포함하는 것을 특징으로 하는 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈
  2. 제 1항에 있어서,
    상기 수행장치에 의해 상기 특정 프로그램이 수행이 완료되면, 상기 특정 프로그램 및 상기 특정 프로그램이 수행된 수행장치정보를 기록하는 수행기록부;를 더 포함하는 것을 특징으로 하는 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈.
  3. 삭제
  4. 제1항의 수행장치 결정 모듈을 이용한 이종 멀티코어 환경에서 사용되는 수행장치 결정방법에 있어서,
    특정 프로그램이 실행되면, 수행판단부가 상기 특정 프로그램의 수행기록을 확인하는 수행기록확인단계; 및 상기 특정프로그램의 종전 수행기록의 여부에 따라 기록모드 또는 미기록모드를 선택하는 모드선택단계;
    상기 기록모드 또는 상기 미기록모드에 따라 상기 특정 프로그램이 상기 중앙처리장치 또는 그래픽처리장치 중 어느 하나로 수행되는 연산수행단계;
    사용률확인부가 상기 중앙처리장치의 중앙처리사용률 및 상기 그래픽처리장치의 그래픽처리사용률을 기 설정된 시간주기마다 확인하는 사용량확인단계; 및
    상기 수행판단부에 의해 상기 수행장치 중 어느 하나가 판단되면, 수행장치전환부가 상기 사용률확인부의 중앙처리사용률 또는 그래픽처리사용률이 기 설정된 제1조건 또는 제2조건의 만족여부를 상기 기 설정된 시간주기마다 판단하여 상기 만족여부에 따라 상기 수행판단부에서 결정된 상기 수행장치 중 어느 하나를 다른 하나로 전환하는 장치전환단계;를 포함하되,
    상기 기록모드는 상기 특정 프로그램의 실행 시 연산측정부가 중앙처리장치 및 그래픽처리장치에서 소요되는 수행시간을 각각 측정하는 연산측정단계; 상기 수행판단부가 상기 각각 측정된 수행시간을 상호 비교하여 상기 수행장치 중 어느 하나에서 상기 특정 프로그램을 재실행시킬 것인지를 판단하는 수행장치판단단계; 및 상기 수행장치에 의해 상기 특정 프로그램이 수행이 완료되면, 상기 특정 프로그램 및 상기 특정 프로그램이 수행된 수행장치정보가 수행기록부에 기록되는 수행기록단계;를 포함하는 것을 특징으로 하는 이종 멀티 코어 환경에서 사용되는 수행장치 결정방법
  5. 제4 항에 있어서,
    상기 미기록모드는 상기 수행판단부가 상기 수행기록부에 기록된 상기 수행장치정보에 따라 상기 특정 프로그램이 수행될 수행장치를 판단하는 기록장치판단단계;를 포함하는 것을 특징으로 하는 이종 멀티코어 환경에서 사용되는 수행장치 결정방법.
  6. 삭제
KR1020150191237A 2015-12-31 2015-12-31 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법 KR101721341B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150191237A KR101721341B1 (ko) 2015-12-31 2015-12-31 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150191237A KR101721341B1 (ko) 2015-12-31 2015-12-31 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법

Publications (1)

Publication Number Publication Date
KR101721341B1 true KR101721341B1 (ko) 2017-04-10

Family

ID=58581039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150191237A KR101721341B1 (ko) 2015-12-31 2015-12-31 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법

Country Status (1)

Country Link
KR (1) KR101721341B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110075295A (ko) * 2009-12-28 2011-07-06 삼성전자주식회사 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
KR20130108609A (ko) * 2010-12-14 2013-10-04 아마존 테크놀로지스, 인크. 범용 프로세서와 그래픽 프로세서 사이의 부하 분산
KR20140006351A (ko) * 2012-07-04 2014-01-16 전남대학교산학협력단 예상 실행 시간 정보를 이용하여 작업을 분배하는 이종 멀티코어 프로세서 시스템의 작업 분배 방법 및 그 방법을 이용하는 이종 멀티코어 프로세서 시스템
JP2014056425A (ja) * 2012-09-12 2014-03-27 Nippon Telegr & Teleph Corp <Ntt> データ管理装置、データ管理システム、処理割当方法および処理割当プログラム
KR101568204B1 (ko) 2014-07-15 2015-11-11 고려대학교 산학협력단 Cpu/gpu 기반 매니코어 시스템 및 cpu/gpu의 동시처리를 위한 멀티코어 cpu의 코어 개수 결정 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110075295A (ko) * 2009-12-28 2011-07-06 삼성전자주식회사 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
KR20130108609A (ko) * 2010-12-14 2013-10-04 아마존 테크놀로지스, 인크. 범용 프로세서와 그래픽 프로세서 사이의 부하 분산
KR20140006351A (ko) * 2012-07-04 2014-01-16 전남대학교산학협력단 예상 실행 시간 정보를 이용하여 작업을 분배하는 이종 멀티코어 프로세서 시스템의 작업 분배 방법 및 그 방법을 이용하는 이종 멀티코어 프로세서 시스템
JP2014056425A (ja) * 2012-09-12 2014-03-27 Nippon Telegr & Teleph Corp <Ntt> データ管理装置、データ管理システム、処理割当方法および処理割当プログラム
KR101568204B1 (ko) 2014-07-15 2015-11-11 고려대학교 산학협력단 Cpu/gpu 기반 매니코어 시스템 및 cpu/gpu의 동시처리를 위한 멀티코어 cpu의 코어 개수 결정 방법

Similar Documents

Publication Publication Date Title
KR101971389B1 (ko) 연합 기반 메모리 관리
US10042669B2 (en) Concurrent execution of a computer software application along multiple decision paths
US9569179B1 (en) Modifying models based on profiling information
US20090113181A1 (en) Method and Apparatus for Executing Instructions
US9098350B2 (en) Adaptive auto-pipelining for stream processing applications
US20140380326A1 (en) Computer product, multicore processor system, and scheduling method
JP6659724B2 (ja) 並列プロセッサカーネルのディスパッチサイズのコンカレンシーファクタを決定するシステム及び方法
KR102333845B1 (ko) 칩 기반의 컴퓨팅 기능 생성 방법, 장치, 기기 및 저장 매체
US20170108908A1 (en) Instruction optimization using voltage-based functional performance variation
US10024911B2 (en) Debug circuit, semiconductor device, and debug method
US20180210731A1 (en) Data processing
US9122800B1 (en) System and method of non-intrusive measurement of memory access profiles of threads in a multi-core processor
KR101862981B1 (ko) 명령어 기반 카운터를 통한 성능 및 전력량 예측 시스템 및 방법
JP2018508865A (ja) アプリケーションイベントの追跡
KR101721341B1 (ko) 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법
CN109791534B (zh) 可切换拓扑机器
CN115480973A (zh) 一种服务器性能测试方法、装置、介质
JP6627475B2 (ja) 処理リソース制御プログラム、処理リソース制御装置、および処理リソース制御方法
US20180253288A1 (en) Dynamically predict and enhance energy efficiency
KR101820269B1 (ko) 마이그레이션 방법 및 시스템
CN107450968B (zh) 负载还原方法、装置和设备
US20180349249A1 (en) Efficient calculation of performance data for a computer
JP6223637B2 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム
JP2016538621A (ja) ハードウェア・アクセラレータの性能測定のための方法、装置、およびコンピュータ・プログラム
CN110378084B (zh) 应用程序保护方法、装置、计算机设备及存储介质

Legal Events

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

Payment date: 20200227

Year of fee payment: 4