KR101269094B1 - 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법 - Google Patents
에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex 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
본 발명은 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법에 관한 것으로, 특히 멀티코어 프로세서에서 응용프로그램의 처리 전 미리 에너지량을 예측하여 상기 응용프로그램의 처리를 효율적으로 수행할 수 있는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법에 관한 것이다.
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는 본 발명의 다른 실시 예에 따른 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법의 순서도이다.
도 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: 처리판단부
150: 에너지량연산부 170: 처리판단부
Claims (5)
- 소비전력연산부가 멀티코어 프로세서를 통해 처리하고자 하는 응용프로그램에 대하여 동작코어에 따른 전력소모량을 연산하는 소비전력연산단계;
수행시간연산부가 상기 응용프로그램의 데이터 처리에 따른 수행시간을 연산하는 수행시간연산단계;
에너지량연산부가 상기 전력소모량 및 수행시간에 기초하여 상기 응용프로그램의 데이터 처리 시, 발생하는 에너지량을 연산하는 에너지량연산단계; 및
처리판단부가 상기 에너지량이 단일코어를 통해 상기 응용프로그램을 처리 시 발생하는 에너지량보다 작은 경우, 상기 응용프로그램에 대한 병렬처리 수행을 판단하는 병렬처리여부판단단계;
를 포함하며,
상기 소비전력연산단계는
상기 소비전력연산부가 하기의 수학식을 통해 동작코어에 따른 소비전력을 연산하되,
P = α×ln(n)+Pcpu
이때, 상기 α는 계수이고,
상기 Pcpu는 단일코어의 소비전력량이며,
상기 n은 동작코어의 개수인 것을 특징으로 하는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법.
- 삭제
- 제1항에 있어서,
상기 수행시간연산단계는
수행시간연산부가 하기의 수학식을 통해 상기 응용프로그램의 데이터 처리에 따른 수행시간을 연산하되,
T = Rseq×Tseq + Rpar×Tseq/n
이때, 상기 Rseq는 순차처리 구간을 나타내고,
상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고,
상기 Rpar은 병렬처리 구간을 나타내며,
상기 n은 동작코어의 개수인 것을 특징으로 하는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법.
- 제1항에 있어서,
상기 병렬처리여부판단단계는
상기 처리판단부가 하기의 수학식을 통해 상기 에너지량이 단일코어를 통해 상기 응용프로그램을 처리 시 발생하는 에너지량보다 작다고 판단하면, 상기 응용프로그램에 대한 병렬처리를 수행하도록 제어하되,
(α×ln(n)+Pcpu)×(Rseq×Tseq + Rpar×Tseq/n) < Pcpu ×Tseq
이때, 상기 α는 계수이고,
상기 n은 동작코어의 개수이며,
상기 Pcpu는 단일코어의 소비전력량이고,
상기 Rseq는 순차처리 구간을 나타내며,
상기 Tseq는 상기 응용프로그램을 순차처리로 수행했을 때의 수행시간을 나타내고,
상기 Rpar은 병렬처리 구간을 나타내는 것을 특징으로 하는 에너지 효율에 따른 멀티코어 프로세서용 응용프로그램의 데이터처리 판단방법.
- 제1항 또는 제3항 내지 제4항 중 어느 한 항에 따른 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101477179B1 (ko) | 2013-07-19 | 2014-12-29 | 삼성전자주식회사 | 어플리케이션의 전력 효율을 결정하고 표시하는 방법 및 단말기 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100193920B1 (ko) * | 1995-11-14 | 1999-06-15 | 니시무로 타이죠 | 멀티 프로세서형 컴퓨터 |
-
2011
- 2011-07-05 KR KR1020110066601A patent/KR101269094B1/ko not_active IP Right Cessation
Patent Citations (1)
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 |