KR101501537B1 - 사전 로드 조정에 의해 열 로드를 프림프트하기 위한 방법 및 시스템 - Google Patents

사전 로드 조정에 의해 열 로드를 프림프트하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101501537B1
KR101501537B1 KR1020147003332A KR20147003332A KR101501537B1 KR 101501537 B1 KR101501537 B1 KR 101501537B1 KR 1020147003332 A KR1020147003332 A KR 1020147003332A KR 20147003332 A KR20147003332 A KR 20147003332A KR 101501537 B1 KR101501537 B1 KR 101501537B1
Authority
KR
South Korea
Prior art keywords
thermal
maximizing
pcd
processing components
components
Prior art date
Application number
KR1020147003332A
Other languages
English (en)
Other versions
KR20140045548A (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 퀄컴 인코포레이티드
Publication of KR20140045548A publication Critical patent/KR20140045548A/ko
Application granted granted Critical
Publication of KR101501537B1 publication Critical patent/KR101501537B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/203Cooling means for portable computers, e.g. for laptops

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Control Of Temperature (AREA)

Abstract

임계치를 초과한 열 에너지의 생성을 프림프트함으로써 "PCD"(portable computing device)에서 "QoS"(quality of service) 레벨을 최대화하기 위한 방법 및 시스템이 기술된다. 이 방법은 PCD 내의 프로세싱 컴포넌트에 대한 작업로드 요청을 수신하는 단계를 포함한다. 프로세싱 컴포넌트는 프로세싱 컴포넌트와 연관된 열 팩터들에 기초하여 작업로드의 할당을 위해 선택된다. 열 팩터들은 프로세싱 컴포넌트 근처의 실시간 열 에너지 생성을 표시하는 데이터, 물리적으로 프로세싱 컴포넌트 부근에 있는 열기 생성 컴포넌트들의 알려진 특성들로부터 유도된 예측 데이터, 프로세싱 컴포넌트에 대한 큐잉된 작업로드 부담들 등을 포함할 수 있다. 프로세싱 컴포넌트는 열 팩터들에 기초하여 작업로드의 할당을 위해 선택된다. 작업로드들을 할당하기 위해 열 팩터들을 레버리지함으로써, 열 생성은 QoS에 부정적으로 영향을 주는 반응적 열 완화 기법들에 관한 의존성이 감소될 수 있도록 사전적으로 관리될 수 있다.

Description

사전 로드 조정에 의해 열 로드를 프림프트하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR PREEMPTING THERMAL LOAD BY PROACTIVE LOAD STEERING}
휴대용 컴퓨팅 디바이스들("PCD들")은 개인 및 전문가 레벨들로 사람들에게 필수적이 되고 있다. 이들 디바이스들은 셀룰러 전화들, 개인 휴대 정보 단말들("PDA"), 휴대용 게임 콘솔들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수 있다.
PCD들의 하나의 고유한 양상은 이들이 랩탑 및 데스크탑 컴퓨터들과 같은 더 큰 컴퓨팅 디바이스들에서 종종 발견되는, 팬(fan)들과 같은 액티브 쿨링 디바이스들(active cooling devices)을 통상 갖지 않는다는 것이다. 그럼으로써, 열 에너지 생성을 관리하기 위해 팬들을 이용하는 대신, PCD는 그의 프로세싱 컴포넌트들에 의해 액티브하게 생성되는 열 에너지의 양을 감소시키도록 역할하는 정책들을 레버리지(leverage)한다. 예를 들어, 몇몇 열 관리 정책들은 과부담된(overburdened) 프로세싱 컴포넌트로부터 대체 프로세싱 컴포넌트들로 작업로드(workload)를 재할당함으로써 PCD에서 열 에너지 생성을 감소시키고자 한다. 다른 열 관리 정책들은 프로세싱 컴포넌트들에 공급되는 전력 주파수를 낮춤으로써 열 에너지의 액티브 생성을 관리하고자 한다.
현재 열 관리 정책들의 일 양상은 이들이 사용자 경험의 희생으로 종종 레버리지된다는 것이다. 예를 들어, 높은 전력 밀도를 갖는 서브-프로세서로부터 낮은 전력 밀도를 갖는 메인 프로세서로 작업로드 부담을 이동시킴으로써, 열 에너지 생성은 계산 속도의 희생으로 완화될 수 있다. 즉, "QoS"(quality of service)는 작업로드가 빠른 서브-프로세서로부터 더 느린 메인 프로세서로 재할당되기 때문에 악화될 수 있다. 유사하게, 프로세서가 실행되는 클록 속도를 단순히 감소시킴으로써, 프로세서는 더 적은 열 에너지를 생성할 수 있지만 프로세싱 효율을 손실할 것이다.
현재 열 관리 정책들의 다른 양상은 이들이 반응적이라는 것이다. 디폴트 작업로드 할당 알고리즘들은 과도한 열 에너지의 조건이 PCD에서 식별될 때만 현재 열 관리 정책들에 의해 조종될 수 있다. 마찬가지로, 프로세서 클록 속도들은 프로세서가 아직 "열을 내며 작동중(running hot)"이거나 그 방향으로 가는 경향이 없으면 감소되지 않는다.
간단히 언급하자면, 현재 열 관리 기법들을 구현하기 위한 "이유"는 보통 PCD 내의 무언가가 뜨겁거나 뜨거워지고 있기 때문이다. 결과적으로, 현재 열 관리 기법들에 의해 제공된 해결책은 열 에너지의 진행중인 생성을 완화하기 위한 것이다. 현재 열 관리 기법들은 PCD 내의 무언가가 뜨겁게 될 가능성이 있거나, 또는 뜨겁게 될 것으로 예측된다고 해서 구현되지는 않는다. 현재 열 관리 기법들은 PCD에서 열 에너지 생성을 사전적으로(proactively) 관리하지 않는다.
이에 따라, 당 기술 분야에서 필요한 것은 과도한 열 에너지의 생성을 프림프트(preempt)함으로써 PCD 성능을 최대화하기 위한 방법 및 시스템이다.
임계치를 초과한 열 에너지의 생성을 프림프트함으로써 "PCD"(portable computing device)에서 "QoS"(quality of service) 레벨을 최대화하기 위한 방법 및 시스템이 기술된다. 이 방법은 다수의 프로세싱 컴포넌트들을 포함하는 PCD 내의 프로세싱 컴포넌트로의 할당에 대한 작업로드 요청을 수신하는 단계를 포함한다. 작업로드 요청의 수신 시에, 프로세싱 컴포넌트는 프로세싱 컴포넌트와 연관된 열 팩터들의 임의의 수의 조합에 기초하여 작업로드의 할당을 위해 선택된다. 예시적인 열 팩터들은 열 센서 측정들과 같이, 프로세싱 컴포넌트 근처의 실시간 열 에너지 생성을 표시하는 데이터를 포함할 수 있다. 다른 예시적이 열 팩터들은 물리적으로 프로세싱 컴포넌트 부근에 있는 열기 생성 컴포넌트들의 알려진 특성들로부터 유도된 예측 데이터를 포함할 수 있다. 또 다른 예시적인 열 팩터들은 프로세싱 컴포넌트에 대한 큐잉된 작업로드 부담들을 표현할 수 있다.
열 팩터들은 프로세싱 컴포넌트들 각각에 적격성 팩터를 할당하도록 레버리지된다. 적격성 팩터에 기초하여, 프로세싱 컴포넌트는 작업로드의 할당을 위해 선택된다. 유리하게는, 프로세싱 컴포넌트의 선택에 있어서 다양한 열 팩터들을 고려함으로써, PCD에서의 열 생성은 QoS에 부정적으로 영향을 주는 반응적 열 완화 기법들에 대한 의존성이 감소될 수 있도록 하는 방식으로 사전적으로 관리될 수 있다.
도면들에서, 유사한 참조 번호들은 달리 표시되지 않으면 다양한 도면들에 전체에 걸쳐서 유사한 부분들을 지칭한다. "102A" 또는 "102B"와 같은 문자 글자 지정자들을 갖는 참조 번호들에 대해, 문자 캐릭터 지정자들은 동일한 도면에 존재하는 2개의 유사한 부분들 또는 엘리먼트들을 구분할 수 있다. 참조 번호들에 대한 문자 캐릭터 지정자들은 참조 번호가 모든 도면들에서 동일한 참조 번호를 갖는 모든 부분들을 포괄하도록 의도될 때 생략될 수 있다.
도 1은 열 조건들을 인지하고 사전 로드 조정 정책들을 관리하기 위한 방법들 및 시스템들을 구현하기 위해 무선 전화 형태의 휴대용 컴퓨팅 디바이스("PCD")의 예시적인 비-제한적 양상의 기능적 블록도이다.
도 2는 도 1에서 예시된 칩에 대한 하드웨어의 예시적인 공간적 어레인지먼트를 예시하는 기능적 블록도이다.
도 3은 도 1에서 예시된 칩 외부의 예시적인 컴포넌트들 및 도 1에서 예시된 칩에 대한 하드웨어의 예시적인 공간적 어레인지먼트를 예시하는 기능적 블록도이다.
도 4는 도 2에서 예시된 칩의 열 정책 관리자("TPM"), 사전 로드 조정("PLS"), 구동기 블록, 프로세싱 컴포넌트, 메모리 및 센서들 간의 각각의 논리적 연결들을 예시하는 기능적 블록도이다.
도 5는 PCD에서 사전 로드 조정에 의해 열 생성 임계치들을 프림프트하기 위한 방법을 예시하는 논리적 흐름도이다.
도 6은 사전 로드 조정 실시예에 따라 작업로드가 할당될 PCD 내의 프로세싱 컴포넌트를 선택하기 위한 서브-방법 또는 서브루틴을 예시하는 논리적 흐름도이다.
"예시적인"이라는 단어는 본 명세서에서 "예시, 실례 또는 예증으로서의 역할"을 의미하는데 사용된다. 본 명세서에서 "예시적인" 것으로서 설명되는 어떠한 양상도 다른 양상들에 비해 배타적이거나 선호되거나 유리한 것으로 반드시 해석되는 것은 아니다.
이 명세서에서, "애플리케이션"이라는 용어는 또한 객체 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들 및 패치(patch)들과 같은 실행 가능 콘텐츠를 갖는 파일들을 포함할 수도 있다. 추가로, 본 명세서에서 지칭되는 "애플리케이션"은 또한 열릴 필요가 있을 수도 있는 문서들이나 액세스될 필요가 있는 다른 데이터 파일들과 같이, 본래 실행 가능하지 않은 파일들을 포함할 수도 있다.
"콘텐츠" 라는 용어는 또한 객체 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들 및 패치들과 같이 실행 가능한 콘텐츠를 갖는 파일들을 포함할 수 있다. 또한, 여기서 지칭되는 바와 같은 "콘텐츠"는 또한 열릴 필요가 있을 수 있는 문서들이나 액세스될 필요가 있는 다른 데이터 파일들과 같이, 본래 실행 가능하지 않은 파일들을 포함할 수도 있다.
이 명세서에서 이용되는 바와 같이, "컴포넌트", "데이터베이스", "모듈", "시스템", "열 에너지 생성 컴포넌트", "프로세싱 컴포넌트", "구동기" 등의 용어들은 컴퓨터-관련 엔티티, 즉, 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행 가능한 것, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이들로 제한되지 않는다. 예로서, 컴퓨팅 디바이스 상에서 실행중인 애플리케이션 및 컴퓨팅 디바이스 둘 다는 컴포넌트일 수 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 컴포넌트는 2개 이상의 컴포넌트들 사이에 분배되고 및/또는 하나의 컴퓨터 상에서 로컬화될 수 있다. 또한, 이들 컴포넌트들은 다양한 데이터 구조들이 그 위에 저장된 다양한 컴퓨터 판독 가능한 매체들로부터 실행될 수 있다. 컴포넌트들은 예컨대 하나 이상의 데이터 패킷들(예를 들면, 로컬 시스템에서, 분산 시스템에서 및/또는 신호에 의한 다른 시스템들과의 네트워크(예를 들어, 인터넷)를 통해 다른 컴포넌트와 상호 작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들을 통해 통신할 수 있다.
이 명세서에서, "통신 디바이스", "무선 디바이스", "무선 전화", "무선 통신 디바이스" 및 "무선 핸드셋"이라는 용어들은 상호 교환 가능하게 이용된다. 제 3 세대("3G") 및 제 4 세대("4G") 무선 기술의 출현으로, 더 큰 대역폭 가용성은 더 큰 다양한 무선 성능들을 갖는 보다 많은 휴대용 컴퓨팅 디바이스들을 인에이블하였다.
이 명세서에서, "CPU"(central processing unit), "DSP"(digital signal processor) 및 "칩"이란 용어들은 상호 교환 가능하게 이용된다.
이 명세서에서, "열" 및 "열 에너지"란 용어들은 "온도"의 단위들로 측정될 수 있는 에너지를 생성하거나 소산시킬 수 있는 디바이스 또는 컴포넌트와 관련하여 이용될 수 있다는 것이 이해될 것이다. 결과적으로, "온도"란 용어는, 임의의 표준 값을 참조하여, "열 에너지" 생성 디바이스 또는 컴포넌트의 상대적 따듯함 또는 그의 열기(heat)의 부재를 표시할 수 있는 임의의 측정을 표현한다는 것이 추가로 이해될 것이다. 예를 들어, 2개의 컴포넌트의 "온도"는 2개의 컴포넌트들이 "열" 평형 상태에 있을 때 동일하다.
이 명세서에서, "작업로드(workload)", "프로세스 로드", "프로세스 작업로드" 란 용어들은 상호 교환 가능하게 이용되고, 일반적으로 정해진 실시예에서 정해진 프로세싱 컴포넌트와 연관되는 프로세싱 부담 또는 프로세싱 부담의 퍼센티지를 가리킨다. 위에서 정의된 것 외에, "프로세싱 컴포넌트", "계산 블록", 또는 "열 에너지 생성 컴포넌트"는 중앙 처리 장치, 그래픽 처리 장치, 코어, 메인 코어, 서브-코어, 프로세싱 영역, 하드웨어 엔진 등 또는 휴대용 컴퓨팅 디바이스 내의 집적 회로 내에 또는 외부에 상주하는 임의의 컴포넌트일 수 있지만 이들로 제한되지 않는다. 또한, "열 로드", "열 분배", "열 시그니처", "열 프로세싱 로드" 등의 용어들이 프로세싱 컴포넌트 상에서 실행중일 수 있는 작업로드 부담들을 표시하는 한, 당업자는 본 개시에서 이들 "열"이란 용어들의 이용이 프로세스 로드 분배들, 프로세스 부담들 및 프로세스 레이트들에 관련될 수 있다는 것을 인지할 것이다.
이 명세서에서, 휴대용 컴퓨팅 디바이스("PCD")라는 용어는 배터리와 같은 한정된 용량의 전원으로 동작하는 임의의 디바이스를 설명하는데 사용된다. 수십 년간 배터리 동작 PCD들이 사용되어 왔지만, 3세대("3G") 무선 기술의 출현과 결부된 충전 가능한 배터리들의 기술적 진보들은 다양한 능력들을 가진 수많은 PCD들을 가능하게 하였다. 따라서 PCD는 무엇보다도, 셀룰러 전화, 위성 전화, 호출기, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 테블릿 컴퓨터, 미디어 플레이어, 앞서 언급한 디바이스들의 조합, 무선 연결성을 가진 랩톱 컴퓨터일 수 있다.
이 명세서에서, "구동기", "구동기 블록", "구동기 컴포넌트" 등의 용어들은 작업로드를 프로세싱하도록 동작 가능한 PCD 내의 컴포넌트 또는 컴포넌트들에 작업로드를 할당, 재할당, 또는 다른 방식으로 분배할 수 있는 PCD 내의 임의의 컴포넌트를 지칭하기 위해 상호 교환 가능하게 이용된다. 따라서, 당업자는 "구동기", "구동기 블록", "구동기 컴포넌트", "작업로드 구동기" 등이 그래픽 스케줄러, 운영 체제("O/S") 스케줄러 등(그러나 이들로 제한되지 않음)일 수 있다는 것을 인지할 것이다.
통상적인 시나리오에서, "PCD"(portable computing device)는 최대(full) 프로세싱 전력으로 프로세싱 코어를 실행함으로써 특정한 수의 "MIPS"(millions of instructions per second)를 프로세싱할 수 있다. 이를 실행할 때, 코어는 특정한 양의 전력을 소비할 것이다. 이는 생성된 열 에너지의 연관된 양의 소산을 야기한다. 최대 프로세싱 전력으로 실행중인 프로세싱 코어에 의해 생성되는 열 에너지는 PCD에 해로울 수 있거나 해롭지 않을 수 있다. 또한, 실행중인 프로세싱 코어에 물리적으로 근접해 있는 컴포넌트에 의해 생성된 열 에너지는 PCD 기능에 해로울 수 있거나 해롭지 않을 수 있다. 그러나 소스에 무관하게, 소산되도록 요구되는 열 에너지가 PCD에 해롭거나 잠재적으로 재해적인 경우에, 코어가 실행중인 전력을 감소키거나 또는 프로세싱 코어 상의 작업로드 부담을 감소시키기 위한 대책들이 취해질 수 있다. 어느 방식이든, QoS는 악화될 것이다.
이론적으로, 완벽히 밸런싱된 PCD 시스템 설계는 반응적 열 완화 대책을 필요로 하는 열 로드를 생성함 없이 작업 로드가 분배될 수 있도록 열 밸런싱된 품질들을 당연히 나타낼 것이다. 이러한 이상적인 시나리오에서, 반응적 열 완화 대책들은, 열 로드들이 PCD에 걸쳐서 열 평형을 유지하게 하는 단순한 "라운드 로빈" 할당 알고리즘들을 통해 유효하게 관리될 수 있기 때문에 자주 필요하진 않을 수 있다.
그러나 당업자가 입증할 수 있는 바와 같이, 이러한 이상적인 시나리오는 현실적이지 않다. 오늘날의 PCD들은 많은 기능을 매우 작은 물리적 패키지 내에 넣는다. 결과적으로, 프로세싱 컴포넌트들은 일반적으로 PCD 전체에 걸쳐서 균등하게 이격되지 않는다. 오히려, 공간이 발견되는 모든곳에 컴포넌트들이 종종 PCD 내로 욱여 넣어진다. 또한 PCD 내의 몇몇 프로세싱 컴포넌트들은 다른 프로세싱 컴포넌트들이 "더 차가운" 위치들에 상주하는 동안 다른 열 에너지 생성 컴포넌트들 근처에 위치될 것이 불가피하다. 또한, 프로세싱 컴포넌트 규격들 및 사용자 이용 패턴들과 같은 팩터들은 종종 다른 팩터들과 조합되어 균일한 작업로드 할당을 비현실적이 되게 한다.
작업로드를 PCD 내의 프로세싱 컴포넌트로 조정할 때 현재 및 예측된 열 팩터들 둘 다를 가중화하는 열 완화 기법은 사용자 경험을 최대화하고 열 에너지의 불필요한 생성을 방지할 수 있다. 명백히, 잠재적으로 해로운 열 에너지의 생성이 방지될 수 있는 경우, PCD에서 반응적 열 완화 기법들의 구현은 덜 자주 필요하게 될 수 있다. 유리하게는, 사전 열 완화 기법을 레버리지함으로써, 그렇지 않았으면 반응적 완화 기법들에 대한 필요성을 트리거하는 열 조건들을 야기했었을 이용 경우들에서 높은 QoS 레벨이 유지될 수 있다.
사전 로드 조정 기법은 열 로드의 생성을 프림프트하거나 또는 PCD 내에서 최적의 시간 및 위치에 열 로드가 생성되게 명령할 수 있을 수 있다. 예를 들어, 예시적인 사전 로드 조정 기법은 작업로드를 프로세싱 컴포넌트에 할당하기 이전에 PCD 내의 임의의 수의 현재 및 예측된 조건들을 고려할 수 있다. 작업로드를 할당하기 이전에 사전 로드 조정 기법이 고려할 수 있는 팩터들은 프로세싱 컴포넌트들의 물리적 다이 배치, 알려진 열 에너지 생성 컴포넌트들에 대한 프로세싱 컴포넌트들의 근접도, 칩 상의 하드웨어 레이아웃 고유의 열 성향들, PCD 내의 적격의 프로세싱 컴포넌트들의 양, 실시간 온도 측정들, 실시간 작업로드 부담들, 큐잉된(queued) 작업로드 부담들, 프로세싱 컴포넌트 규격들, PCD 내의 다양한 컴포넌트와 연관된 이력 데이터, 사용자 동작들 또는 패턴들과 관련된 이력 데이터 등을 포함하지만, 이들로 제한되지 않는다.
PCD가 높은 레벨의 QoS를 유지하면서 열 에너지의 해로운 생성을 방지하기 위해 사전 로드 조정 기법을 레버리지할 수 있는 상황의 비-제한적인 예가 비행기 상의 사용자에 의해 예시된다. 예를 들어, PCD 사용자가 최근에 PCD를 "비행기 모드"에 두었다는 것을 가정한다. 당업자가 인지하는 바와 같이, PCD를 "비행기 모드"에 둔다는 것은 그의 신호 전송 기능들을 디스에이블할 수 있어서, 사용자는, PCD의 다른 기능이 사용자에게 여전히 이용 가능할지라도 통신들을 하거나 수신할 수 없게 될 수 있다.
예시적인 상황으로 돌아오면, 특정한 높은 전력 밀도 서브-프로세서는 PCD 내에서 높은 양의 열 에너지를 소산하는 것으로 악명 높은 "RF"(radio frequency) 생성기 컴포넌트에 물리적으로 근접하여 있게 될 수 있다. PCD가 단지 최근에 비행기 모드로 두어졌기 때문에, RF 생성기 컴포넌트는 여전히 최근 이용으로부터 뜨거울 수 있다. 사용자는 작업로드 요청을 야기하는 PCD 상의 게임 애플리케이션의 실행을 시작할 수 있다. 결과적으로, 게임 애플리케이션은 최상의 사용자 경험을 위해 높은 계산 효율의 프로세싱을 요구하기 때문에, PCD 내의 구동기 블록은 높은 전력 밀도 서브-프로세서에 작업로드 요청을 할당하는 것을 디폴트(default)로 한다.
이 예에서, 온도 판독들은, 아마도 뜨거운 RF 생성기 컴포넌트에 기인하여, 특정한 서브-프로세서 주위의 영역이 열 임계치에 가깝다는 것을 표시한다. 열 조건들로 인해, 반응적 열 완화 정책은 디폴트 할당을 무효화하고, 작업로드 요청이 더 낮은 전력 밀도를 갖는 메인 프로세서에 할당되어야 한다고 지시할 수 있다. 이러한 상황에서, 당업자는 게임 인터페이스의 프로비전(provision) 시에 사용자 경험이 메인 프로세서의 더 느린 계산 효율로 인해 악화될 수 있다는 것을 인지할 것이다. 사전 로드 조정 기법을 레버리지하는 PCD에서, PCD가 최근에 비행기 모드로 두게 되었다는 사실이 할당 알고리즘에서 가중화될 수 있어서, 특정한 서브-프로세서 근처에서 측정된 현재 온도는 경감되게 된다. 즉, RF 생성기 컴포넌트가 디스에이블되기 때문에, RF 생성기와 연관되는 열 에너지 소산은 계속 감소할 것이라고 추론될 수 있고, 따라서 사전 로드 조정 기법은 특정한 서브-프로세서에 게임 작업로드를 할당하도록 선택할 수 있다.
위의 예는 예시적인 목적을 위해서만 제공되며, 사전 로드 조정 기법이 레버리지될 수 있는 시나리오들의 범위를 제한하도록 의도되지 않거나 또는 이를 제한하지도 않는다. 또한, 위의 예는 사전 로드 조정 방법 또는 시스템의 임의의 정해진 실시예에 의해 가중화되고 고려될 수 있는 팩터들, 또는 팩터들의 조합을 제한하지 않는다. 따라서, 사전 로드 조정 방법 또는 시스템의 임의의 정해진 실시예는 PCD에서 프로세싱 작업로드를 할당하기 이전에, 임의의 특정한 열 관련 팩터 또는 팩터들의 조합을 레버리지하는 것으로 제한되지 않는다는 것을 당업자가 인지할 것이다.
도 1은 열 조건들을 인지하고 사전 로드 조정 정책들을 관리하기 위한 방법들 및 시스템들을 구현하기 위해 무선 전화의 형태의 PCD(100)의 예시적인 비-제한적인 양상의 기능적 블록도이다. 몇몇 실시예들에 따라, PCD(100)는 명령들 프로세싱과 연관된 열 로드를 관리 및/또는 방지하도록 구성될 수 있다. 도시된 바와 같이, PCD(100)는 서로 커플링되는 다중 코어 중앙 처리 장치("CPU")(110) 및 아날로그 신호 프로세서(126)를 포함하는 온-칩 시스템(102)을 포함한다. CPU(110)는 당업자에 의해 이해되는 바와 같이, 0번째 코어(222), 1번째 코어(224), 및 N번째 코어(230)를 포함할 수 있다. 또한, CPU(110) 대신, 디지털 신호 프로세서("DSP")는 또한 당업자에 의해 이해되는 바와 같이 이용될 수 있다.
일반적으로, 열 정책 관리 모듈(들)(101)은 PCD(100)가 열 조건들 및/또는 열 로드들을 관리하고, 높은 레벨의 기능을 유지하면서, 예를 들어, 임계 온도들에 도달하는 것과 같이 불리한 열 조건들을 경험하는 것을 방지하게 할 수 있는 하나 이상의 열 완화 기법들을 포함하는 열 정책들을 모니터링 및 적용하는 것을 담당할 수 있다.
도 1은 또한 PCD(100)가 모니터 모듈(114)을 포함할 수 있음을 도시한다. 모니터 모듈(114)은 온-칩 시스템(102) 전체에 걸쳐서 분포되는 다수의 동작 센서들(예를 들어, 열 센서들(157)) 및 PCD(100)의 CPU(110)는 물론 열 정책 관리자 모듈(101)과 통신한다. 열 정책 관리자 모듈(101)은 아래에서 추가로 상세히 설명될 바와 같이 불리한 열 조건들을 식별하고 하나 이상의 열 완화 기법들을 포함하는 열 정책들을 적용하도록 모니터 모듈(114) 및 사전 로드 조정("PLS") 모듈(들)(109)과 함께 작동할 수 있다.
도 1에 예시된 바와 같이, 디스플레이 제어기(128) 및 터치스크린 제어기(130)가 디지털 신호 프로세서(110)에 커플링된다. 온-칩 시스템(102) 외부의 터치스크린 디스플레이(132)가 디스플레이 제어기(128) 및 터치스크린 제어기(130)에 커플링된다.
PCD(100)는 추가로, 비디오 인코더(134), 예를 들어 "PAL(phase-alternating line)" 인코더, "SECAM(sequential couleur avec memoire)" 인코더, "NTSC(national television system(s) committee)" 인코더 또는 임의의 다른 타입의 비디오 인코더(134)를 포함할 수 있다. 비디오 인코더(134)는 다중-코어 중앙 처리 장치("CPU")(110)에 커플링된다. 비디오 증폭기(136)가 비디오 인코더(134) 및 터치스크린 디스플레이(132)에 커플링된다. 비디오 포트(138)가 비디오 증폭기(136)에 커플링된다. 도 1에 도시된 바와 같이, 범용 직렬 버스("USB(universal serial bus)") 제어기(140)가 CPU(110)에 커플링된다. 또한, USB 포트(142)가 USB 제어기(140)에 커플링된다. 메모리(112) 및 가입자 신원 모듈(SIM: subscriber identity module) 카드(146)가 또한 CPU(110)에 커플링될 수 있다. 또한, 도 1에 도시된 바와 같이, 디지털 카메라(148)가 CPU(110)에 커플링될 수 있다. 예시적인 양상에서, 디지털 카메라(148)는 "CCD"(charge-coupled device) 카메라 또는 "CMOS"(complementary metal-oxide semiconductor) 카메라이다.
도 1에 더 예시된 바와 같이, 스테레오 오디오 코덱(150)이 아날로그 신호 프로세서(126)에 커플링될 수 있다. 더욱이, 오디오 증폭기(152)가 스테레오 오디오 코덱(150)에 커플링될 수 있다. 예시적인 양상에서, 제 1 스테레오 스피커(154) 및 제 2 스테레오 스피커(156)가 오디오 증폭기(152)에 커플링된다. 도 1은 마이크로폰 증폭기(158)가 또한 스테레오 오디오 코덱(150)에 커플링될 수 있음을 보여준다. 추가로, 마이크로폰(160)이 마이크로폰 증폭기(158)에 커플링될 수 있다. 특정 양상에서, 주파수 변조("FM(frequency modulation)") 라디오 튜너(162)가 스테레오 오디오 코덱(150)에 커플링될 수 있다. 또한, FM 안테나(164)가 FM 라디오 튜너(162)에 커플링된다. 또한, 스테레오 헤드폰들(166)이 스테레오 오디오 코덱(150)에 커플링될 수 있다.
도 1은 또한, 무선 주파수("RF(radio frequency)") 트랜시버(168)가 아날로그 신호 프로세서(126)에 커플링될 수 있음을 나타낸다. RF 스위치(170)가 RF 트랜시버(168) 및 RF 안테나(172)에 커플링될 수 있다. 도 1에 도시된 바와 같이, 키패드(174)가 아날로그 신호 프로세서(126)에 커플링될 수 있다. 또한, 마이크로폰을 구비한 모노 헤드셋(176)이 아날로그 신호 프로세서(126)에 커플링될 수 있다. 또한, 진동기 디바이스(178)가 아날로그 신호 프로세서(126)에 커플링될 수 있다. 도 1은 또한 전원(108), 예를 들어 배터리가 온-칩 시스템(102)에 커플링됨을 보여준다. 특정 양상에서, 전원은 교류("AC(alternating current)") 전원에 연결된 AC-DC 변압기로부터 유도되는 재충전 가능한 DC 배터리 또는 DC 전원을 포함한다.
CPU(110)는 또한 하나 이상의 내부의 온-칩 열 센서들(157A)은 물론 하나 이상의 외부의 오프-칩 열 센서들(157B)에 커플링될 수 있다. 온-칩 열 센서들(157A)은 "CMOS(complementary metal oxide semiconductor) VLSI"(very large-scale integration) 회로들에 보통 전용되고 수직 PNP 구조에 기초하는 하나 이상의 "PTAT"(proportional to absolute temperature) 온도 센서들을 포함할 수 있다. 오프-칩 열 센서들(157B)은 하나 이상의 서미스터들(thermistors)을 포함할 수 있다. 열 센서들(157)은 "ADC"(analog-to-digital converter) 제어기(103)(도 2 참조)를 통해 디지털 신호들로 변환된 전압 드롭(voltage drop)을 생성할 수 있다. 그러나 다른 타입들의 열 센서들(157)은 본 발명의 범위로부터 벗어남 없이 이용될 수 있다.
ADC 제어기(103)에 의해 제어되고 모니터링되는 것 외에, 열 센서들(157)은 또한 하나 이상의 열 정책 관리자 모듈(들)(101) 및/또는 PLS 모듈(들)(109)에 의해 제어되고 모니터링될 수 있다. 열 정책 관리자 모듈(들)(101)은 CPU(110)에 의해 실행되는 소프트웨어를 포함할 수 있다. 그러나 열 정책 관리자 모듈(들)(101)은 또한 본 개시의 범위로부터 벗어남 없이 하드웨어 및/또는 펌웨어로부터 형성될 수 있다. 열 정책 관리자 모듈(들)(101)은 PCD(100)가 높은 레벨의 기능을 유지하면서 임계 온도를 방지하게 할 수 있는 하나 이상의 열 완화 기법을 포함하는 열 정책들을 모니터링 및 적용하는 것을 담당할 수 있다. 유사하게, PLS 모듈(들)(109)은 CPU(110)에 의해 실행되는 소프트웨어를 포함할 수 있다. 그러나 PLS 모듈(들)(109)은 또한 본 개시의 범위로부터 벗어남 없이 하드웨어 및/또는 펌웨어로부터 형성될 수 있다. 구동기 블록(들)(207) 및 센서들(157)과 협력하여 작동하는 PLS 모듈(들)(109)은 PCD(100)가 높은 레벨의 기능을 유지하면서 임계 온도들을 방지하게 할 수 있는 하나 이상의 열 완화 기법들을 포함하는 열 정책들을 적용하는 것을 담당할 수 있다.
도 1은 또한, PCD(100)가 모니터 모듈(114)을 포함할 수 있음을 보여준다. 모니터 모듈(114)은 온-칩 시스템(102) 전체에 걸쳐서 분포되는 다수의 동작 센서들과 그리고 열 정책 관리 모듈(101) 및 PLS 모듈(109)은 물론 PCD(100)의 CPU(110)와 통신한다. 모듈들(101, 109) 중 어느 하나 또는 둘 다는 아래에서 추가로 상세히 설명될 바와 같이 하나 이상의 열 완화 기법들을 포함하는 열 정책들을 적용하기 위해 모니터 모듈과 함께 작동할 수 있다.
도 1은 터치스크린 디스플레이(132), 비디오 포트(138), USB 포트(142), 카메라(148), 제 1 스테레오 스피커(154), 제 2 스테레오 스피커(156), 마이크로폰(160), FM 안테나(164), 스테레오 헤드폰들(166), RF 스위치(170), RF 안테나(172), 키패드(174), 모노 헤드셋(176), 진동기(178), 열 센서들(157B), 전원(108) 및 열 에너지의 다양한 소스들(107)이 온-칩 시스템(102) 외부에 있다는 것을 또한 보여준다. 그러나 모니터 모듈(114)은 또한 PCD(100) 상에서 동작 가능한 자원들의 실시간 관리에 도움이 되도록 아날로그 신호 프로세서(126) 및 CPU(110)에 의해 이러한 외부 디바이스들 중 하나 이상의 디바이스로부터 하나 이상의 지시들 또는 신호들을 수신할 수 있다고 이해되어야 한다.
특정 양상에서, 본 명세서에서 설명되는 방법 단계들 중 하나 이상의 단계는 하나 이상의 열 정책 관리자 모듈(들)(101) 및/또는 사전 로드 조정 모듈(들)(109)을 형성하는, 메모리(112)에 저장된 실행 가능 명령들 및 파라미터들에 의해 구현될 수 있다. 모듈(들)을 형성하는 이러한 명령들은 본 명세서에서 설명되는 방법들을 수행하기 위해, ADC 제어기(103) 외에, CPU(110), 아날로그 신호 프로세서(126) 또는 다른 프로세서에 의해 실행될 수 있다. 또한, 프로세서들(110, 126), 메모리(112), 그 내부에 저장된 명령들, 또는 이들의 조합은 본 명세서에서 설명되는 방법 단계들 중 하나 이상의 단계를 수행하기 위한 수단의 역할을 할 수 있다.
도 2는 도 1에서 예시되는 칩(102)에 대한 하드웨어의 예시적인 공간적 어레인지먼트를 예시하는 기능적 블록도이다. 이 예시적인 실시예에 따라, 애플리케이션들 CPU(110)는 칩(102)의 맨 좌측 영역 상에 위치되는 반면에, 모뎀 CPU(168, 126)은 칩(102)의 맨 우측 영역 상에 위치된다. 애플리케이션들 CPU(110)는 0번째 코어(222), 1번째 코어(224) 및 N번째 코어(230)를 포함하는 다중-코어 프로세서를 포함할 수 있다. 애플리케이션들 CPU(110)는 (소프트웨어로 구현될 때) 열 정책 관리자 모듈(101A) 및/또는 사전 로드 조정 모듈(109A)을 실행하고 있을 수 있거나 이는 (하드웨어로 구현될 때) 열 정책 관리자 모듈(101A) 및/또는 사전 로드 조정 모듈(109A)을 포함할 수 있다. 애플리케이션들 CPU(110)는 "O/S"(operating system) 모듈(207A) 및 모니터 모듈(114)을 포함하도록 또한 예시된다.
애플리케이션들 CPU(110)는 칩(102)의 좌측 영역에 있고 애플리케이션들 CPU(110)에 가까이 위치되는 하나 이상의 "PLL들"(phase locked loops)(209A, 209B)에 커플링될 수 있다. PLL들(209A, 209B)에 가까이 그리고 애플리케이션들 CPU(110) 아래에는 애플리케이션들 CPU(110)의 메인 모듈(들)(101A, 109A)과 함께 작동하는 그 자신의 열 정책 관리자(101B) 및/또는 사전 로드 조정 모듈(109B)을 포함할 수 있는 "ADC"(analog-to-digital) 제어기(103)가 포함될 수 있다.
ADC 제어기(103)의 모듈(들)(101B, 109B)은 "온-칩"(102) 및 "오프-칩"(102)으로 제공될 수 있는 다수의 열 센서들(157)을 모니터링 및 트래킹하는 것을 담당할 수 있다. 온-칩 또는 내부 열 센서들(157A)은 다양한 위치들에 위치될 수 있다.
예를 들어, 제 1 내부 열 센서(157A1)는 애플리케이션들 CPU(110)와 모뎀 CPU(168, 126) 사이에 그리고 내부 메모리(112)에 가까이, 칩(102)의 상부 중앙 영역에 위치될 수 있다. 제 2 내부 열 센서(157A2)는 칩(102)의 우측 영역 상의 모뎀 CPU(168, 126) 아래에 위치될 수 있다. 이러한 제 2 내부 열 센서(157A2)는 또한 "ARM"(advanced reduced instruction set computer ("RISC") instruction set machine)(177)과 제 1 그래픽들 프로세서들(135A) 사이에 위치될 수 있다. "DAC"(digital-to-analog converter)(173)는 제 2 내부 열 센서(157A2)와 모뎀 CPU(168, 126) 사이에 위치될 수 있다.
제 3 내부 열 센서(157A3)는 칩(102)의 맨 우측 영역에서 제 2 그래픽들 프로세서(135B)과 제 3 그래픽들 프로세서(135C) 사이에 위치될 수 있다. 제 4 내부 열 센서(157A4)는 칩(102)의 맨 우측 영역에 그리고 제 4 그래픽들 프로세서(135D) 아래에 위치될 수 있다. 그리고 제 5 내부 열 센서(157A5)는 칩(102)의 맨 좌측 영역에 그리고 PLL들(209) 및 ADC 제어기(103)에 가까이 위치될 수 있다.
하나 이상의 외부 열 센서들(157B)은 ADC 제어기(103)에 또한 커플링될 수 있다. 제 1 외부 열 센서(157B1)는 모뎀 CPU(168, 126), ARM(177) 및 DAC(173)를 포함할 수 있는 칩(102)의 상부 우측 사분면에 가까이 그리고 오프-칩으로 위치될 수 있다. 제 2 외부 열 센서(157B2)는 제 3 및 제 4 그래픽들 프로세서들(135C, 135D)을 포함할 수 있는 칩(102)의 하부 우측 사분면에 가까이 그리고 오프-칩으로 위치될 수 있다. 제 3 외부 열 센서(157B3)는 예시적인 "PMIC"(power management integrated circuit)(107A)과 같은 외부 열 에너지 소스(107)에 가까이 그리고 오프-칩으로 위치될 수 있다.
당업자는 도 2에서 예시된 하드웨어의 다양한 다른 공간적 어레인지먼트들이 본 개시의 범위로부터 벗어남 없이 제공될 수 있다는 것을 인지할 것이다. 도 2는 단지 하나의 예시적인 공간적 어레인지먼트 및 메인 모듈(들)(101A, 109A) 및 그 자신의 모듈(들)(101B, 109B)을 갖는 ADC 제어기(103)가 도 2에서 예시된 예시적인 공간적 어레인지먼트의 함수인 열 조건들을 어떻게 관리할 수 있는지를 예시한다.
도 3은 본 명세서에서 설명된 사전 로드 조정 기법들과 같은 다양한 열 완화 기법들의 적용으로부터 혜택을 받을 수 있는 "ASIC"(application specific integrated circuit)(102)의 예시적인 평면도(300)를 예시한다. 도 3의 예에서, 모뎀 컴포넌트(310) 및 인코더 컴포넌트(315)는 ASIC(102) 상에 상주할 수 있는 예시적인 PCD 컴포넌트들을 표현하도록 포함된다. RF 생성기(168A)와 함께 CPU 뱅크(110A)의 분배된 프로세싱 코어들은 ASIC(102) 상에 열 에너지를 생성하는 주 컴포넌트들을 표현한다. "PMIC"(power management integrated circuit)(107A)는 예를 들어, ASIC(102) 상에 상주하지 않지만, CPU(110A)의 프로세싱 코어들(0 및 1) 부근(305)에 있는 것으로 표현된다.
PMIC(107A)는 물론, PCD(100) 내에 상주하는 다른 컴포넌트들은 프로세싱 코어들(0 및 1) 바로 부근(305)에 배치될 수 있고, 그에 의해 컴포넌트들로부터 소산되는 열 에너지가 코어들을 통해 전파할 때 더 높은 평균 동작 온도에 대해 프로세싱 코어들에서 바이어스(bias)를 생성한다. 당업자는 프로세싱 코어 온도에 관한 이들 부근의 컴포넌트들의 악영향이 다양한 PCD(100) 구성들 및/또는 이용 경우들에서 예측 가능할 수 있다는 것을 인지할 것이다. 따라서, PCD(100) 내의 비-계산적 컴포넌트들에 의해 수행되거나 수행되기 위해 큐잉되는 작업들에 기인한 열 팩터들은 가중화될 수 있다는 것이 사전 로드 조정 알고리즘들의 이점이라는 것을 당업자는 또한 인지할 것이다. 열 팩터들 및 다른 조건들을 가중화함으로써, 작업로드들은 반응적 열 완화 기법들을 필요로 할 레벨까지의 열 에너지의 생성을 저지하는 방식으로 프로세서에 할당될 수 있다.
예를 들어, PCD(100) 내의 제한된 물리적 공간으로 인해, PMIC(107A)는 ASIC(102) 바로 뒤에 그리고 그 가까이 상주할 수 있다. 따라서, 당업자는 PMIC(107A) 또는 다른 외부 열기 생성 컴포넌트들로부터 소산되는 열 에너지가 CPU(110A) 내의 코어들(0 및 1) 중 어느 하나 상에서 센서들(157)로부터 취해지는 온도 판독들에 악영향을 줄 수 있다는 것을 인지할 것이다. 사전 로드 조정 실시예의 비-제한적인 애플리케이션으로서, 열 정책 관리자(101A)는 PMIC(107A)가 코어들(0 및 1)을 열 임계치에 접근하게 하였음을 센서들(157A)로부터 인지할 수 있다. 그러한 것으로서, 반응적 열 완화 기법들은 코어들에 제공되는 프로세싱 전력이 열 소산의 계속되는 상승을 누그러뜨리기 위한 노력으로 감소되게 지시할 수 있다. 그러나 코어들(2 및 3)에 작업로드 요청들을 할당하는 대신, 사전 로드 조정 모듈(109A)은 전원(108)이 완전 충전에 도달하였다는 확인으로 인해 부근(305)에서 측정되는 온도를 경감할 수 있다. 명백히, 전원(108)의 충전 레벨은 완전히 충전된 것으로 검증되기 때문에, PLS 모듈(109A)은 PMIC(107A)에 의해 생성되고 TPM 모듈(101A)에 의해 수신된 온도 측정에 반영되는 열 에너지가 계속되는 것이 아니라 줄어들기 시작할 것이라는 것을 추론할 수 있게 될 수 있다. 따라서, TPM 모듈(101A)에 의해 모니터링된 온도는 부근(305)의 현재 열 조건에도 불구하고, 코어들(0 및 1)에 특히 적합한 작업로드 요청들을 이들 코어들에 할당하도록 PLS 모듈(109A)이 구동기 블록(207A)에 명령하는 지점까지 경감될 수 있다. 유리하게는, 부근(305)의 온도가 줄어들 것이라고 PLS 모듈(109A)이 추론할 수 있었기 때문에, 그렇지 않았다면 코어들(0 및 1)의 프로세싱 전력을 저하시켰을 반응적 열 완화 기법들은 부근(305)의 실시간 온도 측정에 기초하여 방지되고 QoS가 최대화될 수 있다.
예시적인 평면도(300)의 맥락에서 사전 로드 조정 실시예의 다른 비-제한적인 예로서, 코어(3)는 RF 생성기(168A)에 의해 소산되는 과도한 열 에너지로 인해 작업 할당에 대해 저하되었을 수 있다. TPM 모듈(101A)은 코어(3)의 프로세싱 전력을 감소시키는 반응적 열 완화 기법을 적용함으로써 열 조건을 처리할 수 있다. 이에 따라, 코어(3)는 그의 프로세싱을 느리게 하고, RF 생성기(168A)에 의한 열 에너지의 계속되는 소산에도 불구하고 냉각되기 시작한다. 후속적으로, PLS 모듈(109A)은 감소된 전력 주파수에서 실행중인 코어(3)가 특정한 양의 시간에 특정한 온도로 냉각될 것임을 표시하는 데이터를 레버리지한 이후에, 코어(3)가 감소된 전력 주파수에서 동작할 지라도, 코어(3)에 대한 미래의 작업로드를 큐잉하도록 구동기 블록(207A)에 지시할 수 있다.
방금 설명된 사전 로드 조정 실시예의 비-제한적 예의 변동으로서, 코어(3)는 RF 생성기(168A)에 의해 소산되는 과도한 열 에너지로 인해 작업 할당에 대해 저하되었을 수 있다. TPM 모듈(101A)은 코어(3)의 프로세싱 전력을 감소시키는 반응적 열 완화 기법을 적용함으로써 열 조건을 처리할 수 있다. 이에 따라 코어(3)는 그의 프로세싱을 느리게 하고, RF 생성기(168A)에 의한 열 에너지의 계속되는 소산에도 불구하고 냉각되기 시작한다. 후속적으로, PLS 모듈(109A)은 감소된 전력 주파수로 실행중인 코어(3)가 특정한 양의 시간에 특정한 온도로 냉각될 것임을 표시하는 데이터를 레버리지 한 이후 코어의 저하된 상태의 제거를 명령할 수 있다.
예시적인 평면도(300)의 맥락에서 사전 로드 조정 실시예의 다른 비-제한적 예는 RF 생성기(168A)가 열 에너지의 스파이크들(spikes)을 돌연히 생성하는 이력적 성향을 갖는 시나리오를 포함한다. 또는, 추가의 예에 있어, RF 생성기(168A)는 아마도 사용자의 이용 패턴에 기인하여, 특정한 시간 기간들 동안 열 에너지 생성에서의 스파이크에 대한 이력적 성향을 가질 수 있다. 이러한 상황에서, 해로운 열 조건을 초래할 수 있는 RF 생성기(168A) 및 코어(3)에 의한 열 에너지 생성의 충돌을 방지하기 위해, 사전 로드 조정 모듈(109A)은 특정한 시간 기간들 동안 단지 짧은 계산적 로드들만을 코어(3)에 할당하도록 구동기 블록(207A)에 지시하기 위해 예측 정보를 레버리지할 수 있다.
도 4는 도 2에서 예시된 칩의 "TPM"(thermal policy manager)(101), "PLS"(proactive load steering) 모듈(109), 구동기 블록(207), 프로세싱 컴포넌트(110), 메모리(112) 및 센서들(157) 간의 각각의 논리적 연결들을 예시하는 기능적 블록도이다. TPM(101)은 모니터링 모듈(114)(도 4에서 도시되지 않음)과 같은 중간 컴포넌트를 통해 온도 센서들(157)과 통신할 수 있지만, 이러한 어레인지먼트는 모든 실시예들에 대해 요구되는 양상은 아니다. 유사하게, PLS 모듈(109)은 또한 중간 컴포넌트를 통해 또는 직접적으로 온도 센서들(157)과 통신할 수 있다.
TPM(101)은 반응적 열 완화 기법의 적용을 보장하는 열 에너지 조건을 표시할 수 있는 온도 센서들(157)로부터 입력들을 수신한다. 일 예시적인 실시예에서, TPM(101)은 CPU(110)에 의한 활성 전력의 현재의 소비 레이트를 완화시킬 수 있는 레벨로 CPU(110)의 전력 주파수가 감소되도록 CPU(110)의 코어가 "클록"되어야 한다는 것을 결정할 수 있다. TPM(101)에 의해 결정된 바와 같은 제안된 감소된 전력 주파수는 CPU(110)로의 적용 이전에 PLS 모듈(109)에 포워딩될 수 있다.
CPU(110)의 주파수를 감소시키기 위한 TPM(101)으로부터 명령들의 수신 시에, PLS 모듈(109)은 이력 데이터에 대해서 메모리(112)에 질의하고, 센서들(157)로부터의 온도 판독들을 검증하고 및/또는 칩(102)과 연관되는 다른 열 팩터들을 고려할 수 있다. PLS 모듈(109)은 이어서 TPM(101) 명령들을 무효화할지, TPM(101) 명령들을 수정할지, 또는 TPM(101) 명령들을 적용할지를 결정하기 이전에 팩터들을 가중화할 수 있다. 대안적으로, 몇몇 실시예들에서, PLS 모듈(109)은 TPM(101)에 의해 기술되는 열 완화 기법들의 필터 또는 "튜너"로서 동작하는 것이 아니라, 오히려 단순히 TPM(101)에 의해 적용되는 반응적 측정들을 포함하는 열 팩터들에 기초하여 작업로드를 할당하도록 구동기 블록(207)에 지시할 수 있다. PLS 모듈 열 프림프션 기법의 구현에 관한 추가의 상세는 도 5 및 도 6과 관련하여 아래에서 논의된다.
도 5는 PCD(100)에서 사전 로드 조정에 의해 열 생성 임계치들을 프림프트하기 위한 방법(500)을 예시하는 논리적 흐름도이다. 블록(505)에서, 작업 로드를 프로세싱하기 위한 요청이 수신된다. 후속적으로, 블록들(510 내지 530)에서, 사전 로드 조정 모듈(109)은 작업로드를 서비스할 프로세싱 컴포넌트의 선택 시에 가중화될 PCD(100) 내의 임의의 수의 열 팩터들을 결정 또는 고려할 수 있다. 보다 구체적으로, 블록(510)에서, PLS 모듈(109)은 PCD(100) 내의 다양한 프로세싱 컴포넌트들에 할당된 현재의 프로세싱 로드들을 결정할 수 있다. 명백히, 현재 프로세스 로드들은 이전에 할당된 프로세싱 작업들을 표현하는 이력 데이터를 질의하는 것, 프로세싱 컴포넌트들과 연관된 전력 주파수들 또는 전류들을 검증하는 것 및 다양한 프로세서들 부근의 열 센서들을 모니터링하는 것을 포함(그러나 이들로 제한되지 않음)하는 임의의 수의 방식들로 결정 또는 추론될 수 있다(블록(515)).
블록(520)에서, 미래의 또는 큐잉된 작업로드들을 표현하는 데이터는, 현재의 작업로드의 할당이 해로운 열 조건을 생성하는 지점까지 프로세서에 과부담되지 않도록 고려되고 가중화될 수 있다. 블록(525)에서, 칩(102) 내부 또는 외부의 다른 열 에너지 생성 컴포넌트들과 연관되는 예측 데이터는 이러한 컴포넌트들과 연관되는 현재의 온도 판독들을 가중화하기 위해 고려될 수 있다. 예를 들어, 코어(222) 근처의 비교적 "차가운" RF 생성기(168)는 그것이 열 에너지 생성에서 스파이킹할 수 있음을 표시하기 위해 사전 로드 조정 알고리즘에서 가중화될 수 있다.
유리하게는, RF 생성기(168)와 연관되는 팩터를 가중화함으로써, 예를 들어, PLS 모듈(109)은 긴, 수반된 작업 로드가 상이한 코어(224)에 할당되어야 한다는 것을 결정할 수 있고, 그에 의해 RF 생성기(168)로부터의 열 에너지 스파이크로 인해 작업로드의 프로세싱 동안 코어(222)가 과열할 때 열 임계치가 도달될 가능성을 감소시킨다.
블록(525)과 유사하게, 블록(530)에서, 칩(102)의 물리적 어레인지먼트는 PCD(100) 내의 다른 온-칩 및 오프-칩 컴포넌트들에 대한 프로세싱 코어의 근접도에 기초하여 작업 로드 할당에 대한 프로세싱 컴포넌트의 적격성을 가중화하기 위해 고려될 수 있다.
블록(535)에서, 서브-루틴은 작업로드 할당에 대한 프로세싱 컴포넌트를 선택하기 위해 결정된 열 팩터들 중 하나 이상을 고려하는 사전 로드 조정 알고리즘을 실행할 수 있다. 일단 선택되면, 블록(540)에서, PLS 모듈(109)은 요청된 작업로드를 선택된 프로세싱 컴포넌트에 할당하도록 구동기 블록(207)에 지시할 수 있다. 또한, 몇몇 실시예들에서, 선택된 프로세싱 컴포넌트로의 작업로드의 할당은 블록(545)에서, 큐잉된 작업로드를 나타내는 이력 데이터가 미래의 사전 로드 조정 루틴들에 의한 고려를 위해 업데이트되는 것을 트리거할 수 있다.
도 6은 사전 로드 조정 실시예에 따라 작업로드가 할당될 PCD(100) 내의 프로세싱 컴포넌트를 선택하기 위한 서브-방법 또는 서브루틴(535)을 예시하는 논리적 흐름도이다. 블록(605)에서, 블록들(510 내지 530)에서 결정되고 고려되는 열 팩터들이 가중화되고, PCD(100) 내의 각각의 프로세싱 컴포넌트에 대해 적격성 팩터가 할당된다. 판단 블록(610)에서, 적격성 팩터에 기초하여, 특정한 프로세싱 컴포넌트들이 작업로드의 할당에 대해 적합하지 않다고 결정될 수 있다. 예를 들어, 적격성 팩터는 정해진 프로세싱 컴포넌트에는 부가적인 작업로드가 할당되지 않아야 한다고 표시할 수 있다. 즉, 사전 로드 조정 기법의 몇몇 실시예들에서, 열 팩터 "플로어(floor)"는 플로어 미만의 열 팩터를 갖는 프로세싱 컴포넌트들이 할당을 위해 고려되지 않도록 세팅될 수 있다. 특정한 프로세싱 컴포넌트들이 작업로드 할당에 대해 부적격인 것으로 결정되는 경우, 블록(615)에서 이러한 프로세싱 컴포넌트들이 고려로부터 제거될 수 있다.
블록(610)에서, 모든 프로세싱 컴포넌트들이 고려에 대해 적격인 경우, 블록(620)에서, 하나 이상의 프로세싱 컴포넌트들이 작업로드의 할당을 위해 선택될 수 있으며, 여기서 이 선택은 가중화된 실제 및 예측 열 팩터들에 기초한다. 일단 블록(620)에서 선택되면, 이 방법은 도 5의 블록(540)으로 리턴한다.
명백히, 사전 로드 조정 기법에 기초하여 프로세싱 컴포넌트를 선택함으로써, 그렇지 않았다면 종래의 스케줄링 알고리즘을 이용하여 선택되지 않았을 프로세싱 컴포넌트에 작업 로그가 할당될 수 있음을 당업자는 인지할 것이다. 유리하게는, 사전 로드 조정 알고리즘이 PCD(100) 상의 프로세싱 컴포넌트들과 연관된 과거, 현재 및 미래의 열 팩터들 고려하기 때문에, PCD(100)의 전체 열 풋프린트는 QoS에 부정적으로 영향을 줄 수 있는 반응적 열 완화 기법들을 구현할 필요성이 감소되도록 관리될 수 있다.
본 명세서에서 설명된 프로세스들 또는 프로세스 흐름들에서의 특정한 단계들은 본 발명이 설명된 바와 같이 기능하기 위해 다른 것들보다 자연히 선행된다. 그러나 본 발명은 이러한 순서 또는 시퀀스가 본 발명의 기능을 변경하지 않는 경우 설명된 단계들의 순서로 제한되지 않는다. 즉, 몇몇 단계들이 본 발명의 범위 및 사상으로부터 벗어남 없이 다른 단계들 이전에, 이후에 또는 병렬로(실질적으로 동시에) 수행될 수 있다는 것이 인지된다. 몇몇 예들에서, 특정한 단계들은 본 발명으로부터 벗어남 없이 수행되지 않거나 생략될 수 있다. 또한, "이후", "이어서", "다음", "후속하여" 등과 같은 단어들은 단계들의 순서를 제한하도록 의도되지 않는다. 이들 단어들은 단지 예시적인 방법의 설명을 통해 독자를 안내하는데 이용된다.
부가적으로, 프로그래밍에 있어서 당업자는 예를 들어, 본 명세서에서 흐름도들 및 연관된 설명에 기초하여 어려움 없이 기재된 발명을 구현하도록 컴퓨터 코드를 기록하거나 적절한 하드웨어 및/또는 회로들을 식별할 수 있다. 그러므로 상세된 하드웨어 디바이스들 또는 프로그램 코드 명령들의 특정한 세트의 개시는 본 발명을 어떻게 제조하고 이용하는지에 관한 충분한 이해를 위해 필수적인 것으로 간주되지 않는다. 청구된 컴퓨터 구현 프로세스들의 진보성있는 기능은 다양한 프로세스 흐름들을 예시할 수 있는 도면들과 함께 및 위의 명세서에서 보다 상세히 설명된다.
하나 이상의 예시적인 양상들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현된다면, 기능들은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 이로서 전송될 수 있다.
본 문서의 맥락에서, 컴퓨터 판독 가능 매체는 컴퓨터 관련 시스템 또는 방법과 관련하여 또는 이들에 의한 사용을 위해 컴퓨터 프로그램 및 데이터를 포함하거나 저장할 수 있는 전자, 자기, 광 또는 다른 물리적 디바이스 또는 수단이다. 다양한 로직 엘리먼트들과 데이터 저장소들이 컴퓨터 기반 시스템, 프로세서 포함 시스템, 또는 명령 실행 시스템, 장치 또는 디바이스로부터 명령들을 페치(fetch)하여 명령들을 실행할 수 있는 다른 시스템과 같은 명령 실행 시스템, 장치 또는 디바이스와 관련하여 또는 이들에 의한 사용을 위해 임의의 컴퓨터 판독 가능 매체에 구현될 수 있다. 본 문서의 맥락에서, "컴퓨터 판독 가능 매체"는 명령 실행 시스템, 장치 또는 디바이스와 관련하여 또는 이들에 의한 사용을 위해 프로그램을 저장, 통신, 전파 또는 전송할 수 있는 임의의 수단을 포함할 수 있다.
컴퓨터 판독 가능 매체는 예를 들어, 전자, 자기, 광, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스 또는 전파 매체일 수 있지만, 이들로 제한되는 것은 아니다. 컴퓨터 판독 가능 매체의 더 특정한 예들(완전하진 않은 리스트)은 하나 이상의 와이어들을 갖는 전기 연결(전자), 휴대용 컴퓨터 디스켓(자기), 랜덤 액세스 메모리(RAM: random-access memory)(전자), 판독 전용 메모리(ROM: read-only memory)(전자), 소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM, EEPROM 또는 플래시 메모리)(전자), 광섬유(광) 및 휴대용 콤팩트 디스크 판독 전용 메모리(CDROM: compact disc read-only memory)(광)를 포함할 것이다. 프로그램은 예컨대 종이나 다른 매체의 광학적 스캐닝을 통해 전자적으로 캡처된 다음, 필요하다면 적당한 방식으로 컴파일되거나, 해석되거나 또는 다른 방식으로 프로세싱되고, 다음에 컴퓨터 메모리에 저장될 수 있으므로, 컴퓨터 판독 가능 매체는 심지어 프로그램이 인쇄되는 종이나 다른 적당한 매체일 수도 있다는 점에 주목한다.
컴퓨터 판독 가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체와 컴퓨터 저장 매체를 모두 포함한다. 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 제한이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 임의의 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 명령들이나 데이터 구조들의 형태로 원하는 프로그램 코드를 전달하거나 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있다.
또한, 임의의 연결 수단이 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임 쌍선, "DSL"(digital subscriber line), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다.
본 명세서에서 사용된 것과 같은 디스크(disk 및 disc)는 "CD"(compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), "DVD"(digital versatile disc), 플로피 디스크(floppy disk) 및 블루레이 디스크(blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 데이터를 레이저들에 의해 광학적으로 재생한다. 상기의 조합들 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
그러므로 선택된 양상들이 예시되고 상세히 설명되었지만, 다음의 청구항들에 의해 정의된 바와 같은, 본 발명의 사상 및 범위를 벗어나지 않으면서 그 양상들에서 다양한 치환들 및 변형들이 이루어질 수 있다고 이해될 것이다.

Claims (40)

  1. 임계치를 초과한 열 에너지의 생성을 프림프트(preempt)함으로써 "PCD"(portable computing device)에서 "QoS"(quality of service) 레벨을 최대화하기 위한 방법으로서,
    상기 PCD 내의 하나 이상의 프로세싱 컴포넌트들로의 할당을 위한 작업로드 요청을 수신하는 단계;
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터를 포함하는 열 팩터들을 결정하는 단계 - 상기 예측 데이터는 상기 열기 생성 컴포넌트들에 의한 열 에너지의 생성에 대한 잠재성(potential)을 표시함 - ;
    상기 프로세싱 컴포넌트들에 대한 상기 열기 생성 컴포넌트들의 근접도를 포함하는 열 팩터들(thermal factors)을 결정하는 단계;
    상기 열 팩터들에 기초하여, 상기 프로세싱 컴포넌트들 각각에 적격성 팩터(eligibility factor)를 할당하는 단계;
    적격성 팩터들에 기초하여, 상기 작업로드의 할당을 위해 프로세싱 컴포넌트를 선택하는 단계; 및
    상기 작업로드를 선택된 프로세싱 컴포넌트에 할당하는 단계
    를 포함하는,
    QoS 레벨을 최대화하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 프로세싱 컴포넌트들의 현재의 작업로드들과 연관된 열 팩터들을 결정하는 단계
    를 더 포함하는,
    QoS 레벨을 최대화하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 현재 작업로드들은 프로세서들에 제공된 전력 주파수를 모니터링함으로써 결정되는,
    QoS 레벨을 최대화하기 위한 방법.
  4. 제 2 항에 있어서,
    상기 현재의 작업로드들은 프로세서들에 제공된 전류를 모니터링함으로써 결정되는,
    QoS 레벨을 최대화하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 프로세싱 컴포넌트들과 연관된 열 센서 측정들과 연관된 열 팩터들을 결정하는 단계
    를 더 포함하는,
    QoS 레벨을 최대화하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 프로세싱 컴포넌트들의 미래의 작업로드들과 연관된 열 팩터들을 결정하는 단계
    를 더 포함하는,
    QoS 레벨을 최대화하기 위한 방법.
  7. 제 1 항에 있어서,
    선택된 프로세서에 대한 미래의 작업로드 큐를 업데이트하는 단계
    를 더 포함하는,
    QoS 레벨을 최대화하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터는 상기 PCD의 이용 패턴과 연관되는 데이터를 포함하는,
    QoS 레벨을 최대화하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 열기 생성 컴포넌트는 상기 프로세싱 컴포넌트들을 포함하는 칩 내부에 있는,
    QoS 레벨을 최대화하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 열기 생성 컴포넌트는,
    상기 프로세싱 컴포넌트들을 포함하는 칩 외부에 있는,
    QoS 레벨을 최대화하기 위한 방법.
  11. 임계치를 초과한 열 에너지의 생성을 프림프트(preempt)함으로써 "PCD"(portable computing device)에서 "QoS"(quality of service) 레벨을 최대화하기 위한 컴퓨터 시스템으로서,
    "PLS"(proactive load steering) 모듈을 포함하고,
    상기 PLS 모듈은,
    상기 PCD 내의 하나 이상의 프로세싱 컴포넌트들로의 할당을 위한 작업로드 요청을 수신하도록;
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터를 포함하는 열 팩터들을 결정하도록 - 상기 예측 데이터는 상기 열기 생성 컴포넌트들에 의한 열 에너지의 생성에 대한 잠재성(potential)을 표시함 - ;
    상기 프로세싱 컴포넌트들에 대한 상기 열기 생성 컴포넌트들의 근접도를 포함하는 열 팩터들(thermal factors)을 결정하도록;
    상기 열 팩터들에 기초하여, 상기 프로세싱 컴포넌트들 각각에 적격성 팩터(eligibility factor)를 할당하도록;
    적격성 팩터들에 기초하여, 상기 작업로드의 할당을 위해 프로세싱 컴포넌트를 선택하도록; 및
    상기 작업로드를 선택된 프로세싱 컴포넌트에 할당하도록 구동기 블록에 지시하도록
    동작 가능한,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 PLS 모듈은 추가로,
    상기 프로세싱 컴포넌트들의 현재의 작업로드들과 연관된 열 팩터들을 결정하도록 동작 가능한,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  13. 제 12 항에 있어서,
    상기 현재 작업로드들은 프로세서들에 제공된 전력 주파수를 모니터링함으로써 결정되는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  14. 제 12 항에 있어서,
    상기 현재의 작업로드들은 프로세서들에 제공된 전류를 모니터링함으로써 결정되는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  15. 제 11 항에 있어서,
    상기 PLS 모듈은 추가로,
    상기 프로세싱 컴포넌트들과 연관된 열 센서 측정들과 연관된 열 팩터들을 결정하도록
    동작 가능한,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  16. 제 11 항에 있어서,
    상기 PLS 모듈은 추가로,
    상기 프로세싱 컴포넌트들의 미래의 작업로드들과 연관된 열 팩터들을 결정하도록
    동작 가능한,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  17. 제 11 항에 있어서,
    상기 PLS 모듈은 추가로,
    선택된 프로세서에 대한 미래의 작업로드 큐를 업데이트하도록
    동작 가능한,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  18. 제 11 항에 있어서,
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터는 상기 PCD의 이용 패턴과 연관되는 데이터를 포함하는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  19. 제 11 항에 있어서,
    상기 열기 생성 컴포넌트는 상기 프로세싱 컴포넌트들을 포함하는 칩 내부에 있는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  20. 제 11 항에 있어서,
    상기 열기 생성 컴포넌트는,
    상기 프로세싱 컴포넌트들을 포함하는 칩 외부에 있는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  21. 임계치를 초과한 열 에너지의 생성을 프림프트(preempt)함으로써 "PCD"(portable computing device)에서 "QoS"(quality of service) 레벨을 최대화하기 위한 컴퓨터 시스템으로서,
    상기 PCD 내의 하나 이상의 프로세싱 컴포넌트들로의 할당을 위한 작업로드 요청을 수신하기 위한 수단;
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터를 포함하는 열 팩터들을 결정하기 위한 수단 - 상기 예측 데이터는 상기 열기 생성 컴포넌트들에 의한 열 에너지의 생성에 대한 잠재성(potential)을 표시함 - ;
    상기 프로세싱 컴포넌트들에 대한 상기 열기 생성 컴포넌트들의 근접도를 포함하는 열 팩터들(thermal factors)을 결정하기 위한 수단;
    상기 열 팩터들에 기초하여, 상기 프로세싱 컴포넌트들 각각에 적격성 팩터(eligibility factor)를 할당하기 위한 수단;
    적격성 팩터들에 기초하여, 상기 작업로드의 할당을 위해 프로세싱 컴포넌트를 선택하기 위한 수단; 및
    상기 작업로드를 선택된 프로세싱 컴포넌트에 할당하기 위한 수단
    을 포함하는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  22. 제 21 항에 있어서,
    상기 프로세싱 컴포넌트들의 현재의 작업로드들과 연관된 열 팩터들을 결정하기 위한 수단
    을 더 포함하는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  23. 제 22 항에 있어서,
    상기 현재 작업로드들은 프로세서들에 제공된 전력 주파수를 모니터링함으로써 결정되는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  24. 제 22 항에 있어서,
    상기 현재의 작업로드들은 프로세서들에 제공된 전류를 모니터링함으로써 결정되는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  25. 제 21 항에 있어서,
    상기 프로세싱 컴포넌트들과 연관된 열 센서 측정들과 연관된 열 팩터들을 결정하기 위한 수단
    을 더 포함하는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  26. 제 21 항에 있어서,
    상기 프로세싱 컴포넌트들의 미래의 작업로드들과 연관된 열 팩터들을 결정하기 위한 수단
    을 더 포함하는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  27. 제 21 항에 있어서,
    선택된 프로세서에 대한 미래의 작업로드 큐를 업데이트하기 위한 수단
    을 더 포함하는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  28. 제 21 항에 있어서,
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터는 상기 PCD의 이용 패턴과 연관되는 데이터를 포함하는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  29. 제 21 항에 있어서,
    상기 열기 생성 컴포넌트는 상기 프로세싱 컴포넌트들을 포함하는 칩 내부에 있는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  30. 제 21 항에 있어서,
    상기 열기 생성 컴포넌트는,
    상기 프로세싱 컴포넌트들을 포함하는 칩 외부에 있는,
    QoS 레벨을 최대화하기 위한 컴퓨터 시스템.
  31. 컴퓨터 판독 가능한 프로그램 코드가 그 내부에서 포함되는 컴퓨터 이용 가능한 매체로서,
    상기 컴퓨터 판독 가능한 프로그램 코드는 임계치를 초과한 열 에너지의 생성을 프림프트(preempt)함으로써 "PCD"(portable computing device)에서 "QoS"(quality of service) 레벨을 최대화하기 위한 방법을 구현하기 위해 실행되도록 적응되고, 상기 방법은,
    상기 PCD 내의 하나 이상의 프로세싱 컴포넌트들로의 할당을 위한 작업로드 요청을 수신하는 단계;
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터를 포함하는 열 팩터들을 결정하는 단계 - 상기 예측 데이터는 상기 열기 생성 컴포넌트들에 의한 열 에너지의 생성에 대한 잠재성(potential)을 표시함 - ;
    상기 프로세싱 컴포넌트들에 대한 상기 열기 생성 컴포넌트들의 근접도를 포함하는 열 팩터들(thermal factors)을 결정하는 단계;
    상기 열 팩터들에 기초하여, 상기 프로세싱 컴포넌트들 각각에 적격성 팩터(eligibility factor)를 할당하는 단계;
    적격성 팩터들에 기초하여, 상기 작업로드의 할당을 위해 프로세싱 컴포넌트를 선택하는 단계; 및
    상기 작업로드를 선택된 프로세싱 컴포넌트에 할당하는 단계
    를 포함하는,
    컴퓨터 이용 가능한 매체.
  32. 제 31 항에 있어서,
    상기 프로세싱 컴포넌트들의 현재의 작업로드들과 연관된 열 팩터들을 결정하는 단계
    를 더 포함하는,
    컴퓨터 이용 가능한 매체.
  33. 제 32 항에 있어서,
    상기 현재 작업로드들은 프로세서들에 제공된 전력 주파수를 모니터링함으로써 결정되는,
    컴퓨터 이용 가능한 매체.
  34. 제 32 항에 있어서,
    상기 현재의 작업로드들은 프로세서들에 제공된 전류를 모니터링함으로써 결정되는,
    컴퓨터 이용 가능한 매체.
  35. 제 31 항에 있어서,
    상기 프로세싱 컴포넌트들과 연관된 열 센서 측정들과 연관된 열 팩터들을 결정하는 단계
    를 더 포함하는,
    컴퓨터 이용 가능한 매체.
  36. 제 31 항에 있어서,
    상기 프로세싱 컴포넌트들의 미래의 작업로드들과 연관된 열 팩터들을 결정하는 단계
    를 더 포함하는,
    컴퓨터 이용 가능한 매체.
  37. 제 31 항에 있어서,
    선택된 프로세서에 대한 미래의 작업로드 큐를 업데이트하는 단계
    를 더 포함하는,
    컴퓨터 이용 가능한 매체.
  38. 제 31 항에 있어서,
    상기 PCD 내의 열기 생성 컴포넌트들과 연관된 예측 데이터는 상기 PCD의 이용 패턴과 연관되는 데이터를 포함하는,
    컴퓨터 이용 가능한 매체.
  39. 제 31 항에 있어서,
    상기 열기 생성 컴포넌트는 상기 프로세싱 컴포넌트들을 포함하는 칩 내부에 있는,
    컴퓨터 이용 가능한 매체.
  40. 제 31 항에 있어서,
    상기 열기 생성 컴포넌트는,
    상기 프로세싱 컴포넌트들을 포함하는 칩 외부에 있는,
    컴퓨터 이용 가능한 매체.
KR1020147003332A 2011-07-07 2012-06-05 사전 로드 조정에 의해 열 로드를 프림프트하기 위한 방법 및 시스템 KR101501537B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/178,281 2011-07-07
US13/178,281 US8688289B2 (en) 2011-07-07 2011-07-07 Method and system for preempting thermal load by proactive load steering
PCT/US2012/040872 WO2013006240A2 (en) 2011-07-07 2012-06-05 Method and system for preempting thermal load by proactive load steering

Publications (2)

Publication Number Publication Date
KR20140045548A KR20140045548A (ko) 2014-04-16
KR101501537B1 true KR101501537B1 (ko) 2015-03-13

Family

ID=46384470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147003332A KR101501537B1 (ko) 2011-07-07 2012-06-05 사전 로드 조정에 의해 열 로드를 프림프트하기 위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US8688289B2 (ko)
EP (1) EP2729859A2 (ko)
JP (1) JP5808488B2 (ko)
KR (1) KR101501537B1 (ko)
CN (1) CN103688230B (ko)
TW (1) TW201312517A (ko)
WO (1) WO2013006240A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110265982A1 (en) * 2010-04-29 2011-11-03 International Business Machines Corporation Controlling coolant flow to multiple cooling units in a computer system
US9047067B2 (en) * 2011-04-22 2015-06-02 Qualcomm Incorporated Sensorless detection and management of thermal loading in a multi-processor wireless device
US10085140B2 (en) * 2012-07-13 2018-09-25 International Business Machines Corporation Preventing mobile communication device data loss
TWI617988B (zh) 2013-01-31 2018-03-11 聯想企業解決方案(新加坡)有限公司 根據處理器位置之熱條件進行排程的電腦系統與方法
US9342443B2 (en) * 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system
CN105051645B (zh) * 2013-06-17 2020-05-19 高通股份有限公司 双预订双活动装置中的热减轻
US20150046679A1 (en) * 2013-08-07 2015-02-12 Qualcomm Incorporated Energy-Efficient Run-Time Offloading of Dynamically Generated Code in Heterogenuous Multiprocessor Systems
US20150220097A1 (en) * 2014-02-04 2015-08-06 Qualcomm Incorporated System and method for just-in-time learning-based predictive thermal mitigation in a portable computing device
US9977439B2 (en) 2014-04-08 2018-05-22 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US9552034B2 (en) * 2014-04-29 2017-01-24 Qualcomm Incorporated Systems and methods for providing local hardware limit management and enforcement
US9672473B2 (en) 2014-08-11 2017-06-06 Dell Products, Lp Apparatus and method for system profile learning in an information handling system
KR102244992B1 (ko) 2014-10-17 2021-04-28 삼성전자주식회사 부하 전류 정보를 제공하는 전력관리 집적회로 및 그것을 포함하는 전자 장치
US10037258B2 (en) * 2016-02-01 2018-07-31 Qualcomm Incorporated System and method for intelligent thermal management using dynamic performance floors in a portable computing device
EP3264268A1 (en) 2016-06-29 2018-01-03 Intel Corporation Distributed processing qos algorithm for system performance optimization under thermal constraints
US10200610B2 (en) 2016-09-19 2019-02-05 Gopro, Inc. Camera battery control method for low ambient temperatures
JP6805792B2 (ja) * 2016-12-14 2020-12-23 株式会社デンソー 電池パック
US10725510B2 (en) 2018-03-16 2020-07-28 Microsoft Technology Licensing, Llc Device configuration-based thermal management control
US11140243B1 (en) * 2019-03-30 2021-10-05 Snap Inc. Thermal state inference based frequency scaling
US11442513B1 (en) 2019-04-16 2022-09-13 Snap Inc. Configuration management based on thermal state
CN112486687B (zh) * 2020-12-03 2022-09-27 重庆邮电大学 一种基于多任务学习时间序列的云平台工作负载预测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133995A (ja) * 2004-11-04 2006-05-25 Toshiba Corp プロセッサシステム及びその制御方法
US20060218423A1 (en) * 2005-03-28 2006-09-28 Intel Corporation Advanced thermal management using an average power controller over an adjustable time window
WO2009027153A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method of virtualization and os-level thermal management and multithreaded processor with virtualization and os-level thermal management

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452401A (en) 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
JP2004240669A (ja) * 2003-02-05 2004-08-26 Sharp Corp ジョブスケジューラおよびマルチプロセッサシステム
US6889908B2 (en) * 2003-06-30 2005-05-10 International Business Machines Corporation Thermal analysis in a data processing system
US20050097554A1 (en) * 2003-11-03 2005-05-05 Burden David C. Charge rationing aware scheduler
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP3805344B2 (ja) * 2004-06-22 2006-08-02 株式会社ソニー・コンピュータエンタテインメント プロセッサ、情報処理装置およびプロセッサの制御方法
US7347621B2 (en) * 2004-07-16 2008-03-25 International Business Machines Corporation Method and system for real-time estimation and prediction of the thermal state of a microprocessor unit
US7596464B2 (en) 2004-09-29 2009-09-29 Intel Corporation Determining the thermal influence of components within a system and usage of a matrix for power and thermal management
US7461275B2 (en) 2005-09-30 2008-12-02 Intel Corporation Dynamic core swapping
CN101553716A (zh) * 2005-10-11 2009-10-07 艾科嘉公司 热预测管理模型
US7617403B2 (en) 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
KR100834408B1 (ko) * 2006-09-14 2008-06-04 한국전자통신연구원 분산처리시스템에서의 태스크 할당방법 및 시스템
US8068433B2 (en) 2007-11-26 2011-11-29 Microsoft Corporation Low power operation of networked devices
US8589931B2 (en) * 2009-03-18 2013-11-19 International Business Machines Corporation Environment based node selection for work scheduling in a parallel computing system
US9060336B2 (en) 2009-06-19 2015-06-16 Qualcomm Incorporated Apparatus and methods for low power sensing of communication access technologies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133995A (ja) * 2004-11-04 2006-05-25 Toshiba Corp プロセッサシステム及びその制御方法
US20060218423A1 (en) * 2005-03-28 2006-09-28 Intel Corporation Advanced thermal management using an average power controller over an adjustable time window
WO2009027153A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method of virtualization and os-level thermal management and multithreaded processor with virtualization and os-level thermal management

Also Published As

Publication number Publication date
KR20140045548A (ko) 2014-04-16
EP2729859A2 (en) 2014-05-14
CN103688230B (zh) 2016-12-28
JP5808488B2 (ja) 2015-11-10
US20130013126A1 (en) 2013-01-10
TW201312517A (zh) 2013-03-16
WO2013006240A2 (en) 2013-01-10
CN103688230A (zh) 2014-03-26
WO2013006240A3 (en) 2013-07-18
JP2014521140A (ja) 2014-08-25
US8688289B2 (en) 2014-04-01

Similar Documents

Publication Publication Date Title
KR101501537B1 (ko) 사전 로드 조정에 의해 열 로드를 프림프트하기 위한 방법 및 시스템
KR102665003B1 (ko) 사용자에 대한 근접도에 기초한 웨어러블 컴퓨팅 디바이스의 열 관리를 위한 시스템 및 방법
KR101529419B1 (ko) 휴대용 컴퓨팅 디바이스에서의 열 로드 관리
US9703336B2 (en) System and method for thermal management in a multi-functional portable computing device
US8601300B2 (en) System and method for managing thermal energy generation in a heterogeneous multi-core processor
US9442774B2 (en) Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US8484496B2 (en) Method and system for thermal management of battery charging concurrencies in a portable computing device
US8996330B2 (en) Method and system for managing thermal policies of a portable computing device
CN108780349B (zh) 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法
US8996902B2 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
US20130090888A1 (en) System and method for proximity based thermal management of mobile device
KR20150092290A (ko) 휴대용 컴퓨팅 디바이스로부터 주위 온도를 추정하기 위한 시스템 및 방법
CN110214298B (zh) 用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法

Legal Events

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

Payment date: 20171228

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee