KR101269094B1 - 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법 - Google Patents

에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법 Download PDF

Info

Publication number
KR101269094B1
KR101269094B1 KR1020110066601A KR20110066601A KR101269094B1 KR 101269094 B1 KR101269094 B1 KR 101269094B1 KR 1020110066601 A KR1020110066601 A KR 1020110066601A KR 20110066601 A KR20110066601 A KR 20110066601A KR 101269094 B1 KR101269094 B1 KR 101269094B1
Authority
KR
South Korea
Prior art keywords
application program
execution time
power consumption
processing
data processing
Prior art date
Application number
KR1020110066601A
Other languages
English (en)
Other versions
KR20130006555A (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 KR1020110066601A priority Critical patent/KR101269094B1/ko
Publication of KR20130006555A publication Critical patent/KR20130006555A/ko
Application granted granted Critical
Publication of KR101269094B1 publication Critical patent/KR101269094B1/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
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법에 관한 것으로, 보다 구체적으로는 소비전력연산부가 멀티코어 프로세서를 통해 처리하고자 하는 응용프로그램에 대하여 동작하는 코어에 따른 전력소모량을 연산하는 소비전력연산단계; 수행시간연산부가 상기 응용프로그램의 데이터 처리에 따른 수행시간을 연산하는 수행시간연산단계; 에너지량연산부가 상기 전력소모량 및 수행시간에 기초하여 상기 응용프로그램의 데이터 처리 시, 발생하는 에너지량을 연산하는 에너지량연산단계; 및 처리판단부가 상기 에너지량이 단일코어를 통해 상기 응용프로그램을 처리 시 발생하는 에너지량보다 작은 경우, 상기 응용프로그램에 대한 병렬처리를 수행하도록 제어하는 병렬처리여부판단단계;를 포함한다.
이러한 구성에 의해, 본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 처리하고자 하는 응용프로그램에 대한 에너지 효율을 연산을 통해 미리 예측하고, 그 예측결과에 따라 상기 응용프로그램의 병렬처리 여부를 결정함으로써, 데이터 처리의 효율성을 향상시킬 수 있는 효과가 있다.

Description

에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법{Data processing judging method of Application program for multicore processor according to energy efficiency}
본 발명은 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법에 관한 것으로, 특히 멀티코어 프로세서에서 응용프로그램의 처리 전 미리 에너지량을 예측하여 상기 응용프로그램의 처리를 효율적으로 수행할 수 있는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법에 관한 것이다.
IT기술의 발전에 따라, 다량의 태스크(task)를 짧은 시간 내에 빠르게 처리하고자 하는 사용자의 수요가 급속도로 증가함에 따라, 이러한 사용자의 수요를 만족시키기 위해 다양한 방안들이 연구되고 있다.
특히, 프로세서가 처리해야하는 다수의 응용프로그램은 그 특성이 서로 상이하다는 특징을 갖는다.
예를 들어, 응용프로그램은 병렬처리 구간이 넓으면 높은 처리속도를 기대할 수 있는 반면, 순차처리 구간이 많으면 프로세서의 개수를 추가하더라도 암달의 법칙(Amdahl’s law)에 의해 처리속도 향상에는 한계가 있어 전체적인 에너지 효율성이 낮아지는 문제점이 발생했다.
이와 같은 문제점을 해결하고자, 에너지 효율성을 향상시키기 위해, 프로세서의 동작 주파수를 낮추거나, 응용프로그램의 수행시간을 감소시키는 방법을 사용하고 있다.
먼저, 동작 주파수를 감소시키는 방법을 살펴보면, 태스크의 부하에 따라 동적으로 주파수를 감소시키면 프로그램의 수행시간이 선형적으로 증가하지만 소모되는 전력이 세제곱배로 줄어들게 되어, 에너지 효율성이 증가하게 된다.
더불어, 프로그램의 수행시간을 감소시키는 방법을 살펴보면, 이를 위해, 해당 응용프로그램의 소스코드를 최적화시키는 방법과, 상기 응용프로그램에 대한 알고리즘을 개선하는 방법 및 멀티코어 프로세서를 이용한 데이터의 병렬처리 기술 등이 사용되고 있다.
이러한 데이터의 병렬처리 기술은 동시에 동작하는 복수 개의 CPU(Central Processing Unit)를 포함하는 컴퓨터에 의해서만 실행되는 방식으로, 복수 개의 처리장치를 이용하여 모든 처리장치가 하나의 응용프로그램 상의 서로 다른 태스크를 동시에 처리하도록 함으로써, 데이터 처리에 따른 부하를 분담하여 전체 데이터 처리 속도를 향상시킨다.
이와 더불어, 단일 프로세서의 동작 주파수를 증가시켜 속도 성능을 개선하는 것보다 멀티코어 프로세서를 통해 데이터를 병렬처리하는 것이 상대적으로 발열이 적고, 전력소모가 낮은 장점 또한 갖는다.
이처럼, 멀티코어 프로세서를 이용하여 데이터를 처리하는 경우, 통상적으로 프로세서의 동작코어 개수가 늘어남에 따라 상기 프로세서의 소비전력은 증가하지만, 응용프로그램을 병렬처리함에 따라, 데이터 처리에 따른 수행시간이 감소하게 되어, 최종적으로는 에너지 소모가 감소된다.
하지만 서로 다른 특성을 갖는 다수의 응용프로그램에 있어서, 순차처리구간이 많은 응용프로그램을 병렬처리 하는 경우, 처리속도가 낮을 뿐만 아니라 에너지 효율성 또한 감소하는 문제점이 발생했다.
따라서, 다수의 응용프로그램을 처리 시, 각각의 응용프로그램마다 그 특성이 상이하므로, 그 특성을 미리 파악하여 해당 응용프로그램의 특성에 맞게 병렬처리할 것인지 또는 순차처리할 것인지와 같은 데이터 처리방법을 미리 결정해야 할 필요성이 제기되었다.
더불어, 이러한 기술과 관련된 선행문헌을 이하에서 살펴보도록 한다.
먼저, 한국공개특허 제2010-0026989호는 다수의 프로세서 코어 중 소정의 프로세서 코어를 선택하고, 선택한 소정의 프로세서 코어로 사용 가능한 전압 레벨 및 클럭 주파수 중 최저 전압 레벨 및 최저 클럭 주파수 중 적어도 하나를 선택하여 선택한 코어로 인가한 후, 상기 코어가 해당 프로그램을 수행함으로써, 전력소비를 줄일 수 있는 에너지 절약형 멀티 코어 프로세서에 관한 것이다.
또한, 한국공개특허 제2010-0118826호는 병렬 응용 프로그램에 따라 가용 가능한 스레드 수를 확인한 후, 확인된 가용 가능한 스레드 수에 따라 동적으로 응용프로그램을 병렬처리함으로써, 데이터의 특성에 따라 시스템의 성능을 향상시킬 수 있는 병렬 응용 프로그램을 동적으로 병렬처리하는 시스템 및 방법에 관한 것이다.
상기와 같은 종래 기술의 필요성을 해결하기 위해, 본 발명은 처리하고자 하는 응용프로그램의 에너지 효율을 미리 연산하고, 그 연산결과에 따라 상기 응용프로그램의 병렬처리 여부를 판단하여 수행하도록 하는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법을 제공하고자 한다.
위와 같은 과제를 해결하기 위한 본 발명의 한 실시 예에 따른 소비전력연산부가 멀티코어 프로세서를 통해 처리하고자 하는 응용프로그램에 대하여 동작하는 코어에 따른 전력소모량을 연산하는 소비전력연산단계; 수행시간연산부가 상기 응용프로그램의 데이터 처리에 따른 수행시간을 연산하는 수행시간연산단계; 에너지량연산부가 상기 전력소모량 및 수행시간에 기초하여 상기 응용프로그램의 데이터 처리 시, 발생하는 에너지량을 연산하는 에너지량연산단계; 및 처리판단부가 상기 에너지량이 단일코어를 통해 상기 응용프로그램을 처리 시 발생하는 에너지량보다 작은 경우, 상기 응용프로그램에 대한 병렬처리의 수행을 판단하는 병렬처리여부판단단계;를 포함한다.
보다 바람직하게는 상기 소비전력연산부가 하기의 수학식을 통해 동작코어에 따른 소비전력을 연산하되, P = α×ln(n)+Pcpu 이때, 상기 α는 계수이고, 상기 Pcpu는 단일코어의 소비전력이며, 상기 n은 동작코어의 개수인 소비전력연산단계를 포함할 수 있다.
보다 바람직하게는 수행시간연산부가 하기의 수학식을 통해 상기 응용프로그램의 데이터 처리에 따른 수행시간을 연산하되, T = Rseq×Tseq + Rpar×Tseq/n 이때, 상기 Rseq는 순차처리 구간을 나타내고, 상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고, 상기 Rpar은 병렬처리 구간을 나타내며, 상기 n은 동작코어의 개수인 수행시간연산단계를 포함할 수 있다.
보다 바람직하게는 상기 처리판단부가 하기의 수학식을 통해 상기 에너지량이 단일코어를 통해 상기 응용프로그램을 처리 시 발생하는 에너지량보다 작다고 판단하면, 상기 응용프로그램에 대한 병렬처리를 수행하도록 제어하되, (α×ln(n)+Pcpu)×(Rseq ×Tseq + Rpar×Tseq/n ) < Pcpu×Tseq 이때, 상기 α는 계수이고, 상기 n은 동작코어의 개수이며, 상기 Pcpu는 단일코어의 소비전력이고, 상기 Rseq는 순차처리 구간을 나타내며, 상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고, 상기 Rpar은 병렬처리 구간을 나타내는 병렬처리여부판단단계를 포함할 수 있다.
본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 처리하고자 하는 응용프로그램에 대한 에너지 효율을 연산을 통해 미리 예측하고, 그 예측결과에 따라 상기 응용프로그램의 병렬처리 여부를 결정함으로써, 데이터 처리의 효율성을 향상시킬 수 있는 효과가 있다.
또한, 본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 처리하고자 하는 응용프로그램의 특성에 맞게 데이터 처리방법을 결정하여 처리함에 따라, 에너지 소모를 감소시켜 데이터 처리속도를 향상시킬 수 있는 효과가 있다.
더불어, 본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 처리하고자 하는 응용프로그램의 특성에 따른 데이터 처리방법의 결정을 용이하게 하도록 에너지 효율을 미리 연산하여 제공함으로써, 보다 원활한 데이터 처리방법을 선택할 수 있도록 할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시 예에 따른 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단시스템의 블록도이다.
도 2는 본 발명의 다른 실시 예에 따른 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법의 순서도이다.
이하, 본 발명을 바람직한 실시 예와 첨부한 도면을 참고로 하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예에 한정되는 것은 아니다.
도 1은 본 발명의 일 실시 예에 따른 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단시스템의 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단시스템(100)은 소비전력연산부(110), 수행시간연산부(130), 에너지량연산부(150) 및 처리판단부(170)를 포함한다.
소비전력연산부(110)는 처리하고자 하는 응용프로그램에 대하여 멀티코어 프로세서 중 동작하는 코어에 따른 전력소모량을 하기의 수학식 1을 이용하여 연산한다.
[수학식 1]
P = α× ln(n)+Pcpu
이때, 상기 α는 계수이고, 상기 Pcpu는 단일코어의 소비전력값이며, 상기 n은 동작코어의 개수를 나타낸다.
이러한 상기 소비전력연산부(110)는 기설정된 계수(α)에 동작하는 코어의 개수에 대한 자연로그값(ln(n))을 곱한 다음, 이에 단일코어 사용 시의 소비전력량(Pcpu)을 더함으로써, 동작하는 코어에 따른 전력소모량을 연산한다.
수행시간연산부(130)는 상기 응용프로그램의 데이터 처리에 따른 수행시간을 하기의 수학식 2를 이용하여 연산한다.
[수학식 2]
T = Rseq×Tseq + Rpar×Tseq/n
이때, 상기 Rseq는 순차처리 구간을 나타내고, 상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고, 상기 Rpar은 병렬처리 구간을 나타낸다. 이때, 순차처리 구간을 나타내는 상기 Rseq와 병렬처리 구간을 나타내는 상기 Rpar의 상호 합은 1이 되며, 또한 상기 n은 동작코어의 개수를 나타낸다. 이러한 상기 수행시간연산부(130)는 순차처리구간(Rseq)과 응용프로그램의 순차처리 수행 시 수행시간(Tseq)을 곱한 값에, 응용프로그램의 순차처리 수행 시 수행시간(Tseq)을 동작하는 코어의 개수(n)로 나눈 후, 병렬처리구간(Rpar)을 곱한 값을 더함으로써, 응용프로그램의 데이터 처리에 따른 수행시간(T)을 연산한다.
에너지량연산부(150)는 상기 소비전력연산부(110)에서 연산된 상기 전력소모량(P) 및 상기 수행시간연산부(130)에서 연산된 상기 수행시간(T)에 기초하여 상기 응용프로그램의 데이터 처리 시 발생하는 에너지량을 연산한다. 이때, 에너지량(E1)은
E = P × T
를 통해 연산함에 따라, 결과적으로
{α×ln(n)+Pcpu} × (Rseq×Tseq + Rpar×Tseq/n)
를 통해 연산된다.
처리판단부(170)는 상기 에너지량(E1)을 단일코어를 통해 상기 응용프로그램을 처리하는 경우에 발생하는 에너지량(E2)과 비교하여, 상기 에너지량(E1)이 단일코어를 통해 발생되는 에너지량(E2)보다 작다고 판단한 경우, 상기 응용프로그램의 병렬처리를 수행하도록 판단한다. 즉, 상기 처리판단부(170)는 하기의 수학식 3을 만족하는 경우, 상기 응용프로그램의 병렬처리를 수행하도록 판단할 수 있다.
[수학식 3]
{α×ln(n)+Pcpu} × (Rseq×Tseq + Rpar×Tseq/n) < Pcpu×Tseq
즉, 상기 수학식 3에 대한 항정리를 하게 되면, 하기와 같은 수학식 4가 생성된다.
[수학식 4]
{α×ln(n)/Pcpu} + 1/n ­ 1/((n-1)Rseq+1) < 0
이에 따라, 상기 수학식 4에 있어서, 동작코어의 개수를 나타내는 파라미터인 n, 단일코어의 소비전력량을 나타내는 파라미터인 Pcpu, 계수를 나타내는 파라미터인 α가 미리 설정되면, 본 발명을 통해 처리하고자 하는 응용프로그램의 순차처리구간인 Rseq를 분석함으로써, 해당 응용프로그램에 대한 병렬처리 여부를 결정할 수 있게 된다.
또한, 이에 따라 상기 응용프로그램을 병렬처리 시, 발생되는 에너지 효율성을 Epar/Eseq를 통해 연산할 수 있다.
이에 따라, 멀티코어 프로세서(190)는 상기 처리판단부(170)를 통해 판단된 판단결과에 따라 상기 응용프로그램에 대한 병렬처리를 수행한다.
하지만, 이와 달리, 상기 처리판단부(170)가 상기 에너지량연산부(150)를 통해 연산된 상기 에너지량(E1)이 단일코어를 통해 발생된 에너지량(E2)보다 같거나 크다고 판단한 경우, 상기 멀티코어 프로세서(190)는 상기 응용프로그램에 대한 순차처리를 수행한다.
이하, 도 2를 참조하여, 본 발명의 다른 실시 예에 따른 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법에 대하여 보다 자세히 살펴보도록 한다.
도 2는 본 발명의 다른 실시 예에 따른 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법의 순서도이다.
도 2에 도시된 바와 같이, 본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 먼저, 소비전력연산부(110)가 멀티코어 프로세서를 통해 처리하고자 하는 응용프로그램에 대하여 동작코어에 따른 전력소모량(P)을 하기의 수학식 1을 통해 연산한다(S210).
[수학식 1]
P = α×ln(n)+Pcpu
이때, 상기 α는 계수이고, 상기 Pcpu는 단일코어의 소비전력값이며, 상기 n은 동작코어의 개수를 나타낸다. 이에 따라, 상기 소비전력연산부(110)가 기설정된 계수(α)에 동작하는 코어의 개수에 대한 자연로그값(ln(n))을 곱한 다음, 이에 단일코어 사용 시의 소비전력량(Pcpu)을 더함으로써, 동작하는 코어에 따른 전력소모량을 연산한다.
이후, 수행시간연산부(130)가 상기 응용프로그램의 데이터 처리에 따른 수행시간(T)을 하기의 수학식 2를 이용하여 연산한다(S220).
[수학식 2]
T = Rseq×Tseq + Rpar×Tseq/n
이때, 상기 Rseq는 순차처리 구간을 나타내고, 상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고, 상기 Rpar은 병렬처리 구간을 나타낸다. 이때, 순차처리 구간을 나타내는 상기 Rseq와 병렬처리 구간을 나타내는 상기 Rpar의 상호 합은 1이 되며, 또한 상기 n은 동작코어의 개수를 나타낸다. 이러한 상기 수행시간연산부(130)는 순차처리구간(Rseq)과 응용프로그램의 순차처리 수행 시 수행시간(Tseq)을 곱한 값에, 응용프로그램의 순차처리 수행 시 수행시간(Tseq)을 동작하는 코어의 개수(n)로 나눈 후, 병렬처리구간(Rpar)을 곱한 값을 더함으로써, 응용프로그램의 데이터 처리에 따른 수행시간(T)을 연산한다.
이에 따라, 에너지량연산부(150)가 앞서 S210과정을 통해 상기 소비전력연산부(130)에서 연산된 상기 전력소모량(P)과, 상기 S220과정을 통해 상기 수행시간연산부(130)에서 연산된 상기 수행시간(T)에 기초하여 응용프로그램의 데이터 처리 시 발생하는 에너지량을 연산한다(S230). 이때, 에너지량은
E = P × T
를 통해 연산함에 따라, 결과적으로
{α×ln(n)+Pcpu} × (Rseq×Tseq + Rpar×Tseq/n) 를 통해 연산된다.
이후, 처리판단부(170)가 상기 에너지량연산부(150)를 통해 연산된 상기 에너지량(E1)이 단일코어를 통해 응용프로그램 처리 시 발생하는 에너지량(E2)과 상호 비교하고(S240), 그 비교결과 상기 에너지량연산부(150)를 통해 연산된 상기 에너지량(E1)이 단일코어를 통해 응용프로그램 처리 시 발생하는 에너지량(E2) 보다 작다고 판단한 경우, 상기 응용프로그램에 대한 병렬처리 수행을 판단한다(S250).
즉, 상기 처리판단부(170)는 하기의 수학식 3을 만족하는 경우, 상기 응용프로그램에 대한 병렬처리를 수행하도록 판단하는 것이다.
[수학식 3]
{α×ln(n)+Pcpu} × (Rseq×Tseq + Rpar×Tseq/n) < Pcpu ×Tseq
즉, 상기 수학식 3에 대한 항정리를 하게 되면, 하기와 같은 수학식 4가 생성된다.
[수학식 4]
{α×ln(n)/Pcpu} + 1/n - 1/((n-1)Rseq+1) < 0
이에 따라, 상기 수학식 4에 있어서, 동작코어의 개수를 나타내는 파라미터인 n, 단일코어의 소비전력량을 나타내는 파라미터인 Pcpu, 계수를 나타내는 파라미터인 α가 미리 설정되면, 본 발명을 통해 처리하고자 하는 응용프로그램의 순차처리구간인 Rseq를 분석함으로써, 해당 응용프로그램에 대한 병렬처리 여부를 결정할 수 있게 된다.
하지만 상기 S240 과정에서, 상기 처리판단부(170)가 상기 에너지량연산부(150)를 통해 연산된 상기 에너지량(E1)이 단일코어를 통해 응용프로그램 처리 시 발생하는 에너지량(E2) 보다 같거나 크다고 판단한 경우, 상기 응용프로그램에 대한 순차처리 수행을 판단한다(S260).
본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 처리하고자 하는 응용프로그램에 대한 에너지 효율을 연산을 통해 미리 예측하고, 그 예측결과에 따라 상기 응용프로그램의 병렬처리 여부를 결정함으로써, 데이터 처리의 효율성을 향상시킬 수 있는 효과가 있다.
또한, 본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 처리하고자 하는 응용프로그램의 특성에 맞게 데이터 처리방법을 결정하여 처리함에 따라, 에너지 소모를 감소시켜 데이터 처리속도를 향상시킬 수 있는 효과가 있다.
더불어, 본 발명의 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법은 처리하고자 하는 응용프로그램의 특성에 따른 데이터 처리방법의 결정을 용이하게 하도록 에너지 효율을 미리 연산하여 제공함으로써, 보다 원활한 데이터 처리방법을 선택할 수 있도록 할 수 있는 효과가 있다.
상기에서는 본 발명의 바람직한 실시 예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 본 발명의 기술 사상 범위 내에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 첨부된 특허청구범위에 속하는 것은 당연하다.
110: 소비전력연산부 130: 수행시간연산부
150: 에너지량연산부 170: 처리판단부

Claims (5)

  1. 소비전력연산부가 멀티코어 프로세서를 통해 처리하고자 하는 응용프로그램에 대하여 동작코어에 따른 전력소모량을 연산하는 소비전력연산단계;
    수행시간연산부가 상기 응용프로그램의 데이터 처리에 따른 수행시간을 연산하는 수행시간연산단계;
    에너지량연산부가 상기 전력소모량 및 수행시간에 기초하여 상기 응용프로그램의 데이터 처리 시, 발생하는 에너지량을 연산하는 에너지량연산단계; 및
    처리판단부가 상기 에너지량이 단일코어를 통해 상기 응용프로그램을 처리 시 발생하는 에너지량보다 작은 경우, 상기 응용프로그램에 대한 병렬처리 수행을 판단하는 병렬처리여부판단단계;
    를 포함하며,
    상기 소비전력연산단계는
    상기 소비전력연산부가 하기의 수학식을 통해 동작코어에 따른 소비전력을 연산하되,
    P = α×ln(n)+Pcpu
    이때, 상기 α는 계수이고,
    상기 Pcpu는 단일코어의 소비전력량이며,
    상기 n은 동작코어의 개수인 것을 특징으로 하는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 수행시간연산단계는
    수행시간연산부가 하기의 수학식을 통해 상기 응용프로그램의 데이터 처리에 따른 수행시간을 연산하되,
    T = Rseq×Tseq + Rpar×Tseq/n
    이때, 상기 Rseq는 순차처리 구간을 나타내고,
    상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고,
    상기 Rpar은 병렬처리 구간을 나타내며,
    상기 n은 동작코어의 개수인 것을 특징으로 하는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법.
  4. 제1항에 있어서,
    상기 병렬처리여부판단단계는
    상기 처리판단부가 하기의 수학식을 통해 상기 에너지량이 단일코어를 통해 상기 응용프로그램을 처리 시 발생하는 에너지량보다 작다고 판단하면, 상기 응용프로그램에 대한 병렬처리를 수행하도록 제어하되,
    (α×ln(n)+Pcpu)×(Rseq×Tseq + Rpar×Tseq/n) < Pcpu ×Tseq
    이때, 상기 α는 계수이고,
    상기 n은 동작코어의 개수이며,
    상기 Pcpu는 단일코어의 소비전력량이고,
    상기 Rseq는 순차처리 구간을 나타내며,
    상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고,
    상기 Rpar은 병렬처리 구간을 나타내는 것을 특징으로 하는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법.
  5. 제1항 또는 제3항 내지 제4항 중 어느 한 항에 따른 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체.


KR1020110066601A 2011-07-05 2011-07-05 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법 KR101269094B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110066601A KR101269094B1 (ko) 2011-07-05 2011-07-05 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110066601A KR101269094B1 (ko) 2011-07-05 2011-07-05 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법

Publications (2)

Publication Number Publication Date
KR20130006555A KR20130006555A (ko) 2013-01-17
KR101269094B1 true KR101269094B1 (ko) 2013-05-29

Family

ID=47837444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110066601A KR101269094B1 (ko) 2011-07-05 2011-07-05 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법

Country Status (1)

Country Link
KR (1) KR101269094B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101477179B1 (ko) 2013-07-19 2014-12-29 삼성전자주식회사 어플리케이션의 전력 효율을 결정하고 표시하는 방법 및 단말기

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100193920B1 (ko) * 1995-11-14 1999-06-15 니시무로 타이죠 멀티 프로세서형 컴퓨터

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100193920B1 (ko) * 1995-11-14 1999-06-15 니시무로 타이죠 멀티 프로세서형 컴퓨터

Also Published As

Publication number Publication date
KR20130006555A (ko) 2013-01-17

Similar Documents

Publication Publication Date Title
Li et al. Performance analysis and optimization for SpMV on GPU using probabilistic modeling
US11449364B2 (en) Processing in a multicore processor with different cores having different architectures
KR101072864B1 (ko) 에너지 절약형 멀티 코어 프로세서
TWI540503B (zh) 提高處理器中渦輪加速模式之操作的電源效率之設備、方法及系統
US20130167154A1 (en) Energy efficient job scheduling in heterogeneous chip multiprocessors based on dynamic program behavior
Huang et al. Novel heuristic speculative execution strategies in heterogeneous distributed environments
Song et al. Energy-efficient scheduling for memory-intensive GPGPU workloads
KR101269094B1 (ko) 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법
US10558500B2 (en) Scheduling heterogenous processors
Salami et al. Physical-aware task migration algorithm for dynamic thermal management of SMT multi-core processors
US9940173B2 (en) System, management device and method of controlling a plurality of computers
CN105260165B (zh) 基于smt的线程级推测系统中推测线程数目的动态控制方法
KR20160061422A (ko) 소프트웨어 프로그램의 연산 블록을 멀티-프로세서 시스템의 코어에 할당하는 방법 및 시스템
KR101639003B1 (ko) Cpu/gpu 기반 매니코어 시스템 및 cpu/gpu의 동시처리를 위한 작업량 분배 방법
US20170330303A1 (en) Analysis system and method for reducing the control flow divergence in the Graphics Processing Units (GPUs)
US11144428B2 (en) Efficient calculation of performance data for a computer
Deodhar et al. Compiler assisted load balancing on large clusters
CN115543587B (zh) 一种使用寿命驱动的OpenCL应用调度方法及系统
Zhang et al. A Criticality-Aware DVFS Runtime Utility for Optimizing Power Efficiency of Multithreaded Applications
Ghandour et al. Leveraging dynamic slicing to enhance indirect branch prediction
US9436473B2 (en) Scheduling program instructions with a runner-up execution position
Cioara et al. Time series based dynamic frequency scaling solution for optimizing the CPU energy consumption
CN107408056B (zh) 用于动态循环-处理器映射的调度设备和方法
Raghavan et al. Dynamic schemes for speculative execution of code
Berry et al. A manual approach and analysis of Voltage and Frequency Scaling using SCC

Legal Events

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

Payment date: 20160225

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee