KR20120131797A - 프로세서 온도 정보를 이용한 프로세서 전력/발열 모델의 동적 계산 - Google Patents
프로세서 온도 정보를 이용한 프로세서 전력/발열 모델의 동적 계산 Download PDFInfo
- Publication number
- KR20120131797A KR20120131797A KR1020110050210A KR20110050210A KR20120131797A KR 20120131797 A KR20120131797 A KR 20120131797A KR 1020110050210 A KR1020110050210 A KR 1020110050210A KR 20110050210 A KR20110050210 A KR 20110050210A KR 20120131797 A KR20120131797 A KR 20120131797A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- model
- temperature
- power
- thermal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Investigating Or Analyzing Materials Using Thermal Means (AREA)
Abstract
본 발명은 프로세서 코어 당 성능 카운터와 온도계를 포함하고 있는 프로세서 환경에서 소비 전력과 코어의 온도 변화를 예측할 수 있는 전력과 발열 모델을 동적으로 생성하는 방법에 관한 것으로, 재구성 가능한 프로세서나 많은 코어들을 포함하는 멀티코어 프로세서와 같이, 시스템 사용 전에 미리 모델을 계산해야 하는 기존의 방식으로 전력 및 발열 모델을 계산하는 방법이 적절하지 못한 환경에서도 시스템 작동 중에 모델을 동적으로 계산하는 방법으로 전력 및 온도 관리를 가능하도록 한다.
본 발명은 이를 위해 프로세서의 온도 상태가 안정되는 상황을 이용하여, 예를 들어서 프로세서의 온도가 일정하게 유지되는 경우 그동안에 전력 소모를 통해 프로세서 안으로 유입되는 열량과 발산 등을 통해 주위 환경으로 확산되는 열량이 일치한다는 사실을 사용한다. 예를 들어 모델 인자들을 변수로 둔 성능 카운터를 사용한 발열 모델과 주변 환경과의 온도 차에 비례하는 열 발산 식을 일치하도록 두고 열 평형 상태에 수집한 값들을 대입하여 회귀 분석하면 각 모델들의 인자들을 파악할 수 있다. 이렇게 온도 상태를 사용하여 모델을 계산하는 방식은 기존의 방식들과는 다르게 동적으로 모델을 계산할 수 있기 때문에 프로세서의 전력 및 발열 특성이 동적으로 변화하거나, 코어 등의 숫자가 많아서 정적 계산이 합리적이지 못한 경우 등, 현대의 고성능 프로세서들에서 효과적인 전력 및 발열 관리 기법의 적용들을 방지해 온 문제들을 해결하여 고성능 저전력 및 저발열 시스템들의 구현을 쉽게 할것으로 예상된다.
본 발명은 이를 위해 프로세서의 온도 상태가 안정되는 상황을 이용하여, 예를 들어서 프로세서의 온도가 일정하게 유지되는 경우 그동안에 전력 소모를 통해 프로세서 안으로 유입되는 열량과 발산 등을 통해 주위 환경으로 확산되는 열량이 일치한다는 사실을 사용한다. 예를 들어 모델 인자들을 변수로 둔 성능 카운터를 사용한 발열 모델과 주변 환경과의 온도 차에 비례하는 열 발산 식을 일치하도록 두고 열 평형 상태에 수집한 값들을 대입하여 회귀 분석하면 각 모델들의 인자들을 파악할 수 있다. 이렇게 온도 상태를 사용하여 모델을 계산하는 방식은 기존의 방식들과는 다르게 동적으로 모델을 계산할 수 있기 때문에 프로세서의 전력 및 발열 특성이 동적으로 변화하거나, 코어 등의 숫자가 많아서 정적 계산이 합리적이지 못한 경우 등, 현대의 고성능 프로세서들에서 효과적인 전력 및 발열 관리 기법의 적용들을 방지해 온 문제들을 해결하여 고성능 저전력 및 저발열 시스템들의 구현을 쉽게 할것으로 예상된다.
Description
본 발명은 프로세서 코어 당 성능 카운터와 온도계를 포함하고 있는 프로세서 환경에서 소비 전력과 코어의 온도 변화를 예측할 수 있는 전력과 발열 모델을 동적으로 생성하는 방법에 관한 것으로, 더욱 상세하게는 프로세서의 온도 특성이 안정적일 때의 온도와 계산 특성에 관한 정보를 수집하고 이를 분석하여 정확한 전력과 발열 모델 생성에 필요한 상수들을 파악하는 방법에 관한 것이다.
(1) 성능 카운터를 사용한 전력 소비 모델
현대의 마이크로 프로세서들 대부분은 처리한 명령의 개수나 캐시 미스의 횟수와 같이, 프로세서 내부에서 일어나는 이벤트들에 대한 정보를 얻을 수 있는 성능 카운터들을 제공한다. 프로세서의 각 구성 요소들은 이들의 사용 빈도에 비례하여 전력을 사용하기 때문에, 특정 프로세서 코어의 전력 사용량은 코어의 성능 카운터 값들에 비례하게 된다. 이런 특성을 이용하여, 대상 코어가 소비하는 전력의 양은 대상 코어의 성능 카운터 값들을 변수로 하는 선형 수식으로 표현할 수 있다. 이 모델을 사용하려면 선형 수식에서 각 변수의 상수 계수들을 구해야 한하는데, 기존 방식들에서는 프로세서를 사용하기 전에 수동으로 소비 전력을 측정한 다음 성능 카운터 값들에 대해 회귀 분석하는 방식을 사용하여 계산하였다.
이렇게 계산된 전력 모델은 보통 다음과 같은 형태를 보인다. 아래 식에서는 처리한 명령어의 개수와 일어난 캐시 미스의 횟수를 성능 카운터를 통해 알아낸 항들이 포함되어 있다.
(2) 전력 모델을 사용한 온도 예측
프로세서 코어가 사용하는 전력량은 전력 모델을 사용하여 예측할 수 있으므로, 코어에서 열을 통해 발산되는 에너지를 예측할 수 있다면 이들을 통해 해당 코어의 온도 변화를 예측할 수 있다. 발산되는 에너지와 소비되는 에너지의 차가 코어 내부에 잔류하는 열 에너지의 양일 것이므로, 이를 코어의 열용량으로 나누어 온도 변화를 예측할 수 있는 것이다.
어떤 개체에서 열을 통해 발산되는 에너지는 접촉한 다른 개체들과의 온도차에 비례하므로, 코어로부터 발산되는 에너지는 주변 코어들이나 기온과의 온도 차이 값들을 변수로 하는 선형 수식으로 표현할 수 있다. 이 모델의 상수 계수들과 코어의 열용량 값은 기존 방법에서 프로세서를 사용하기 전에 계산하여 제공해야 했다.
(3) 기존 기술의 문제점
기존의 전력/발열 모델들은 단순한 수식을 사용하여 프로세서 코어의 전력 사용이나 발열을 정확하게 예측할 수 있지만, 모델에 필요한 계수 상수들을 사용 전에 미리 수동으로 구하여 제공해야 한다는 단점이 있었다. 따라서 발열 및 전력 특성이 변할 수 있는 현대의 재구성 가능한 프로세서나, 계산해야 하는 인자들이 너무 많은 Massively Multicore 프로세서와 같은 경우에는 이러한 전력 발열 모델을 사용한 전력 및 발열 관리를 적용하기 어려웠다.
본 발명이 해결하고자 하는 과제는 컴퓨터 프로세서의 전력 소비와 온도를 정확하게 예측할 수 있는 전력 및 발열 모델을 시스템의 동작 도중에 동적으로 계산해낼 수 있도록 하는 것이다.
상기 과제를 달성하기 위하여 본 발명의 모델 계산 방법은 프로세서의 전력 소비는 프로세서가 외부로 발산시켜야 하는 열량과 동일하며, 따라서 프로세서의 온도 변화 양상을 관찰하는 방법으로 전력 소비량을 간접적으로 파악할 수 있다는 사실을 기반으로 한다. 이런 방식이 가능하며 기존의 방식들보다 용이한 이유는 현대의 대부분의 컴퓨터 프로세서들은 온도계를 내장하고 있으며, 그렇지 않을 경우 필요에 따라 외장 온도계를 사용하는 것이 어렵지 않기 때문이다.
상기 과제를 달성하기 위하여 본 발명에서는 프로세서의 온도가 변화하는(Transient) 상태가 아니라 일정 시간 동안 일정한 상황의 정보를 이용한다. 이는 현대의 프로세서들에 장착된 온도계들이 그다지 정확도가 높지 않고 온도가 변화하는 중에는 노이즈의 비율이 크기 때문이며, 충분히 정확한 온도 측정 방식이 존재한다면 열 평형 상태를 기다리지 않고 더 빠르게 모델의 계산이 가능해진다.
상기 과제를 달성하기 위하여 본 발명은 프로세서의 온도 변화를 관찰하면서 대기하는 단계, 프로세서 부위들의 온도와 성능 카운터 값 등의 정보를 수집하는 단계, 그리고 이를 분석하여 모델을 계산하는 단계들을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
프로세서의 전력 및 발열 모델을 시스템 관리자 등의 인간 개입 없이 동적으로 계산해낼 수 있게 되면서, 재구성 가능한 프로세서와 같이 작동 중에 프로세서의 전력 모델이 변화할 수 있거나, Massively Multicore와 같이 프로세서의 구성이 복잡해져서 모든 인자들을 미리 계산하는 것이 어려운 경우에도 모델을 동적으로 계산하는 방법으로 전력 및 발열 모델에 기반한 전력 및 발열 관리 기법들을 적용할 수 있게 된다. 이런 기법들이 적용 가능할 경우 프로세서의 발열을 관리하여 시스템에 악영향을 미칠 수 있는 온도 상태가 오지 않도록 방지할 수 있으며, 전력 소비량을 조절하여 시스템의 성능과 수명, 또는 모바일 시스템의 배터리 수명 등을 조절할 수 있게 된다. 따라서 기존의 방식으로 전력 및 발열 모델을 적용할 수 없었던 현대의 고성능 시스템의 전력 및 발열 관리가 가능하게 되어 고성능 저전력 및 저발열 시스템의 구현이 가능해질 것으로 예상된다.
도 1은 열 평형 상태를 사용하여 프로세서의 전력 및 발열 모델을 계산하는 전 과정을 담은 플로우차트이다.
도 2는 프로세서 각 코어들과 주변 환경 사이의 열 이동을 표현한 그림이다.
도 2는 프로세서 각 코어들과 주변 환경 사이의 열 이동을 표현한 그림이다.
이하 첨부된 도면들 및 첨부된 도면들에 기재된 애용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.
도 1은 열 평형 상태를 사용하여 프로세서의 전력 및 발열 모델을 계산하는 전 과정을 담은 플로우차트이다. 열 평형 상태, 또는 열 변화 상태를 사용하여 프로세서의 전력 및 발열 모델을 계산하고자 하는 상황에서도 도 1의 플로우차트와 같은 순서를 따른다.
도 1에 도시된 바와 같이 전력 및 발열 모델의 계산을 위해서 본 발명은 우선 프로세서의 온도를 관찰한다. 이를 위해서 현대 대부분의 프로세서들이 제공하는 내장 온도계를 사용할 수 있지만 이가 여의치 않거나 온도 변화를 정확히 알기 위해 외장 온도계를 사용하더라도 발명의 적용 방식에는 변화가 없다.
본 발명은 온도를 관찰하면서 정기적으로 프로세서의 상태가 안정적인지를 확인한다. 안정적인 상태란 열 평형 정보를 사용하여 모델 계산을 하고자 하는 경우에는 프로세서의 온도가 일정 시간 이상 일정하게 유지되었음을 뜻하며, 온도 변화를 사용하여 모델을 계산하고자 하는 경우에는 온도 변화가 노이즈를 무시해도 좋을 만큼 안정적인 변화 양상을 보였다는 뜻이 된다. 앞으로는 열 평형 상태를 이용한 모델 계산에 집중하여 설명하도록 하겠다.
프로세서의 온도가 일정하게 유지되고 있음을 확인한 다음에는 이 상태의 특성을 이용하여 모델을 계산하기 위해 필요한 정보들을 수집하여 저장한다. 여기서 수집되는 정보는 해당 시점의 프로세서 코어들의 온도(여기서 코어는 프로세서의 계산 코어와 각 코어에 할당된 캐시 등을 포함한다), 각 코어의 주요 성능 카운터 값들, 팬의 회전 속도 등의 정보를 포함한다.
위와 같은 과정을 반복하면서, 모델의 계산에 필요한 충분한 정보를 수집하였을 경우에는 정보 수집을 중단하고 주어진 정보를 분석하여 모델을 계산해 낸다. 충분한 정보의 양과 정확한 모델 계산 방식은 아래에서 자세히 설명할 것이다.
아래의 식은 멀티코어 프로세서가 열 평형 상태에 도달하였을 때, 그 여러 코어 중 하나의 열 입출력 상태를 표현한 것이다. 본 예시에서는 모델의 단순함을 유지하기 위해 아래 식과 같이 각 코어가 처리한 명령의 개수와, 각 코어에서 일어난 캐시 미스의 개수를 사용한 전력 모델을 사용하였다. 이 두 이벤트를 선택한 이유는 코어의 전력 사용이 이 둘이 가장 큰 영향을 끼치는 것으로 알려졌기 때문이다. 실제 적용시에는 부동 소수점 연산의 개수 등 더 많은 인자들을 사용하여 더 정확한 모델을 계산할 수 있을 것이다.
상기 식에서 좌변은 프로세서 코어에서 주변 환경으로 발산되는 열량, 우변은 주변 환경과 전력 소비를 통해 프로세서 코어 안으로 유입되는 열량을 의미하며, 둘이 일치하므로 온도가 일정하게 유지되고 있는 상황을 나타낸다. 여기서 TemperatureStable은 대상 코어가 도달한 온도, SpeedFan은 프로세서 팬의 회전 속도(예를 들어 RPM), CountInstruction CountCacheMiss 는 성능 카운터에서 얻은 각 코어가 처리한 명령의 개수와, 각 코어에서 일어난 캐시 미스의 개수를 의미하며, TempDiff는 주변 코어들과 대상 코어의 온도 차이를 의미하,고 Const는 상수항이다. 상기 식에서 팬의 속도가 모델 계산에 포함되는 경우는 팬 속도가 동적으로 조절될 수 있어서 발열 모델에 영향을 끼칠 가능성이 높은 경우이며, 그렇지 않은 상황에 따라 모델에서 제거될 수 있다.
상기 식에서 주변 프로세서 코어 등의 주변으로 열을 발산하는 양상은 도 2와 같이 단순화시킨 구성을 가정한다. 도 2와 같이 단순화한 구조를 사용하여 발열판과 프로세서 칩 아래의 기판 등의 다른 요소들 사이의 열 간섭을 간결하게 모델화시키고 모델 계산을 상대적으로 단순하게 만들 수 있다.
상기 식에서 B, P, Q, X, Y, Z, Const를 제외한 모든 값들을 열 평형 상태에 수집한 데이터에서 얻을 수 있으므로, 상기 식을 회귀 분석하는 방식으로 필요한 인자들을 구할 수 있다. 여기서 구한 인자들은 전력 소비와 발열 예측에서 사용되는 인자들과 일치하기에 배경기술에서 제시한 식 등에 바로 대입해서 사용할 수 있다.
예를 들어, 상기 식을 통해서 구한 인자들을 사용한 발열 모델의 경우 다음과 같은 방식을 사용하여 온도를 예측한다. 상기 열 평형 식에 필요한 인자들을 기입하고, 주어진 주기 동안의 성능 카운터 값과 온도 등 필요한 값들을 수집하여 대입한다. 만약 주어진 시점이 열 평형 상태라면 좌우변이 일치할 것이며, 일치하지 않는다면 남는 값이 프로세서에 잔류하거나 과도하게 유출된 열량일 것이므로 이 열량을 대상 코어의 열용량으로 나누어 주어진 간격 동안의 온도 변화를 예측할 수 있다. 현재 프로세서 코어의 열용량을 동적으로 계산하는 방법은 밝혀지지 않았지만, 열용량은 프로세서의 작동에 따라 변화할 수 있는 값이 아니기 때문에 정적으로 계산하여 제공하는 방식을 사용하더라도 본 발명의 의의를 해치지 않는다.
회귀 분석을 위한 충분한 정보를 얻기 위해 다양한 상황에서의 정보를 최대한 많이 얻는 것이 좋으며, 수집한 정보의 양이 많을수록 모델의 정확성이 높아진다. 따라서 일정 수준 이상의 데이터가 수집된 다음에는 도 1에서 도시된 바와 같이 모델을 정기적으로 재계산하면서 데이터 수집을 계속하는 것이 가장 효과적이다.
Claims (4)
- 프로세서의 전력 소비와 발열 예측 모델을 계산하는 방법에 있어서,
프로세서가 안정적인 온도 상태에 도달할 때까지 프로세서의 온도를 관찰하는 단계;
성능 카운터와 주변 코어들의 온도 등 모델 계산에 필요한 정보를 수집하는 단계;
회귀 분석을 사용하여 모델을 도출해 내는 단계
를 포함하고,
수집된 정보를 바탕으로 프로세서의 전력 소비와 발열 예측 모델을 시스템 작동 중에 계산하는 방법.
- 제 1항에 있어서,
프로세서의 온도는 일정한 주기로 프로세서에 내장된 온도 센서나 외부 온도계를 통하여 측정하며, 안정적인 온도 상태는 열 평형 특성을 사용할 경우 일정 시간 이상 온도가 일정하게 유지되는 상태이고 열 변화 특성을 사용할 경우 온도계의 노이즈 수준을 무시할 만큼의 온도 변화가 있는 경우를 의미하는 것을 특징으로 하는 동적 발열 및 전력 모델 계산 방법.
- 제 1항에 있어서,
성능 카운터 기반의 전력 모델로 계산한 프로세서로의 열량 유입과 주변 환경으로의 열 확산 사이의 차이를 이용하여 모델을 계산하기 위해 안정적인 온도 상태의 프로세서에서 성능 카운터 값과 코어들의 온도 등을 측정하여 모델 식을 회귀 분석하는 방식을 사용하는 동적 발열 및 전력 모델 계산 방법.
- 제 1 항에 있어서, 최대한의 필요한 작업들을 시스템 작동 중에 행함으로써 프로세서의 전력 소모 및 발열 특성이 작동 중에 변화하더라도 동적으로 모델을 재계산하여 정확한 전력 및 발열 모델을 사용할 수 있도록 하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110050210A KR20120131797A (ko) | 2011-05-26 | 2011-05-26 | 프로세서 온도 정보를 이용한 프로세서 전력/발열 모델의 동적 계산 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110050210A KR20120131797A (ko) | 2011-05-26 | 2011-05-26 | 프로세서 온도 정보를 이용한 프로세서 전력/발열 모델의 동적 계산 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120131797A true KR20120131797A (ko) | 2012-12-05 |
Family
ID=47515552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110050210A KR20120131797A (ko) | 2011-05-26 | 2011-05-26 | 프로세서 온도 정보를 이용한 프로세서 전력/발열 모델의 동적 계산 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20120131797A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105222923A (zh) * | 2015-10-08 | 2016-01-06 | 许继电源有限公司 | 一种电池组各点温度检测方法 |
US9588577B2 (en) | 2013-10-31 | 2017-03-07 | Samsung Electronics Co., Ltd. | Electronic systems including heterogeneous multi-core processors and methods of operating same |
-
2011
- 2011-05-26 KR KR1020110050210A patent/KR20120131797A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588577B2 (en) | 2013-10-31 | 2017-03-07 | Samsung Electronics Co., Ltd. | Electronic systems including heterogeneous multi-core processors and methods of operating same |
CN105222923A (zh) * | 2015-10-08 | 2016-01-06 | 许继电源有限公司 | 一种电池组各点温度检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Singla et al. | Predictive dynamic thermal and power management for heterogeneous mobile platforms | |
US9311209B2 (en) | Associating energy consumption with a virtual machine | |
US9702767B2 (en) | Calibrating thermal behavior of electronics | |
US7756666B2 (en) | Generation of hardware thermal profiles for a set of processors | |
US7698089B2 (en) | Generation of software thermal profiles executed on a set of processors using processor activity | |
TW201032038A (en) | Deterministic management of dynamic thermal response of processors | |
US7490017B2 (en) | Analytical generation of software thermal profiles | |
US20070124618A1 (en) | Optimizing power and performance using software and hardware thermal profiles | |
US20070260415A1 (en) | Optimizing thermal performance using thermal flow analysis | |
US7512530B2 (en) | Generation of software thermal profiles for applications in a simulated environment | |
US7395174B2 (en) | Generation of software thermal profiles executed on a set of processors using thermal sampling | |
US9672577B2 (en) | Estimating component power usage from aggregate power usage | |
CN105210466A (zh) | 用于利用管芯上的传感器进行热控制的系统和方法 | |
Chung et al. | Using on-chip event counters for high-resolution, real-time temperature measurement | |
TW201520563A (zh) | 耗電預測裝置、方法及其電腦程式產品 | |
US9020770B2 (en) | Estimating component power usage from aggregate power usage | |
US20130211752A1 (en) | Software power analysis | |
KR20120131797A (ko) | 프로세서 온도 정보를 이용한 프로세서 전력/발열 모델의 동적 계산 | |
KR101655027B1 (ko) | 전자 기기의 유효 작업부하 결정 방법 및 장치 | |
CN104792439A (zh) | 温度测量方法、装置、探头和系统 | |
JP6786011B2 (ja) | 環境情報管理システム | |
CN106444910B (zh) | 一种终端设备的散热方法、装置及系统 | |
CN105760270B (zh) | 一种能耗估算的方法及装置 | |
Chung et al. | A novel software solution for localized thermal problems | |
RU2552177C2 (ru) | Способ оценки влияния работы приложений и их функций на энергопотребление во встраиваемых системах |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |