KR20160050003A - 열 매커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법 - Google Patents

열 매커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20160050003A
KR20160050003A KR1020150150397A KR20150150397A KR20160050003A KR 20160050003 A KR20160050003 A KR 20160050003A KR 1020150150397 A KR1020150150397 A KR 1020150150397A KR 20150150397 A KR20150150397 A KR 20150150397A KR 20160050003 A KR20160050003 A KR 20160050003A
Authority
KR
South Korea
Prior art keywords
block
resource
thermal
target
column
Prior art date
Application number
KR1020150150397A
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 삼성전자주식회사
Publication of KR20160050003A publication Critical patent/KR20160050003A/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
    • 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
    • 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/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

본 발명의 컴퓨팅 시스템은 다중 자원 유닛들 각각을 위한 현재 전원을 계산하는 모니터링 블록, 모니터링 블록에 연결되고, 현재 전원에 근거하여 열 후보 집합을 동적으로 계산하는 열 블록, 및 열 블록에 연결되고, 타겟 자원을 사용한 타겟 태스크를 수행하기 위한 열 후보 집합에 근거하여 타겟 자원을 결정하는 타겟 블록을 포함하고, 열 후보 집합은 다중 자원 유닛들에 대한 현재 열 로드를 나타낸다.

Description

열 매커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법{COMPUTING SYSTEM WITH THERMAL MECHANISM AND METHOD OF OPERATION THEREOF}
본 발명의 실시예는 컴퓨팅 시스템에 관련된 것으로, 특히 열 매커니즘을 위한 시스템 및 그것의 동작 방법에 관한 것이다.
현대 소비자들과 컴퓨팅 시스템들, 서버들, 가전제품들, 텔레비전들, 셀룰러 폰들, 자동차들, 위성들 및, 장치들의 조합과 같은 산업 전자 제품들은 현대 삶을 지원하기 위해 기능의 증가된 수준들을 제공한다. 성능요구들이 소비자 제품들과 산업 또는 상업 제품들과는 다를 수 있고, 그것은 전원 소비를 감소하는 동안 더 큰 성능을 위한 공통적인 수요가 있다. 현존하는 기술들 내에서 연구 및 개발들은 다른 방향들로 무수히 많이 수행될 수 있다.
그러한 방향의 하나는 관리하는 이용가능 자원들의 개선을 포함한다. 전자 장치들은 더 작고, 가볍고, 적은 전원을 필요로 하고, 자원 사용의 불균일한 분배는 장치들의 숨겨진 성능일 수 있다. 효율적이거나 효과적으로 관리하는 이용가능 자원들은 성능과 기능의 증가된 수준들을 제공할 수 있다.
증가된 효율을 통해 전원 소모가 감소되는 동안 개선된 처리 성능을 위한 열 매커니즘을 갖는 컴퓨팅 시스템을 위한 수요는 여전히 남아있다. 계속하여 증가하는 상업적 경쟁 압박의 관점에서, 소비자의 기대는 증가하고, 시장에서 차별화되는 의미있는 제품들을 위한 기회는 감소하고, 이러한 문제들의 답을 발견하는 것은 점차 중요해지고 있다. 추가적으로, 비용의 감소, 효율 및 성능의 개선, 및 경쟁적인 압박에 직면한 수요는 이러한 문제들을 위한 해답을 찾기 위한 중요한 필요성으로 인해 더욱 더 긴급히 추가된다.
이러한 문제들의 해결책들은 오랫동안 찾아진 반면, 이전 개발들은 어떤 해결책들을 교시하거나 제안하지 못하여, 이러한 문제들의 해결 방안은 해당 기술 분야에서 오랫동안 이룰 수 없었다.
본 발명의 목적은 열 제한에 대해 개선된 성능을 갖는 컴퓨팅 시스템 및 그것의 동작 방법을 제공함에 있다.
본 발명의 컴퓨팅 시스템은 다중 자원 유닛들 각각을 위한 현재 전원을 계산하는 모니터링 블록, 상기 모니터링 블록에 연결되고, 상기 현재 전원에 근거하여 열 후보 집합을 동적으로 계산하는 열 블록, 및 상기 열 블록에 연결되고, 타겟 자원을 사용한 타겟 태스크를 수행하기 위한 상기 열 후보 집합에 근거하여 상기 타겟 자원을 결정하는 타겟 블록을 포함하고, 상기 열 후보 집합은 상기 다중 자원 유닛들에 대한 현재 열 로드를 나타낸다.
이 실시예에 있어서, 상기 열 블록은 상기 다중 자원 유닛들에 따른 열 헤드룸을 동적으로 계산하고, 상기 타겟 블록은 상기 다중 자원 유닛들 사이의 상기 열 헤드룸의 가장 큰 인스턴스에 따른 타겟 자원을 결정한다.
이 실시예에 있어서, 상기 모니터링 블록은 상기 타겟 태스크를 위한 타겟 거주 시간을 계산하고, 상기 열 블록은 상기 현재 열 로드 초과 시간으로 변경을 나타내기 위한 다중 자원 유닛들 각각에 따른 램프 프로파일을 동적으로 결정하고, 상기 타겟 블록은 상기 램프 프로파일과 상기 타겟 거주 시간에 근거하여 상기 타겟 자원을 결정한다.
이 실시예에 있어서, 상기 열 블록은 상기 다중 자원 유닛들 사이에 열 상호작용들을 나타내기 위한 열 저항-커패시턴스 네트워크를 결정하고, 상기 현재 전원과 상기 열 저항-커패시턴스 네트워크에 근거하여 상기 열 후보 집합을 동적으로 계산한다.
이 실시예에 있어서, 상기 열 블록은 상기 다중 자원 유닛들의 현재 전원에 따른 상기 현재 열 로드를 나타내기 위한 열 모델을 결정하고, 상기 열 모델에 근거하여 상기 열 후보 집합을 동적으로 계산한다.
이 실시예에 있어서, 상기 모니터링 블록은 상기 다중 자원 유닛들 중 하나를 사용하여 상기 타겟 태스크를 수행하기 위한 상기 타겟 태스크를 식별하고, 상기 열 블록은 상기 다중 자원 유닛들 각각에 따른 스로틀링 임계값을 식별하고, 상기 다중 자원 유닛들의 현재 전원에 근거하여 상기 현재 열 로드를 계산하고, 상기 스로틀링 임계값과 상기 현재 열 로드에 근거하여 상기 열 후보 집합을 동적으로 계산한다.
이 실시예에 있어서, 상기 열 블록은 상기 현재 열 로드와 상기 다중 자원 유닛들의 스로틀링 임계값 사이의 차이에 근거하여 상기 다중 자원 유닛들 각각에 따른 열 헤드룸을 동적으로 계산하고, 상기 타겟 블록은 상기 다중 자원 유닛들의 상기 열 헤드룸의 가장 큰 인스턴스에 따른 상기 타겟 자원를 결정한다.
이 실시예에 있어서, 상기 모니터링 블록은 상기 타겟 태스크를 수행하기 위한 타겟 거주 시간을 계산하고, 상기 열 블록은 열 저항-커패시턴스 네트워크와 다중 자원 유닛들 각각의 현재 전원에 근거하여 상기 다중 자원 유닛들 각각에 따른 램프 프로파일을 동적으로 결정하고, 상기 타겟 블록은 상기 램프 프로파일과 상기 타겟 거주 시간에 근거하여 상기 타겟 자원을 결정한다.
본 발명에 따른 컴퓨팅 시스템은 다중 자원 유닛들 사이의 액티브 노드들과 정지 노드들을 식별하는 모니터링 블록, 상기 정지 노드들의 스로틀링 임계값을 식별하고, 상기 액티브 노드들의 현재 전원에 근거하여 상기 정지 노드들을 위한 상기 현재 열 로드를 계산하고, 상기 액티브 노드들에 의해 영향을 받는 상기 정지 노드들을 포함하는 상기 열 후보 집합을 동적으로 계산는 열 블록, 및 상기 열 후보 집합 내 상기 정지 노드들로부터 상기 타겟 자원을 결정하는 타겟 블록을 포함한다.
이 실시예에 있어서, 상기 열 블록은 열 헤드룸에 근거하여 계산된 이용가능 용량, 현재 전원, 및 상기 다중 자원 유닛들의 상기 열 저항-커패시턴스 네트워크를 포함하는 열 후보 집합을 동적으로 계산하고, 상기 타겟 블록은 상기 이용가능 용량에 근거하여 상기 타겟 자원을 결정한다.
본 발명에 따른 컴퓨팅 시스템의 동작 방법은 다중 자원 유닛들 각각에 대한 현재 전원을 계산하는 단계, 상기 현재 전원에 근거하여 제어 유닛으로 열 후보 집합을 동적으로 계산하는 단계, 상기 타겟 자원을 사용하여 상기 타겟 태스크를 수행하기 위한 상기 열 후보 집합에 근거하여 타겟 자원을 결정하는 단계, 상기 열 후보 집합은 상기 다중 자원 유닛들에 대한 현재 열 로드를 나타낸다.
이 실시예에 있어서, 상기 열 후보 집합을 동적으로 계산하는 단계는 상기 다중 자원 유닛들에 따른 열 헤드룸을 동적으로 계산하는 단계를 포함하고, 상기 타겟 자원을 결정하는 단계는 상기 다중 자원 유닛들 사이의 상기 열 헤드룸의 가장 큰 인스턴스에 따른 타겟 자원을 결정하는 단계를 포함한다.
이 실시예에 있어서, 상기 타겟 태스크를 위한 타겟 거주 시간을 계산하는 단계를 더 포함하고, 상기 열 후보 집합을 동적으로 계산하는 단계는 상기 현재 열 로드 초과 시간으로 변경을 나타내기 위한 상기 다중 자원 유닛들 각각에 따른 램프 프로파일을 동적으로 결정하는 단계를 포함하고, 상기 타겟 자원을 결정하는 단계는 상기 램프 프로파일과 상기 타겟 거주 시간에 근거하여 상기 타겟 자원을 결정하는 단계를 포함한다.
이 실시예에 있어서, 상기 열 후보 집합을 동적으로 계산하는 단계는 상기 다중 자원 유닛들 사이에 열 상호 작용들을 나타내기 위한 열 저항-커패시턴스 네트워크를 결정하는 단계, 및 상기 현재 전원과 상기 열 저항-커패시턴스 네트워크에 근거하여 상기 열 후보 집합을 동적으로 계산하는 단계를 포함한다.
이 실시예에 있어서, 상기 열 후보 집합을 동적으로 계산하는 단계는 상기 다중 자원 유닛들의 현재 전원에 따른 상기 현재 열 로드를 나타내기 위한 열 모델을 결정하는 단계, 및 상기 열 모델에 근거하여 상기 열 후보 집합을 동적으로 계산하는 단계를 포함한다.
본 발명에 따른 컴퓨팅 시스템은 자원 부분 내에 다중 자원 유닛들을 식별하는 자원 식별 블록, 상기 자원 식별 블록에 연결되고, 상기 다중 자원 유닛들 각각을 나타내기 위한 단위-열 프로파일을 생성하는 개별 모델링 블록, 상기 개별 모델링 블록에 연결되고, 상기 다중 자원 유닛들 사이의 관계를 나타내는 상기 단위-열 프로파일을 포함하는 자원 집합 프로파일을 생성하는 관계 모델링 블록, 및 상기 관계 모델링 블록에 연결되고, 상기 다중 자원 유닛들 사이의 열 관계들을 나타내기 위한 상기 자원 집합 프로파일에 근거하여 열 저항-커패시턴스 네트워크를 계산하는 특성화 블록을 포함한다.
이 실시예에 있어서, 상기 특성화 블록은 상기 다중 자원 유닛들의 현재 전원에 따른 현재 열 로드를 나타내기 위한 상기 자원 집합 프로파일에 근거하여 상기 자원 부분에 대한 열 모델을 생성한다.
이 실시예에 있어서, 상기 자원 식별 블록은 상기 자원 부분 내의 상기 다중 자원 유닛들을 위치하도록 하고, 상기 관계 모델링 블록은 상호 간에 관련된 상기 다중 자원 유닛들의 위치에 대한 노드-관계 위치를 포함하는 상기 자원 집합 프로파일을 생성하고, 상기 특성화 블록은 상기 노드 관계 위치에 근거하여 상기 열 저항-커패시턴스 네트워크를 계산한다.
이 실시예에 있어서, 상기 자원 식별 블록은 상기 자원 부분 내의 상기 다중 자원 유닛들을 위치하도록 하고, 상기 관계 모델링 블록은 상기 자원 부분에 관련된 상기 다중 자원 유닛들의 위치에 대한 노드-관계 위치를 포함하는 상기 자원 집합 프로파일을 생성하고, 상기 특성화 블록은 상기 노드 관계 위치에 근거하여 상기 열 저항-커패시턴스 네트워크를 계산한다.
이 실시예에 있어서, 상기 특성화 블록은 상기 열 저항-커패시턴스 네트워크를 갖는 열 후보 집합의 동적인 계산에 근거하여 타겟 태스크를 수행하기 위한 타겟 자원을 결정하기 위한 상기 열 저항-커패시턴스 네트워크를 계산한다.
본 발명에 따른 컴퓨팅 시스템은 현재 전원으로부터 이용가능 용량에 근거하여 동적으로 계산된 열 후보 집합을 이용함에 따라 열 제한들에 대해 개선된 성을 제공할 수 있다. 또한, 컴퓨팅 시스템은 열 부하에 따라 컴퓨팅 시스템의 자원 부분을 효율적으로 관리할 수 있다.
도 1은 본 발명의 실시예에 따른 열 매커니즘을 갖는 컴퓨팅 시스템을 예시적으로 도시한 도면,
도 2는 본 발명에 따른 자원 부분의 평면을 예시적으로 도시한 도면,
도 3은 본 발명에 따른 컴퓨팅 시스템에 대한 열 모델링을 예시적으로 도시한 도면,
도 4는 본 발명에 따른 컴퓨팅 시스템의 예시적인 디스플레이를 도시한 도면,
도 5는 본 발명에 따른 컴퓨팅 시스템의 예시적인 제어 흐름도,
도 6은 본 발명에 따른 동작에서 열 매커니즘을 예시적으로 도시한 도면, 및
도 7은 본 발명에 따른 컴퓨팅 시스템의 동작 방법에 대한 예시적인 흐름도이다.
다음의 실시예들은 타겟 태스크(target task)를 수행 또는 구현할 수 있는 노드들을 나타내기 위한 열 후보 집합(thermal candidate set)의 동적인 계산을 포함한다. 열 후보 집합은 타겟 태스크의 수행 또는 구현을 위한 타겟 자원(target resource)의 결정을 위해 사용될 수 있다.
타겟 자원은 타겟 태스크를 수행하거나 구현하기 위해, 최대의 열 헤드룸 또는 전원 소모와 성능이 최적의 균형을 갖는 바와 같은 열에 의한 최적인 노드를 포함한다. 열 후보 집합은 노드들 사이의 열 저항-커패시턴스 네트워크(thermal resistance-capacitance network), 현재 전원(present power), 현재 열 로드(present thermal load), 열 모델(thermal model), 또는 그것의 조합에 근거하여 동적으로 계산될 수 있다.
다음 실시예들은 발명을 만들고 사용하기 위해 해당 기술분야에서 실시 가능하도록 충분히 상세히 기술된다. 그것은 본 발명의 실시예들의 범위로부터 벗어나지 않도록 만들어질 수 있는 시스템, 프로세스, 구조적인, 또는 기계적인 변환들과 같은 본 발명에 기재된 것에 근거한 증거들일 수 있는 다른 실시예들로 이해될 수 있다.
다음의 기술들에서, 수많은 특정 상세들이 발명의 이해를 통해 제공되도록 주어질 수 있다. 그러나, 이러한 특정 상세들 없이 실행될 수 있는 발명과 다양한 실시예들이 명백할 것이다. 본 발명이 모호해지는 것을 회피하기 위해, 일부 공지된 회로들, 시스템 구성들, 및 프로세스 스텝들은 상세히 기술되지 않는다.
시스템의 실시예들을 보여주는 도면들은 제한적으로 도식되고, 비율로 한정되지 않고, 특히, 차원(dimension)들 중 일부는 보여주는 것을 명확히 하기 위해 도시된 도면들 내 과장되도록 도시될 수 있다. 마찬가지로, 비록 설명의 편의를 위한 도면들 내 시점들이 유사한 방향을 일반적으로 보여주더라도, 이 도면들 내의 묘사는 대부분의 부분에서 임의로 설정된다. 일반적으로 본 발명은 임의의 방향에서 동작할 수 있다.
여기에 나타낸 블록의 용어는 그 용어가 사용된 문맥에 따라 본 발명의 실시예 내에서 소프트웨어, 하드웨어, 또는 그것의 조합을 포함한다. 예를 들면, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 응용 소프트웨어일 수 있다. 또 예를 들면, 하드웨어는 회로, 프로세서, 컴퓨터, 집적 회로, 집적된 회로 코어들, 및 압력 센서, 및 관성 센서, 미세전자기계시스템(MEMS: microelectromechanical system), 수동 장치, 또는 그것의 조합일 수 있다. 더욱이, 블록은 하기에서 장치 청구항들로 기술되면, 블록들은 장치 청구항들의 범위와 목적을 위한 하드웨어 회로를 포함한 것으로 간주할 수 있다.
실시예들의 다음과 같은 기재 내 블록들은 묘사되거나 보이는 바와 같이 다른 하나에 연결될 수 있다. 연결은 연결된 아이템들 사이의 중간 아이템들을 각각, 갖거나 없이 직접 또는 간접일 수 있다. 연결은 물리적 접촉 또는 아이템들 사이의 통신에 의한 것일 수 있다.
도 1은 본 발명의 실시예에 따른 열 매커니즘을 갖는 컴퓨팅 시스템을 예시적으로 도시한 도면이다.
도 1을 참조하면, 컴퓨팅 시스템(computing system)(100)은 장치(device)(102)를 포함할 수 있다. 장치(102)는 클라이언트 장치, 서버, 디스플레이 인터페이스, 또는 그것의 조합을 포함할 수 있다.
예를 들면, 장치(102)는 스마트 폰, 웨어러블 장치(wearable device) 또는 건강 모니터(health monitor), 센서(sensor) 또는 사물 인터넷(IoT: Internet of Things)을 위한 프로세싱 장치, 및 그것의 조합을 포함할 수 있다. 또 예를 들면, 장치(102)는 컴퓨터, 그리드 컴퓨팅 자원들, 가상화된 컴퓨터 자원, 클라우드 컴퓨팅자원, 라우터들, 스위치들, 피어-투-피어(pear-to-pear) 분산 컴퓨팅 장치들, 또는 그것의 조합을 포함할 수 있다. 또 예로서, 장치(102)는 서비스 공급자에 의해 이용되는 서버를 포함할 수 있다.
장치(102)는 제어 유닛(control unit)(112), 저장 유닛(storage unit)(114), 통신 유닛(communication unit)(116), 및 사용자 인터페이스(user interface)(118)를 포함할 수 있다. 제어 유닛(112)은 제어 인터페이스(control interface)(122)를 포함할 수 있다. 제어 유닛(112)은 컴퓨팅 시스템(100)의 소프트웨어(software)(126)를 실행할 수 있다.
일 실시예에서, 제어 유닛(112)은 컴퓨팅 시스템(100)으로 프로세싱 역량과 기능을 제공한다. 제어 유닛(112)은 다수의 다른 방법들로 구현될 수 있다. 예를 들면, 제어 유닛(112)은 프로세서 또는 그것의 일부, 주문형 반도체(ASIC: application specific integrated circuit), 임베디드 프로세서(embedded processor), 마이크로프로세서, 중앙 처리 장치(CPU: central processing unit), 그래픽 프로세싱 유닛(GPU: graphic processing unit), 하드웨어 제어 로직(control logic), 하드웨어 유한 상태 머신(FSM: finite state machine), 디지털 신호 프로세서(DSP: digital signal processor), 컴퓨팅 능력을 갖는 하드웨어 회로(hardware circuit), 또는 그것의 조합을 포함하는 프로세서 또는 그것의 일부일 수 있다.
추가적인 예로서, 다양한 실시예들이 단일 집적 회로 상에 구현, 시스템 케이싱(system casing) 내의 확장 카드(daughter card) 또는 시스템 보드 상의 컴포넌트들과 함께 구현 또는 다양한 네트워크 토폴로지(network topologie)들에 교차하는 시스템을 위해 시스템으로부터 분배되어 구현, 또는 그것의 조합으로 구현될 수 있다. 네트워크 토폴로지들의 예로, 개인 영역 네트워크(PAN: personal area network), 근거리 영역 네트워크(근거리 통신망)(LAN: local area network), 스토리지 영역 네트워크(SAN: storage area network), 도시권 영역 네트워크(도시권 통신망)(MAN: metropolitan area network), 와이드 영역 네트워크(광대역 통신망)(WAN: wide area network), 또는 그것의 조합을 포함한다.
제어 인터페이스(122)는 장치(102) 내에서 제어 유닛(112)과 다른 기능 유닛들 사이의 통신에 사용될 수 있다. 제어 인터페이스(122)는 장치(102) 외부의 통신을 위해 사용될 수도 있다.
제어 인터페이스(122)는 다른 기능 유닛들 또는 외부 소스들로부터 정보를 수신할 수 있다. 외부 소스들과 외부 목적지들은 장치(102) 외부의 소스들과 목적지들을 나타낸다.
제어 인터페이스(122)는 다른 방법들로 구현될 수 있고, 제어 인터페이스(122)와 인터페이스되는 기능 유닛들 또는 외부 유닛들에 따른 다른 구현들을 포함할 수 있다. 예를 들면, 제어 인터페이스(122)는 압력 센서(pressure sensor), 관성 센서(inertial sensor), 미세전자기계 시스템(MEMS: microelectromechanical system), 광 회로(optical circuitry), 도파관(waveguide)들, 무선 회로(wireless circuitry), 와이어라인 회로(wireline circuitry), 및 그것의 조합으로 구현될 수 있다.
저장 유닛(114)은 소프트웨어(126)를 저장할 수 있다. 저장 유닛(114)은 데이터, 이미지들, 프로그램들, 음성 파일들, 또는 그것의 조합과 같은 관련 정보들을 저장할 수도 있다. 저장 유닛(114)은 추가적인 저장 용량을 제공하기 위한 크기일 수 있다.
저장 유닛(114)은 휘발성 메모리, 비휘발성 메모리, 내부 메모리, 외부 메모리, 또는 그것의 조합일 수 있다. 예를 들면, 저장 유닛(114)은 비휘발성 랜덤 액세스 메모리(NVRAM: non-volatile random access memory), 플래시 메모리, 디스크 스토리지와 같은 비휘발성 스토리지, 또는 정적 랜덤 액세스 메모리(SRAM: static random access memory), 동적 랜덤 액세스 메모리(DRAM: dynamic random access memory), 임의의 메모리 기술, 또는 그것의 조합과 같은 휘발성 스토리지, 또는 그것의 조합일 수 있다.
저장 유닛(114)은 저장 인터페이스(storage interface)(124)를 포함할 수 있다. 저장 인터페이스(124)는 장치(102) 내 다른 기능 유닛들과의 통신에 사용될 수 있다. 저장 인터페이스(124)는 장치(102) 외부로의 통신을 위해 사용될 수도 있다.
저장 인터페이스(124)는 다른 기능 유닛들 또는 외부 소스들로부터 정보를 수신할 수 있거나, 다른 기능 유닛들 또는 외부 소스들로 정보를 전송할 수 있다. 외부 소스들과 외부 목적지들은 장치(102) 외부의 소스들과 목적지들을 나타낸다.
저장 인터페이스(124)는 기능 유닛들에 따른 다른 구현들을 포함할 수 있고, 외부 유닛은 저장 유닛(114)과 인터페이스된다. 저장 인터페이스(124)는 제어 인터페이스(122)의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
목적들을 구체화하기 위해, 저장 유닛(114)은 단일 엘리먼트로 보여주고 있으나, 저장 유닛(114)은 저장 엘리먼트들로 분배될 수 있는 것으로 이해될 수 있다. 또한, 목적들을 구체화하기 위해, 컴퓨팅 시스템(100)은 단일 하이어러키 스토리지 시스템(single hierarchy storage system)으로서 저장 유닛(114)을 도시하였으나, 컴퓨팅 시스템(100)은 다른 구성의 저장 유닛(114)을 가질 수 있다. 예를 들면, 저장 유닛(114)은 캐싱, 메인 메모리, 회전 미디어, 또는 오프라인 스토리지의 다른 레벨을 포함하는 메모리 하이어러키얼 시스템을 형성하는 다른 저장 기술들로 형성될 수 있다.
통신 유닛(116)은 장치(102)로 또는 장치(102)로부터의 외부 통신을 가능하게 할 수 있다. 예를 들면, 통신 유닛(116)은 주변 장치, 통신 경로(미도시), 또는 그것의 조합과 같이 부착된 제 2 장치(미도시)와 통신을 허용한다.
통신 유닛(116)은 통신 경로의 일부로서의 기능을 위한 장치(102)를 허용하는 통신 허브와 같은 기능을 할 수도 있고, 통신 경로에서 엔드 포인트 또는 단말 유닛으로 제한되지 않는다. 통신 유닛(116)은 통신 경로와 상호작용을 위한 마이크로일렉트로닉스(microelectronics), 또는 안테나와 같은 능동 및 수동 컴포넌트들을 포함할 수 있다.
통신 유닛(116)은 통신 인터페이스(communication interface)(128)를 포함할 수 있다. 통신 인터페이스(128)는 통신 유닛(116)과 장치(102) 내의 다른 기능 유닛들 사이의 통신을 위해 사용될 수 있다. 통신 인터페이스(128)는 다른 기능 유닛들로부터 정보를 수신하거나 다른 기능 유닛들로 정보를 전송할 수 있다.
통신 인터페이스(128)는 통신 유닛(116)과 인터페이스되는 기능 유닛들에 따른 다른 구현을 포함할 수 있다. 통신 인터페이스(128)는 제어 인터페이스(122), 저장 인터페이스(124), 또는 그것의 조합의 구현과 유사한 기술들 및 기법들로 구현될 수 있다.
사용자 인터페이스(118)는 장치(102)와 인터페이스 및 상호 작용을 위한 사용자(미도시)를 허용한다. 사용자 인터페이스(118)의 입력 장치의 예들은 데이터와 통신 입력들을 제공하기 위한 키패드(keypad), 터치패드(touch pad), 소프트키(soft-key)들, 키보드(keyboard), 마이크로폰, 원격 신호들을 수신하기 위한 적외선 센서(infrared sensor), 다른 입력 장치들, 또는 그것의 조합을 포함할 수 있다.
사용자 인터페이스(118)는 디스플레이 인터페이스(display interface)(130)를 포함할 수 있다. 디스플레이 인터페이스(130)는 디스플레이, 프로젝터, 비디오스크린, 스피커, 또는 그것들의 임의의 조합을 포함할 수 있다.
제어 유닛(112)은 컴퓨팅 시스템(100)에 의해 생성된 정보를 디스플레이하기 위해 사용자 인터페이스(118)를 동작시킬 수 있다. 제어 유닛(112)은 컴퓨팅 시스템(100)의 다른 기능들을 위한 소프트웨어(126)를 실행시킬 수도 있다. 제어 유닛(112)은 통신 유닛(116)을 통해 통신 경로와 상호 작용하기 위한 소프트웨어(126)를 추가로 실행시킬 수 있다.
장치(102)는 다중 장치 실시예들 내 컴퓨팅 시스템(100)의 실시예의 구현을 위해 최적화될 수도 있다. 장치(102)는 추가적이거나 고성능 프로세싱 전원을 제공할 수 있다.
목적들을 구체화하기 위해, 장치(102)는 사용자 인터페이스(118), 저장 유닛(114), 제어 유닛(112), 및 통신 유닛(116)을 분할하여 도시하더라도, 장치(102)는 임의의 다른 분할을 가질 수 있다. 예를 들면, 소프트웨어(126)는 제어 유닛(112)과 통신 유닛(116) 내에 있을 수 있는 적어도 어떤 기능과 같이 다르게 분할될 수 있다. 또한, 장치(102)는 명확히 하기 위해 도시되지 않은 다른 기능 유닛들을 포함할 수 있다.
장치(102) 내 기능 유닛들은 다른 기능 유닛들의 개별적이고 독립적인 작업을 할 수 있다. 목적들을 구체화하기 위해, 컴퓨팅 시스템(100)은 장치(102)의 동작에 의해 기술될 수 있으나, 컴퓨팅 시스템(100)의 임의의 프로세스들과 기능들로 동작할 수 있는 것으로 이해될 수 있다.
이러한 응용들 내 프로세스들은 제어 유닛(112) 내 하드웨어 구현들, 하드웨어 회로, 또는 하드웨어 가속기들일 수 있다. 프로세스들은 제어 유닛(112)의 외부에 있으나, 장치(102) 내 구현될 수도 있다.
이러한 응용들 내 프로세스들은 소프트웨어(126)의 일부일 수 있다. 이러한 프로세스들은 저장 유닛(114) 내 저장될 수도 있다. 제어 유닛(112)은 컴퓨팅 시스템(100)을 동작하기 위한 이러한 프로세스들을 실행시킬 수 있다.
도 2는 본 발명에 따른 자원 부분의 평면을 예시적으로 도시한 도면이다.
도 2를 참조하면, 컴퓨팅 시스템(100)은 자원 부분(resource portion)(202)을 포함할 수 있다. 예를 들면, 도 1의 장치(102)는 자원 부분(202)의 하나 이상의 인스턴스(instance)들을 포함할 수 있다.
목적들을 구체화하기 위해, 자원 부분(202)의 하나의 인스턴스는 제어 유닛(112)에 포함되는 것을 보여준다. 그러나, 도 1의 제어 유닛(112), 저장 유닛(114), 통신 유닛(116), 사용자 인터페이스(118), 또는 그것의 조합은 자원 부분(202)의 하나 이상의 인스턴스를 포함할 수 있는 것으로 이해될 수 있다.
자원 부분(202)은 프로세싱 유닛의 단일 그룹핑일 수 있다. 자원 부분(202)은 프로세싱 정보를 위한 컴포넌트 또는 장치의 단일 물리적 유닛일 수 있다. 자원 부분(202)은 하드웨어일 수 있다. 자원 부분(202)은 장치, 전자 기기 컴포넌트, 액티브 회로, 수동 회로, 또는 그것의 조합을 포함할 수 있다. 예를 들면, 자원 부분(202)은 칩, 보드, 또는 박스를 포함할 수 있다. 더 상세한 예로서, 자원 부분(202)은 시스템 온 칩(SoC: System on Chip), 모바일 응용 프로세서(AP: application processor), 또는 그것의 조합을 포함할 수 있다.
자원 부분(202)은 중심 영역(central area)(204), 외부 영역(outer area)(206), 또는 그것의 조합을 포함할 수 있다. 중심 영역(204)은 자원 부분(202)의 기하학적 또는 물리적으로 중심에 또는 중심 부근에 위치된 영역을 포함한다. 중심 영역(204)은 자원 부분(202)에 하우징(housing) 또는 고정(affixing)을 위한 보드 또는 기판에 평행한 기준 플레인(reference plane)에 대한 것일 수 있다. 예시적인 정면도는 기준 플레인을 표현할 수 있다.
외부 영역(206)은 기준 플레인을 따라 자원 부분(202)의 주변부에 따라 위치된 영역을 포함한다. 외부 영역(206)은 중심 영역(204) 주변을 둘러쌀 수 있다. 외부 영역(206)은 중심 영역(204)에 인접하거나 접경될 수 있다. 외부 영역(206)과 중심 영역(204)은 외부 영역(206)과 중심 영역(204) 사이의 영역 또는 개략적인 경계를 따라 나뉠 수 있다.
자원 부분(202)은 중심 영역(204)과 외부 영역(206)에 대한 다른 열 또는 운용 특징들을 가질 수 있다. 차이 또는 차이의 이용은 하기에서 기술하기로 한다.
자원 부분(202)은 자원 클러스터(resource cluster)(208)의 하나 이상의 인스턴스들을 포함할 수 있다. 자원 클러스터(208)는 자원 부분(202)에 대한 명령들을 수행하거나 실행하기 위한 자원 클러스터(208) 내 섹션 또는 세그먼트를 포함할 수 있다. 자원 클러스터(208)는 프로세싱 클러스터 또는 CPU 클러스터를 포함할 수 있다. 자원 클러스터(208)는 명령어들에 의해 특정된 기본 연산, 논리 연산, 제어, 입력-출력(I/O: Input/Output), 또는 그러한 동작들의 조합을 위한 액티브 회로, 수동 회로, 트랜지스터, 게이트, 또는 그것의 조합을 포함할 수 있다.
예를 들면, 자원 부분(202)은 자원 클러스터(208)를 위한 제 1 클러스터(210)와 제 2 클러스터(212)를 포함할 수 있다. 제 1 클러스터(210)와 제 2 클러스터(212)는 자원 클러스터(208)의 독립 인스턴스 각각일 수 있다.
제 1 클러스터(210)와 제 2 클러스터(212)는 자원 부분(202)을 최적화하기 위한 다양한 디자인 특징들에 근거할 수 있다. 예를 들면, 제 1 클러스터(210)와 제 2 클러스터(212)는 서로 간에 다르거나 동일한 크기, 용량, 속도, 타입, 또는 그것의 조합과 같은 특징들을 포함할 수 있다. 더 특정한 예로서, 제 1 클러스터(210)는 제 2 클러스터(212), "작은(little)" 프로세싱, 또는 CPU 클러스터와 비교하여 더 큰 크기, 더 높은 용량, 더 높은 최대 속도, 또는 그것의 조합을 갖는 "큰(big)" 프로세싱 또는 CPU 클러스터일 수 있다.
제 1 클러스터(210) 또는 제 2 클러스터(212)와 같은, 자원 클러스터(208)는 자원 유닛(resource unit)(214)의 하나 이상의 인스턴스들을 포함할 수 있다. 자원 유닛(214)은 프로세싱 또는 CPU 클러스터를 위한 코어를 포함할 수 있다. 예를 들면, 제 1 클러스터(210), 제 2 클러스터(212), 또는 그것의 조합은 독립되고 분리된 프로세싱 또는 CPU 코어를 각각 나타내는 제 1 자원(216)과 제 2 자원(218)을 포함할 수 있다.
더 상세한 예로서, 제 1 클러스터(210)는 도 2에 예시한 바와 같이, 'B0', 'B1', 'B2', 'B3'로 분류된 네 개의 코어들을 포함할 수 있다. 또 더 상세한 예로서, 제 2 클러스터(212)는 도 2에 예시한 바와 같이, 'L0', 'L1', 'L2', 'L3'로 분류된 4개의 코어들을 포함할 수 있다. 제 1 자원(216)과 제 2 자원(218)은 모바일 AP 또는 SoC를 위해 유일하고 분리된 코어 각각일 수 있다.
제 1 자원(216)과 제 자원(218)은 상호 간에 기능적으로 분리되거나 독립될 수 있다. 제 1 자원(216)과 제 2 자원(218)은 상호 간에 물리적 또는 기하학적으로 더 분리되거나 독립될 수 있다.
자원 유닛(214)은 동작 설정값(operational setting)(220)을 포함할 수 있다. 동작 설정값(220)은 자원 유닛(214)을 위한 기능을 제어하는 지정의 그룹핑 또는 하나의 지정이다. 동작 설정값(220)은 자원 부분(202), 그것 내의 자원 클러스터(208), 그것 내의 자원 유닛(214), 또는 그것의 조합을 위한 전원 소모, 열 조건, 또는 그것의 조합에 영향을 줄 수 있다.
예를 들면, 동작 설정값(220)은 속도 또는 비율, 주파수, 전압 레벨, 상태, 또는 그것의 조합을 포함할 수 있다. 더 상세한 예로서, 동작 설정값(220)은 슬립 또는 활성 상태, 동적 전압 및 주파수 스케일링(DVFS: dynamic voltage and frequency scaling) 상태, 특정 전압 또는 주파수 설정, 또는 그것의 조합을 포함할 수 있다.
자원 부분(202)은 다른 기능적 섹션을 포함할 수 있다. 다른 기능적 섹션들은 주변 섹션(surrounding section)(222)들을 포함할 수 있다. 주변 섹션(222)은 자원 클러스터(208)로부터 독립되고 분리된 자원 부분(202) 내의 회로 또는 장치의 섹션이고, 자원 클러스터(208)에 관련된 위치를 갖는다.
예를 들면, 주변 섹션(222)은 자원 클러스터(208)에 직접적으로 인접하거나 접경하는 기능 섹션을 포함할 수 있다. 주변 섹션(222)은 주변 섹션(222)과 자원 클러스터(208) 사이에 임의로 개입되거나 기능적인 장치 또는 부분없이 자원 클러스터(208)에 직접적으로 인접하거나 접경할 수 있다. 또 예를 들면, 주변 섹션(222)과 자원 클러스터(208)는 상호 간에 기능적으로 분리되거나 독립, 상호 간에 물리적 또는 기하학적으로 분리 또는 독립, 또는 그것의 조합일 수 있다.
더 상세한 예로서, 주변 섹션(222)은 그래픽 섹션(graphics section)(224), 일반 섹션(general section)(226), 또는 그것의 조합을 포함할 수 있다. 그래픽 섹션(224)은 프로세스 이미지들로 구성된 자원 부분(202) 내 회로를 포함할 수 있다. 그래픽 섹션(224)은 도 1의 디스플레이 인터페이스(130)를 위한 이미지에 따를 수 있다. 그래픽 섹션(224)은 "G3D"로 나타낼 수 있다. 일반 섹션(226)은 여려가지 종류의 명령 포인터(IP: instruction pointer)들을 처리하기 위해 구성된 자원 부분(202) 내 회로를 포함할 수 있다.
자원 클러스터(208), 주변 섹션(222), 또는 그것의 조합은 자원 부분(202)보다 좋은 입상도 레벨(granularity level)에서 나타내는 회로 또는 장치의 유닛일 수 있다. 자원 유닛(214)은 자원 클러스터(208) 보다 더 좋은 입상도 레벨에서 나타내는 회로 또는 장치의 유닛일 수 있다.
자원 부분(202)은 더 낮은 입상도 노드들을 위한 특징(charateristic)들 또는 사양(specification)들을 포함할 수 있다. 노드는 컴포넌트, 장치, 또는 그것의 조합 또는 그룹핑과 같이 전원을 소모, 열을 발생, 정보를 프로세싱, 또는 그것의 조합을 할 수 있는 단일 엔티티 또는 유닛을 나타낸다. 노드는 자원 클러스터(208), 주변 섹션(222), 자원 유닛(214), 또는 그것의 조합을 나타낼 수 있다.
노드를 위한 물리적 특징들 또는 사양들은 노드를 위한 위치들, 물질들, 접속들, 그것의 상호작용, 또는 그것의 조합에 근거할 수 있다. 예를 들면, 물리적 특징들 또는 사양들에 근거한 위치는 전체 형상에 관련된 자원 부분(202) 내 노드들에 대한 것일 수 있다. 더 상세한 예로서, 물리적 특성들 또는 사양들은 중심 영역(204), 바깥 영역(206), 또는 그것의 조합에 관련된 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합의 위치를 포함할 수 있다.
또, 예를 들면, 물리적 특성들 또는 사양들에 근거한 위치는 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합과 같은 자원 부분(202) 내 노드의 관련된 위치들일 수 있다. 더 상세한 예로서, 물리적 특성들 또는 사양들은 분리 측정(separation measure)(228), 중복 측정(overlap measure)(230), 또는 그것의 조합을 포함할 수 있다.
분리 측정(228)은 자원 부분(202) 내의 노드들 사이의 분할 정도의 표현을 포함할 수 있다. 예를 들면, 분리 측정(228)은 거리, 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합을 분리하거나 사이에 존재하는 비-기능 물질의 양 또는 회로의 특정 타입, 분리되거나 주변의 물질의 길이 또는 비율, 자원 부분(202)의 차원에 근거한 비율, 또는 그것의 조합을 포함할 수 있다.
중복 측정(230)은 자원 부분(202) 내 노드 사이의 방향 또는 축을 따라 중복 또는 교차 정도의 표현을 포함할 수 있다. 예를 들면, 중복 측정(230)은 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합 사이에 중복되는 거리, 비-기능 물질의 양 또는 회로의 특정 타입, 자원 부분(202)의 차원에 근거한 비율, 또는 그것의 조합을 포함할 수 있다.
중복 측정(230)은 자원 부분(202) 또는 그 안에 노드의 주변 측면 또는 에지에 평행한 방향 또는 축에 근거할 수 있다. 중복 측정(230)은 자원 부분(202), 컴포넌트 또는 그것의 장치, 또는 그것의 조합을 기술하기 위해 정의된 좌우, 상항, 전후, x-y-z, 또는 그것의 조합과 같은 기준 방향 또는 축에 근거한 것일 수도 있다.
물질들, 연결들, 그것의 상호작용들, 그것의 조합에 근거한 물리적 특징들 또는 사양들은 하기에서 예시되고 논의된다. 컴퓨팅 시스템(100)은 열 특성들을 처리하기 위한 자원 부분(202) 또는 그 안에 노드를 위한 물리적 특징들 또는 사양들을 사용할 수 있다.
열 특성들은 열 저항-커패시턴스 네트워크(resistance-capacitance network)(232)를 포함할 수 있다. 열 저항-커패시턴스 네트워크(232)는 자원 부분(202) 내의 노드들 사이의 열 관계의 표현이다. 열 저항-커패시턴스 네트워크(232)는 하나의 노드와 다른 노드 사이의 열 영향 또는 작용의 전달과 같은 기생 열 노드를 나타낼 수 있다. 예를 들면, 열 저항-커패시턴스 네트워크(232)는 노드로 물리적 또는 위치-기반 연관성을 갖는 다른 노드의 온도 레벨에 의해 야기되거나 다른 노드의 온도 레벨에 응답한 하나의 노드 상의 온도 변화를 나타낸다.
컴퓨팅 시스템(100)은 자원 부분(202) 내 노드의 하나 이상의 인스턴스들에 따른 열 저항-커패시턴스 네트워크(232)를 생성할 수 있다. 컴퓨팅 시스템(100)은 시스템 온 칩(SoC) 또는 모바일 응용 프로세서(AP)의 타입 또는 유일한 인스턴스 각각을 위한 것과 같은 자원 부분(202)을 특히 나타내기 위한 열 저항-커패시턴스 네트워크(232)를 생성할 수 있다. 열 저항-커패시턴스 네트워크(232)는 자원 부분(202)의 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합을 위하거나 그것들 사이의 열 관계를 나타낼 수 있다.
컴퓨팅 시스템(100)은 자원 부분(202)의 물리적 특징들 또는 사양들에 근거하여 열 저항-커패시턴스 네트워크(232)를 생성할 수 있다. 컴퓨팅 시스템(100)은 노드들을 위한 위치들, 물질들, 연결들, 그것들의 상호 작용, 그것의 조합들에 따른 물리적 특징들 또는 사양들에 근거하여 열 저항-커패시턴스 네트워크(232)를 생성할 수 있다. 열 특징들의 사용과 프로세싱 및 열 저항-커패시턴스 네트워크(232)의 생성을 고려하여 하기에서 상세히 기술한다.
컴퓨팅 시스템(100)은 전원 모니터(power monitor)(234)를 더 포함할 수 있다. 전원 모니터(234)는 기기 또는 회로에 대해 소모되는 현재 전원(present power)(236)을 추정하거나 측정하도록 구성된 장치 또는 회로를 포함할 수 있다. 현재 전원(236)은 해당 장치 또는 회로에 의해 소모되는 일시적인 전원 또는 에너지의 양을 포함할 수 있다.
전원 모니터(234)는 장치 또는 회로에 대해 측정되고 추정된 전압, 전류, 열 에너지 레벨, 인스트럭션들의 회수 또는 실행 구간, 또는 그것의 조합에 근거하여 현재 전원(236)을 더 측정하고 추정할 수도 있다. 전원 모니터(234)는 자원 부분(202), 자원 클러스터(208), 주변 섹션(222), 자원 유닛(214), 또는 그것의 조합을 포함하는 해당 장치 또는 회로에 의해 소모되는 현재 전원(236)을 측정하거나 추정하기 위한 것일 수 있다.
목적들을 구체화하기 위해, 전원 모니터(234)는 제 1 클러스터(210), 제 2 클러스터(212), 및 주변 섹션(222)으로부터 분리되어 자원 부분(202) 내에 포함되는 것을 도시하고 있다. 그러나, 전원 모니터(234)는 다르게 구성될 수 있는 것으로 이해된다.
예를 들면, 전원 모니터(234)는 자원 부분(202), 자원 클러스터(208), 주변 섹션(222), 자원 유닛(214), 또는 그것의 조합 내에 포함되는 것일 수 있다. 또 예를 들면, 전원 모니터(234)는 자원 부분(202), 자원 클러스터(208), 주변 섹션(222), 자원 유닛(214), 또는 그것의 조합의 외부일 수도 있다. 더 상세한 예로서, 전원 모니터(234)는 자원 부분(202) 내에 각 노드들의 현재 전원(236)을 측정하거나 추정하기 위한 자원 부분(202) 내 노드들 각각에 포함되거나 연결된 회로의 그룹핑을 포함할 수 있다.
컴퓨팅 시스템(100)은 동적 로드 프로파일(dynamic load profile)(238)을 생성할 수 있다. 동적 로드 프로파일(238)은 자원 부분(202), 그 안에 노드, 또는 그것의 조합을 위해 스케쥴된 태스크들의 표현을 포함할 수 있다. 동적 로드 프로파일(238)은 자원 부분(202), 그 안에 노드, 또는 그것의 조합에 연관된 열 에너지의 표현을 더 포함할 수 있다. 예를 들면, 동적 로드 프로파일(238)은 현재 열 로드(dynamic load profile)(240), 현재 작업 로드(present work load)(242), 현재 거주 시간(present residency time)(244) 또는 그것의 조합을 포함할 수 있다.
현재 열 로드(240)는 프로세싱의 시간에서 노드에 연관된 열 에너지의 양을 포함할 수 있다. 현재 열 로드(240)는 현재 시간에서 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합을 나타낼 수 있다.
현재 열 로드(240)는 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합의 물리적인 구조 내에 포함되거나 수용되는 열 에너지를 포함한다. 현재 열 로드(240)는 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합의 인스턴스에서 실행되거나 그것에 의해 구현되어 이전에서 실행된 프로세스 또는 명령어, 현재 실행중인 프로세스 또는 명령어, 또는 그것의 조합에 따른 주변 온도에 근거할 수 있다.
현재 작업 로드(242)는 프로세싱의 시간에서 노드를 위해 실행중이거나 스케쥴된 프로세스, 인스트럭션, 또는 그것의 조합을 포함할 수 있다. 현재 작업 로드(242)는 현재 시간에서 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합에서 실행되거나 그것들에 의한 구현을 위해 프로세스, 명령어, 또는 그것의 조합에 대해 스케쥴하거나 실행 시간 큐를 나타낼 수 있다.
현재 작업 로드(242)는 프로세스, 명령어, 또는 그것의 조합의 특성을 포함할 수 있다. 예를 들면, 현재 작업 로드(242)는 프로세스, 명령어, 또는 그것의 조합을 위한 개별 실행가능 단계들의 회수 또는 양, 난이도, 클록 사이클들의 회수, 또는 그것의 조합을 포함할 수 있다.
현재 거주 시간(244)은 해당 노드에 의한 현재 작업 로드(242)의 완료를 위해 필요로 하는 시간을 포함한다. 현재 거주 시간(244)은 현재 작업 로드(242)를 완료하기 위한 전체 시간, 클럭 사이클들의 전체 회수, 실행가능 단계들의 전체 회수, 또는 그것의 조합을 포함한다. 현재 거주 시간(244)은 현재 작업 로드(242)를 완료할 때까지 잔여 시간, 클럭 사이클들의 남은 회수, 실행가능 단계들의 남은 회수, 또는 그것의 조합을 더 포함할 수 있다.
컴퓨팅 시스템(100)은 다양한 방법들, 프로세스들, 인자들, 모델들, 장치들 또는 회로들, 또는 그것의 조합에 근거한 동적 로드 프로파일(238)을 생성할 수 있다. 예를 들면, 컴퓨팅 시스템(100)은 스케쥴러, 전원 모니터(234), 컴퓨팅 시스템(100)에 의해 미리 결정된 방법 또는 프로세스, 각 노드의 상태 보고, 또는 그것의 조합을 사용한 동적 로드 프로파일(238)을 생성할 수 있다.
컴퓨팅 시스템(100)은 타겟 태스크(target task)(248)를 수행하기 위한 타겟 자원(target resource)(246)의 결정에 동적 로드 프로파일(238)을 사용할 수 있다. 타겟 태스크(248)는 자원 부분(202) 내 노드에 의해 실행되거나 수행되기 위해 요구된 명령어 또는 프로세스를 포함할 수 있다. 타겟 태스크(248)는 타겟 자원(246)에 의해 수행되거나 실행되기 위해 스케쥴될 수 있다.
타겟 자원(246)은 타겟 태스크(248)의 수행 또는 실행을 위해 지정된 노드이다. 타겟 자원(246)은 제 1 자원(216) 또는 제 2 자원(218)과 같은 자원 유닛(214)의 특정 인스턴스일 수 있다. 컴퓨팅 시스템(100)은 동적 로드 프로파일(238), 현재 전원(236), 열 저항-커패시턴스 네트워크(232), 또는 그것의 조합에 근거한 타겟 자원(246)을 결정할 수 있다.
컴퓨팅 시스템(100)은 실행 또는 성능에 연관된 열 로드 또는 요구에 근거하여 타겟 태스크(248)를 실행하거나 수행하기 위해 가장 적합한 노드로서 타겟 자원(246)을 결정할 수 있다. 타겟 자원(246)의 결정과 이용을 위한 프로세스는 하기에서 상세히 설명하기로 한다.
도 3은 본 발명에 따른 컴퓨팅 시스템에 대한 열 모델링을 예시적으로 도시한 도면이다.
도 3을 참조하면, 컴퓨팅 시스템(100)을 위한 열 모델(thermal model)(302)이 도시된다. 열 모델(302)은 하나 이상의 노드들에서 온도 또는 열 에너지, 및 전원 사이의 관계의 표현이다. 열 모델(302)은 하나 이상의 노드들에 따른 저항, 커패시턴스, 또는 그것의 조합을 사용한 모델일 수 있다. 예를 들면, 열 모델(302)은 기준 노드(reference node)(304)에서 온도에서 응답을 나타낸다.
기준 노드(304)는 컴퓨팅 시스템(100)에 의해 분석되고 프로세스된 노드의 인스턴스를 포함할 수 있다. 기준 노드(304)는 도 2의 자원 클러스터(208)의 인스턴스 또는 도 2의 자원 유닛(214)의 인스턴스를 포함할 수 있다. 예를 들면, 기준 노드(304)는 도 2의 제 1 자원(216) 또는 도 2의 제 2 자원(218)을 포함할 수 있다.
기준 노드(304)는 주변 노드(surrounding node)(306)의 하나 이상의 인스턴스에 연결될 수 있다. 주변 노드(306)는 기준 노드(304)와 다른 도 2의 자원 부분(202) 내 노드의 인스턴스를 포함할 수 있다. 주변 노드(306)는 기준 노드(304)의 열 에너지에 영향을 줄 수 있고, 주변 노드(306)의 열 에너지는 기준 노드(304)에 의해 영향을 받을 수 있다.
주변 노드(306)는 도 2의 자원 유닛(214) 또는 자원 클러스터(208), 도 2의 주변 섹션(222), 또는 그것의 조합의 다른 유일한 인스턴스를 포함할 수 있다. 예를 들면, 기준 노드(304)가 제 1 자원(216)일 때, 주변 노드(306)는 B1, B2, B3, 또는 그것의 조합으로 라벨된 자원 부분(202)을 포함할 수 있다. 또 예를 들면, 기준 노드(304)가 제 1 자원(216)일 때, 주변 노드(306)는 도 2의 제 2 클러스터(212), 도 2의 그래픽 섹션(224), 도 2의 일반 섹션(226), 또는 그것의 조합을 포함할 수 있다.
주변 노드(306)는 기준 노드(304)에 물리적 또는 전기적으로 연관될 수 있다. 예를 들면, 주변 노드(306)는 기준 노드(304)에 직접 또는 간접적으로 연결될 수 있다. 또 예를 들면, 주변 노드(306)는 물리적 구조를 공유하거나 기준 노드(304)에 연결될 수 있다.
열 모델(302)은 기준 노드(304), 주변 노드(306), 또는 그것의 조합에 따른 저항, 커패시턴스 또는 그것의 조합을 사용한 모델일 수 있다. 컴퓨팅 시스템(100)은 열 모델(302)과 도 2의 현재 전원(236)을 사용하여 도 2의 현재 열 로드(240)를 계산할 수 있다.
컴퓨팅 시스템(100)은 자원 부분(202)의 노드에 대한 현재 전원(236)을 처리할 수 있다. 예를 들면, 열 모델(302)은 자원 유닛(214), 자원 클러스터(208), 주변 섹션(222), 또는 그것의 조합의 현재 전원(236)을 처리할 수 있다.
컴퓨팅 시스템(100)은 열 모델(302)을 사용한 시간의 함수로서 현재 열 로드(240)를 계산할 수 있다. 예를 들면, 컴퓨팅 시스템(100)은 현재 열 로드(240)를 하기의 수학식 1에 근거하여 계산할 수 있다.
Figure pat00001
수학식 1을 참조하면, 기준 노드(304)에서 시간의 함수로서 현재 열 로드(240)는 '
Figure pat00002
'로서 나타낼 수 있는 'i'에 의해 지정된다. 주변 노드(306)의 'n' 인스턴스는 '1'과 'n'사이의 수들에 의해 지정될 수 있다. 현재 전원(236)은 노드 1과 노드 n사이의 시간의 함수는 '
Figure pat00003
'과 '
Figure pat00004
' 사이로 나타낼 수 있는 것으로 나타낼 수 있다. 열 모델(302)은 '
Figure pat00005
'과 '
Figure pat00006
'사이에 보여지는, 노드 1과 노드 n 사이에 대한 저항값, '
Figure pat00007
'과 '
Figure pat00008
' 사이에 보이는, 노드 1과 노드 n 사이에 대한 저항 커패시턴스 값, 또는 그것의 조합으로 나타낼 수 있다.
열 모델(302)은 액티브 노드(active node)(308), 정지 노드(resting node)(310), 그것의 조합을 처리할 수 있다. 액티브 노드(308)는 전류 시간에서 기능(function)을 실행하거나 전류 시간에서 명령어들을 처리하는 노드이다. 정지 노드(310)는 전류 시간에서 기능을 실행하지 않거나, 전류 시간에서 명령어를 처리하지 않는 노드이다.
컴퓨팅 시스템(100)은 액티브 노드(308)와 정지 노드(310)를 식별하고 프로세스한다. 예를 들면, 컴퓨팅 시스템(100)은 정지 노드(310)의 인스턴스로서 도 2의 타겟 자원(246)을 결정할 수 있다. 또 예를 들면, 컴퓨팅 시스템(100)은 타겟 자원(246)을 위한 후보로서 자원 유닛(214)의 정지 인스턴스들의 분석을 위해 기준 노드(304)로서 정지 노드(310)를 반복적으로 설정할 수 있다. 또 예를 들면, 컴퓨팅 시스템(100)은 주변 노드들(306)로서 액티브 노드(308), 정지 노드(310), 또는 그것의 조합으로 설정할 수 있다.
도 4는 본 발명에 따른 컴퓨팅 시스템의 예시적인 디스플레이를 도시한 도면이다.
도 4를 참조하면, 컴퓨팅 시스템(100)의 예시적인 디스플레이를 보여준다. 컴퓨팅 시스템(100)은 다양한 방법들로 예시적인 디스플레이를 보여줄 수 있다. 예를 들면, 컴퓨팅 시스템(100)은 디스플레이 인터페이스(130)를 사용하거나 도 2의 장치(102)로부터 분리된 추가적인 장치들 상의 예시적인 디스플레이를 보여줄 수 있다.
또 예를 들면, 컴퓨팅 시스템(100)은 도 2의 열 저항-커패시턴스 네트워크(232) 또는 도 3의 열 모델(302)을 생성, 생성을 위한 방법 또는 프로세스를 디버깅, 그것의 조정, 또는 그것의 조합을 위한 사용자와 인터페이싱에서 예시적인 디스플레이를 보여줄 수 있다. 또, 예를 들면, 컴퓨팅 시스템(100)은 도 2의 자원 부분(202)의 설계 또는 제조를 위해 적용할 수 있는 예시적인 디스플레이를 보여줄 수 있다.
예시적인 디스플레이는 자원 집합 프로파일(resource set profile)(402)을 보여줄 수 있다. 자원 집합 프로파일(402)은 자원 부분(202)을 위한 열 영향, 그것의 노드, 또는 그것의 조합을 갖는 인자들을 표현한다. 자원 집합 프로파일(402)은 자원 부분(202) 또는 그것의 부분의 물리적 또는 운용상의 특징들을 나타낼 수 있다.
자원 집합 프로파일(402)은 자원 부분(202), 그것의 노드, 또는 그것의 조합의 열 특징과 행태(behavior)를 나타내거나 결정하기 위한 것일 수 있다. 자원 집합 프로파일(402)은 자원 부분(202) 내에서 자원 부분(202) 또는 도 2의 자원 클러스터(208), 도 2의 자원 유닛(214), 도 2의 주변 섹션(222), 또는 그것의 조합을 나타낼 수 있다.
자원 집합 프로파일(402)은 환경 프로파일(environmental profile)(404)을 포함할 수 있다. 환경 프로파일(404)은 노드들 주변의 조건들 또는 물질로부터 야기되거나 분배된 노드들의 열 행태 또는 특징에 영향을 주는 인자들을 나타낼 수 있다.
예를 들면, 환경 프로파일(404)은 물질 또는 형태, 인캡슐레이션(encapsulation) 또는 포장(casing)과 같은 상세들을 포함할 수 있다. 또 예를 들면, 환경 프로파일(404)은 자원 부분(202)의 전체 면적(dimensions) 또는 밀도(density)를 포함할 수 있다. 도 예를 들면, 환경 프로파일(404)은 자원 부분(202)을 위한 열 동기(heat-syncs)의 사용, 위치, 정량화할 수 있는 영향, 또는 그것의 조합을 포함할 수 있다. 환경 프로파일(404)은 그러한 인자들로부터 분배되거나 그러한 인자들에 의해 야기된 열 행태 또는 특징에 관련된 양 또는 모델을 더 포함할 수 있다.
자원 집합 프로파일(402)은 단위 열 프로파일(unit-thermal profile)(406)을 더 포함할 수 있다. 단위-열 프로파일(406)은 자원 부분(202) 내에 노드를 위한 열에 관련된 인자들을 표현한다. 단위-열 프로파일(406)은 노드에 따른 물리적 또는 운용상의 특징들을 나타낼 수 있다.
단위 열 프로파일(406)은 자원 부분(202), 자원 클러스터(208), 자원 유닛(214), 또는 주변 섹션(222)의 특정 인스턴스와 같은 노드의 열 특징 또는 행태를 나타내거나 결정할 수 있다. 예를 들면, 단위-열 프로파일(406)은 물질 또는 형태와 같은 해당 노드를 위한 상세들을 포함할 수 있다. 또 예를 들면, 단위-열 프로파일(406)은 쓰로틀링 임계값(throttling threshold)(408), 램프 프로파일(ramp profile)(410), 자원 크기(resource size)(412), 또는 그것의 조합을 포함할 수 있다.
쓰로틀링 임계값(408)은 해당 노드에 대한 열 에너지의 제한을 나타낼 수 있다. 쓰로틀링 임계값(408)은 노드의 제어 동작을 위한 최대 온도 레벨일 수 있다. 쓰로틀링 임계값(408)은 노드의 최적 또는 비 손상 동작을 위한 열 제한일 수 있다.
컴퓨팅 시스템(100) 또는 자원 부분(202)은 쓰로틀링 임계값(408)에서 도 2의 동작 설정값(220)을 변화 또는 조정할 수 있다. 동작 설정값(220)은 작업을 완료하기 위한 작업 로드 또는 에너지 소모를 감소하기 위해 변화될 수 있다. 작업로드(workload) 또는 에너지의 감소는 온도 레벨을 감소시킬 수 있고, 노드의 무결성(integrity)과 유지(preservation)를 위해서 효율과 성능은 균형(tradeoff)을 이룬다.
램프 프로파일(410)은 노드 초과 시간을 위한 열 에너지 내 변화를 나타낼 수 있다. 램프 프로파일(410)은 자기 가열 행태(self-heating behavior), 열 소실 행태(heat dissipation behavior), 또는 그것의 조합을 나타낼 수 있다. 예를 들면, 램프 프로파일(410)은 다양한 시작 조건들, 동작 설정값(220)의 다양한 인스턴스들, 노드에 의해 수행된 동작 또는 행동의 길이 또는 타입, 또는 그것의 조합에 따른 온도 레벨, 온도 내 변화의 비율, 또는 그것의 조합을 나타낼 수 있다. 램프 프로파일(410)은 온도 상승, 온도 하강, 또는 그것의 조합을 나타낼 수 있다.
자원 크기(412)는 해당 노드의 물리적 크기(demension)를 나타낼 수 있다. 자원 크기(412)는 길이, 폭, 높이, 또는 그것의 조합의 측정을 포함할 수 있다. 자원 크기(412)는 노드를 포함하는 해당 노드 또는 클러스터를 기술하는 분류, 타입, 범주(카테고리), 또는 그것의 조합을 더 포함할 수 있다. 예를 들면, 자원 크기(412)는 자원 클러스터(208), 자원 유닛(214), 또는 그것의 조합을 식별하는 "BIG(큰)" 또는 "LITTLE(작은)" 카테고리를 포함할 수 있다.
자원 집합 프로파일(402)은 접속 프로파일(connection profile)(414)을 더 포함할 수 있다. 접속 프로파일(414)은 노드들 사이에 접속(또는 연결)(connection)을 나타낼 수 있다. 접속 프로파일(414)은 특정 노드에 접속된 노드들 또는 회로들의 식별을 포함할 수 있다. 접속 프로파일(414)은 접속하는 노드들의 선 또는 경로에 대한 크기, 타입, 물질, 또는 그것의 조합을 더 포함할 수 있다. 접속 프로파일(414)은 전기적 접속들에 의해 야기되거나 전기적 접속들로부터 특정 노드의 열 확률 상에서 영향을 나타낼 수 있다.
단위 열 프로파일(406)은 위치 프로파일(location profile)(416)을 더 포함할 수 있다. 위치 프로파일(416)은 특정 노드의 위치 또는 배치를 간주하는 정보이다. 위치 프로파일(416)은 자원 부분(202), 다른 노드들, 또는 그것의 조합에 관련된 특정 노드의 위치를 기술할 수 있다. 예를 들면, 위치 프로파일(416)은 전체-연관 위치(overall-relative location)(418), 노드-연관 위치(node-relative location)(424), 또는 그것의 조합을 포함할 수 있다.
전체-연관 위치(418)는 자원 부분 또는 그것의 물리적 경계들에 대한 특정 노드의 위치 또는 배치를 고려한 정보이다. 전체-연관 위치(418)는 자원 부분(202)의 구조 또는 레이아웃의 형태 또는 특정 부분에 관련된 특정 노드의 위치를 기술할 수 있다. 예를 들면, 전체-연관 부분(418)은 전체-중심 부분(overall-central location)(420), 전체-외부 위치(overall-outer location)(422), 또는 그것의 조합을 포함할 수 있다.
전체-중심 위치(420)는 자원 부분(202)에 대한 도 2의 중심 영역(204)을 참조하는 특정 노드의 위치 또는 배치를 고려한 정보이다. 전체-외부 위치(422)는 자원 부분(202)에 대한 도 2의 외부 영역(206)에 대한 특정 노드의 위치 또는 배치를 고려한 정보이다.
전체-중심 위치(420), 전체-외부 위치(422), 또는 그것의 조합은 중심 영역(204), 외부 영역(206), 또는 그것의 조합 각각 내에 위치한 특정 노드의 지시를 포함할 수 있다. 전체-중심 위치(420), 전체-외부 위치(422), 또는 그것의 조합은 중심 영역(204), 외부 영역(206), 또는 그것의 조합 각각 내에 포함된 특정 노드의 양(amount), 정도(degree), 비율(percentage), 또는 그것의 조합을 더 포함할 수 있다.
도 4에서 예시한 바와 같이, "Core_3"로 분류된 자원 유닛(214)은 중심 영역(204)으로서 식별된 자원 부분(202)의 일부 내의 자원 유닛(214)의 95%를 넘는 위치 또는 배치를 가질 수 있다. 전체-중심 위치(420)는 중심 영역(204), 95%에 대한 수 또는 양, 95%에 근거한 타입 또는 분류, 또는 그것의 조합 내 위치하는 자원 유닛(214)에 대한 지시를 포함할 수 있다.
"Core_3"로 분류된 자원 유닛(214)은 외부 영역(206)으로서 식별된 자원 부분(202)의 부분 내에 자원 유닛(214)의 부분이 아닌 것과 같은 위치 또는 배치를 가질 수 있다. 전체-외부 위치(422)는 중심 영역(204) 내 위치한 자원 유닛(214)의 부분이 아닌 것을 지시하는 값 또는 그것의 결핍(lack)을 포함할 수 있다.
노드-연관 위치(424)는 다른 노드들에 관한 특정 노드의 위치 또는 배치를 고려한 정보이다. 노드-연관 위치(424)는 도 3의 기준 노드(304)와 도 3의 주변 노드(306) 사이의 위치, 거리, 물리적 관계 또는 배치, 또는 그것의 조합을 기술할 수 있다.
예를 들면, 노드-연관 위치(424)는 기준 노드(304)의 관점으로 주변 노드(306)를 위한 식별을 포함할 수 있다. 또, 예를 들면, 노드-연관 위치(424)는 기준 노드(304)와 주변 노드(306) 사이의 도 2의 분리 측정(228), 도 2의 중복 측정(230), 또는 그것의 조합에 근거하거나 포함할 수 있다.
노드-연관 위치(424)는 주변 노드(306)에 대한 저항 표현, 커패시턴스 표현, 또는 그것의 조합을 더 포함할 수 있다. 저항 표현, 커패시턴스 표현, 또는 그것의 조합은 기준 노드(304)의 관점일 수 있다.
컴퓨팅 시스템(100)은 도 2의 열 저항-커패시턴스 네트워크(232), 도 3의 열 모델(302), 또는 그것의 조합을 생성하거나 계산하기 위한 자원 집합 프로파일(402)을 사용할 수 있다. 자원 집합 프로파일(402)의 사용을 고려한 상세한 설명은 하기에서 논의하기로 한다.
도 5는 본 발명에 따른 컴퓨팅 시스템의 예시적인 제어 흐름도이다.
도 5를 참조하면, 컴퓨팅 시스템(100)의 제어 흐름을 도시한다. 컴퓨팅 시스템(100)은 프로파일링 블록(profiling block)(502), 모니터링 블록(monitoring block)(504), 열 블록(thermal block)(506), 타겟 블록(target block)(508), 또는 그것의 조합을 포함할 수 있다.
블록들, 버퍼들, 유닛들, 또는 그것의 조합은 다양한 방법들로 상호 간에 연결될 수 있다. 예를 들면, 블록들은 유선 또는 무선 접속들, 지시 단계들, 프로세스 시퀀스들, 또는 그것의 조합의 사용에 의한 바와 같은 다른 것의 출력에 하나의 블록의 입력이 연결되는 것을 갖는 것에 의해 연결될 수 있다. 또 예를 들면, 블록들, 버퍼들, 유닛들, 또는 그것의 조합은 직접적으로 연결되는 블록들, 버퍼들, 유닛들, 또는 그것의 조합 사이에 연결 수단들과 다른 구조의 삽입 없이 직접적으로 연결, 또는 간접적으로 연결된 블록들, 버퍼들, 유닛들 또는 그것의 조합들 사이의 연결 수단들과 다른 블록들, 버퍼들, 유닛들, 또는 그것의 조합에 간접적으로 연결 중 하나로 연결될 수 있다.
더 상세한 예로서, 모니터링 블록(504)의 하나 이상의 입력들 또는 출력들은 직접 연결을 위한 그것들 사이에 전도체들 또는 동작 접속들을 사용한 열 블록(506)의 하나 이상의 입력들 또는 출력들에 연결될 수 있다. 또 예를 들면, 모니터링 블록(504)은 다른 유닛들, 블록들, 버퍼들, 장치들 또는 그것의 조합을 통해 간접적으로 열 블록(304)에 연결될 수 있다. 컴퓨팅 시스템(100)을 위한 블록들, 버퍼들, 유닛들, 또는 그것의 조합은 상술한 바와 같이 유사한 방법들로 연결될 수 있다.
또 예를 들면, 프로파일링 블록(502)은 모니터링 블록(504)으로부터 다른 장치 상에 있을 수 있다. 프로파일링 블록(502)과 모니터링 블록(504)은 데이터 또는 신호들을 교환하기 위한 유선 또는 무선 수단, 또는 그것의 조합을 통해 비-일시적 컴퓨터 읽기가능 매체, 데이터 접속을 통해 상호 간에 연결될 수 있다.
프로파일링 블록(502)은 도 2의 자원 부분(202)을 나타내는 정보를 생성하거나 계산하도록 구성된다. 프로파일링 블록(502)은 자원 부분(202), 그것의 노드, 또는 그것의 조합의 열 특성들 또는 행태들을 나타내는 정보를 생성하거나 계산할 수 있다.
프로파일링 블록(502)은 대표 출력을 생산하기 위한 자원 부분(202)을 분석할 수 있다. 프로파일링 블록(502)은 자원 부분(202)의 분석과 대표 출력을 생산하기 위한 자원 식별 블록(resource identification block)(510), 개별 모델링 블록(individual modeling block)(512), 관계 모델링 블록(relational modeling block)(514), 특성 블록(characterization block)(516), 또는 그것의 조합을 포함한다. 프로파일링 블록(502)은 도 4의 자원 집합 프로파일(402)을 생성, 도 2의 열 저항-커패시턴스 네트워크(232)를 계산, 도 3의 열 모델(302)의 생성, 또는 그것의 조합을 할 수 있다.
자원 식별 블록(510)은 자원 부분(202) 또는 그것의 노드들의 식별을 위해 구성될 수 있다. 자원 식별 블록(510)은 자원 부분(202)을 식별하는 이름, 타입, 카테고리 또는 분류, 제조자 정보, 또는 그것의 조합의 결정에 근거한 자원 부분(202)을 식별할 수 있다.
자원 식별 블록(510)은 사용자로부터의 식별 정보를 수신하기 위한 장치(102)로부터 분리된 추가적인 장치의 사용자 인터페이스 또는 도 1의 사용자 인터페이스(118)를 사용할 수 있다. 자원 식별 블록(510)은 식별 정보를 결정하기 위해 자원 부분(202)과 통신 또는 상호 작용으로 도 1의 제어 인터페이스(122), 도 1의 통신 인터페이스(128), 추가적인 장치의 제어 또는 통신 인터페이스, 또는 그것의 조합을 더 사용할 수 있다.
자원 식별 블록(510)은 유사한 방법으로 자원 부분(202)을 이용 또는 포함하는 장치의 식별 정보를 더 사용할 수 있다. 자원 식별 블록(510)은 컴퓨팅 시스템(100)에 의해 미리 결정되는 것과 같이 자원 부분(202)을 이용하는 하우징 장치 또는 장치와 상관(correlate)된 식별 정보에 근거하여 자원 부분(202)을 식별할 수 있다.
자원 식별 블록(510)은 자원 부분(202)의 특징들을 더 식별할 수 있다. 자원 식별 블록(510)은 자원 부분(202)을 구체화하기 위한 특징들을 식별하기 위한 도 4의 환경 프로파일(404)을 결정할 수 있다. 자원 식별 블록(510)은 컴퓨팅 시스템(100)에 의해 미리 결정된 바와 같은 자원 부분(202)의 식별 정보에 따른 구체화된 환경 프로파일(404)의 엑세스에 근거한 환경 프로파일(404)을 결정할 수 있다.
예를 들면, 자원 식별 블록(510)은 자원 부분(202)의 가능하거나 이용가능한 인스턴스들 각각을 위한 환경 프로파일(404)의 특정 인스턴스를 포함하는 테이블, 라이브러리, 또는 그것의 조합을 포함할 수 있다. 테이블, 라이브러리, 또는 그것의 조합은 컴퓨팅 시스템(100), 자원 부분(202)의 제조업자, 분류된 엔티티, 또는 그것의 조합에 의해 미리 결정될 수 있다. 테이블, 라이브러리, 또는 그것의 조합은 도 1의 제어 유닛(112), 도 1의 저장 유닛(114), 추가적인 장치의 제어 또는 저장 유닛, 또는 그것의 조합 내에 저장될 수 있다.
또 예를 들면, 자원 식별 블록(510)은 컴퓨팅 시스템(100)에 의해 미리 결정된 위치에서 데이터 베이스, 규격 테이블(specification table), 또는 그것의 조합에 액세스할 수 있다. 자원 식별 블록(510)은 도 1의 데이터 베이스, 규격 테이블, 또는 그것의 조합에 액세스하기 위한 통신 유닛(116), 제어 인터페이스(122), 추가적인 장치의 해당 부분, 또는 그것의 조합을 사용할 수 있다.
자원 식별 블록(510)은 자원 부분(202) 내의 특정 물리적 위치들 또는 지역들을 식별하기 위한 중심 영역(204), 외부 영역(206), 또는 그것의 조합을 결정할 수 있다.
자원 식별 블록(510)은 결정한 환경 프로파일(404)과 유사한 다양한 영역들을 결정할 수 있다. 예를 들면, 자원 식별 블록(510)은 사용자와의 상호작용, 미리 결정된 테이블 또는 라이브러리들에 액세스, 미리 결정된 링크들 또는 데이터 베이스들에 액세스, 또는 그것의 조합에 근거하여 다양한 영역들을 결정할 수 있다.
자원 식별 블록(510)은 자원 부분(202) 내에서 회로들, 섹션들, 장치들, 그것들의 그룹핑들, 또는 그것의 조합과 같은 노드들의 식별에 근거하여 자원 부분(202)을 더 식별할 수 있다. 자원 식별 블록(510)은 도 2의 자원 클러스터(208), 도 2의 자원 유닛(214), 도 2의 주변 섹션(222), 또는 그것의 조합을 포함하는 하나 이상의 노드를 식별할 수 있다.
예를 들면, 자원 식별 블록(510)은 도 2의 제 1 클러스터(210), 도 2의 제 2 클러스터(212), 도 2의 제 1 자원(216), 도 2의 제 2 자원(218), 도 2의 그래픽 섹션(224), 도 2의 일반 섹션(226), 또는 그것의 조합을 식별할 수 있다. 더 상세한 예로서, 자원 식별 블록(510)은 자원 부분(202) 내에서 제 1 클러스터(210), 제 2 클러스터(212), 제 1 자원(216), 제 2 자원(218), 그래픽 섹션(224), 일반 섹션(226), 그것의 조합을 포함하는 노드들을 위한 이름, 일련 번호, 부분 식별자, 제조자 식별, 주소, 또는 그것의 조합의 결정에 근거하여 식별할 수 있다.
자원 식별 블록(510)은 자원 부분(202) 내에 노드들을 위치할 수 있다. 자원 식별 블록(510)은 자원 부분(202), 상호 간 또는 다른 노드들, 또는 그것의 조합에 관련된 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합을 위치시킬 수 있다.
자원 식별 블록(510)은 도 2의 분류 측정(228), 도 2의 중복 측정(230), 또는 그것의 조합의 결정에 근거하여 위치할 수 있다. 자원 식별 블록(510)은 미리 결정된 정보에 따라, 사용자로부터 수신된, 측정 장치로부터 수신된, 또는 그것의 조합과 같은 분류 측정(228), 중복 측정(230), 또는 그것의 조합을 결정할 수 있다. 자원 식별 블록(510)은 도식적, 설계 규격, 또는 그것의 조합에 근거한 위치를 더 계산할 수 있다.
자원 식별 블록(510)은 도 4의 위치 프로파일(416)을 생성할 수 있다. 자원 식별 블록(510)은 개별 측정(228), 중복 측정(230), 또는 그것의 조합과 같은 위치 정보에 근거하여 위치 프로파일(416)을 생성할 수 있다.
자원 식별 블록(510)은 위치들에 근거하거나 위치들에 따른 열 특성들 또는 영향들을 기술하기 위해 위치 프로파일(416)을 생성할 수 있다. 예를 들면, 자원 식별 블록(510)은 도 4의 전체-연관 위치(418), 도 4의 노드-연관 위치(424), 도 4의 전체-중심 위치(420), 도 4의 전체-외부 위치(422), 또는 그것의 조합을 포함하는 자원 프로파일(416)을 생성할 수 있다.
자원 식별 블록(510)은 상술한 바와 같이, 환경 프로파일(404)의 결정과 유사하게 노드들, 위치들, 또는 그것의 조합을 식별할 수 있다. 예를 들면, 자원 식별 블록(510)은 사용자와의 상호 작용, 미리 결정된 테이블 또는 라이브러리에 액세스, 분리되어 미리 결정된 데이터 베이스 또는 링크에 액세스, 또는 그것의 조합에 근거하여 노드들, 위치들, 또는 그것의 조합을 식별할 수 있다. 또, 예를 들면, 자원 식별 블록(510)은 컴퓨팅 시스템(100)에 의해 미리 결정된 방법 또는 프로세스에 따라 위에서 기술된 정보를 프로세스할 수 있다.
개별 모델링 블록(512)은 자원 부분(202) 내의 노드들 각각에 대한 표현을 생성하도록 구성될 수 있다. 개별 모델링 블록(512)은 그것에 의하거나 노드의 물리적 주변들로부터 고려된 영향들 없이 노드의 특징 또는 행태를 나타내기 위해 도 4의 단위-열 프로파일(406)을 생성할 수 있다.
개별 모델링 블록(512)은 자원 부분(202) 내에서 자원 클러스터(208), 자원 유닛(214), 도 3의 주변 노드(306), 또는 그것의 조합의 각 인스턴스를 나타내기 위해 단위-열 프로파일(406)을 생성할 수 있다. 더 상세한 예로서, 개별 모델링 블록(512)은 자원 부분(202) 내에서 각 코어를 위한 단위-열 프로파일(406)을 생성할 수 있다.
개별 모델링 블록(512)은 자원 식별 블록(510)에 의해 결정된 노드들 각각에 대한 식별 정보에 근거하여 단위-열 프로파일(406)을 생성할 수 있다. 개별 모델링 블록(512)은 도 4의 쓰로틀링 임계값(408), 도 4의 램프 프로파일(410), 도 4의 자원 크기(412), 또는 그것의 조합을 포함하는 단위-열 프로파일(406)을 생성할 수 있다.
개별 모델링 블록(512)은 각 노드에 따른 다양한 정보를 결합과 포맷팅에 근거하여 단위-열 프로파일(406)을 더 생성할 수 있다. 예를 들면, 개별 모델링 블록(512)은 쓰로틀링 임계값(408), 램프 프로파일(410), 자원 크기(412), 또는 그것의 조합의 결합과 포맷팅에 근거한 단위-열 프로파일(406)을 생성할 수 있다.
개별 모델링 블록(512)은 자원 식별 블록(510)과 유사한 단위-열 프로파일(406)을 생성할 수 있다. 예를 들면, 개별 모델링 블록(512)은 사용자와의 상호작용, 미리 결정된 테이블 또는 라이브러리, 분리되어 미리 결정된 데이터 베이스 또는 링크의 액세스, 또는 그것의 조합에 근거하여 단위-열 프로파일(406)을 생성할 수 있다. 또 예를 들면, 자원 식별 블록(510)은 컴퓨팅 시스템(100)에 의해 미리 결정된 방법 또는 프로세스에 따라 위에서 기술된 정보를 프로세스할 수 있다.
관계 모델링 블록(514)은 자원 부분(202) 내에 노드들의 그룹핑을 위한 표현을 생성하도록 구성될 수 있다. 관계 모델링 블록(514)은 자원 부분(202) 내에 모든 노드들의 특징들 또는 행태를 완전히 나타내기 위한 도 4의 자원 집합 프로파일(402)을 생성할 수 있다.
관계 모델링 블록(514)은 노드들 사이의 상호작용, 영향들, 또는 관계들을 포함하는 그룹으로서 노드의 특징 또는 행태를 나타내기 위한 자원 집합 프로파일(402)을 생성할 수 있다. 관계 모델링 블록(514)은 자원 부분(202) 내에 자원 클러스터(208), 자원 유닛(214), 주변 노드(306), 또는 그것의 조합을 그룹핑을 나타내기 위한 자원 집합 프로파일(402)을 생성할 수 있다. 더 상세한 예로서, 관계 모델링 블록(514)은 그래픽 섹션(224), 일반 섹션(226), 또는 그것의 조합과 마찬가지로 코어들을 위한 자원 집합 프로파일(402)을 생성할 수 있다.
관계 모델링 블록(514)은 자원 식별 블록(510)에 의해 결정된 자원 부분(202), 그것의 노드들, 또는 그것의 조합에 대한 식별 정보에 근거하여 자원 집합 프로파일(402)을 생성할 수 있다. 관계 모델링 블록(514)은 단위-열 프로파일(406), 환경 프로파일(404), 또는 그것의 조합에 근거한 자원 집합 프로파일(402)을 더 생성할 수 있다.
관계 모델링 블록(514)은 도 4의 위치 프로파일(416), 도 4의 접속 프로파일(414), 또는 그것의 조합의 결정에 근거하여 자원 집합 프로파일(402)을 생성할 수 있다. 관계 모델링 블록(514)은 도 4의 전체-중심 위치(420) 또는 전체-외부 위치(422)와 같은 도 4의 전체-연관 위치(418), 도 4의 노드-연관 위치(424), 또는 그것의 조합의 결정에 근거하여 위치 프로파일(416)을 결정할 수 있다.
관계 모델링 블록(514)은 상호 간에 관련된 노드들의 위치를 찾기 위한 노드-연관 위치(424)를 포함하는 자원 집합 프로파일(402)를 생성할 수 있다. 관계 모델링 블록(514)은 자원 부분(202)에 관련된 다중 노드들의 위치를 찾기 위한 노드-연관 위치(424)를 포함하는 자원 집합 프로파일(402)을 생성할 수 있다.
관계 모델링 블록(514)은 개별 모델링 블록(512)으로부터 노드들의 위치 정보에 근거한 위치 프로파일(416)을 결정할 수 있다. 관계 모델링 블록(514)은 상호 간에 몰리적 연관을 갖는 노드들의 식별에 근거하여 위치 프로파일(416)을 결정할 수 있다.
예를 들면, 도 3의 기준 노드(304)의 각 인스턴스를 위한 주변 노드(306)의 식별에 근거하여 위치 프로파일(416)을 결정할 수 있다. 또 예를 들면, 관계 모델링 블록(514)은 기준 노드(304)와 주변 노드(306) 사이의 분리 측정(228), 중복 측정(230), 또는 그것의 조합에 근거한 위치 프로파일(416)을 결정할 수 있다.
관계 모델링 블록(514)은 전기적 접속들에 근거한 접속 프로파일(414)을 더 결정할 수 있다. 관계 모델링 블록(514)은 자원 부분(202)의 노드들 사이의 전기적 관계의 식별에 근거하여 접속 프로파일(414)을 결정할 수 있다.
예를 들면, 관계 모델링 블록(514)은 노드들 사이의 전기적 접속들을 기술하는 넷 리스트(net list)의 식별에 근거하여 접속 프로파일(414)을 결정할 수 있다. 또 예를 들면, 관계 모델링 블록(514)은 유선 또는 전도 경로들의 타입 또는 크기, 열 동기들, 노드들 사이의 거리, 또는 그것의 조합의 식별에 근거한 접속 프로파일(414)을 결정할 수 있다.
관계 모델링 블록(514)은 노드들의 그룹핑에 따른 다양한 정보의 결합 및 포맷팅에 근거한 자원 집합 프로파일(402)을 생성할 수 있다. 예를 들면, 개별 모델링 블록(512)은 자원 집합 프로파일(402)을 생성할 수 있다. 예를 들면, 개별 모델링 블록(512)은 환경 프로파일(404), 노드들 각각에 대한 하나 이상의 단위-열 프로파일(406)의 하나 이상의 인스턴스들, 접속 프로파일(414), 위치 프로파일(416), 또는 그것의 조합의 결합 및 포매팅에 근거한 자원 집합 프로파일(402)을 생성할 수 있다.
관계 모델링 블록(514)은 자원 식별 블록(510)과 유사하며, 결정한 위치 프로파일(416) 또는 접속 프로파일(414)을 포함하는 자원 집합 프로파일(402)을 생성할 수 있다. 예를 들면, 관계 모델링 블록(514)은 사용자와 상호작용, 미리 결정된 테이블 또는 라이브러리에 액세스, 분리되어 미리 결정된 데이터 베이스 또는 링크로의 액세스, 또는 그것의 조합에 근거하여 자원 집합 프로파일(402)을 생성할 수 있다. 또 예를 들면, 관계 모델링 블록(514)은 컴퓨팅 시스템(100)에 의해 미리 결정된 방법들 또는 프로세스에 따른 위에서 기술된 정보를 프로세스할 수 있다.
특성 블록(516)은 노드들 사이의 영향들과 관계들의 표현을 생성하기 위해 구성될 수 있다. 특성 블록(516)은 노드들 사이의 열 에너지 내 영향들 또는 관계들의 표현을 생성할 수 있다. 예를 들면, 특성 블록(516)은 서로 다른 하나의 노드의 열 레벨의 영향을 기술하기 위한 정보를 생성할 수 있다. 또 예를 들면, 특성 블록(516)은 노드에서 열 에너지의 양을 추정하고 계산하기 위한 정보를 생성할 수 있다.
특성 블록(516)은 도 3의 열 저항-커패시턴스 네트워크(232)의 계산, 도 3의 열 모델(302)의 생성, 또는 그것의 조합에 의한 표현을 생성할 수 있다. 특성 블록(516)은 노드들 사이의 열 상호작용들의 표현을 위한 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다.
특성 블록(516)은 도 2의 타겟 태스크(248)의 수행을 위한 도 2의 타겟 자원(246)의 결정에 대한 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다. 특성 블록(516)은 노드들의 도 2의 현재 전원(236)에 따른 온도 레벨을 나타내기 위해 열 모델(302)을 생성할 수 있다.
특성 블록(516)은 기준 노드(304)와 같이 각 노드에 대한 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다. 특성 블록(516)은 기준 노드(304)와 주변 노드(306) 사이의 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다. 더 상세한 예로서, 특성 블록(516)은 자원 유닛(214)의 인스턴스와 자원 유닛(214)의 다른 인스턴스 사이의 열 저항-커패시턴스 네트워크(232), 자원 클러스터(208), 주변 섹션(222), 또는 그것의 조합을 계산할 수 있다.
특성 블록(516)은 자원 집합 프로파일(402)에 근거한 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다. 예를 들면, 특성 블록(516)은 단위-열 프로파일(406), 환경 프로파일(404), 접속 프로파일(414), 위치 프로파일(416), 또는 그것의 조합에 근거한 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다.
특성 블록(516)은 컴퓨팅 시스템(100)에 의해 미리 결정된 온도 전송 모델, 방정식, 프로세스, 방법, 또는 그것의 조합에 따라 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다. 특성 블록(516)은 미리 결정된 모델, 방정식, 프로세스, 방법, 또는 그것의 조합을 위한 입력으로서 단위-열 프로파일(406), 환경 프로파일(404), 열 프로파일(414), 위치 프로파일(416), 또는 그것의 조합을 사용하여 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다.
예를 들면, 특성 블록(516)은 환경 프로파일(404)에 따른 물질 또는 그것의 열 전달 특성에 근거한 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다. 또 예를 들면, 특징 블록(516)은 유선 또는 전도 경로들의 열 전달 영향(heat transfer influence) 또는 열 소실 특징(heat dissipation characteristic)에 근거하여 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다.
또 예를 들면, 특징 블록(516)은 열 저항-커패시턴스 전체-연관 위치(418), 노드-연관 위치(424), 또는 그것의 조합에 근거하여 네트워크(232)를 계산할 수 있다. 특성 블록(516)은 기준 노드(304)와 주변 노드(306) 사이의 분리 측정(228), 중복 측정(230), 또는 그것의 조합의 열 전달 영향 또는 열 소실 특징에 근거하여 열 저항-커패시턴스 네트워크(232)를 계산할 수 있다.
특성 블록(516)은 자원 집합 프로파일(402)에 근거하여 열 모델(302)을 더 생성할 수 있다. 특성 블록(516)은 컴퓨팅 시스템(100)에 의해 미리 결정된 온도 전달 모델, 방정식, 프로세스, 방법, 또는 그것의 조합에 따라 열 모델(302)을 생성할 수 있다.
특성 블록(516)은 미리 결정된 모델, 방정식, 프로세스, 방법, 또는 그것의 조합의 입력으로서 단위 열 프로파일(406), 환경 프로파일, 연결 프로파일(414), 위치 프로파일(416), 또는 그것의 조합을 사용한 열 모델(302)을 생성할 수 있다. 예를 들면, 특성 블록(516)은 노드의 물질들, 노드들의 물리적 배열들에 관련되거나 사이의 거리들, 또는 그것의 조합에 따른 전기적 저항, 커패시턴스 또는 그것의 조합에 근거하여 열 모델(302)을 생성할 수 있다.
프로파일링 블록(502)은 제어 유닛(112), 사용자 인터페이스(118), 통신 유닛(116), 추가적인 장치들 내의 유닛, 또는 그것의 조합을 사용한 자원 부분(202)을 나타내는 정보를 생성하거나 계산할 수 있다. 프로파일링 블록(502)은 제어 유닛(112), 자원 부분(202), 저장 유닛(114), 추가적인 장치 내 또는 장치로부터 분리된 저장 유닛, 또는 그것의 조합 내부의 열 저항-커패시턴스 네트워크(232), 열 모델(302), 또는 그것의 조합과 같은 표현들을 저장할 수 있다.
표현들을 계산 또는 생성한 이후에, 제어 흐름은 모니터링 블록(504)로 진행할 수 있다. 제어 흐름은 다양한 방법들을 통해 통과될 수 있다. 예를 들면, 제어 흐름은 프로파일링 블록(502)로부터 모니터링 블록(504)으로 프로세싱 결과의 진행에 의한 것과 같이 다른 블록으로 진행한 하나의 블록의 프로세싱 결과를 갖는 것에 의해 진행할 수 있다.
또 예를 들면, 제어 흐름은 모니터링 블록(504)으로 알려지거나 접근 가능한 저장 위치에서, 자원 부분에 따른 열 저항-커패시턴스 네트워크(232) 또는 열 모델(302)의 저장에 의한 바와 같이 다른 블록으로 알려지거나 접근 가능한 위치에서 프로세싱 결과들의 저장에 의해 진행할 수도 있다. 또 예를 들면, 제어 흐름은 플래그, 차단, 상태 신호, 또는 그것의 조합의 사용에 의한 바와 같이 다른 블록의 통지에 의해 진행할 수 있다.
컴퓨팅 시스템(100)은 장치(102), 자원 부분(202), 또는 그것의 조합으로부터 분리된 추가적인 장치로서 구현된 프로파일링 블록(502)을 더 포함할 수 있다. 예를 들면, 프로파일링 블록(502)은 자원 부분(202)을 위한 디자인, 분석, 제조 또는 그것의 조합을 위한 디자인 도구, 분석 도구, 제조 장비, 또는 그것의 조합을 포함할 수 있다.
자원 부분(202)에 명시된 노드들 사이의 열 저항-커패시턴스 네트워크(232)는 실행 시간(run-time) 동안 열 제한들에 대해 자원 부분(202)의 개선된 성능을 제공하는 것을 확인할 수 있다. 열 저항-커패시턴스 네트워크(232)는 다른 노드들로부터의 영향을 처리하는 동안 노드에서 열 에너지의 정확한 측정, 추정, 또는 예측에 사용될 수 있는 실행 시간 동안 하나의 노드로부터 다른 것으로 열 영향의 특성화에 사용될 수 있다.
모니터링 블록(504)은 자원 부분(202)의 현재 상태를 식별하기 위해 구성된다. 모니터링 블록(504)은 자원 부분(202) 내의 노드들을 위한 상태들, 활동들, 특성(trait)들, 또는 그것의 조합의 식별에 의해 현재 상태를 식별할 수 있다. 예를 들면, 모니터링 블록(504)은 자원 부분(202)의 현재 상태의 식별을 위해 활동 블록(activity block)(518), 전원 블록(power block)(520), 태스크 블록(task block)(522), 또는 그것의 조합을 포함할 수 있다.
활성 블록(518)은 노드들의 활성 상태를 결정하기 위해 구성될 수 있다. 활성 블록(518)은 노드들 중에서 도 3의 액티브 노드(308), 도 3의 정지 노드(310), 또는 그것의 조합의 식별에 의해 액티비티 상태들을 결정할 수 있다. 예를 들면, 활성 블록(518)은 액티브 노드(308) 또는 정지 노드(310)로서 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합을 결정할 수 있다.
활성 블록(518)은 다양한 방법들로 액티브 노드(308), 정지 노드(310), 또는 그것의 조합을 식별할 수 있다. 예를 들면, 액티브 블록(518)은 노드들을 위해 태스크 스케쥴러 제어 작업 또는 태스크로부터 정보에 근거하여 액티브 또는 나머지로서 노드를 식별할 수 있다. 또 예를 들면, 활성 블록(518)은 노드와 폴링 또는 인터페이싱에 근거하여 액티브 또는 나머지로서 노드를 식별할 수 있다.
또 예를 들면, 액티브 블록(518)은 전압, 전류, 또는 전원 리딩(reading)과 같은 에너지 소모에 근거하여 액티브 또는 나머지로서 노드를 식별할 수 있다. 더 상세한 예로서, 활성 블록(518)은 노드에 따른 도 2의 전원 모니터(234)가 임계 양을 초과하는 노드를 위한 도 2의 현재 전원(236)을 지시할 때, 액티브 노드(308)를 식별할 수 있다.
전원 블록(520)은 노드들의 에너지 소모를 결정하기 위해 구성될 수 있다. 전원 블록(520)은 각 노드를 위한 현재 전원(236)의 계산에 의해 에너지 소모를 결정할 수 있다. 예를 들면, 전원 블록(520)은 자원 클러스터(208), 자원 유닛(214), 주변 섹션(222), 또는 그것의 조합의 각 인스턴스를 위한 현재 전원(236)을 계산할 수 있다.
전원 블록(520)은 다양한 방법으로 현재 전원(236)을 계산할 수 있다. 예를 들면, 전원 블록(520)은 전원 모니터(234)를 사용하여 현재 전원(236)을 계산할 수 있다. 전원 모니터(234)는 해당 노드를 위해 일시적으로 사용된 전압, 전류, 또는 그것의 조합을 직접 측정하거나 계산할 수 있다. 전원 모니터(234)는 전압, 전류, 또는 그것의 조합에 근거한 해당 노드에 의해 소모된 일시적인 전원을 계산할 수 있다.
또 예를 들면, 전원 블록(520)은 태스크 스케쥴러를 사용하여 현재 전원(236)을 계산할 수 있다. 전원 블록(520)은 태스크 스케쥴러를 사용하여 해당 노드에 의해 수행된 현재의 태스크를 결정할 수 있다. 전원 블록(520)은 해당 노드에 의해 수행된 태스크에 따라 소모된 일시적인 전원을 추정할 수 있다. 전원 모니터(234)는 컴퓨팅 시스템(100)에 의해 미리 결정된 바와 같은 유일한 태스크, 유일한 노드, 또는 그것의 조합에 대해 각각 특정한 다양한 전원 추정들을 사용할 수 있다.
전원 블록(520)은 자원 부분(202) 내에 모든 노드들을 위한 현재 전원(236)을 계산할 수 있다. 전원 블록(520)은 정지 노드(310)를 위한 현재 전원(236)의 계산없이 액티브 노드(308)의 모든 인스턴스를 위한 현재 전원(236)을 계산할 수도 있다.
태스크 블록(522)은 노드들의 하나에서 수행되는 작업을 고려한 정보를 결정하도록 구성된다. 태스크 블록(522)은 타겟 태스크(248)의 식별에 의해 미래 작업을 고려한 정보를 결정할 수 있다. 태스크 블록(522)은 스케쥴되어야할 필요들이 있는 타겟 태스크(248)를 식별할 수 있다. 태스크 블록(522)은 타겟 자원(246)을 사용하여 수행될 수 있는 타겟 태스크(248)를 식별할 수 있다.
태스크 블록(522)은 다양한 방법들로 타겟 태스크(248)를 식별할 수 있다. 예를 들면, 태스크 블록(522)은 태스크 스케쥴러, 제어 작업 또는 태스크, 또는 그것들의 배열로부터 정보에 근거하여 타겟 태스크(248)를 식별할 수 있다.
또 예를 들면, 태스크 블록(522)은 도 1의 현재 시간에서 실행 내 또는 실행으로 적용될 수 있다. 소프트웨어(126), 어플리케이션, 그것의 프로세스 또는 쓰레드, 또는 그것의 조합에 근거하여 타겟 태스크(248)를 식별할 수 있다. 더 상세한 예로서, 태스크 블록(522)은 소프트웨어(126), 어플리케이션, 그것의 프로세스 또는 쓰레드, 또는 그것의 조합을 위한 명령어 또는 단계들의 이번의(upcoming) 또는 다음의(subsequent) 식별에 근거하여 타겟 태스크(248)를 식별할 수 있다. 또 더 상세한 예로서, 태스크 블록(522)은 명령어 또는 단계들의 이번의 또는 다음의 인스터슨의 추정에 근거하여 타겟 태스크(248)를 식별할 수 있다.
타겟 블록(522)은 타겟 태스크(248)의 수행을 위한 타겟 거주 시간(target residency time)(524)을 더 계산할 수 있다. 타겟 거주 시간(524)은 타겟 태스크(248)의 완료를 위해 필요로 하는 구간을 표현한다. 타겟 거주 시간(524)은 타겟 태스크(248)의 구현과 종료를 위해 필요로 하는 사이클들의 시간의 양일 수 있다. 타겟 거주 시간(524)은 노드, 그것에서 도 2의 동작 설정값(220), 또는 그것의 조합으로 더 구체화될 수 있다.
태스크 블록(522)은 상술한 바와 유사하게 타겟 태스크(248)에 따른 타겟 거주 시간(524)을 계산할 수 있다. 예를 들면, 태스크 블록(522)은 타겟 태스크(248)에 따른 타겟 거주 시간(524)의 계산 또는 추정을 위한 컴퓨팅 시스템(100)에 의해 미리 결정된 방정식, 방법, 프로세스를 사용할 수 있다. 또 예를 들면, 태스크 블록(522)은 타겟 거주 시간(524)의 계산을 위해 태스크의 다른 인스턴스들을 위해 특별히 미리 결정된 값들을 사용할 수 있다.
모니터링 블록(504)은 자원 부분(202)의 현재 상태를 식별하기 위해 제어 유닛(112), 자원 부분(202), 저장 유닛(114), 그것 내의 부분 또는 회로, 또는 그것의 조합을 사용할 수 있다. 모니터링 블록(504)은 제어 유닛(112), 자원 부분(202), 저장 유닛(114), 그것 내의 부분 또는 회로, 또는 그것의 조합 내의 액티브 노드(308), 정지 노드(310), 현재 전원(236), 타겟 태스크(248), 타겟 거주 시간(524), 또는 그것의 조합과 같은 현재 상태를 간주한 정보를 저장할 수 있다.
현재 상태의 식별 이후에, 제어 흐름은 열 블록(506)으로 진행할 수 있다. 제어 흐름은 프로파일링 블록(502)과 모니터링 블록(504) 사이에서 상술한 바와 같이 유사하게 통과될 수 있으나, 액티브 노드(308) 또는 정지 노드(310), 현재 전원(236), 타겟 태스크(248), 타겟 거주 시간(524), 또는 그것의 조합과 같은 모니터링 블록(504)의 프로세싱 결과들을 사용한다.
열 블록(506)은 자원 부분(202)을 위한 열 에너지를 간주하는 정보를 계산하도록 구성된다. 열 블록(506)은 자원 부분(202)으로 특정한 열 특성들 또는 행태들을 식별할 수 있다.
열 블록(506)은 열 정보의 계산을 위한 프로파일 식별 블록(profile identification block)(526), 계산 블록(calculation block)(528), 또는 그것의 조합을 포함할 수 있다. 열 블록(506)은 열 에너지로 간주되는 노드들을 위해 관련된 정보를 더 결정할 수 있다. 열 블록(506)은 열 정보를 계산하기 위한 프로파일 식별 블록(526), 계산 블록(528), 그것의 조합을 포함할 수 있다.
프로파일 식별 블록(526)은 자원 부분(202) 또는 그것의 노드에 근거한 특성들 또는 행태들을 결정하기 위해 구성될 수 있다. 프로파일 식별 블록(526)은 배정한 타겟 태스크(248)에 관련된 열 특성들 또는 행태들을 결정할 수 있다. 예를 들면, 프로파일 식별 블록(526)은 자원 부분(202)의 노드들을 위한 쓰로틀링 임계값(408)의 식별, 열 저항-커패시턴스 네트워크(232)의 결정, 열 모델(302)의 결정, 또는 그것의 조합을 할 수 있다.
프로파일 식별 블록(526)은 기준 노드(304)로서 노드들 중 하나를 반복적인 설정에 근거한 각 노드들을 위한 특성들 또는 행태들을 결정할 수 있다. 프로파일 식별 블록(526)은 기준 노드(304)의 각 인스턴스에 따라 쓰로틀링 임계값(408)의 식별, 쓰로틀링 임계값(408)의 식별, 열 저항-커패시턴스 네트워크(232)의 결정, 열 모델(302)의 결정, 또는 그것의 조합을 할 수 있다.
프로파일 식별 블록(526)은 정지 노드(310)로서 식별된 기준 노드(304)의 각 인스턴스에 따라 쓰로틀링 임계값(408)의 식별, 열 저항-커패시턴스 네트워크(232)의 결정, 열 모델(302)의 결정, 또는 그것의 조합을 할 수 있다. 프로파일 식별 블록(526)은 자원 유닛(214)에 따라 쓰로틀링 임계값(408)의 식별, 열 저항-커패시턴스 네트워크(232)의 결정, 열 모델(302)의 결정, 또는 그것들을 조합을 더 할 수 있다.
프로파일 식별 블록(526)은 기준 노드(304)와 주변 노드(306) 사이의 열 상호 작용들을 나타내기 위한 열 저항-커패시턴스 네트워크(232)를 결정할 수 있다. 프로파일 식별 블록(526)은 기준 노드(304), 주변 노드(306), 또는 그것의 조합의 현재 전원(236)에 따라 도 2의 현재 열 로드(240)를 나타내기 위한 열 모델(302)을 결정할 수 있다.
프로파일 식별 블록(526)은 제어 유닛(112), 저장 유닛(114), 자원 부분(202), 또는 그것의 조합 내에 저장된 쓰로틀링 임계값(408)의 식별, 열 저항-커패시턴스 네트워크(232)의 결정, 열 모델(302)의 결정, 또는 그것의 조합을 더 할 수 있다. 프로파일 식별 블록(526)은 프로파일링 블록(502)에 의해 생성되고 저장되도록 쓰로틀링 임계값(408), 열 저항-커패시턴스 네트워크(232), 열 모델(302), 또는 그것의 조합에 액세스할 수 있다. 프로파일 식별 블록(526)은 컴퓨팅 시스템(100)에 의해 미리 결정된 방법, 프로세스, 회로, 위치, 또는 그것의 조합에 근거하여 기준 노드(304)를 위한 쓰로틀링 임계값(408), 열 저항-커패시턴스 네트워크(232), 열 모델(302), 또는 그것의 조합에 액세스할 수 있다.
계산 블록(528)은 자원 부분(202)을 위한 열 에너지를 고려한 정보를 동적으로 계산하도록 구성된다. 계산 블록(528)은 자원 부분(202)의 현재 상태와 자원 부분(202)에 근거한 특성들 또는 행태들에 근거한 정보를 동적으로 계산할 수 있다.
계산 블록(528)은 실시간으로 정보를 동적으로 계산할 수 있다. 계산 블록(528)은 자원 부분(202) 또는 그것의 노드를 위한 현재 시간에서 레벨들, 특징들, 상황들, 조건들, 또는 그것의 조합에 따라 동적으로 계산할 수 있다.
계산 블록(528)은 노드들을 위해 현재 열 로드(240)를 동적으로 계산할 수 있다. 계산 블록(528)은 노드들의 현재 전원(236)에 근거하여 현재 열 로드(240)를 동적으로 더 계산할 수 있다. 예를 들면, 계산 블록(528)은 정지 노드(310)의 인스턴스들을 위한 현재 열 로드(240)를 동적으로 계산할 수 있다. 또 예를 들면, 계산 블록(528)은 액티브 노드(308), 주변 노드(306), 또는 그것의 조합에 근거한 현재 열 로드(240)를 동적으로 계산할 수도 있다.
계산 블록(528)은 열 모델(302)에 근거한 기준 노드(304)의 각 인스턴스를 위한 현재 열 로드(240)를 동적으로 계산할 수 있다. 계산 블록(528)은 현재 열 로드(240)에 따른 주변 노드(306)의 인스턴스들로부터 열 영향들을 처리하는 열 모델(302)에 따른 기준 노드(304)를 위한 현재 열 로드(240)를 동적으로 계산할 수 있다.
더 상세한 예로서, 계산 블록(528)은 자원 유닛(214)과 정지 노드(310)에 따른 기준 노드(304)를 위한 현재 열 로드(240)를 동적으로 계산할 수 있다. 계산 블록(528)은 현재 전원(236)을 소모하는 액티브 노드(308)를 포함하는 주변 노드(306)에 의해 영향을 받는 현재 열 로드(240)를 계산할 수 있다.
계산 블록(528)은 기준 노드(304)의 열 모델(302)을 사용한 기준 노드(304)의 현재 열 로드(240)를 계산할 수 있다. 계산 블록(528)은 열 모델(302)의 입력으로 주변 노드(306)의 각 인스턴스의 현재 전원(236)을 갖는 현재 열 로드(240)를 계산할 수 있다.
계산 블록(528)은 기준 노드(304), 주변 노드(306), 또는 그것의 조합의 각 인스턴스에 따라 램프 프로파일(410)을 동적으로 결정할 수 있다. 계산 블록(528)은 기준 노드(304), 주변 노드(306), 또는 그것의 조합의 각 인스턴스를 위한 현재 열 로드(304), 현재 전원(236), 또는 그것의 조합에 따른 램프 프로파일(410)을 동적으로 결정할 수 있다.
계산 블록(528)은 시간을 초과하는 현재 열 로드(240)의 변화를 기술하기 위한 램프 프로파일(410)을 결정할 수 있다. 계산 블록(528)은 열 저항-커패시턴스 네트워크(232)와 현재 전원(236)의 조합에 따라 램프 프로파일(410)을 결정할 수 있다. 더 상세한 예로서, 계산 블록(528)은 기준 노드(304)와 주변 노드(306)를 위한 열 저항-커패시턴스 네트워크(232)와 주변 노드(306)의 현재 전원(236) 사이의 비율에 따른 램프 프로파일(410)을 결정할 수 있다.
계산 블록(528)은 열 헤드룸(532), 이용가능 용량(534), 자원 순위(536), 또는 그것의 조합을 포함하거나 근거한 열 후보 집합(530)을 동적으로 계산할 수 있다. 계산 블록(528)은 노드들을 위한 현재 열 로드(240)를 나타내기 위한 열 후보 집합(530)을 동적으로 계산할 수 있다.
예를 들면, 계산 블록(528)은 자원 부분(202)의 자원 유닛(214)을 위한 타겟 태스크(248)를 수행하기 위한 현재 열 로드(240) 또는 용량을 나타내기 위한 열 후보 집합(530)을 동적으로 계산할 수 있다. 또 예를 들면, 계산 블록(528)은 액티브 노드(308), 주변 노드(306), 또는 그것의 조합에 의해 영향을 받는 정지 노드(310)를 위한 타겟 태스크(248)를 수행하기 위한 현재 열 로드(240) 또는 용량을 나타내기 위한 열 후보 집합(530)을 동적으로 계산할 수 있다.
열 헤드룸(532)은 노드를 위한 이용가능 열 용량을 나타낼 수 있다. 열 헤드룸(532)은 쓰로트링 임계값(408) 이전의 노드를 위해 이용가능한 열 비용(thermal expenditure)을 나타낼 수 있다.
계산 블록(528)은 쓰로틀링 임계값(408), 현재 전원(236), 또는 그것의 조합과 노드들의 현재 열 로드(240) 사이의 차이에 근거하여 열 헤드룸(532)을 동적으로 계산할 수 있다. 예를 들면, 계산 블록(528)은 자원 유닛(214)의 하나 이상의 인스턴스들을 위한 열 헤드룸(532)을 동적으로 계산할 수 있다. 또 예를 들면, 계산 블록(528)은 정지 노드(310)를 포함하는 기준 노드(304)의 해당 인스턴스를 위한 열 헤드룸(532)을 동적으로 계산할 수 있다.
더 상세한 예로서, 계산 블록(528)은 현재 전원(236)을 갖는 주변 노드로부터의 열 입력들을 위한 계산을 위한 기준 노드(304)의 현재 열 로드(240)와, 기준 노드(304)의 쓰로틀링 임계값(408) 사이의 차이로서 열 헤드룸(532)을 동적으로 계산할 수 있다. 계산 블록(528)은 정지 노드(310)로서 식별된 자원 유닛(214)의 인스턴스들에 따른 기준 노드(304)를 위한 열 헤드룸(532)을 동적으로 계산할 수 있다.
이용가능 용량(534)은 기술된 노드에서 실행 또는 구현되기 위해 이용가능한 작업의 양을 나타낸다. 이용가능 용량(534)은 태스크 또는 명령어를 수행할 때 쓰로틀링 임계값(408)에 도달하는 기술된 노드의 열 에너지 이전에 현재 상태로부터 사이클들의 시간 또는 회수를 나타낼 수 있다.
이용가능 용량(534)은 기준 노드(304)가 태스크 또는 명령어의 실행 또는 구현을 시작하면, 기준 노드(304)가 쓰로틀링 임계값(408)에 도달할 때까지의 간격을 나타낼 수 있다. 이용가능 용량 (534)은 기준 노드(304), 주변 노드(306), 또는 그것의 조합의 현재 열 로드(240)를 위해 처리될 수 있다. 이용가능 용량(534)은 주변 노드(306)를 위해 현재 시간 이후에 예상되거나 예측된 현재 열 로드(240), 현재 전원(236), 기준 노드(304)로의 그것의 영향, 또는 그것의 조합을 더 처리할 수 있다.
계산 블록(528)은 열 헤드룸(532), 램프 프로파일(410), 또는 그것의 조합에 근거하여 이용가능 용량(534)을 계산할 수 있다. 계산 블록(528)은 기준 노드(304), 주변 노드(306), 또는 그것의 조합을 위한 현재 전원(236), 현재 열 로드(240), 열 저항-커패시턴스 네트워크(232), 열 모델(302), 쓰로틀링 임계값(408), 자원 크기(412), 또는 그것의 조합에 근거한 이용 가능 용량(534)을 계산할 수 있다.
더 상세한 예로서, 계산 블록(528)은 하기의 수학식 2에 근거하여 이용가능 용량(534)을 계산할 수 있다.
Figure pat00009
'i'로 나타낸 기준 노드(304)의 쓰로트링 임계값(408)은 '
Figure pat00010
'로 나타낸 온도 레벨을 포함할 수 있다. 현재 열 로드(240)는 '
Figure pat00011
'로서 나타나는 기준 노드(304)를 위한 온도 레벨을 되돌리기 위한 시간의 함수를 포함할 수 있다. 열 헤드룸(532)은 '
Figure pat00012
'로 나타낼 수 있다.
계속되는 예로서, 열 저항-커패시턴스 네트워크(232)는 기준 노드(304)와 'k = 0, 1, 2, ..., n'로서 나타나는 주변 노드(306)의 인스턴스 사이일 수 있다. 열 용어의 교차에 따른 열 저항-커패시턴스 네트워크(232)는 '
Figure pat00013
'로 나타낼 수 있다. 주변 노드(306)의 현재 전원(236) 은 '
Figure pat00014
'로서 나타낼 수 있다. 이용 가능 용량(534)은 '
Figure pat00015
'로서 나타낼 수 있다.
또 더 상세한 예로서, 계산 블록(528)은 기준 노드(304)의 램프 프로파일(410)을 갖는 수학식 2의 결합에 근거하여 이용가능 용량(534)을 계산할 수 있다. 기준 노드(304)의 램프 프로파일(410)은 'C i '로서 나타낼 수 있다.
또 더 상세한 예로서, 계산 블록(528)은 주변 노드(306)에서 전원 레벨들로 기술된 시간의 함수로서 주변 노드(306)의 현재 전원(236)에 근거한 이용가능 용량(534)을 계산할 수 있다. 또 더 상세한 예로서, 계산 블록(528)은 초과 시간의 온도 내 변화를 기술하기 위한 미분, 적분, 또는 그것의 조합을 포함하기 위해 수정된 수학식 2에 근거하여 이용가능 용량(534)을 계산할 수 있다.
열 후보 집합(530)은 타겟 태스크(248)를 수행할 수 있는 노드들의 식별이다. 열 후보 집합(530)은 타겟 태스크(248)를 수행하기 위한 자원 유닛(214)을 식별할 수 있다. 열 후보 집합(530)은 타겟 태스크(248)를 수행하기 위한 정지 노드(310)를 더 식별할 수 있다. 열 후보 집합(530)은 특정 조건들을 위한 타겟 태스크(248)를 수행하기 위한 액티브 노드(308)를 식별할 수도 있다.
계산 블록(528)은 후보 노드를 식별하기 위한 이름, 주소, 경로, 또는 그것의 조합에 근거하여 열 후보 집합(530)을 식별할 수 있다. 계산 블록(528)은 타겟 태스크(248)의 수행 또는 구현을 위한 후보들로서 한정하는 노드들을 포함하는, 노드들의 현재 열 로드(240)를 나타내기 위한 열 후보 집합(530)을 계산할 수 있다.
계산 블록(528)은 현재 전원(236), 열 후보 집합(530), 열 저항-커패시턴스 네트워크(232), 열 모델(302), 쓰로틀링 임계값(408), 또는 그것의 조합에 근거한 열 후보 집합(530)을 계산할 수 있다. 계산 블록(528)은 이용가능 용량(534), 열 헤드룸(532), 도 2의 동적 로드 프로파일(238), 타겟 거주 시간(524), 또는 그것의 조합에 근거한 열 후보 집합(530)을 더 계산할 수 있다. 계산 블록(528)은 열 후보 집합(530) 내에서, 상술한 바와 같은 다양한 파라미터들 또는 측정들의 고려와 같은 미리 결정된 조건들을 만족하는 기준 노드(304)를 포함할 수 있다.
예를 들면, 계산 블록(528)은 자원 유닛(214)에 따른 기준 노드(304)의 인스턴스들을 포함하는 열 후보 집합(530)을 계산할 수 있다. 또 예를 들면, 계산 블록(528)은 정지 노드(310)에 따른 기준 노드(304)의 인스턴스들을 포함하는 열 후보 집합(530)을 계산할 수 있다. 계산 블록(528)은 액티브 노드(308), 주변 노드(306), 또는 그것의 조합에 의해 영향을 받는 정지 노드(310)를 포함하는 열 후보 집합(530)을 계산할 수 있다.
또 예를 들면, 계산 블록(528)은 수학식 2에 따라 0보다 큰 이용가능 용량(534), 열 헤드룸(532), 또는 그것의 조합을 갖는 기준 노드(304)의 인스턴스들을 포함하는 열 후보 집합(530)을 계산할 수 있다. 또 예를 들면, 계산 블록(528)은 쓰로틀링 임계값(408) 미만의 램프 프로파일(410), 현재 열 로드(240), 및 타겟 거주 시간(524)의 조합에 따른 기준 노드(304)의 인스턴스들을 포함하는 열 후보 집합(530)을 계산할 수 있다.
계산 블록(528)은 한정된 노드들에 대한 식별 또는 액세스를 위해 리스트, 테이블, 그룹핑, 또는 그것의 조합의 생성 또는 조합에 의해 열 후보 집합(530)을 계산할 수 있다. 계산 블록(528)은 열 헤드룸(532), 이용가능 용량(534), 또는 그것의 조합의 해당 인스턴스들을 포함하는 열 후보 집합(530)을 계산할 수 있다.
자원 랭킹(536)은 타겟 태스크(248)을 수행하기 위한 열 후보 집합(530) 내 노드들을 위한 조직이다. 자원 랭킹(536)은 열 후보 집합(530) 내 다른 것들에 관련된 각 노드를 위한 순서 또는 값을 포함할 수 있다. 자원 랭킹(536)은 다른 노드들에 관련된 열 후보 집합(530) 내 노드를 위한 순서화 또는 특정 배치를 더 포함할 수 있다.
계산 블록(528)은 이용 가능 용량(534)에 근거한 열 후보 집합(530)을 동적으로 계산할 수 있다. 계산 블록(528)은 이용 가능 용량(534), 현재 전원(236), 또는 그것의 조합에 근거한 자원 랭킹(536)에 따르거나 포함하는 열 후보 집합(530)을 계산할 수 있다. 계산 블록(528)은 이용가능 용량(534)에 따른 시퀀스 또는 순서에 근거한 자원 랭킹(536)을 계산할 수 있다.
계산 블록(528)은 현재 텍스트에 따른 다양한 팩터들을 밸런싱하기 위한 자원 랭킹(536)을 동적으로 계산할 수 있다. 예를 들면, 계산 블록(528)은 전원 소모와 프로세싱 용량을 밸런싱하기 위한 자원 랭킹(536)을 동적으로 계산할 수 있다.
더 상세한 예로서, 계산 블록(528)은 프로세싱 용량에 대해 최적화할 수 있는 반면, 액티브 코어를 종료하기 위해 대기하는 대신에 나머지 코어를 활성화, "little" 코어 대신에 "big" 코어 활성화, 나머지 클러스터의 활성화, 또는 그것의 조합과 같은 전원 소모의 비율을 증가시킬 수 있다. 또 더 상세한 예로서, 계산 블록(528)은 전원 소모를 감소하고 전원 소모를 최적화할 수 있는 반면, 종료를 위한 액티브 코어를 위해 대기하고, 나머지 코어의 활성화 대신에 타겟 태스크(248)를 수행, "big" 코어 대신에 "little" 코어를 활성화, 나머지 코어 대신에 다른 액티브 노드들을 갖는 클러스터 내 코어를 활성화, 및 그것의 조합과 같은 프로세싱 용량을 감소시킬 수 있다.
또 예를 들면, 계산 블록(528)은 현재 텍스트에 따른 파라미터들 또는 지시자들에 근거하여 자원 랭킹(536)을 동적으로 계산할 수 있다. 더 상세한 예로서, 계산 블록(528)은 장치(102)의 남은 전원의 양, 타겟 태스크(248)의 중요성 또는 중대성, 타겟 태스크(248)를 초과하는 다음 스케줄 또는 태스크, 타겟 태스크(248)와 동시의 다른 태스크의 중요성 또는 중대성, 또는 그것의 조합을 사용한 자원 랭킹(536)을 동적으로 계산할 수 있다.
계산 블록(528)은 자원 랭킹(536)을 계산하기 위한 컴퓨팅 시스템(100)에 의해 미리 결정된 방법, 프로세스, 방정식, 또는 그것의 조합을 포함할 수 있다. 계산 블록(528)은 파라미터들을 밸런싱, 다양한 문맥 입력들을 위한 설명, 또는 그것의 조합을 하는 미리 결정된 방법, 프로세스, 방정식, 또는 그것의 조합을 포함할 수 있다.
계산 블록(528)은 현재 전원(236)과 열 저항-커패시턴스 네트워크(232)에 근거하여 열 후보 집합(530)을 더 동적으로 계산할 수 있다. 계산 블록(528)은 주변 노드(306)로부터 영향을 설명하기 위한 기준 노드(306)에 따른 자원 랭킹(306)을 포함하는 열 후보 집합(530)을 계산할 수 있다. 계산 블록(528)은 주변 노드(306)의 현재 전원(236)과 기준 노드(304)와 주변 노드(306) 사이의 열 저항-커패시턴스 네트워크(232)에 근거하여 주변 노드(306)로부터의 영향에 대해 설명할 수 있다.
계산 블록(528)은 쓰로틀링 임계값(408)과 현재 열 로드(240)에 근거하여 열 후보 집합(530)을 더 동적으로 계산할 수 있다. 계산 블록(528)은 쓰로틀링 임계값(408)과 현재 열 로드(240)를 사용하여 계산된 이용 가능 용량(534), 또는 열 헤드룸(532)에 근거하여 열 후보 집합(530)을 동적으로 계산할 수 있다.
계산 블록(528)은 1차 집합과 2차 집합을 갖는 열 후보 집합(530)을 더 계산할 수 있다. 계산 블록(528)은 1차 집합에서 상술한 바와 같이 검증 기준에 맞는 노드들을 포함할 수 있다. 계산 블록(528)은 2차 집합 내 검증 기준을 만족하지 않는 노드들을 포함할 수 있다. 계산 블록(528)은 자원 랭킹(536)을 포함하는 1차 집합, 2차 집합 또는 그것의 조합을 갖는 열 후보 집합(530)을 계산할 수 있다.
열 블록(506)은 열 에너지를 간주한 정보를 계산하기 위해 제어 유닛(112), 자원 부분(202), 저장 유닛(114), 그것의 부분 또는 회로, 또는 그것의 조합을 사용할 수 있다. 열 블록(506)은 제어 유닛(112), 자원 부분(202), 저장 유닛(114), 그것의 부분 또는 회로, 또는 그것의 조합 내 열 후보 집합(530), 자원 랭킹(536), 이용가능 용량(534), 열 헤드룸(532), 또는 그것의 조합을 저장할 수 있다.
열 에너지로 간주하는 정보의 계산 이후에, 제어 흐름은 타겟 블록(508)로 진행할 수 있다. 제어 흐름은 프로파일링 블록(502)과 모니터링 블록(504) 사이에 상술한 바와 같이 유사하게 진행될 수 있지만, 열 후보 집합(530), 자원 랭킹(536), 이용가능 용량(534), 열 헤드룸(532), 또는 그것의 조합과 같은 열 블록(506)의 프로세싱 결과를 사용할 수 있다.
타겟 블록(508)은 특정 노드로 타겟 태스크(248)를 배정하기 위해 구성될 수 있다. 타겟 블록(508)은 타겟 태스크(248)를 수행하기 위해 최적의 노드로 타겟 태스크(248)를 배정할 수 있다. 타겟 블록(508)은 타겟 태스크(248)를 수행하기 위해 열적으로 최적의 노드로 타겟 태스크(248)를 배정할 수 있다.
타겟 블록(508)은 타겟 자원(246)의 결정에 의해 타겟 태스크(248)를 배정할 수 있다. 타겟 블록(508)은 타겟 자원(246)을 사용한 타겟 태스크(248)를 수행하기 위해 열 후보 집합(530)에 근거한 타겟 자원(246)을 결정할 수 있다.
타겟 블록(508)은 노드의 특정 타입으로서 타겟 자원(246)을 결정할 수 있다. 예를 들면, 타겟 블록(508)은 자원 유닛(214)의 인스턴스로서 타겟 자원(246)을 결정할 수 있다. 또 예를 들면, 타겟 블록(508)은 정지 노드(310)의 인스턴스들 사이로부터 타겟 자원(246)을 결정할 수 있다. 타겟 블록(508)은 타겟 자원(246)을 위한 고려 내 열 후보 집합(530) 내 포함된 액티브 노드(308)의 임의의 인스턴스들을 제거하거나 무시할 수 있다.
타겟 블록(508)은 열 후보 집합(530) 내 노드들 사이의 열 헤드룸(532)의 가장 큰 인스턴스에 따른 타겟 자원(246)을 더 결정할 수 있다. 예를 들면, 타겟 블록(508)은 열 후보 집합(530)의 자원 랭킹(536)에 근거한, 랭킹의 기준에 따라 가장 높거나 가장 낮은 것과 같은 가장 최적의 인스턴스로서 타겟 자원(246)을 결정할 수 있다.
또 예를 들면, 타겟 블록(508)은 이용 가능 용량(534)에 근거한 타겟 자원(246)을 결정할 수 있다. 타겟 블록(508)은 열 후보 집합(530) 내 이용 가능 용량(534)의 최대 인스턴스에 따른 노드로서 타겟 자원(246)을 결정할 수 있다.
타겟 블록(508)은 램프 프로파일(410)과 타겟 거주 시간(524)에 근거하여 타겟 자원(246)을 더 결정할 수 있다. 타겟 블록(508)은 쓰로틀링 임계값(408) 미만의 램프 프로파일(410), 타겟 거주 시간(524), 현재 열 로드(240), 열 저항-커패시턴스 네트워크(232), 또는 그것의 조합에 대한 조합을 갖는 로드로서, 타겟 자원(246)을 결정할 수 있다.
예를 들면, 타겟 블록(508)은 램프 프로파일(410)과 열 저항-커패시턴스 네트워크(232)에 따른 현재 열 로드(240)로부터 타겟 거주 시간(524)에 대해 작업하거나 실행할 때, 쓰로틀링 임계값(408)을 초과할 수 있는 노드들을 무시하거나 제거할 수 있다. 또 예를 들면, 타겟 블록(508)은 위의 수학식 2에 따른 이용 가능 용량(534)의 음의 값에 따른 노드들을 무시하거나 제거할 수 있다. 타겟 블록(508)은 타겟 태스크(248)를 수행하거나 실행한 이후 쓰로틀링 임계값(408) 아래일 수 있는 노드들의 집합으로부터의 최적 열 조건들을 갖는 노드로서 타겟 자원(246)을 결정할 수 있다.
또 예를 들면, 타겟 블록(508)은 쓰로틀링 임계값(408)을 초과하는 노드들을 별도로 식별할 수 있다. 모든 자원 유닛이 수행하거나 실행하는 타겟 태스크(248) 내 쓰로틀링 임계값(408)을 초과할 때, 타겟 블록(508)은 별도로 식별된 노드들로부터 최적의 조건들을 갖는 노드들로서 타겟 자원(246)을 결정할 수 있다.
타겟 블록(508)은 특정 노드로 타겟 태스크(248)를 배정하기 위해 제어 유닛(112), 자원 부분(202), 저장 유닛(114), 그것 내 부분 또는 회로, 또는 그것의 조합을 사용할 수 있다. 타겟 블록(508)은 제어 유닛(112), 자원 부분(202), 저장 유닛(114), 그것 내 부분 또는 회로, 또는 그것의 조합 내 배정된 정보를 저장할 수 있다.
타겟 태스크(248)를 배정한 이후, 제어 흐름은 감시 블록(504)으로 진행할 수 있다. 제어 흐름은 프로파일링 블록(502)과 모니터링 블록(504) 사이에 상술한 바와 유사하게 진행되지만, 타겟 자원(246)과 같은 타겟 블록(508)의 프로세싱 결과들을 사용할 수 있다.
컴퓨팅 시스템(100)은 타겟 자원(246)에 근거하여 모니터링 블록(504)을 갖는 자원 부분(202)의 현재 상태를 업데이트할 수 있다. 컴퓨팅 시스템(100)은 미리 결정된 시간의 주기 또는 미리 결정된 싸이클들의 회수에 근거하여 타겟 블록(508)으로부터 모니터링 블록(504)으로 제어 흐름이 반복하여 프로세스하거나 진행할 수 있다. 컴퓨팅 시스템(100)은 현재 상태를 업데이트하고, 미리 결정된 기간에 따른 타겟 자원(246)을 지정할 수 있다. 컴퓨팅 시스템(100)은 이용가능하게 되는 타겟 태스크(248)의 인스턴스의 각 시간을 더 업데이트 할 수 있다.
현재 열 로드(240)를 대표하기 위한 현재 전원(236)으로부터 이용가능 용량(534)에 근거하여 동적으로 계산된 열 후보 집합(530)은 열 제한들에 대해 개선된 성능을 제공함을 확인할 수 있다. 열 후보 집합(530)은 이후의 태스크들의 수행에서 코어들의 열 용량을 위한 분석을 제공할 수 있다. 열 후보 집합(530)은 전체 성능을 개선할 수 있는 열 부하 및 다음 쓰로틀링을 감소할 수 있다. 열 후보 집합(530)은 열 과부하를 더 감소할 수 있는 열 후보 집합(530)의 정확도와 타당성을 증가시킬 수 있다.
열 저항-커패시턴스 네트워크(232)에 따른 이용 가능 용량(534)에 근거한 열 후보 집합(530)에 근거한 타겟 자원(246)은 노드들의 효율적인 배정을 이끄는 모델링한 열 행태 내에서 증가된 정확도를 제공한다. 열 저항-커패시턴스 네트워크(232)는 다른 노드들로부터 변화하는 열 로드를 동적으로 변화시키고, 이용가능 용량(532)의 정확도의 증가를 설명할 수 있다. 이용 가능 용량(534)의 정확도의 증가는 쓰로틀링을 감소할 수 있는 최대 열 헤드룸을 갖는 코어를 선택으로 이어진다.
열 헤드룸(532)에 근거하여 동적으로 계산된 열 후보 집합(530)은 자원 부분(202)의 관리에서 개선된 효율을 제공한다. 현재 상황을 위해 열 헤드룸(532)에 근거한 열 후보 집합(530)의 동적 계산은 코어들 상의 동적 열 로드 또는 주어진 성능 상태 내에서 거주를 추정하기 위한 방법을 나타낸다. 코어들 상에서 열 로드의 실시간 측정 또는 추정은 현재 상황을 위한 타겟 태스크(248)를 위해 적합한 타겟 자원(246)을 결정하는데 사용될 수 있다.
위에서 논의한 바와 같이 미리 결정된 조건을 만족하는 노드들만을 나타내는 열 후보 집합(530)은 복잡도와 데이터 크기의 감소를 제공할 수 있는 것을 발견할 수 있다. 이용 가능 용량(534) 또는 정지 노드(310)를 위한 양의 값(positive value)으로서 미리 결정된 조건에 적합한 노드들의 개수들로만 제한되지 않는 것으로 나타난 열 후보 집합(530)은 열 후보 집합(530)에 의해 추적되고 리스트된 자원들의 전체 개수가 감소한다.
현재 문맥상의 파라미터들에 따른 균형 전원과 성능을 위한 자원 랭킹(536)을 포함하는 열 후보 집합(530)은 열 후보 집합(530)은 사용자를 위한 장치(102)의 증가된 적합성과 이용가능성을 제공하는 것을 추가로 발견할 수 있다. 컴퓨팅 시스템(100)은 자원 랭킹(536)을 갖는 열 후보 집합(530)에 근거한 가장 최근의 현재 정보에 따른 사용자의 필요를 위해 가장 적합한 타겟 자원(246)을 정확히 계산할 수 있다.
도 6은 본 발명에 따른 동작에서 열 매커니즘을 예시적으로 도시한 도면이다.
도 6을 참조하면, 예시적인 응용예로서 컴퓨팅 시스템(100)을 예시적으로 도시한다. 본 발명의 다양한 실시예에 따른 예들로서, 예를 들면, 스마트폰, 자동차의 대쉬 보드, 노트북 컴퓨터와 같은 컴퓨팅 시스템(100)을 위한 다양한 실시예들을 도시한다. 이러한 응용 예들은 도 2 전체의 자원 부분(202)의 노드들을 위한 열 에너지가 최소화되는 동안 최적의 프로세싱 성능을 제공하기 위해 본 발명의 다양한 실시예들의 중요성을 도시한다.
본 발명의 실시예는 집적 회로 프로세서 또는 시스템 온 칩(SoC)이고, 상술한 블록들은 그것에 임베디드되고, 본 발명의 다양한 실시예들은 프로세서의 개선된 성능을 위한 미스들로부터의 패널티들이 감소하는 동안 인스트럭션들 또는 데이터 액세싱을 위해 필요로 하는 전체 시간, 전원, 또는 그것의 조합을 감소할 수 있다.
스마트폰, 대쉬 보드, 사물 인터넷(IoT) 컴포넌트들의 하나 또는 모음(collection), 서버, 및 노트북 컴퓨터와 같은 컴퓨팅 시스템(100)은 본 발명의 다양한 실시예들을 갖는 인쇄 회로 기판(PCB: printed circuit board) 또는 본 발명의 다양한 실시예들을 갖는 전자식 어셈블리(electronic assembly)와 같은 하나 이상의 서브 시스템(미도시) 을 포함할 수 있다. 컴퓨팅 시스템(100)은 어댑터 카드로서 구현될 수도 있다.
도 7은 본 발명에 따른 컴퓨팅 시스템의 동작 방법에 대한 예시적인 흐름도이다.
도 7을 참조하면, 컴퓨팅 시스템(100)의 동작 방법(500)에 대한 흐름도이다. 방법(700)은 다중 자원 유닛들 각각을 위한 현재 전원을 계산(702단계), 다중 자원 유닛들을 위한 현재 열 로드를 나타내기 위한 열 후보 집합, 현재 전원에 근거한 열 후보 집합을 제어 유닛으로 동적으로 계산(704단계), 및 타겟 자원을 사용하여 타겟 태스크를 수행하기 위한 열 후보 집합에 근거하여 타겟 자원을 결정(706단계)을 포함한다.
704단계는 다중 자원 유닛들에 따른 열 헤드룸을 동적으로 계산하는 단계, 현재 열 로드 추가 시간으로 변경을 나타내기 위한 다중 자원 유닛들 각각에 따른 램프 프로파일을 동적으로 결정하는 단계, 다중 자원 유닛들 사이에 열 상호 작용들을 나타내기 위한 열 저항-커패시턴스 네트워크를 결정하는 단계, 현재 전원과 열 저항-커패시턴스 네트워크에 근거하여 열 후보 집합을 동적으로 계산하는 단계, 다중 자원 유닛들의 현재 전원에 따른 현재 열 로드를 나타내기 위한 열 모델을 결정하는 단계, 열 모델에 근거하여 열 후보 집합을 동적으로 계산하는 단계, 또는 그것의 조합을 더 포함한다.
706단계는 다중 자원 유닛들 사이의 열 헤드룸의 가장 큰 인스턴스에 따른 타겟 자원을 결정하는 단계, 램프 프로파일과 타겟 거주 시간에 근거하여 타겟 자원을 결정하는 단계, 또는 그것의 조합을 더 포함한다. 방법(700)은 타겟 태스크를 위한 타겟 거주 시간을 계산하는 단계를 더 포함한다.
방법, 프로세스, 장치, 장치, 제품, 및/또는 시스템은 간소화하고, 비용 효율이 높고, 복잡하지 않고, 다목적이고, 정확하고, 민감하고, 효율적이고, 준비, 효율, 경제적인 제조, 응용, 및 이용을 위해 알려진 컴포넌트들의 채용에 의해 구현될 수 있다. 본 발명의 실시예의 다른 중요한 관점에서 비용의 감소, 시스템의 간소화, 및 성능 증가의 역사적인 트렌드에 대한 가치있는 지원들과 서비스들이다.
본 발명의 실시예의 이것들과 다른 가치있는 관점의 결과로 적어도 다음 단계로 기술의 상태로 일어날 수 있다.
본 발명이 특정 최적 모드와 함께 기술된 반면, 많은 대체들, 수정들, 및 변화들이 이전의 기술을 고려하여 해당 기술 분야에서 명백할 것이다. 따라서, 그것은 특허청구범위에 포함된 범위 내에 있는 대체들, 수정들, 및 변화들과 같은 모든 것들을 포괄하는 것으로 의도될 것이다. 첨부된 도면들 내에서 여기에서 설명 또는 도시된 모든 것들이 예시적이고 제한되지 않는 의미로 해석될 수 있다.
100: 컴퓨팅 시스템 102: 장치
112: 제어 유닛 114: 저장 유닛
116: 통신 유닛 118: 사용자 인터페이스
122: 제어 인터페이스 124: 저장 인터페이스
126: 소프트웨어 128: 통신 인터페이스
130: 디스플레이 인터페이스 202: 자원 부분
204: 중심 영역 206: 외부 영역
208: 자원 클러스터 210, 212: 클러스터들
214: 자원 유닛 216, 218: 자원들
222: 주변 섹션 224: 그래픽 섹션
226: 일반 섹션 228: 분리 측정
230: 중복 측정 232: 열 저항-커패시턴스 네트워크
234: 전원 모니터 236: 현재 전원
238: 동적 로드 프로파일 240: 현재 열 로드
242: 현재 작업 로드 244: 현재 거주 시간
302: 엘 모델 304: 기준 노드
306: 주변 노드 308: 액티브 노드
310: 정지 노드 502: 프로파일링 블록
504: 모니터링 블록 506: 열 블록
508: 타겟 블록 510: 자원 식별 블록
512: 개별 모델링 블록 514: 관계 모델링 블록
516: 특성 블록 518: 활동 블록
520: 전원 블록 522: 태스크 블록
526: 프로파일 식별 블록 528: 계산 블록

Claims (20)

  1. 다중 자원 유닛들 각각을 위한 현재 전원을 계산하는 모니터링 블록;
    상기 모니터링 블록에 연결되고, 상기 현재 전원에 근거하여 열 후보 집합을 동적으로 계산하는 열 블록; 및
    상기 열 블록에 연결되고, 타겟 자원을 사용한 타겟 태스크를 수행하기 위한 상기 열 후보 집합에 근거하여 상기 타겟 자원을 결정하는 타겟 블록을 포함하고,
    상기 열 후보 집합은 상기 다중 자원 유닛들에 대한 현재 열 로드를 나타내기 위한 컴퓨팅 시스템.
  2. 제 1 항에 있어서,
    상기 열 블록은 상기 다중 자원 유닛들에 따른 열 헤드룸을 동적으로 계산하고,
    상기 타겟 블록은 상기 다중 자원 유닛들 사이의 상기 열 헤드룸의 가장 큰 인스턴스에 따른 타겟 자원을 결정하는 컴퓨팅 시스템.
  3. 제 1 항에 있어서,
    상기 모니터링 블록은 상기 타겟 태스크를 위한 타겟 거주 시간을 계산하고,
    상기 열 블록은 상기 현재 열 로드 초과 시간으로 변경을 나타내기 위한 다중 자원 유닛들 각각에 따른 램프 프로파일을 동적으로 결정하고,
    상기 타겟 블록은 상기 램프 프로파일과 상기 타겟 거주 시간에 근거하여 상기 타겟 자원을 결정하는 컴퓨팅 시스템.
  4. 제 1 항에 있어서,
    상기 열 블록은 상기 다중 자원 유닛들 사이에 열 상호작용들을 나타내기 위한 열 저항-커패시턴스 네트워크를 결정하고,
    상기 현재 전원과 상기 열 저항-커패시턴스 네트워크에 근거하여 상기 열 후보 집합을 동적으로 계산하는 컴퓨팅 시스템.
  5. 제 1 항에 있어서,
    상기 열 블록은 상기 다중 자원 유닛들의 현재 전원에 따른 상기 현재 열 로드를 나타내기 위한 열 모델을 결정하고;
    상기 열 모델에 근거하여 상기 열 후보 집합을 동적으로 계산하는 컴퓨팅 시스템.
  6. 제 1 항에 있어서,
    상기 모니터링 블록은 상기 다중 자원 유닛들 중 하나를 사용하여 상기 타겟 태스크를 수행하기 위한 상기 타겟 태스크를 식별하고,
    상기 열 블록은 상기 다중 자원 유닛들 각각에 따른 스로틀링 임계값을 식별하고,
    상기 다중 자원 유닛들의 현재 전원에 근거하여 상기 현재 열 로드를 계산하고,
    상기 스로틀링 임계값과 상기 현재 열 로드에 근거하여 상기 열 후보 집합을 동적으로 계산하는 컴퓨팅 시스템.
  7. 제 1 항에 있어서,
    상기 열 블록은 상기 현재 열 로드와 상기 다중 자원 유닛들의 스로틀링 임계값 사이의 차이에 근거하여 상기 다중 자원 유닛들 각각에 따른 열 헤드룸을 동적으로 계산하고,
    상기 타겟 블록은 상기 다중 자원 유닛들의 상기 열 헤드룸의 가장 큰 인스턴스에 따른 상기 타겟 자원를 결정하는 컴퓨팅 시스템.
  8. 제 6 항에 있어서,
    상기 모니터링 블록은 상기 타겟 태스크를 수행하기 위한 타겟 거주 시간을 계산하고,
    상기 열 블록은 열 저항-커패시턴스 네트워크와 다중 자원 유닛들 각각의 현재 전원에 근거하여 상기 다중 자원 유닛들 각각에 따른 램프 프로파일을 동적으로 결정하고,
    상기 타겟 블록은 상기 램프 프로파일과 상기 타겟 거주 시간에 근거하여 상기 타겟 자원을 결정하는 컴퓨팅 시스템.
  9. 제 6 항에 있어서,
    다중 자원 유닛들 사이의 액티브 노드들과 정지 노드들을 식별하는 모니터링 블록;
    상기 정지 노드들의 스로틀링 임계값을 식별하고, 상기 액티브 노드들의 현재 전원에 근거하여 상기 정지 노드들을 위한 상기 현재 열 로드를 계산하고, 상기 액티브 노드들에 의해 영향을 받는 상기 정지 노드들을 포함하는 상기 열 후보 집합을 동적으로 계산는 열 블록; 및
    상기 열 후보 집합 내 상기 정지 노드들로부터 상기 타겟 자원을 결정하는 타겟 블록을 포함하는 컴퓨팅 시스템.
  10. 제 6 항에 있어서,
    상기 열 블록은 열 헤드룸에 근거하여 계산된 이용가능 용량, 현재 전원, 및 상기 다중 자원 유닛들의 상기 열 저항-커패시턴스 네트워크를 포함하는 열 후보 집합을 동적으로 계산하고,
    상기 타겟 블록은 상기 이용가능 용량에 근거하여 상기 타겟 자원을 결정하는 컴퓨팅 시스템.
  11. 컴퓨팅 시스템의 동작 방법에 있어서,
    다중 자원 유닛들 각각에 대한 현재 전원을 계산하는 단계;
    상기 현재 전원에 근거하여 제어 유닛으로 열 후보 집합을 동적으로 계산하는 단계;
    상기 타겟 자원을 사용하여 상기 타겟 태스크를 수행하기 위한 상기 열 후보 집합에 근거하여 타겟 자원을 결정하는 단계;
    상기 열 후보 집합은 상기 다중 자원 유닛들에 대한 현재 열 로드를 나타내기 위한 방법.
  12. 제 11 항에 있어서,
    상기 열 후보 집합을 동적으로 계산하는 단계는 상기 다중 자원 유닛들에 따른 열 헤드룸을 동적으로 계산하는 단계를 포함하고,
    상기 타겟 자원을 결정하는 단계는 상기 다중 자원 유닛들 사이의 상기 열 헤드룸의 가장 큰 인스턴스에 따른 타겟 자원을 결정하는 단계를 포함하는 방법.
  13. 제 11 항에 있어서,
    상기 타겟 태스크를 위한 타겟 거주 시간을 계산하는 단계를 더 포함하고,
    상기 열 후보 집합을 동적으로 계산하는 단계는 상기 현재 열 로드 초과 시간으로 변경을 나타내기 위한 상기 다중 자원 유닛들 각각에 따른 램프 프로파일을 동적으로 결정하는 단계를 포함하고,
    상기 타겟 자원을 결정하는 단계는 상기 램프 프로파일과 상기 타겟 거주 시간에 근거하여 상기 타겟 자원을 결정하는 단계를 포함하는 방법.
  14. 제 11 항에 있어서,
    상기 열 후보 집합을 동적으로 계산하는 단계는
    상기 다중 자원 유닛들 사이에 열 상호 작용들을 나타내기 위한 열 저항-커패시턴스 네트워크를 결정하는 단계; 및
    상기 현재 전원과 상기 열 저항-커패시턴스 네트워크에 근거하여 상기 열 후보 집합을 동적으로 계산하는 단계를 포함하는 방법.
  15. 제 11 항에 있어서,
    상기 열 후보 집합을 동적으로 계산하는 단계는
    상기 다중 자원 유닛들의 현재 전원에 따른 상기 현재 열 로드를 나타내기 위한 열 모델을 결정하는 단계; 및
    상기 열 모델에 근거하여 상기 열 후보 집합을 동적으로 계산하는 단계를 포함하는 방법.
  16. 자원 부분 내에 다중 자원 유닛들을 식별하는 자원 식별 블록;
    상기 자원 식별 블록에 연결되고, 상기 다중 자원 유닛들 각각을 나타내기 위한 단위-열 프로파일을 생성하는 개별 모델링 블록;
    상기 개별 모델링 블록에 연결되고, 상기 다중 자원 유닛들 사이의 관계를 나타내는 상기 단위-열 프로파일을 포함하는 자원 집합 프로파일을 생성하는 관계 모델링 블록; 및
    상기 관계 모델링 블록에 연결되고, 상기 다중 자원 유닛들 사이의 열 관계들을 나타내기 위한 상기 자원 집합 프로파일에 근거하여 열 저항-커패시턴스 네트워크를 계산하는 특성화 블록을 포함하는 컴퓨팅 시스템.
  17. 제 16 항에 있어서,
    상기 특성화 블록은 상기 다중 자원 유닛들의 현재 전원에 따른 현재 열 로드를 나타내기 위한 상기 자원 집합 프로파일에 근거하여 상기 자원 부분에 대한 열 모델을 생성하는 컴퓨팅 시스템.
  18. 제 16 항에 있어서,
    상기 자원 식별 블록은 상기 자원 부분 내의 상기 다중 자원 유닛들을 위치하도록 하고,
    상기 관계 모델링 블록은 상호 간에 관련된 상기 다중 자원 유닛들의 위치에 대한 노드-관계 위치를 포함하는 상기 자원 집합 프로파일을 생성하고,
    상기 특성화 블록은 상기 노드 관계 위치에 근거하여 상기 열 저항-커패시턴스 네트워크를 계산하는 컴퓨팅 시스템.
  19. 제 16 항에 있어서,
    상기 자원 식별 블록은 상기 자원 부분 내의 상기 다중 자원 유닛들을 위치하도록 하고,
    상기 관계 모델링 블록은 상기 자원 부분에 관련된 상기 다중 자원 유닛들의 위치에 대한 노드-관계 위치를 포함하는 상기 자원 집합 프로파일을 생성하고,
    상기 특성화 블록은 상기 노드 관계 위치에 근거하여 상기 열 저항-커패시턴스 네트워크를 계산하는 컴퓨팅 시스템.
  20. 제 16 항에 있어서,
    상기 특성화 블록은 상기 열 저항-커패시턴스 네트워크를 갖는 열 후보 집합의 동적인 계산에 근거하여 타겟 태스크를 수행하기 위한 타겟 자원을 결정하기 위한 상기 열 저항-커패시턴스 네트워크를 계산하는 컴퓨팅 시스템.
KR1020150150397A 2014-10-28 2015-10-28 열 매커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법 KR20160050003A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462069608P 2014-10-28 2014-10-28
US62/069,608 2014-10-28
US14/804,119 US20160117199A1 (en) 2014-10-28 2015-07-20 Computing system with thermal mechanism and method of operation thereof
US14/804,119 2015-07-20

Publications (1)

Publication Number Publication Date
KR20160050003A true KR20160050003A (ko) 2016-05-10

Family

ID=55698650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150150397A KR20160050003A (ko) 2014-10-28 2015-10-28 열 매커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법

Country Status (4)

Country Link
US (1) US20160117199A1 (ko)
KR (1) KR20160050003A (ko)
CN (1) CN105549716A (ko)
DE (1) DE102015118075A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022138995A1 (ko) * 2020-12-21 2022-06-30 주식회사 모빌린트 하드웨어 가속기 제어 방법 및 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430251B2 (en) * 2016-05-16 2019-10-01 Dell Products L.P. Systems and methods for load balancing based on thermal parameters
US10204198B2 (en) * 2017-01-20 2019-02-12 International Business Machines Corporation Method for efficient localized self-heating analysis using location based deltat analysis
US10746425B1 (en) * 2017-03-08 2020-08-18 Energyhub, Inc. Thermal modeling technology
US10990443B2 (en) * 2018-12-04 2021-04-27 International Business Machines Corporation Utilization profiling and scheduling operations using thread specific execution units usage of a multi-core multi-threaded processor
US11735916B2 (en) 2020-09-22 2023-08-22 Energyhub, Inc. Autonomous electrical grid management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063785B2 (en) * 2004-11-03 2015-06-23 Intel Corporation Temperature-based thread scheduling
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
JP4724730B2 (ja) * 2008-04-09 2011-07-13 株式会社日立製作所 情報処理システムの運用管理方法、運用管理プログラム、および運用管理装置、ならびに情報処理システム
US8291249B2 (en) * 2009-09-25 2012-10-16 Advanced Micro Devices, Inc. Method and apparatus for transitioning devices between power states based on activity request frequency
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US8768666B2 (en) * 2011-01-06 2014-07-01 Qualcomm Incorporated Method and system for controlling thermal load distribution in a portable computing device
US8688883B2 (en) * 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
US9037882B2 (en) * 2013-02-27 2015-05-19 Qualcomm Incorporated System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels
US9886326B2 (en) * 2014-02-13 2018-02-06 Advanced Micro Devices, Inc. Thermally-aware process scheduling
US9557797B2 (en) * 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
US20160085219A1 (en) * 2014-09-22 2016-03-24 Advanced Micro Devices, Inc. Scheduling applications in processing devices based on predicted thermal impact

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022138995A1 (ko) * 2020-12-21 2022-06-30 주식회사 모빌린트 하드웨어 가속기 제어 방법 및 장치

Also Published As

Publication number Publication date
US20160117199A1 (en) 2016-04-28
DE102015118075A1 (de) 2016-04-28
CN105549716A (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
KR20160050003A (ko) 열 매커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법
Singla et al. Predictive dynamic thermal and power management for heterogeneous mobile platforms
Tsai et al. A hyper-heuristic scheduling algorithm for cloud
JP6193393B2 (ja) 分散コンピューティングシステムのための電力の最適化
Chen et al. Distributed autonomous virtual resource management in datacenters using finite-markov decision process
US20100077449A1 (en) Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment
Zapater et al. Leakage-aware cooling management for improving server energy efficiency
US20120136644A1 (en) Predicting system performance and capacity using software module performance statistics
JP2017506773A (ja) 動作寿命を延ばし、性能を最大化するためのマルチコアシステム設計のランタイム最適化
Sharifi et al. PROMETHEUS: A proactive method for thermal management of heterogeneous MPSoCs
JP2008241432A (ja) 負荷算定装置および負荷算定方法
US20170285700A1 (en) Systems, methods and devices for using thermal margin of a core in a processor
US20150363116A1 (en) Memory controller power management based on latency
US10140399B2 (en) Corner database generator
US9804894B2 (en) Dynamic load balancing in circuit simulation
US20220129316A1 (en) Workload Equivalence Class Identification For Resource Usage Prediction
Muraña et al. Characterization, modeling and scheduling of power consumption of scientific computing applications in multicores
Dolz et al. An analytical methodology to derive power models based on hardware and software metrics
JP6658507B2 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム
US20130211752A1 (en) Software power analysis
CN111177984B (zh) 电子设计自动化中异构计算单元的资源利用
Jang et al. Exploiting application/system-dependent ambient temperature for accurate microarchitectural simulation
WO2019153188A1 (en) Gpu power modeling using system performance data
US20150094995A1 (en) Managing Interconnect Electromigration Effects
US10963026B2 (en) Digital signal transition counters for digital integrated circuits