KR20090129355A - 성능 할당 방법 및 장치 - Google Patents

성능 할당 방법 및 장치 Download PDF

Info

Publication number
KR20090129355A
KR20090129355A KR1020090051431A KR20090051431A KR20090129355A KR 20090129355 A KR20090129355 A KR 20090129355A KR 1020090051431 A KR1020090051431 A KR 1020090051431A KR 20090051431 A KR20090051431 A KR 20090051431A KR 20090129355 A KR20090129355 A KR 20090129355A
Authority
KR
South Korea
Prior art keywords
processor
performance
graphics
graphics processor
frame
Prior art date
Application number
KR1020090051431A
Other languages
English (en)
Other versions
KR101129820B1 (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 KR20090129355A publication Critical patent/KR20090129355A/ko
Application granted granted Critical
Publication of KR101129820B1 publication Critical patent/KR101129820B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • 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]
    • 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
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Power Sources (AREA)
  • Image Processing (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Image Generation (AREA)

Abstract

일부 실시예들에 따르면, 성능 리소스들을 그래픽 프로세스에 할당하고, 몇몇 경우에는, 그래픽 프로세스와 중앙 처리부 사이에 할당하도록, 그래픽 프로세스 프레임 생성 프레임 레이트를, 그래픽 프로세스에 대한 활용 또는 작업 부하 메트릭과 함께 모니터링할 수 있다.
그래픽 프로세스, 프레임 레이트, 성능 리소스, 렌더링 프레임, 성능 할당 엔진

Description

성능 할당 방법 및 장치{PERFORMANCE ALLOCATION METHOD AND APPARATUS}
본 발명은 전반적으로 컴퓨팅하는 것에 관한 것으로서, 특히, 코어와 그래픽 처리 사이에 처리 리소스들을 할당하는 것에 관한 것이다.
오늘날 및 미래의 데스크탑 컴퓨터들, 모바일 컴퓨터들과 같은 컴퓨팅 시스템, 전화들 및 오디오/비디오 플레이어들과 같은 휴대용 디바이스들 등에 있어, 디바이스가 이동성을 갖는지의 여부에 상관 없이, 적은 전력을 소비하는 것이 바람직하다. 따라서, 코어 처리부(예를 들어, 하나 이상의 처리 코어들을 갖는 프로세서 내의 코어) 및 그래픽 프로세서를 갖는 것과 같은 하나보다 많은 처리부를 포함하는 많은 디바이스들에 있어, 전체 전력 소모를 감소시키기 위해 프로세서들(또는 처리부들)에 대한 성능 예산들이 강요될 수 있다. 불행하게도, 그러한 방안들은 비효율적일 수 있으며, 따라서, 향상된 해결안들이 요구될 수 있다.
일부 실시예들에 따르면, 성능 리소스들을 그래픽 프로세스에 할당하고, 몇몇 경우에는, 그래픽 프로세스와 중앙 처리부 사이에 할당하도록, 그래픽 프로세스 프레임 생성 프레임 레이트를, 그래픽 프로세스에 대한 활용 또는 작업 부하 메트릭(work load metric)과 함께 모니터링할 수 있다.
도 1은 예시적인 컴퓨팅 시스템의 일부를 도시한다. 그것은 프로세서(102)(또는 중앙 처리부("CPU")), 그래픽/메모리 제어기(GMC)(104), 입/출력 제어기(IOC)(106), 주변 디바이스들/포트들(110) 및 디스플레이 디바이스(112)를 포함하고, 도시된 바와 같이, 이들은 모두 연결되어 있다. 프로세서(102)는 하나 이상의 패키지들에서의 하나 이상의 코어들을 포함하고, 하나 이상의 어플리케이션들을 실행하는 것을 포함하는 중앙 처리 작업(task)들을 용이하게 하는 기능을 할 수 있다.
GMC(104)는 프로세서(102) 및 IOC(106) 둘 다로부터 메모리로의 액세스를 제어한다. 그것은 또한, 디스플레이 디바이스(112) 상에 디스플레이될 프로세서(102)에서 작동하는 어플리케이션(들)에 대한 비디오 프레임들을 생성하기 위해 그래픽 처리부(105)를 포함한다.
IOC(106)는 주변 디바이스들/포트들(110)과 시스템에서의 다른 블록들 사이에서의 액세스를 제어한다. 주변 디바이스들은, 예를 들어, 주변 칩 상호접속(PCI) 및/또는 PCI 익스프레스 포트들과, USB 포트들과, 네트워크(예를 들어, 무선 네트워크) 디바이스들과, 키패드들, 마이크와 같은 사용자 인터페이스 디바이스들과, 컴퓨팅 시스템과 인터페이스할 수 있는 임의의 다른 디바이스들을 포함할 수 있다.
일부 실시예들에서, 성능 할당 엔진(PAE)(107)은 그래픽 처리부와 프로세 서(102) 사이에 성능 리소스들을 할당하기 위해 그래픽 처리부(105) 내에 포함된다. 아래 더 설명되는 바와 같이, PAE는, 더 작은 성능, 예를 들어, 주파수가 요구될 때 GPU에 의한 성능 리소스 소모를 감소시키도록, GPU와 프로세서 사이 또는 GPU에 대한 성능 리소스 할당을 제어하기 위해, 성능 활용 메트릭(예를 들어, 그것이 얼마나 이용중(busy)인가 ?) 뿐만 아니라, 프레임들이 GPU에 의해 생성되는 레이트를 모니터링한다. (도시된 실시예에서는, 성능 할당 엔진(107)이 GPU에 포함되지만, 대안적으로, 그것은 GPU와 다른 컴퓨팅 시스템 블록들의 조합 또는 임의의 다른 것에 포함될 수 있다는 것이 이해되어야 한다. 유사하게, 도시된 실시예에서, 그래픽, 메모리 및 I/O 제어기 기능성은 프로세서 칩과 구분되는 칩들로 구현되지만, 그들은 서로의 다른 조합들로 공통 집적 회로(IC) 패키지 또는 공통 칩으로 구현될 수도 있어, 본 발명은 임의의 특정 칩 또는 칩 조합으로 제한되지 않는다는 것이 이해되어야 한다.)
도 2는 성능 할당 엔진(107)을 갖는 GPU(105)의 부분과 함께, 도 1의 컴퓨팅 시스템과 같은 컴퓨팅 시스템의 부분을 도시한다. PAE(107) 이외에, 프레임 렌더링 엔진(205), 메모리(207) 및 디스플레이 엔진(209)이 GPU에 도시된다. GPU(105)는 예를 들어, 프로세서(102)에서 실행되는 어플리케이션에 의해 모두 또는 부분적으로 생성된 프레임 데이터를 수신한다. 프레임 렌더링 엔진은 디스플레이 디바이스(112)에 제공될 수 있는 렌더링된 프레임들(예를 들어, 비디오 프레임의 모두 또는 일부에 대응하는 디지털 픽셀 정보의 파일들)을 생성하기 위해 프레임 데이터를 처리한다. 렌더링된 프레임들은, 프레임들이 디스플레이 엔진(209)에 의해 디스플 레이 디바이스(112)로 공급될 수 있도록 하기 위해 프레임들을 저장하는 버퍼, 예를 들어, FIFO(first-in-first-out) 프레임 버퍼로서의 역할을 하는 메모리(207) 내로 구동된다.
(프레임 렌더링 엔진(205), 메모리(207) 및 디스플레이 엔진(209)은 GPU(105) 내에 또는 외부에 다른 기능부들의 모두 또는 부분들을 포함할 수 있거나 또는 포함하지 않을 수 있는 기능 블록들을 나타낸다는 것이 이해되어야 한다. 예를 들어, 메모리(207)는 GPU 내에 있거나 또는 없을 수 있다.)
PAE(107)는 GPU(105)와 프로세서(102) 사이에 성능 리소스들(예를 들어, 주파수)을 할당하기 위해 하드웨어 및/또는 소프트웨어를 포함한다. 예를 들어, 그것은, 예컨대, GPU 드라이버에서 실행가능한 소프트웨어 루틴으로서 구현될 수 있거나, 또는 전용 또는 공유형 산술 또는 다른 논리 회로를 활용하여 전체적이거나 또는 부분적으로 구현될 수 있다. 그것은, GPU 및/또는 프로세서에 대한 성능 리소스 할당을 제어하거나 또는 그렇지 않으면 지시하기(indicate) 위해, GPU 프로세서 활용(예를 들어, 얼마나 어렵게 프레임 렌더링 엔진(205)이 작동하는지에 대한 측정 또는 표시)과 더불어, 렌더링된 프레임 레이트, 예를 들어, 순간 및/또는 이동 평균 프레임 레이트를 모니터링하기 위해 GPU 내 및/또는 외에서 구현되는, 하드웨어 및/또는 소프트웨어의 임의의 적절한 조합을 포함할 수 있다.
도 3은 성능 할당 엔진 루틴(107)을 구현하기 위한 예시적인 흐름도를 도시한다. 그러나, 그것을 논의하기 전에, 도 4의 (a) 내지 (d)의 그래프들은 도 3의 루틴의 목적들을 이해하기 위한 개관을 제공하기 위해 기술될 것이다. 이러한 그 래프들은, 상대적으로 증가된 성능 리소스들이 프로세서에 제공됨에 따라, CPU 및 GPU 성능의 함수로서의 프레임 렌더링 성능을, 점진적으로 나타낸다. 각각의 그래프는 GPU 및 프로세서에 대한 프레임 지속기간(duration), 즉, 프레임 데이터 및 렌더링된 프레임들을 각각 생성하기 위해 프로세서 및 GPU에 의해 취해진 상대적인 시간의 예시적인 평균 분포들을 포함한다. 따라서, 곡선들이 왼쪽으로 이동하여 GPU 및/또는 프로세서에 기인하는 프레임 지속기간이 감소함에 따라, 평균 렌더링된 프레임 레이트는 증가한다.
도 4의 (a)는, 프레임 레이트가 프로세서에 의해 완전히 제한되는 상황을 나타낸다. 그래프 4의 (a)에서 (d)로 이동함에 따라, 상대적으로 더 높은 성능 리소스들(본 예에서의 주파수)이 프로세서에 제공되어, 프로세서 분포 곡선을 왼쪽으로 이동시킴으로써, 전체 프레임 생성 레이트가 프로세서에 의해 덜 제한되도록 한다. 따라서, 전체 렌더링된 프레임 레이트가 프로세서 제한적인 경우, GPU 성능을 증가시키는데 실질적으로 도움이되지 않고, 반대로, 렌더링된 프레임 레이트가 GPU 제한적인 경우, 프레임 레이트는 프로세서 성능을 증가사킴으로써 실질적으로 향상되지 않는다는 것을 알 수 있다.
따라서, 렌더링된 프레임 생성이 GPU 제한적인 경우, 프레임 레이트가 충분하지 않으면, GPU 성능(및 반드시 프로세서 성능일 필요는 없음)은 증가되어야 한다. 그러나, 프레임 레이트가 충분하면, 성능 리소스들은 프로세서에 대해 감소될 수 있고, 따라서, 예를 들어, 전력 소모가 감소될 수 있다. 유사하게, 프레임 레이트가 프로세서 제한적일 수 있다고 결정되는 경우, 프레임 레이트가 충분하지 않 으면, 추가 성능 리소스들이 프로세서에 제공되어야 한다는 것이 추측될 수 있다. 그러나, 프레임 레이트가 충분한 것으로 간주되는 경우, 성능 리소스들은 GPU로부터 감소될 수 있다. 이를 고려하여, 도 3의 흐름도가 설명될 것이다.
도 3은 일부 실시예들에 따른 성능 할당 엔진 루틴(302)을 도시한다. 304에서, 그래프 렌더 활용이 평가된다. 예를 들어, 이는, GPU(105)에서의 프레임 렌더링 활용(205)과 같은 프레임 렌더링 엔진에서의 활용을 평가함으로써 행해질 수 있다. 활용은 얼마나 어렵게 렌더링 엔진이 작동하는지에 대한 측정이다. 그것은, 관련 처리부들이 활성상태(active) 또는 유휴상태(idle)인지의 여부만큼 단순할 수 있거나, 관련 GPU부들이 수행하고 있는 내용에 대한 보다 양적인(quantitative) 측정일 수 있다.
306에서, 렌더링된 프레임 레이트가 평가된다(또는 모니터링된다). 이는, 렌더링된 프레임들이, 예를 들어, 프레임 렌더링 엔진에 의해 생성되는 레이트를 결정하는 것을 포함한다. 예를 들어, GPU 내에서(또는 심지어 그 외부에서), 새로운 프레임이 메모리(예를 들어, 메모리(207))에 제공되는지를 나타내는 하나 이상의 신호들이, 생성된 프레임들 간의 시간들을 측정하거나 또는 추정하기 위해 모니터링될 수 있다.
루틴에 사용된 프레임 레이트는 순간 추정(instantaneous estimate), 평균, 원하는 윈도우 사이즈(프레임들의 수)에 대한 이동 평균, 또는 그러한 레이트들의 조합일 수 있다. 일부 실시예에서, 가중 평균은 이상(anomaly)들을 필터링하는데 사용될 수 있다. 예를 들어, 1까지 가산하는(adding up to one) 가중 값들은 러닝 평균(running average)을 산출하기 위해 상이한 인접 프레임 지속기간들 동안 사용될 수 있다. 1까지 가산하는 가중 값들의 수는 이동하는 윈도우에서의 프레임들의 수에 대응할 것이다. 그 값들은, 프레임 지속기간을 측정하는데 사용된 샘플링 레이트에 따라, 받아들일 수 있는 결과들을 달성하기 위해 조정될 수 있다.
예로서, 초 당 200개의 샘플들의 가정된 샘플링 레이트 및 윈도우의 2개의 프레임에 대해 5초의 원하는 이동 평균 윈도우 폭으로, 1/30000의 제1 가중 상수(weighting constant) a1 및 2999/30000의 제2 가중 상수 a2가 사용될 수 있다. 그 후, MOVING AVERAGE 프레임 레이트는 다음과 같이 산출될 수 있다.
FR = 1/(a1* Fd[n-1] + a2* Fd)
여기서, Fd[n-1]은 윈도우의 제1 프레임의 지속기간이고, Fd는 윈도우의 다음 프레임의 지속기간이다. 물론, 윈도우 당 프레임들의 수 또는 임의의 적합하거나 또는 그렇지 않으면 원하는 가중 방식이 사용될 수 있다.
308에서, GPU 활용이 높은지의 여부가 결정된다. 그것이 높지 않다면(예를 들어, 보통 또는 낮다면), 310에서, 루틴은 렌더링된 프레임 레이트가 충분한지 여부를 결정한다. 프레임 레이트가 충분하지 않으면(GPU 성능이 충분한지만 프로세서 성능이 불충분한 것을 의미함), 314에서, 프로세서 성능이 증가될 수 있다. (프로세서 성능의 제어가 PAE에 활용가능하지 않을 수 있다는 것을 지시하기 위해 점선 박스가 여기서 및 본 도면의 다른 곳에서 사용되고, 따라서, 그것은 프로세서 성능이 증가되어야 하는 것을 제어하거나 또는 그렇지 않으면 지시할 수 있다.) 한편, 310에서, 프레임 레이트가 충분한 경우, 312에서, GPU 성능은 감소되고, 추가 성능이 프로세서에 할당된다. 루틴은, 도시된 바와 같이 312 또는 314로부터, 루틴은 304 및 306으로 루프백한다.
308로 되돌아 가면, GPU 활용이 높은 경우, 루틴은 316으로 진행하여, 렌더링된 프레임 레이트가 충분한지를(예를 들어, 310에서와 같은 동일한 방법으로) 결정한다. 프레임 레이트가 충분한 경우, 루틴은 304 및 306으로 루프백하여 논의된 바와 같이 진행한다. 한편, 프레임 레이트가 충분하지 않은 경우(프레임 레이트가 GPU 제한적임을 의미함), 318에서, GPU 성능이 증가되고(예를 들어, 주파수가 증가됨), 루틴은 304 및 306으로 루프백하여 논의된 바와 같이 진행한다.
이전 설명에서, 다수의 특정 상세들이 설명되었다. 그러나, 본 발명의 실시예들은 이러한 특정 상세들 없이 실행될 수 있다는 것이 이해된다. 다른 예들에서, 잘 알려진 회로들, 구조들 및 기술들은 설명에 대한 이해를 모호하게 하지 않도록, 상세히 도시되지 않을 수 있다. 이를 고려하여, "일 실시예", "실시예", "예시적인 실시예", "다양한 실시예들" 등에 대한 언급은, 그렇게 기술된 본 발명의 실시예(들)이 특정한 특징들, 구조들, 또는 특성들을 포함할 수 있지만, 모든 실시예가 반드시 특정한 특징들, 구조들 또는 특성들을 포함하는 것이 아님을 나타낸다.
이전 설명 및 다음 특허청구범위에서, 다음 용어들은 다음과 같이 해석되어야 한다. "연결된" 및 "접속된"의 용어들은 그들의 파생어들과 더불어 사용될 수 있다. 이들 용어들은 서로 동의어로서 의도되지 않는다. 오히려, 특정 실시예들 에서, "접속된"은 2개 이상의 구성요소들이 서로 직접 물리적 또는 전기적 접촉하는 것을 나타내는데 사용된다. "연결된"은 2개 이상의 구성요소들이 서로 상호-동작하거나 상호작용하지만, 그들은 직접 물리적 또는 전기적 접촉일 수 있거나 그렇지 않을 수 있다는 것을 나타내는데 사용된다.
본 발명은 기술된 실시예들에 한정되지 않으며, 첨부된 특허청구범위의 사상 및 범위 내에서 수정 및 변경을 활용하여 실시될 수 있다. 예를 들어, 본 발명은 모든 타입의 반도체 집적 회로("IC") 칩들에 대한 사용을 위해 활용가능하다는 것이 이해되어야 한다. 이러한 IC 칩들의 예들은 프로세서들, 제어기들, 칩셋 컴포넌트들, 프로그램가능한 로직 어레이들(PLA), 메모리 칩들, 네트워크 칩들 등에 한정되지 않는다.
도면들 중 일부에서, 신호 도체선들은 선들로 표현된다는 것도 이해되어야 한다. 일부는 보다 구성적인 신호 경로들을 나타내기 위해 더 두꺼울 수 있고, 다수의 구성적인 신호 경로들을 나타내기 위해 번호 라벨을 가지며, 및/또는 주요 정보 흐름 방향을 나타내기 위해 하나 이상의 끝단들에서 화살표들을 가질 수 있다. 그러나, 이는 제한적인 방식으로 해석되지 않아야 한다. 오히려, 그러한 추가된 상세는 회로에 대한 보다 쉬운 이해를 용이하게 하기 위해 하나 이상의 예시적인 실시예들과 관련하여 사용될 수 있다. 추가 정보를 갖거나 갖지 않는 임의의 표현된 신호선들은 다수의 방향으로 이동할 수 있는 하나 이상의 신호들을 실제 포함할 수 있고, 임의의 적합한 타입의 신호 방안, 예를 들어, 상이한 쌍들로 구현되는 디지털 또는 아날로그 선들, 광섬유선들 및/또는 단일-종단형 선들로 구현될 수 있 다.
예시적인 사이즈들/모델들/값들/범위들이 주어질 수 있지만, 본 발명은 이러한 것으로 제한되지 않는다는 것이 이해되어야 한다. 제조 기술들(예를 들어, 포토리소그래피)이 시간에 따라 발전됨에 따라, 더 작은 사이즈의 디바이스들이 제조될 수 있다는 것이 기대된다. 또한, IC 칩들 및 다른 컴포넌트들에 대한 잘 알려진 전력/접지 접속들은, 본 발명을 불명확하게 하지 않도록, 예시 및 설명의 간략성을 위해, 도면들 내에 도시되거나 또는 도시되지 않을 수 있다. 더욱이, 배열들은 본 발명을 불명확하게 하지 않도록 블록도 형태로 도시될 수 있으며, 또한 그러한 블록도 배열의 구현에 대한 상세는 본 발명이 구현될 플랫폼에 크게 의존, 즉, 그러한 상세는 당업자의 활동 범위 내에 있어야 한다는 사실의 관점으로 도시될 수 있다. 특정한 세부 사항(예를 들면, 회로들)은 본 발명의 예시적인 실시예를 기술하기 위해 개시되지만, 본 발명은 이들 특정한 세부 사항없이, 또는 이들 특정한 세부 사항의 변형으로 실시될 수 있다는 것이 당업자에게 명백해야 한다. 따라서, 상세한 설명은 제한을 위한 것이 아니라 예시적인 것으로서 간주되어야 한다.
본 발명의 실시예들은, 유사한 참조번호들이 유사한 구성요소들을 지칭하는 첨부 도면들에서, 제한적인 것이 아닌 예로서 도시된다.
도 1은 일부 실시예들에 따른 컴퓨팅 시스템의 시스템도.
도 2는 일부 실시예들에 따른 성능 할당 엔진을 갖는 컴퓨팅 시스템의 일부의 도면.
도 3은 일부 실시예들에 따른 성능 할당 엔진을 구현하기 위한 루틴의 흐름도.
도 4의 (a)-(d)는, 상대적으로 증가된 성능 리소스들이 CPU에 제공됨에 따라, CPU 및 GPU 성능의 함수로서 프레임 렌더링 성능을, 점진적으로, 그래픽으로 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
102: 프로세서
104: 그래픽/메모리 제어기(GMC)
106: 입/출력 제어기(IOC)
112: 디스플레이 디바이스

Claims (20)

  1. 칩으로서,
    프레임들을 렌더링하는 그래픽 프로세스에 대한 활용을 모니터링하고, 렌더링된 프레임들에 대한 프레임 레이트를 모니터링하여, 그래픽 프로세스에 대한 성능 리소스들을 할당하는 성능 할당 엔진(PAE)을 포함하는 칩.
  2. 제1항에 있어서,
    상기 성능 할당 엔진은 성능 리소스들을, 상기 그래픽 프로세스 뿐만 아니라, 중앙 프로세서에도 할당하는 칩.
  3. 제2항에 있어서,
    상기 성능 할당 엔진은 그래픽 프로세서 드라이버에서 실행가능한 인스트럭션들로서 구현되고, 상기 그래픽 프로세스는 상기 그래픽 프로세서에서 수행되는 칩.
  4. 제3항에 있어서,
    상기 그래픽 프로세서는 상기 중앙 프로세서로부터 프레임 데이터를 수신하는 칩.
  5. 제4항에 있어서,
    상기 중앙 프로세서는 다수의 코어들을 포함하며, 그 중 하나 이상의 코어는 상기 프레임 데이터를 생성하는 칩.
  6. 제4항에 있어서,
    상기 PAE는 상기 프레임 레이트가 불충분하고 상기 그래픽 프로세스 활용이 높지 않다는 결정에 응답하여, 상기 그래픽 프로세스로부터 성능 리소스들을 감소시키는 칩.
  7. 제6항에 있어서,
    상기 PAE는 상기 그래픽 프로세스로부터 감소된 상기 성능 리소스들을 상기 중앙 프로세서에 제공하는 칩.
  8. 제1항에 있어서,
    상기 성능 리소스들은 동작 주파수를 포함하는 칩.
  9. 그래픽 프로세서 작업 부하를 모니터링하는 단계;
    상기 프래픽 프로세서가 프레임들을 생성하는 레이트를 모니터링하는 단계; 및
    상기 모니터링된 작업 부하 및 모니터링된 프레임 레이트에 근거하여, 성능 리소스들을 상기 그래픽 프로세서에 할당하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서,
    상기 작업 부하를 모니터링하는 단계는, 상기 그래픽 프로세서에서의 프레임 렌더링부들이 실질적인 시간량 동안 활성상태인지 여부를 결정하는 단계를 포함하는 방법.
  11. 제10항에 있어서,
    충분한 수의 프레임 렌더링부들이 실질적으로 활성상태인지 여부를 결정하는 단계를 더 포함하는 방법.
  12. 제9항에 있어서,
    상기 작업 부하를 모니터링하는 단계는, 상기 그래픽 프로세서가 유휴상태(idle)인지 여부를 모니터링하는 단계를 포함하는 방법.
  13. 제12항에 있어서,
    상기 그래픽 프로세서에 대한 유휴상태 듀티 사이클을 결정하는 단계를 더 포함하는 방법.
  14. 제9항에 있어서,
    상기 프레임 레이트가 충분하고 상기 작업 부하가 충분히 낮은 경우, 상기 그래픽 프로세서에 대해 더 작은 성능 리소스들을 포함하는 방법.
  15. 제14항에 있어서,
    상기 프레임 레이트가 충분하고 상기 작업 부하가 충분히 낮은 경우, 추가 성능 리소스들이 중앙 프로세서에 제공되는 방법.
  16. 어플리케이션을 실행하고, 상기 실행된 어플리케이션으로부터 프레임 데이터를 생성하는 제1 프로세서;
    상기 프레임 데이터를 수신하여, 렌더링된 프레임들을 생성하는 그래픽 프로세서; 및
    상기 그래픽 프로세서에 대한 활용 메트릭을 모니터링하고, 상기 렌더링된 프레임들이 생성되는 레이트를 모니터링하고, 상기 모니터링된 활용 메트릭 및 프레임 레이트에 근거하여, 성능 리소스들을 상기 그래픽 프로세서에 할당하는 성능 할당 엔진
    을 포함하는 시스템.
  17. 제16항에 있어서,
    상기 제1 프로세서는 중앙 프로세서인 시스템.
  18. 제16항에 있어서,
    상기 제1 프로세서 및 그래픽 프로세서는 공통 패키지의 일부인 시스템.
  19. 제18항에 있어서,
    상기 제1 프로세서 및 그래픽 프로세서는 공통 다이 상에 존재하는 시스템.
  20. 제16항에 있어서,
    적절한 형태의 상기 렌더링된 프레임들을 수신하는 디스플레이 디바이스를 포함하는 시스템.
KR1020090051431A 2008-06-11 2009-06-10 성능 할당 방법 및 장치 KR101129820B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/157,479 2008-06-11
US12/157,479 US8199158B2 (en) 2008-06-11 2008-06-11 Performance allocation method and apparatus

Publications (2)

Publication Number Publication Date
KR20090129355A true KR20090129355A (ko) 2009-12-16
KR101129820B1 KR101129820B1 (ko) 2012-04-13

Family

ID=41414320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090051431A KR101129820B1 (ko) 2008-06-11 2009-06-10 성능 할당 방법 및 장치

Country Status (4)

Country Link
US (3) US8199158B2 (ko)
EP (1) EP2178080B1 (ko)
KR (1) KR101129820B1 (ko)
CN (2) CN101609545B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101229851B1 (ko) * 2011-12-27 2013-02-05 한국과학기술원 데이터의 병렬적 중복제거 시스템
WO2013025081A1 (ko) * 2011-08-17 2013-02-21 삼성전자 주식회사 단말 및 그 단말에서 어플리케이션 수행 방법
KR101472493B1 (ko) * 2012-06-15 2014-12-12 건국대학교 산학협력단 지피유를 이용한 레인보우 방법 고속 구현 시스템 및 그 방법

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8199158B2 (en) 2008-06-11 2012-06-12 Intel Corporation Performance allocation method and apparatus
GB0921831D0 (en) 2009-12-14 2010-01-27 British Telecomm Graphical data delivery
GB201000738D0 (en) 2010-01-18 2010-03-03 British Telecomm Graphical data processing
US8730251B2 (en) * 2010-06-07 2014-05-20 Apple Inc. Switching video streams for a display without a visible interruption
US8614716B2 (en) 2010-10-01 2013-12-24 Apple Inc. Recording a command stream with a rich encoding format for capture and playback of graphics content
US8462166B2 (en) 2010-10-01 2013-06-11 Apple Inc. Graphics system which measures CPU and GPU performance
US8933948B2 (en) 2010-10-01 2015-01-13 Apple Inc. Graphics system which utilizes fine grained analysis to determine performance issues
US8527239B2 (en) 2010-10-01 2013-09-03 Apple Inc. Automatic detection of performance bottlenecks in a graphics system
US8830245B2 (en) 2010-12-14 2014-09-09 Amazon Technologies, Inc. Load balancing between general purpose processors and graphics processors
US8922567B2 (en) * 2011-03-11 2014-12-30 Broadcom Corporation Regulation of screen composing in a device
US8924752B1 (en) 2011-04-20 2014-12-30 Apple Inc. Power management for a graphics processing unit or other circuit
US9086883B2 (en) * 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
KR101845328B1 (ko) * 2011-08-22 2018-04-04 삼성전자 주식회사 단말 및 그 단말에서 어플리케이션 수행 방법
US8780120B2 (en) * 2011-10-02 2014-07-15 Microsoft Corporation GPU self throttling
US8935671B2 (en) 2011-10-11 2015-01-13 Apple Inc. Debugging a graphics application executing on a target device
US8856566B1 (en) 2011-12-15 2014-10-07 Apple Inc. Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
US9304570B2 (en) * 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
JP5842601B2 (ja) * 2011-12-26 2016-01-13 富士通株式会社 プログラム、情報処理方法及び情報処理装置
US9390461B1 (en) 2012-05-08 2016-07-12 Apple Inc. Graphics hardware mode controls
TW201349167A (zh) * 2012-05-22 2013-12-01 Hon Hai Prec Ind Co Ltd 顯卡裝置
US9250665B2 (en) 2012-06-07 2016-02-02 Apple Inc. GPU with dynamic performance adjustment
US9262795B2 (en) * 2012-07-31 2016-02-16 Intel Corporation Hybrid rendering systems and methods
KR20140030823A (ko) * 2012-09-04 2014-03-12 삼성전자주식회사 3차원 작업 부하를 이용하여 dvfs 정책을 수행하는 시스템-온 칩 및 이의 동작 방법
US9342122B2 (en) * 2012-09-17 2016-05-17 Intel Corporation Distributing power to heterogeneous compute elements of a processor
US9454943B2 (en) * 2012-10-16 2016-09-27 Razer (Asia-Pacific) Pte. Ltd. Computing systems and methods for controlling a computing system
US9269120B2 (en) 2012-11-06 2016-02-23 Intel Corporation Dynamically rebalancing graphics processor resources
US9128721B2 (en) * 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control
US9275601B2 (en) 2012-12-12 2016-03-01 Intel Corporation Techniques to control frame display rate
US9195285B2 (en) * 2012-12-27 2015-11-24 Intel Corporation Techniques for platform duty cycling
US9424620B2 (en) * 2012-12-29 2016-08-23 Intel Corporation Identification of GPU phase to determine GPU scalability during runtime
KR20140088691A (ko) * 2013-01-03 2014-07-11 삼성전자주식회사 Dvfs 정책을 수행하는 시스템-온 칩 및 이의 동작 방법
US9201487B2 (en) 2013-03-05 2015-12-01 Intel Corporation Reducing power consumption during graphics rendering
US9378536B2 (en) * 2014-04-30 2016-06-28 Qualcomm Incorporated CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing
US9645916B2 (en) 2014-05-30 2017-05-09 Apple Inc. Performance testing for blocks of code
CN104932659B (zh) * 2015-07-15 2020-01-07 京东方科技集团股份有限公司 图像显示方法及显示系统
US10101800B2 (en) * 2015-07-29 2018-10-16 Samsung Electronics Co., Ltd. Method of managing power and electronic device
GB2540804B (en) * 2015-07-29 2018-03-07 Samsung Electronics Co Ltd Hardware power management apparatus and methods
CN106708499B (zh) 2015-11-13 2020-10-27 财团法人工业技术研究院 绘图处理程序的分析方法与分析系统
US9817431B2 (en) * 2016-02-03 2017-11-14 Qualcomm Incorporated Frame based clock rate adjustment for processing unit
US20170244894A1 (en) * 2016-02-22 2017-08-24 Seastar Labs, Inc. Method and Apparatus for Managing Latency of Remote Video Production
CN106095047B (zh) * 2016-05-31 2020-07-24 联想(北京)有限公司 一种控制方法及电子设备
US10331195B2 (en) * 2016-06-06 2019-06-25 Qualcomm Incorporated Power and performance aware memory-controller voting mechanism
CN106020990B (zh) * 2016-06-30 2020-01-10 宇龙计算机通信科技(深圳)有限公司 一种中央处理器的控制方法及终端设备
CN106454312A (zh) * 2016-09-29 2017-02-22 乐视控股(北京)有限公司 一种图像处理方法和装置
US10504259B2 (en) 2017-04-24 2019-12-10 Intel Corporation Separately processing regions or objects or interest from a render engine to a display engine or a display panel
CN111480336B (zh) * 2018-03-26 2021-08-13 华为技术有限公司 一种帧率调整方法及终端
CN108874544A (zh) * 2018-06-11 2018-11-23 郑州云海信息技术有限公司 一种gpu服务器io资源分配的方法及系统
WO2020062052A1 (en) * 2018-09-28 2020-04-02 Qualcomm Incorporated Smart and dynamic janks reduction technology
CN109960584A (zh) * 2019-01-30 2019-07-02 努比亚技术有限公司 Cpu调频控制方法、终端及计算机可读存储介质
EP3966687A1 (en) * 2019-05-08 2022-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Sharing and oversubscription of general-purpose graphical processing units in data centers
KR20210097938A (ko) 2020-01-31 2021-08-10 에스케이하이닉스 주식회사 클록변조를 통해 리드 데이터의 신뢰성을 검증하는 메모리 장치 및 메모리 장치를 포함하는 메모리 시스템
US11507310B2 (en) 2019-09-02 2022-11-22 SK Hynix Inc. Memory controller and operating method thereof
KR20210061174A (ko) 2019-11-19 2021-05-27 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN110532100B (zh) * 2019-09-02 2022-04-15 Oppo广东移动通信有限公司 调度资源的方法、装置、终端及存储介质
KR20210026871A (ko) 2019-09-02 2021-03-10 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11501808B2 (en) * 2019-09-02 2022-11-15 SK Hynix Inc. Memory controller and operating method thereof
KR20210101663A (ko) * 2020-02-10 2021-08-19 삼성전자주식회사 프레임의 생성에 소요된 시간 및 최대 허용 시간에 기반하여 프로세싱 유닛을 제어하는 전자 장치 및 전자 장치의 동작 방법
US20220337868A1 (en) * 2021-04-19 2022-10-20 Synamedia Limited Rendering video frames for a user interface operation performed at a client device
CN114510406A (zh) * 2022-02-08 2022-05-17 北京字节跳动网络技术有限公司 检测帧率的方法及相关设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149909B2 (en) 2002-05-09 2006-12-12 Intel Corporation Power management for an integrated graphics device
US6950105B2 (en) * 2002-06-03 2005-09-27 Ati Technologies Inc. Power consumption management in a video graphics accelerator
US7634668B2 (en) 2002-08-22 2009-12-15 Nvidia Corporation Method and apparatus for adaptive power consumption
US7268779B2 (en) 2002-12-24 2007-09-11 Intel Corporation Z-buffering techniques for graphics rendering
US7119803B2 (en) * 2002-12-30 2006-10-10 Intel Corporation Method, apparatus and article for display unit power management
US6971034B2 (en) 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
US7075541B2 (en) 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7903116B1 (en) * 2003-10-27 2011-03-08 Nvidia Corporation Method, apparatus, and system for adaptive performance level management of a graphics system
US7289125B2 (en) * 2004-02-27 2007-10-30 Nvidia Corporation Graphics device clustering with PCI-express
US7698575B2 (en) * 2004-03-30 2010-04-13 Intel Corporation Managing power consumption by requesting an adjustment to an operating point of a processor
CN101091175B (zh) 2004-09-16 2012-03-14 辉达公司 负载均衡
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
US7222253B2 (en) 2004-12-28 2007-05-22 Intel Corporation Dynamic power control for reducing voltage level of graphics controller component of memory controller based on its degree of idleness
US7925899B2 (en) 2005-12-29 2011-04-12 Intel Corporation Method, system, and apparatus for runtime power estimation
US8102398B2 (en) * 2006-03-03 2012-01-24 Ati Technologies Ulc Dynamically controlled power reduction method and circuit for a graphics processor
US8314806B2 (en) 2006-04-13 2012-11-20 Intel Corporation Low power display mode
US7500041B2 (en) * 2006-06-15 2009-03-03 Nvidia Corporation Graphics processing unit for cost effective high performance graphics system with two or more graphics processing units
US7412554B2 (en) * 2006-06-15 2008-08-12 Nvidia Corporation Bus interface controller for cost-effective high performance graphics system with two or more graphics processing units
US8126993B2 (en) * 2006-07-18 2012-02-28 Nvidia Corporation System, method, and computer program product for communicating sub-device state information
JP2008071261A (ja) 2006-09-15 2008-03-27 Toshiba Corp 画像処理システム及び画像処理方法
KR101467558B1 (ko) * 2007-07-26 2014-12-01 엘지전자 주식회사 그래픽데이터 처리 장치 및 방법
US7711864B2 (en) * 2007-08-31 2010-05-04 Apple Inc. Methods and systems to dynamically manage performance states in a data processing system
US8458497B2 (en) * 2007-10-11 2013-06-04 Qualcomm Incorporated Demand based power control in a graphics processing unit
US8243085B2 (en) 2007-12-30 2012-08-14 Intel Corporation Boosting graphics performance based on executing workload
US8199158B2 (en) 2008-06-11 2012-06-12 Intel Corporation Performance allocation method and apparatus
US8386808B2 (en) 2008-12-22 2013-02-26 Intel Corporation Adaptive power budget allocation between multiple components in a computing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013025081A1 (ko) * 2011-08-17 2013-02-21 삼성전자 주식회사 단말 및 그 단말에서 어플리케이션 수행 방법
KR101229851B1 (ko) * 2011-12-27 2013-02-05 한국과학기술원 데이터의 병렬적 중복제거 시스템
KR101472493B1 (ko) * 2012-06-15 2014-12-12 건국대학교 산학협력단 지피유를 이용한 레인보우 방법 고속 구현 시스템 및 그 방법

Also Published As

Publication number Publication date
US8411095B2 (en) 2013-04-02
EP2178080A2 (en) 2010-04-21
US9142001B2 (en) 2015-09-22
US20130229420A1 (en) 2013-09-05
CN101609545B (zh) 2014-03-05
CN103927708A (zh) 2014-07-16
US20120223954A1 (en) 2012-09-06
US8199158B2 (en) 2012-06-12
EP2178080B1 (en) 2014-12-17
CN103927708B (zh) 2017-07-21
KR101129820B1 (ko) 2012-04-13
US20090309885A1 (en) 2009-12-17
CN101609545A (zh) 2009-12-23
EP2178080A3 (en) 2010-11-17

Similar Documents

Publication Publication Date Title
KR101129820B1 (ko) 성능 할당 방법 및 장치
JP6072834B2 (ja) 方法、プログラム、装置、およびシステム
JP6526920B2 (ja) 処理ユニットのためのフレームベースのクロックレート調整
JP2018533112A (ja) コマンドストリームヒントを使用したgpu作業負荷の特徴づけおよび電力管理
RU2573733C1 (ru) Способ и устройство для регулировки канала i/о на виртуальной платформе
US10133336B2 (en) Dynamically entering low power states during active workloads
KR20080041047A (ko) 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법
US20090183183A1 (en) System And Method For Flexible Device Driver Resource Allocation
US20180129534A1 (en) Thread Importance Based Processor Core Partitioning
JP2006522384A (ja) 複数の制約条件を用いるパフォーマンススケジューリング
CN105808328A (zh) 任务调度的方法、装置和系统
US8819685B2 (en) Method and apparatus for adjusting I/O channel on virtual platform
US8522254B2 (en) Programmable integrated processor blocks
US20090083737A1 (en) Device, System, and Method of Classifying a Workload of a Software Service
US9471387B2 (en) Scheduling in job execution
EP2945126B1 (en) Graphics processing method and graphics processing apparatus
US20140146060A1 (en) Power management method for graphic processing unit and system thereof
KR101755154B1 (ko) 이종 연산 처리 장치에 대한 동적 작업 할당 방법 및 장치
Mendis et al. Impact of memory frequency scaling on user-centric smartphone workloads
CN117234744A (zh) 一种多芯片系统性能优化方法、系统、电子设备及介质
Marcu Energy-Efficiency Study of Power-Aware Software Applications
US20160025809A1 (en) Accelerated And Accuracy-Enhanced Delay And Noise Injection Calculation For Analysis Of A Digital Circuit Using Grid Computing

Legal Events

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

Payment date: 20150227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee