KR20110006505A - 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법 - Google Patents
시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법 Download PDFInfo
- Publication number
- KR20110006505A KR20110006505A KR1020090064162A KR20090064162A KR20110006505A KR 20110006505 A KR20110006505 A KR 20110006505A KR 1020090064162 A KR1020090064162 A KR 1020090064162A KR 20090064162 A KR20090064162 A KR 20090064162A KR 20110006505 A KR20110006505 A KR 20110006505A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- system call
- cores
- call pattern
- performance
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
Abstract
시스템 콜을 이용한 멀티코어 프로세서의 제어 장치가 개시된다. 시스템 콜을 이용한 멀티코어 프로세서의 제어 장치는 상기 프로세서에 의해 실행되는 응용 프로그램의 시스템 콜 패턴의 변화에 따라서 구동되는 상기 코어의 개수를 조절하는 제어부를 포함한다. 본 발명에 따르면, 응용 프로그램에서 요청된 시스템 콜 패턴에 따라 프로세서의 성능을 조절하여 불필요한 코어의 구동을 방지하고, 멀티코어 프로세서의 소비전력을 절감할 수 있다.
멀티코어, 저전력 시스템, 시스템 콜, 프로세서 제어, 응용 프로그램, 코어 개수, 전력 관리
Description
본 발명의 일실시예들은 시스템 콜을 이용한 멀티코어 프로세서의 제어 장치 및 멀티코어 프로세서의 성능 측정 방법에 관한 것으로서, 더욱 상세하게는 시스템 콜 패턴의 변화에 따라 프로세서에 구비된 복수의 코어 중에서 구동되는 코어의 개수를 적응적으로 조절하고, 이를 통해 멀티코어 프로세서의 소비 전력을 절감시킬 수 있는 멀티코어 프로세서의 제어 장치 및 시스템 콜 패턴에 기초하여 프로세서의 성능을 측정할 수 있는 프로세서 성능 측정 방법에 관한 것이다.
멀티코어 프로세서(multi-core processor)는 복수의 코어를 구비한 프로세서로서, 복수의 코어 중에서 적어도 하나 이상의 코어를 구동시켜 프로세스를 처리한다. 이 때, 처리되는 프로세스의 양에 비해 구동되는 코어의 개수가 많다면, 프로세서의 사용률은 낮아지게 되고, 이에 따라 필요 이상의 코어가 구동되어 불필요한 전력 소모가 발생하게 된다.
도 1은 복수의 코어 모두를 이용하여 응용 프로그램을 실행하는 경우의 프로 세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면이다.
도 1에서는 멀티코어 프로세서가 4개의 코어를 구비한 것으로 가정한다. 따라서, 하나의 코어가 구동되는 경우, 프로세서 성능은 25%가 되고, 4개의 코어가 구동되는 경우, 프로세서 성능은 100%가 된다.
도 1에 도시된 바와 같이, 응용 프로그램의 실행 구간에서 프로세서 성능 요구량이 25%와 100% 사이에서 주기적으로 변화함에도 불구하고, 프로세서에 구비된 복수의 코어 모두를 구동시킨다면(즉, 프로세서 성능을 100%로 유지한다면), 프로세서 성능 요구량이 25%인 부분에서 필요 이상의 코어가 더 구동되어 불필요한 전력이 소모된다.
따라서, 불필요한 전력 소모를 줄이기 위해서는 처리하고자 하는 프로세스의 프로세서 성능 요구량에 따라 구동되는 코어의 개수를 적절하게 조절하여야 한다.
멀티코어 프로세서에서 구동되는 코어의 개수를 조절하기 위한 방법의 일례로 프로세서의 사용률의 변화에 대응하여 구동되는 코어의 개수를 조절하는 방법이 있다. 이 때, 프로세서의 사용률은 프로세서 성능 요구량에 비례하므로, 상기 방법은 프로세서 성능 요구량에 기초하여 구동되는 코어의 개수를 조절한다.
도 2 내지 도 4는 프로세서 성능 요구량에 따라서 구동되는 코어의 개수를 조절하여 응용 프로그램을 실행하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면이다.
도 2 내지 도 4에서도 멀티코어 프로세서가 4개의 코어를 구비한 것으로 가정한다.
먼저, 도 2에서는 프로세서 성능 요구량이 주기적으로 변화하고, 변화하는 주기가 큰 경우에서의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시하고 있다.
프로세서 구동 상황이 25%인 상황(즉, 하나의 코어가 구동되는 상황)에서 프로세서 성능 요구량이 100%로 증가하는 경우, 멀티 코어 프로세서는 프로세서 구동 상황을 100%로 증가(즉, 장착된 4개의 코어를 모두 구동)시켜 프로세서 성능 요구량을 만족시킨다.
그러나, 도 2에 도시된 바와 같이, 프로세서 성능 요구량의 변화를 예측(일례로, 운영체제 커널(kernel)이 시스템 정보를 샘플링)하는데 일정 시간이 소요되므로, 프로세서 성능 요구량이 증가/감소하는 시점과 프로세서 구동 상황이 증가/감소하는 시점(즉, 구동되는 코어의 개수가 증가/감소하는 시점)은 일치하지 않게 된다. 즉, 프로세서 성능 요구량이 증가/감소하는 시점과 프로세서 구동 상황이 증가/감소하는 시점 사이에는 시간 지연이 발생하게 된다.
예를 들어 프로세서 성능 요구량의 변화를 분석하는데 1초의 시간이 소요되는 경우, 프로세서의 성능 요구량의 증가/감소 시점과 프로세서 구동 상황의 증가/감소 시점 간에는 1초의 시간 지연이 발생할 수 있고, 이에 따라 응용 프로그램의 QoS(Quality of Service) 보장이 어렵게 된다.
다음으로, 도 3에서는 프로세서 성능 요구량이 주기적으로 변화하고, 변화하는 주기가 작은 경우에서의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시하고 있다.
도 3에 도시된 바와 같이, 프로세서 성능 요구량의 변화 주기가 작은 경우, 도 2에서 설명한 바와 같은 시간 지연의 발생 이외에, 작은 변화 주기로 인해 프로세서 성능 요구량의 변화의 예측이 실패하는 경우가 발생할 수도 있다.
마지막으로, 도 4에서는 프로세서 성능 요구량이 비주기적으로 변화하는 경우에서의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시하고 있다.
도 4에 도시된 바와 같이, 프로세서 성능 요구량이 비주기적으로 변화하는 경우에도, 도 2에서 설명한 바와 같은 시간 지연의 발생 이외에, 변화 주기의 비주기성으로 인해, 프로세서 성능 요구량의 변화의 예측이 실패하는 경우가 발생할 수도 있다.
이와 같이, 프로세서 성능 요구량의 예측에 기초하여 구동되는 코어의 개수를 조절하는 경우, 프로세서 성능 요구량이 증가/감소하는 시점과 프로세서 구동 상황이 증가/감소하는 시점 사이에는 발생하는 시간 지연 및 프로세서 성능 요구량 변화의 예측 실패로 인해 응용 프로그램의 QoS를 충분히 보장할 수 없게 되는 문제점이 존재하였다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 응용 프로그램에서 요청된 시스템 콜 패턴에 따라 멀티코어 프로세서의 성능을 조절하여 불필요한 코어의 구동을 방지할 수 있는 프로세서 제어 장치를 제안하고자 한다.
본 발명의 다른 목적은 응용 프로그램에서 요청된 시스템 콜 패턴 간에 기초하여 멀티코어 프로세서의 성능을 측정할 수 있는 프로세서 성능 측정 방법을 제공하는 것이다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일실시예에 따르면, 복수의 코어를 포함하는 프로세서의 제어 장치에 있어서, 상기 프로세서에 의해 실행되는 응용 프로그램의 시스템 콜 패턴의 변화에 따라서 구동되는 상기 코어의 개수를 조절하는 제어부를 포함하는 시스템 콜을 이용한 프로세서 제어 장치가 제공된다.
또한, 본 발명의 다른 일실시예에 따르면, 복수의 코어를 포함하는 프로세서의 제어 장치에 있어서, 상기 프로세서에 의해 실행되는 응용 프로그램의 시스템 콜 패턴의 변화 및 상기 응용 프로그램의 서비스 품질(QoS: Quality of Service)의 요구 레벨에 기초하여 구동되는 상기 코어의 개수를 조절하는 제어부를 포함하는 시스템 콜을 이용한 프로세서 제어 장치가 제공된다.
또한, 본 발명의 다른 일실시예에 따르면, 프로세서에 의해 실행되는 응용 프로그램에서 요청되는 복수의 시스템 콜 패턴을 분석하는 단계, 및 상기 복수의 시스템 콜 패턴 간의 요청 시간 간격에 기초하여 상기 프로세서의 성능을 측정하는 단계를 포함하는 시스템 콜을 이용한 프로세서 성능 측정 방법이 제공된다.
본 발명에 따르면, 시스템 콜 패턴에 따라 프로세서의 성능을 조절하여 불필요한 코어의 구동을 방지할 수 있게 된다.
또한 본 발명에 따르면 응용 프로그램에서 요청된 시스템 콜 패턴에 기초하여 프로세서의 성능을 측정할 수 있게 된다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 5는 본 발명의 일실시예에 따른 프로세서(500)의 상세한 구성을 도시한 블록도이다.
본 발명의 일실시예에 따른 프로세서 (500)는 복수의 코어(core)(510), 제어부(520), 및 패턴 분석부(530)를 포함한다.
여기서, 제어부(520) 및 패턴 분석부(530)가 본 발명의 일실시예에 따른 시스템 콜을 이용한 프로세서 제어 장치를 구성할 수 있다.
이하에서는 본 발명에 따른 시스템 콜을 이용한 프로세서 제어 장치가 도 5에 도시된 바와 같이 프로세서(500)에 포함되는 것으로 가정하여 설명하지만, 시스템 콜을 이용한 프로세서 제어 장치는 프로세서(500)의 외부에 설치될 수도 있고, 별도의 소프트웨어로 구현될 수도 있다. 프로세서 제어 장치가 소프트웨어로 구현되는 경우, 프로세서(500)와 프로세서 제어 장치는 하나의 프로세서 시스템을 구성한다.
복수의 코어(510)는 응용 프로그램(application program)에서 요청된 프로세스(process)에 대응하여 특정 데이터를 처리(processing)한다.
제어부(520)는 응용 프로그램에서 요청된 시스템 콜(system call)의 패턴(pattern)에 따라서 복수의 코어(510) 중에서 적어도 하나의 코어를 구동시킨다. 즉, 제어부(520)는 응용 프로그램의 시스템 콜 패턴에 따라서 구동되는 코어의 개수를 조절한다.
시스템 콜이란 운영체제(OS: Operating System)에서 제공하는 서비스 루틴(routine)을 호출하여 이용하는 프로그래밍 인터페이스(programming interface)로서, 애플리케이션 레벨(application level)에서 OS 레벨로 특정 기능을 요구할 때 사용되는 함수를 의미한다.
시스템 콜 패턴은 응용 프로그램에 따라 다양하게 변화한다. 일례로, 시스템 콜 패턴은 시스템 콜 패턴 A, 시스템 콜 패턴 B, 및 시스템 콜 패턴 C가 반복 요청되는 것과 같이 주기적으로 요청(즉, 시스템 콜 패턴이 (A, B, C), (A, B, C), (A, B, C) … 형태로 반복되어 요청)될 수도 있고, 랜덤하게(즉, 비주기적으로) 요청될 수도 있다.
이 때, "시스템 콜 패턴의 변화"는 패턴 분석부(530)에 의해 실시간(real time)으로 분석될 수도 있고, 응용 프로그램의 실행 이전에 미리 분석되어 저장부 (미도시)에 저장될 수도 있다.
본 발명의 일실시예에 따르면, 제어부(520)는 프로세서(500)에 의해 실행되는 응용 프로그램의 시스템 콜 패턴의 변화에 따라서 구동되는 코어의 개수를 조절할 수 있다.
이하에서는 도 6 내지 도 10를 참고하여 시스템 콜 패턴의 변화에 따라 구동되는 코어의 개수를 조절하는 제어부(520)의 동작을 상세히 설명한다.
도 6은 본 발명의 일실시예에 따라서, 구동되는 코어의 개수를 조절하는 제어부(520)의 동작의 흐름을 도시한 도면이다.
본 명세서에서는 도 6에 도시된 방법에 따라서 구동되는 코어의 개수를 조절하는 방법을 "전력 관리 정책(Power Management Policy) A"라 칭하기로 한다.
먼저, 단계(S610)에서, 제어부(520)는 응용 프로그램이 종료되었는지를 판단한다.
단계(S610)에서 응용 프로그램이 종료된 것으로 판단된 경우, 제어부(520)의 구동 코어 개수의 조절 동작은 종료된다.
단계(S610)에서 응용 프로그램이 실행 중인 것으로 판단된 경우, 단계(S620)에서 제어부(520)는 현재 시스템 콜 패턴이 프로세서(500)의 최대 성능 설정을 위한 제1 시스템 콜 패턴과 대응되는지를 판단한다. 즉, 단계(S620)에서 제어부(520)는 시스템 콜 패턴을 통해 프로세서(500)의 성능이 최대로 설정되어야 하는지를 판단한다.
만약, 단계(S620)에서 현재 시스템 콜 패턴이 제1 시스템 콜 패턴과 대응되는 것으로 판단된 경우, 단계(S630)에서 제어부(520)는 프로세서(500)에 구비된 복수의 코어(510) 모두를 구동시킨다. 즉, 제어부(520)는 프로세서(500)의 성능이 최대로 설정되어야 하는 경우, 모든 코어를 구동시킴으로써 프로세서(500)의 성능을 최대로 설정한다.
반대로, 만약 단계(S620)에서 현재 시스템 콜 패턴이 제1 시스템 콜 패턴과 대응되지 않는 것으로 판단된 경우, 단계(S640)에서 제어부(520)는 현재 시스템 콜 패턴이 프로세서(500)의 최소 성능 설정을 위한 제2 시스템 콜 패턴과 대응되는지를 판단한다. 즉, 단계(S640)에서 제어부(520)는 시스템 콜 패턴을 통해 프로세서(500)의 성능이 최소로 설정(즉, 프로세서(500)가 IDLE 상태로 설정)되어야 하는지를 판단한다.
만약, 단계(S640)에서 현재 시스템 콜 패턴이 제2 시스템 콜 패턴과 대응되는 것으로 판단된 경우, 단계(S650)에서 제어부(520)는 프로세서(500)에 구비된 복수의 코어(510) 중에서 어느 하나의 코어만을 구동시킨다. 즉, 제어부(520)는 프로세서(500)의 성능이 최소로 설정되어야 하는 경우, 어느 하나의 코어만을 구동시킴으로써 프로세서(500)의 성능을 최소로 설정한다.
반대로, 단계(S640)에서 현재 시스템 콜 패턴이 제2 시스템 콜 패턴과 대응되지 않는 것으로 판단된 경우, 제어부(520)는 구동되는 코어의 개수를 조절하지 않는다. 이 후 단계(S610) 내지 단계(S650)가 반복되어 수행된다.
이 때, 제1 시스템 콜 패턴 및 제2 시스템 콜 패턴은 응용 프로그램의 종류 에 따라 결정되는 시스템 콜 패턴으로서, 제1 시스템 콜 패턴 및 제2 시스템 콜 패턴은 응용 프로그램 별로 상이할 수 있다.
또한, 제어부(520)는 제1 시스템 콜 패턴, 및 제2 시스템 콜 패턴을 미리 알고 있는 것으로 가정한다. 일례로, 제1 시스템 콜 패턴 및 제2 시스템 콜 패턴은 프로세서(500) 내에 구비된 저장부(미도시)에 저장되어 있고, 제어부(520)는 저장부(미도시)에 저장된 제1 시스템 콜 패턴 또는 제2 시스템 콜 패턴에 기초하여 현재 시스템 콜 패턴을 분석할 수 있다.
도 7 및 도 8은 도 5에 도시된 방법(즉, 전력 관리 정책 A)에 따라서 제어부(520)가 구동되는 코어의 개수를 조절하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면이다.
도 7 및 도 8에서도 프로세서(500)가 4개의 코어를 구비한 것으로 가정한다.
먼저, 도 7은 시스템 콜 패턴이 주기적으로 변화하는 경우에서의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 것으로서, 이는 앞서 설명한 도 2와 대응된다.
도 7에서는 시스템 콜 패턴 A, 시스템 콜 패턴 B, 및 시스템 콜 패턴 C가 주기적으로 반복 요청되고, 시스템 콜 패턴 A는 제1 시스템 콜 패턴과, 시스템 콜 패턴 C는 제2 시스템 콜 패턴과 각각 대응하는 것으로 가정한다. 이 경우, 시스템 콜 패턴 A는 t1, t3, t5, t7, t9, 및 t11 시점에서 각각 요청되고, 시스템 콜 패턴 C는 t2, t4, t6, t8, t10, 및 t12 시점에서 각각 요청된다.
앞서 설명한 바와 같이, 제어부(520)는 제1 시스템 콜 패턴 및 제2 시스템 콜 패턴을 미리 알고 있으므로, 제어부(520)는 제1 시스템 콜 패턴과 대응되는 시스템 콜 패턴 A가 요청되는 경우(즉, t1, t3, t5, t7, t9, 및 t11 시점)에서 구동되는 코어의 개수를 1개에서 4개로 증가시켜 프로세서 구동 상황을 25%에서 100%로 증가시킨다.
이 후, 시스템 콜 패턴 B 및 시스템 콜 패턴 C가 순차적으로 요청되는데, 제어부(520)는 제2 시스템 콜 패턴과 대응되는 시스템 콜 패턴 C가 요청되는 시점(t2, t4, t6, t8, t10, 및 t12 시점)에서 구동되는 코어의 개수를 4개에서 1개로 감소시켜 프로세서 구동 상황을 100%에서 25%로 감소시킨다.
이에 따라, 프로세서 성능 요구량이 증가/감소하는 시점과 프로세서 구동 상황이 증가/감소하는 시점 사이에서 발생하는 시간 지연이 도 2의 경우에 비해 감소하게 되어 프로세서(500)에서의 불필요한 전력 소모 역시 감소하게 된다.
다음으로, 도 8은 시스템 콜 패턴이 비주기적으로 변화하는 경우에서의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 것으로서, 이는 앞서 설명한 도 4와 대응된다.
도 8에서는 임의의 시스템 콜 패턴이 랜덤하게 요청된다. 이 때, t1, t4, t6, t8, 및 t11 시점에서는 제1 시스템 콜 패턴과 대응되는 시스템 콜 패턴이 요청되고, t2, t5, t7, t9, 및 t12 시점에서는 제2 시스템 콜 패턴과 대응되는 시스템 콜 패턴이 요청된다.
도 7의 경우와 마찬가지로, 제어부(520)는 제1 시스템 콜 패턴과 대응되는 시스템 콜 패턴이 요청되는 t1, t4, t6, t8, 및 t11 시점에서 구동되는 코어의 개 수를 1개에서 4개로 증가시켜 프로세서 구동 상황을 25%에서 100%로 증가시키고, 제2 시스템 콜 패턴과 대응되는 시스템 콜 패턴이 요청되는 t2, t5, t7, t9, 및 t12 시점에서 구동되는 코어의 개수를 4개에서 1개로 감소시켜 프로세서 구동 상황을 100%에서 25%로 감소시킨다.
이 경우, 프로세서 성능 요구량과 프로세서 구동 상황이 겹쳐지지 않는 t2 시점과 t5 시점 사이의 시간 구간에서는 시간 지연이 발생하지만, 상기 시간 구간에서 요청된 프로세스는 t4 시점과 t5 시점 사이의 시간 구간에서 처리되므로 프로세스 처리 성능의 열하는 발생하지 않는다.
또한, t9 시점과 t10 시점 사이의 시간 구간, 및 t12 시점과 t13 시점 사이의 시간 구간에서 요청된 프로세스는 t8 시점과 t9 시점 사이의 시간 구간, 및 t11 시점과 t12 시점 사이의 시간 구간에서 미리 처리되므로, 상기 시간 구간에서도 프로세스 처리 성능의 열하는 발생하지 않는다.
도 9는 본 발명의 다른 일실시예에 따라서, 구동되는 코어의 개수를 조절하는 제어부(520)의 동작의 흐름을 도시한 도면이다.
본 명세서에서는 도 9에 도시된 방법에 따라서 구동되는 코어의 개수를 조절하는 방법을 "전력 관리 정책 B"라 칭하기로 한다. 이 때, 전력 관리 정책 B는 시스템 콜이 주기적으로 변화하는 경우에만 적용될 수 있다.
먼저, 단계(S910)에서, 제어부(520)는 응용 프로그램이 종료되었는지를 판단한다.
단계(S910)에서 응용 프로그램이 종료된 것으로 판단된 경우, 제어부(520)의 구동 코어 개수의 조절 동작은 종료된다.
단계(S910)에서 응용 프로그램이 실행 중인 것으로 판단된 경우, 단계(S920)에서 제어부(520)는 주기적으로 변화하는 시스템 콜 패턴의 단위 시간당 시스템 콜 패턴의 반복 횟수가 기 설정된 횟수보다 적은지를 판단한다.
시스템 콜의 호출 횟수는 프로세서(500)의 성능과 비례하므로, 단위 시간당 시스템 콜 호출 횟수가 많을수록 프로세서(500)의 현재 성능은 높은 상태가 된다.
따라서, 단계(S920)에서 단위 시간당 시스템 콜 패턴의 반복 횟수가 기 설정된 횟수보다 적다고 판단되었다면, 프로세서(500)의 성능은 낮은 상태에 있으므로, 단계(S930)에서 제어부(520)는 구동되는 코어의 개수를 증가시킨다.
반대로, 만약 단계(S920)에서 단위 시간당 시스템 콜 패턴의 반복 횟수가 기 설정된 횟수보다 크다고 판단되었다면, 프로세서(500)의 성능은 높은 상태에 있으므로, 제어부(520)는 구동되는 코어의 개수를 별도로 변경하지 않는다.
다음으로, 단계(S940)에서 제어부(520)는 프로세서의 사용률이 기 설정된 사용률보다 낮은지를 판단한다.
만약, 단계(S940)에서 프로세서의 사용률이 기 설정된 사용률보다 낮은 것으로 판단한 경우, 요청되는 프로세서에 비해 많은 개수의 코어가 동작하는 상태에 있으므로, 단계(S950)에서 제어부(520)는 구동되는 코어의 개수를 감소시킨다.
반대로, 단계(S940)에서 프로세서의 사용률이 기 설정된 사용률보다 낮은 것으로 판단한 경우, 제어부(520)는 구동되는 코어의 개수를 조절하지 않는다. 이 후 제어부(520)는 단계(S910) 내지 단계(S950)의 동작을 반복하여 수행한다.
도 10은 도 9에 도시된 방법(즉, 전력 관리 정책 B)에 따라서 제어부(520)가 구동되는 코어의 개수를 조절하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면이다.
도 10에서도 프로세서(500)가 4개의 코어를 구비한 것으로 가정한다.
도 10에서는 t1 시점에서 단위 시간당 시스템 콜의 호출 횟수가 감소되고, t2 시점에서 프로세서의 사용률이 기 설정된 사용률보다 낮아지는 경우에서의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시하고 있다.
t1 시점에서 단위 시간당 시스템 콜의 횟수가 감소되었으므로, 제어부(520)는 구동되는 코어의 개수를 1개에서 3개로 증가시켜 프로세서 구동 상황을 25%에서 75%로 증가시킨다.
이 후, t1 시점과 t2 시점 사이의 시간 구간에서는 단위 시간당 시스템 콜의 호출 횟수가 변화하지 않고, 프로세서의 사용률이 기 설정된 사용률보다 높은 상태를 유지하므로, 구동되는 코어의 개수 역시 3개로 일정하게 유지된다.
이 후, t2 시점에서, 프로세서의 사용률이 기 설정된 사용률 보다 낮아지게 되고, 이에 따라 제어부(520)는 구동되는 코어의 개수를 3개에서 1개로 감소시켜 프로세서 구동 상황을 75%에서 25%로 감소시킨다.
이 경우, 프로세서 성능 요구량과 프로세서 구동 상황이 겹쳐지지 시간 구간에서 요청된 프로세스는 다음 시간 구간에서 처리되므로 프로세스 처리 성능의 열하는 발생하지 않는다.
이에 따라, 프로세서 성능 요구량이 증가/감소하는 시점과 프로세서 구동 상황이 증가/감소하는 시점 사이에서 시간 지연이 발생하지 않고, 프로세서 성능 요구량의 예측 실패 역시 발생하지 않게 되므로, 응용 프로그램의 QoS를 충분히 보장할 수 있고, 불필요한 전력 소비를 감소시킬 수 있게 된다.
이하에서는 다시 도 5를 참고하여 본 발명의 일실시예에 따른 프로세서에 대해 설명하기로 한다.
본 발명의 다른 일실시예에 따르면, 제어부(520)는 프로세서(500)에 의해 실행되는 응용 프로그램의 시스템 콜 패턴의 변화 및 응용 프로그램의 QoS의 요구 레벨에 기초하여 구동되는 코어의 개수를 조절할 수 있다.
이하에서는 도 11을 참고하여 시스템 콜 패턴의 변화 및 응용 프로그램의 QoS 요구 레벨에 기초하여 구동되는 코어의 개수를 조절하는 제어부(520)의 동작을 상세히 설명한다.
도 11은 본 발명의 일실시예에 따라서, 시스템 콜 패턴의 변화 및 응용 프로그램의 QoS 요구 레벨에 기초하여 구동되는 코어의 개수를 조절하는 제어부(520)의 동작의 흐름을 도시한 도면이다.
먼저, 단계(S1110)에서 제어부(520)는 응용 프로그램의 시스템 콜 패턴이 주기적으로 변화하는지를 판단한다.
단계(S1110)에서 시스템 콜 패턴이 비주기적으로 변화하는 것으로 판단된 경 우, 단계(S1120)에서 제어부(520)는 응용 프로그램의 QoS 요구 레벨이 높은지를 판단한다.
만약, 단계(S1120)에서 응용 프로그램의 QoS 요구 레벨이 낮은 것으로 판단된 경우, 응용 프로그램이 실행되는 구간 전체에서 복수의 코어 모두가 구동될 필요가 없게 된다. 따라서, 이 경우, 제어부(520)는 앞서 설명한 전력 관리 정책 A에 기초하여 구동되는 코어의 개수를 조절한다.
즉, 단계(S1140)에서 제어부(520)는 프로세서(500)의 최대 성능 설정을 위한 제1 시스템 콜 패턴이 발생하는 시점에서 복수의 코어(510) 모두를 구동시키고, 프로세서(500)의 최소 성능 설정을 위한 제2 시스템 콜 패턴이 발생하는 시점에서 복수의 코어 중에서 어느 하나의 코어를 구동시킨다. 이에 대한 보다 자세한 설명은 도 5 내지 도 7에 대한 설명을 참고하기로 한다.
그러나, 단계(S1120)에서 응용 프로그램의 QoS 요구 레벨이 높은 것으로 판단된 경우, QoS 요구를 만족시키기 위해서는 응용 프로그램이 실행되는 구간 전체에서 복수의 코어 모두가 구동되어야 한다.
동일한 개수의 코어를 이용하여 응용 프로그램을 실행하는 경우, 프로세서 성능 요구량이 증가하는 시점에서 프로세서의 사용률은 증가하므로, 제어부(520)는 QoS 요구를 만족시키기 위해, 프로세서(500)의 사용률이 증가하는 시점에서 복수의 코어 모두를 구동시키고, 프로세서(500)의 사용률이 최소 사용률보다 적어지는 시점에서 복수의 코어 중에서 하나의 코어만을 구동시킨다.
이하에서는 도 12 및 도 13을 참고하여 프로세서의 사용률에 기초하여 구동 되는 코어의 개수를 조절하는 제어부(520)의 동작을 상세히 설명하기로 한다.
도 12는 프로세서의 사용률에 기초하여 구동되는 코어의 개수를 조절하는 제어부(520)의 동작의 흐름을 도시한 블록도이다.
본 명세서에서는 도 12에 도시된 방법에 따라서 구동되는 코어의 개수를 조절하는 방법을 "전력 관리 정책 C"라 칭하기로 한다.
먼저 단계(S1210)에서, 제어부(520)는 응용 프로그램이 종료되었는지를 판단한다.
단계(S1210)에서 응용 프로그램이 종료된 것으로 판단된 경우, 제어부(520)의 구동 코어 개수의 조절 동작은 종료된다.
단계(S1210)에서 응용 프로그램이 실행 중인 것으로 판단된 경우, 단계(S1220)에서 제어부(520)는 프로세서(500)의 사용률이 증가하는지를 판단한다.
만약, 단계(S1220)에서 프로세서(500)의 사용률이 증가하지 않는 것으로 판단되었다면, 제어부(520)는 구동되는 코어의 개수를 변경하지 않는다.
반대로, 단계(S1220)에서 프로세서(500)의 사용률이 증가하는 것으로 판단되었다면, 단계(S1230)에서 제어부(520)는 복수의 코어 모두를 구동시킨다.
이후, 단계(S1240)에서는 제어부(520)는 프로세서(500)의 사용률이 최소 사용률보다 적어지는지(즉, 타임 아웃 이벤트가 발생하는지)를 판단한다.
만약, 단계(S1240)에서는 프로세서(500)의 사용률이 최소 사용률보다 적어지는 것으로 판단된 경우, 단계(S1250)에서 제어부(520)는 복수의 코어 중에서 어느 하나의 코어만을 구동시킨다.
이 후, 제어부(520)는 단계(S1210) 내지 단계(S1250)을 반복적으로 수행한다.
도 13은 도 12에 도시된 방법(즉, 전력 관리 정책 C)에 따라서 제어부(520)가 구동되는 코어의 개수를 조절하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면이다.
도 13에서도 프로세서(500)가 4개의 코어를 구비한 것으로 가정한다.
도 13을 참고하면, t1 시점에서 프로세서 성능 요구량(즉, 프로세서 사용률)이 증가하였으므로, 제어부(520)는 복수의 코어(510) 모두를 구동시켜 프로세서 구동 상황을 25%에서 100%로 증가시킨다.
이 후, t2, t3, t4, t5, t6, t7, 및 t8 시점에서도 프로세서 성능 요구량이 증가하지만, 이미 복수의 코어 모두가 구동 중에 있으므로, 프로세서(500)는 구동되는 코어의 개수를 변경시키지 않는다.
마지막으로, t9 시점에서 프로세서 성능 요구량이 최소 성능 요구량보다 낮아지게 되고, 이에 대응하여 제어부(520)는 복수의 코어 중에서 하나의 코어만 구동시켜 프로세서(500)의 성능을 최소로 설정한다.
다시 도 11을 참고하여 시스템 콜 패턴의 변화 및 응용 프로그램의 QoS 요구 레벨에 기초하여 구동되는 코어의 개수를 조절하는 제어부(520)의 동작을 상세히 설명한다.
단계(S1110)에서 시스템 콜 패턴이 주기적으로 변화하는 것으로 판단된 경우, 단계(S1130)에서 제어부(520)는 시스템 콜 패턴이 기 설정된 시간 간격보다 긴 시간 간격을 주기로 하여 변경되는지를 판단한다.
이 때, 기 설정된 시간 간격은 반복되는 시스템 콜 패턴 사이에서 코어의 온/오프(on/off)가 가능한지 여부와 관련된 것으로서, 시스템 콜 패턴이 기 설정된 시간 간격보다 긴 시간 간격을 주기로 하여 변경되는 경우, 시스템 콜 패턴 사이에서 코어의 온/오프가 가능하고, 시스템 콜 패턴이 기 설정된 시간 간격보다 짧은 시간 간격을 주기로 하여 변경되는 경우, 시스템 콜 패턴 사이에서 코어의 온/오프가 불가능하다.
이 때, 기 설정된 시간 간격은 프로세서의 성능에 기초하여 설정될 수 있다.
즉, 프로세서의 성능(일례로, 프로세서의 클록 속도)이 높을수록 기 설정된 시간 간격은 짧아지고, 프로세서의 성능이 낮을수록 기 설정된 시간 간격은 길어질 수 있다.
만약, 단계(S1130)에서 시스템 콜 패턴이 기 설정된 시간 간격보다 긴 시간 간격을 주기로 하여 변경되는 것으로 판단된 경우, 시스템 콜 패턴 사이에서 코어의 온/오프가 가능하므로, 단계(S1160)에서 제어부(520)는 앞서 설명한 전력 관리 정책 A에 기초하여 구동되는 코어의 개수를 조절한다.
즉, 단계(S1160)에서 제어부(540) 프로세서(500)의 최대 성능 설정을 위한 제1 시스템 콜 패턴이 발생하는 시점에서 복수의 코어(510) 모두를 구동시키고, 프로세서(500)의 최소 성능 설정을 위한 제2 시스템 콜 패턴이 발생하는 시점에서 복 수의 코어(510) 중에서 어느 하나의 코어를 구동시킨다. 이에 대한 보다 자세한 설명은 도 5 내지 도 7에 대한 설명을 참고하기로 한다.
반대로, 단계(S1130)에서 시스템 콜 패턴이 기 설정된 시간 간격보다 짧은 시간 간격을 주기로 하여 변경되는 것으로 판단된 경우, 시스템 콜 패턴 사이에서 코어의 온/오프가 불가능하므로, 단계(S1170)에서 제어부(520)는 앞서 설명한 전력 관리 정책 B에 기초하여 구동되는 코어의 개수를 조절한다.
즉, 단계(S1170)에서 제어부(520)는 주기적으로 변화하는 시스템 콜 패턴의 단위 시간당 시스템 콜 패턴의 반복 횟수가 기 설정된 횟수보다 적은 경우, 구동되는 코어 의 개수를 증가시키고, 상기 프로세서의 현재 사용률이 기 설정된 사용률보다 낮은 경우, 구동되는 코어의 개수를 감소시킨다. 이에 대한 보다 자세한 설명은 도 9 및 도 10에 대한 설명을 참고하기로 한다.
이상에서는 도 1 내지 도 13을 참고하여 본 발명의 일실시예에 따른 시스템 콜을 이용한 프로세서 제어 장치를 구비한 프로세서에 대해 설명하였다.
이하에서는 시스템 콜 패턴을 이용하여 프로세서의 성능을 측정하는 방법에 대해 상세히 설명하기로 한다.
시스템 콜 패턴은 응용 프로그램의 동작에 따라 서로 상이한 형태를 가진다. 일례로, 응용 프로그램의 독출 동작에서 요청되는 시스템 콜 패턴과 응용 프로그램의 쓰기 동작에서 요청되는 시스템 콜 패턴은 서로 상이하다.
이 경우, 프로세서의 성능이 높을수록 요청된 시스템 콜 패턴을 처리하는데 소요되는 시간은 짧아지게 된다. 따라서, 복수의 시스템 콜 패턴이 요청되는 시간 간격을 이용하여 프로세서의 성능을 측정할 수 있다.
즉, 본 발명의 일실시예에 따른 시스템 콜을 이용한 프로세서 성능 측정 방법은 프로세서에 의해 실행되는 응용 프로그램에서 요청되는 복수의 시스템 콜 패턴을 분석하고, 분석된 복수의 시스템 콜 패턴 간의 시간 간격에 기초하여 프로세서의 성능을 측정할 수 있다. 이 경우, 시스템 콜 패턴 간의 시간 간격이 짧을수록 프로세서의 성능은 높은 것으로 측정된다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 복수의 코어 모두를 이용하여 응용 프로그램을 실행하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면.
도 2 내지 도 4는 프로세서 성능 요구량에 따라서 구동되는 코어의 개수를 조절하여 응용 프로그램을 실행하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 프로세서의 상세한 구성을 도시한 블록도.
도 6은 본 발명의 일실시예에 따라서, 구동되는 코어의 개수를 조절하는 제어부의 동작의 흐름을 도시한 도면.
도 7 및 도 8은 도 5에 도시된 방법에 따라서 제어부가 구동되는 코어의 개수를 조절하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면.
도 9는 본 발명의 다른 일실시예에 따라서, 구동되는 코어의 개수를 조절하는 제어부의 동작의 흐름을 도시한 도면.
도 10은 도 9에 도시된 방법에 따라서 제어부가 구동되는 코어의 개수를 조절하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면.
도 11은 본 발명의 일실시예에 따라서, 시스템 콜 패턴의 변화 및 응용 프로그램의 QoS 요구 레벨에 기초하여 구동되는 코어의 개수를 조절하는 제어부의 동작의 흐름을 도시한 도면.
도 12는 프로세서의 사용률에 기초하여 구동되는 코어의 개수를 조절하는 제어부의 동작의 흐름을 도시한 블록도.
도 13은 도 12에 도시된 방법에 따라서 제어부가 구동되는 코어의 개수를 조절하는 경우의 프로세서 성능 요구량 및 프로세서 구동 상황을 도시한 도면.
Claims (14)
- 복수의 코어를 포함하는 프로세서의 제어 장치에 있어서,상기 프로세서에 의해 실행되는 응용 프로그램의 시스템 콜 패턴의 변화에 따라서 구동되는 상기 코어의 개수를 조절하는 제어부를 포함하는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제1항에 있어서,상기 시스템 콜 패턴의 변화를 분석하는 패턴 분석부를 더 포함하는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제1항에 있어서,상기 제어부는상기 시스템 콜 패턴이 상기 프로세서의 최대 성능 설정을 위한 제1 시스템 콜 패턴과 대응되는 경우, 상기 복수의 코어 모두를 구동시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제3항에 있어서,상기 제어부는상기 시스템 콜 패턴이 상기 프로세서의 최소 성능 설정을 위한 제2 시스템 콜 패턴과 대응되는 경우, 상기 복수의 코어 중에서 어느 하나의 코어를 구동시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제3항 및 제4항에 있어서,상기 제1 시스템 콜 패턴 및 상기 제2 시스템 콜 패턴은 상기 응용 프로그램의 종류에 따라 결정되는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제1항에 있어서,상기 시스템 콜 패턴은 주기적으로 변화하고,상기 제어부는상기 주기적으로 변화하는 시스템 콜 패턴의 단위 시간당 시스템 콜 패턴의 반복 횟수가 기 설정된 횟수보다 적은 경우, 구동되는 상기 코어의 개수를 증가시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제6항에 있어서,상기 제어부는상기 프로세서의 현재 사용률이 기 설정된 사용률보다 낮은 경우, 구동되는 상기 코어의 개수를 감소시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 복수의 코어를 포함하는 프로세서의 제어 장치에 있어서,상기 프로세서에 의해 실행되는 응용 프로그램의 시스템 콜 패턴의 변화 및 상기 응용 프로그램의 서비스 품질(QoS: Quality of Service)의 요구 레벨에 기초하여 구동되는 상기 코어의 개수를 조절하는 제어부를 포함하는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제8항에 있어서,상기 시스템 콜 패턴이 기 설정된 시간 간격보다 긴 시간 간격을 주기로 하여 주기적으로 변화하는 경우,상기 제어부는상기 프로세서의 최대 성능 설정을 위한 제1 시스템 콜 패턴이 발생하는 시점에서 상기 복수의 코어 모두를 구동시키고,상기 프로세서의 최소 성능 설정을 위한 제2 시스템 콜 패턴이 발생하는 시점에서 상기 복수의 코어 중에서 어느 하나의 코어를 구동시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제8항에 있어서,상기 시스템 콜 패턴이 기 설정된 시간 간격보다 짧은 시간 간격을 주기로 하여 주기적으로 변화하는 경우,상기 제어부는상기 주기적으로 변화하는 시스템 콜 패턴의 단위 시간당 시스템 콜 패턴의 반복 횟수가 기 설정된 횟수보다 적은 경우, 구동되는 상기 코어의 개수를 증가시키고,상기 프로세서의 현재 사용률이 기 설정된 사용률보다 낮은 경우, 구동되는 상기 코어의 개수를 감소시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제9항 및 제10항에 있어서,상기 기 설정된 시간 간격은 상기 프로세서의 성능에 기초하여 설정되는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제8항에 있어서,상기 시스템 콜 패턴이 비주기적으로 변화하고, 상기 응용 프로그램의 QoS 요구 레벨이 기 설정된 요구 레벨보다 낮은 경우,상기 제어부는상기 프로세서의 최대 성능 설정을 위한 제1 시스템 콜 패턴이 발생하는 시점에서 상기 복수의 코어 모두를 구동시키고,상기 프로세서의 최소 성능 설정을 위한 제2 시스템 콜 패턴이 발생하는 시점에서 상기 복수의 코어 중에서 어느 하나의 코어를 구동시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 제8항에 있어서,상기 시스템 콜 패턴이 비주기적으로 변화하고, 상기 응용 프로그램의 QoS 요구 레벨이 기 설정된 요구 레벨보다 높은 경우,상기 제어부는상기 프로세서의 사용률이 증가하는 시점에서 상기 복수의 코어를 모두 구동시키고,상기 프로세서의 사용률이 최소 사용률보다 적어지는 시점에서 상기 복수의 코어 중에서 어느 하나의 코어만을 구동시키는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 제어 장치.
- 프로세서에 의해 실행되는 응용 프로그램에서 요청되는 복수의 시스템 콜 패턴을 분석하는 단계; 및상기 복수의 시스템 콜 패턴 간의 요청 시간 간격에 기초하여 상기 프로세서의 성능을 측정하는 단계를 포함하는 것을 특징으로 하는 시스템 콜을 이용한 프로세서 성능 측정 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090064162A KR101032873B1 (ko) | 2009-07-14 | 2009-07-14 | 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090064162A KR101032873B1 (ko) | 2009-07-14 | 2009-07-14 | 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110006505A true KR20110006505A (ko) | 2011-01-20 |
KR101032873B1 KR101032873B1 (ko) | 2011-05-06 |
Family
ID=43613336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090064162A KR101032873B1 (ko) | 2009-07-14 | 2009-07-14 | 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101032873B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244733B2 (en) | 2012-02-06 | 2016-01-26 | Samsung Electronics Co., Ltd. | Apparatus and method for scheduling kernel execution order |
US9377830B2 (en) | 2011-12-30 | 2016-06-28 | Samsung Electronics Co., Ltd. | Data processing device with power management unit and portable device having the same |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101975288B1 (ko) | 2012-06-15 | 2019-05-07 | 삼성전자 주식회사 | 멀티 클러스터 프로세싱 시스템 및 그 구동 방법 |
KR102233246B1 (ko) * | 2015-10-26 | 2021-03-29 | 에스케이텔레콤 주식회사 | 모바일 애플리케이션 운영 방법 |
KR102369345B1 (ko) * | 2015-10-26 | 2022-03-02 | 에스케이텔레콤 주식회사 | 모바일 애플리케이션 운영 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008152594A (ja) * | 2006-12-19 | 2008-07-03 | Hitachi Ltd | マルチコアプロセッサ計算機の高信頼化方法 |
-
2009
- 2009-07-14 KR KR1020090064162A patent/KR101032873B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9377830B2 (en) | 2011-12-30 | 2016-06-28 | Samsung Electronics Co., Ltd. | Data processing device with power management unit and portable device having the same |
US9244733B2 (en) | 2012-02-06 | 2016-01-26 | Samsung Electronics Co., Ltd. | Apparatus and method for scheduling kernel execution order |
Also Published As
Publication number | Publication date |
---|---|
KR101032873B1 (ko) | 2011-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10551896B2 (en) | Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase | |
KR101032873B1 (ko) | 시스템 콜을 이용한 프로세서 제어 장치 및 프로세서 성능 측정 방법 | |
EP3137965B1 (en) | Cpu/gpu dcvs co-optimization for reducing power consumption in graphics frame processing | |
US7702824B2 (en) | Computer system and method for performing low impact backup operations | |
US9430288B2 (en) | Job scheduling based on historical job data | |
EP3571585B1 (en) | Method and apparatus for implementing heterogeneous frequency operation and scheduling task of heterogeneous frequency cpu | |
KR100479329B1 (ko) | 동작주파수 및 구동전압 변동을 이용한 mpeg 디코딩 방법 | |
EP1544716B1 (en) | Information processing system and operating system | |
EP2550576B1 (en) | Reducing power consumption by masking a process from a processor performance management system | |
US9588811B2 (en) | Method and apparatus for analysis of thread latency | |
CN104750538B (zh) | 用于为目标应用提供虚拟存储池的方法和系统 | |
US20090313629A1 (en) | Task processing system and task processing method | |
US10216526B2 (en) | Controlling method for optimizing a processor and controlling system | |
JP5136658B2 (ja) | 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置 | |
US20200142736A1 (en) | Computer processing system with resource optimization and associated methods | |
CN110955503A (zh) | 任务调度方法及装置 | |
US10846086B2 (en) | Method for managing computation tasks on a functionally asymmetric multi-core processor | |
CN107315700B (zh) | 一种中断处理方法以及相关装置 | |
CN110780999A (zh) | 一种多核cpu的调度系统和方法 | |
CN105740073A (zh) | 一种动态控制操作系统进程数量的方法及装置 | |
KR20170081531A (ko) | 중앙처리장치의 동적 주파수 조절 장치 및 그 방법 | |
KR101513505B1 (ko) | 프로세서 및 인터럽트 처리 방법 | |
CN112230964A (zh) | 应用程序开发、应用程序运行方法、装置、设备及介质 | |
CN111563579B (zh) | 基于数据流的cnn加速方法、装置、设备及存储介质 | |
US11909829B1 (en) | Online testing efficiency through early termination |
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: 20140312 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |