WO2015163506A1 - 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법 - Google Patents

그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법 Download PDF

Info

Publication number
WO2015163506A1
WO2015163506A1 PCT/KR2014/003656 KR2014003656W WO2015163506A1 WO 2015163506 A1 WO2015163506 A1 WO 2015163506A1 KR 2014003656 W KR2014003656 W KR 2014003656W WO 2015163506 A1 WO2015163506 A1 WO 2015163506A1
Authority
WO
WIPO (PCT)
Prior art keywords
cores
task
graphics processing
processing unit
processing apparatus
Prior art date
Application number
PCT/KR2014/003656
Other languages
English (en)
French (fr)
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 전자부품연구원
Priority to PCT/KR2014/003656 priority Critical patent/WO2015163506A1/ko
Publication of WO2015163506A1 publication Critical patent/WO2015163506A1/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]

Definitions

  • the present invention relates to a system and method for controlling the operation of a graphics processing unit (GPU), and more particularly, to an operation of the graphics processing unit for efficiently allocating a job requested by the central processing unit to the graphics processing unit.
  • GPU Graphics Processing Unit
  • NVIDIA Fermi GPU architecture all GPU cores are used to maximize the GPU resources. You are assigning as many tasks as possible. In other words, in the conventional GPU architecture, the maximum TLP (Thread Level Parallelism) of the GPU is maximized by allocating a maximum number of tasks to all cores.
  • TLP Thread Level Parallelism
  • this task allocation policy makes the best use of all cores, which is a good effect when running GPU programs with infrequent memory accesses, but a memory bottleneck when performing programs with frequent memory accesses. Due to poor performance.
  • the present invention is to solve the above problems, by calculating the number of optimized GPU cores based on the memory latency (Memory Latency) in the program with frequent memory access to reduce the memory bottlenecks and improve the performance of the individual GPU cores It is an object of the present invention to provide a task assignment system and method for the operation of a processing device.
  • the present invention includes a graphics processing device including a plurality of cores for processing a job requested by the central processing unit; And assigning a job requested by the CPU to a core included in the graphic processing apparatus, receiving memory response time information at a predetermined time interval from the graphic processing apparatus, and processing the graphic based on the received memory response time information.
  • a task assignment system for operation of a graphics processing device including a task manager that designates a target core number of a device.
  • the task manager calculates an average of the received memory response time when the number of the received memory response time information is equal to or greater than a preset number, and designates a target core number of the graphic processing apparatus based on the calculated average.
  • the task manager decreases the target core number of the graphic processing apparatus when the calculated average is greater than the first threshold value, and increases the target core number of the graphic processing apparatus when the calculated average is less than the second threshold value.
  • the task manager allocates a task to cores to which a task corresponding to the difference between the target core number and the number of operating cores is not assigned. .
  • the task manager excludes from the task allocation the number of cores corresponding to the difference between the target cores and the number of operating cores. do.
  • the step of assigning a job to a graphics processing device including a plurality of cores; Receiving information on a memory response time at predetermined time intervals from the graphic processing apparatus; Designating a target core number of the graphic processing apparatus based on the received information on the memory response time; And controlling a task to be allocated to a number of cores corresponding to the designated target core number.
  • the present invention utilizes only an optimized number of GPU cores to reduce memory bottlenecks and improve the performance of individual GPU cores.
  • improved discrete GPU core performance allows the use of fewer GPU cores while maintaining the same level of execution speed as the prior art, while reducing the power consumption compared to the prior art by avoiding unnecessary GPU cores.
  • FIG. 1 is a view showing the overall configuration of a task assignment system for the operation of the graphics processing apparatus according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an interface between a task manager and a graphic processing apparatus of a job allocation system for operating an graphic processing apparatus according to an embodiment of the present invention.
  • 3 and 4 are views illustrating a process of a task allocation method for an operation of a graphic processing apparatus according to an embodiment of the present invention.
  • FIG. 1 illustrates the overall configuration of a task assignment system for the operation of a graphics processing apparatus according to an embodiment of the present invention.
  • the task allocation system for the operation of the graphics processing apparatus includes a central processing unit 100, a graphics processing unit 300, and a DRAM 400 as shown in FIG. Between the device 100 and the graphics processing device 300 includes a job manager 200 for overall control of job execution.
  • the job manager 200 assigns a job delegated by the central processing unit 100 to the core of the graphic processing unit 300 and controls the driving of the graphic processing unit 300.
  • the task manager 200 is equipped with a function for managing a computational resource of the graphics processing apparatus 300, and adjusts the number of cores of the graphics processing apparatus 300 proposed by the present invention.
  • FIG. 2 illustrates an interface between a job manager 200 and a graphic processing device 300 of a job allocation system for operating an graphic processing device according to an embodiment of the present invention.
  • the job manager 200 transmits job information delegated from the central processing unit 100 to the graphic processing unit 300 and assigns a job to each core of the graphic processing unit 300.
  • the parameter of the assigned job is transmitted to the graphic processing apparatus 300.
  • the graphic processing apparatus 300 processes a job assigned from the job manager 200 and transmits a job completion signal to the job manager 200 when the processing of the assigned job is completed. In addition, the graphic processing apparatus 300 transmits the information on the memory response time (Memory Latency) to the task manager 200 at every predetermined period while performing the task assigned by the task manager 200.
  • Memory Latency Memory Latency
  • the task manager 200 stores a predetermined number of memory response times received from each core of the graphic processing apparatus 300 and calculates an average memory latency (AML) of the stored memory response times.
  • the task manager 200 adjusts the number of operating cores of the graphics processing apparatus 300 based on the calculated average memory response time AML to operate the optimized number of cores of the graphics processing apparatus 300.
  • a process of adjusting the number of operating cores of the graphic processing apparatus 300 by the 200 will be described in detail with reference to FIGS. 3 and 4.
  • FIG. 3 and 4 illustrate a process of a task allocation method for an operation of a graphic processing apparatus according to an embodiment of the present invention
  • FIG. 3 illustrates a process in which a task manager designates an optimized target core number. Shows the process of controlling the task assignment to the graphics processing unit according to the optimized target core number and the current operating core number.
  • the task manager of the task allocation system for the operation of the graphic processing apparatus allocates a task delegated to the central processing apparatus to each core of the graphic processing apparatus, and performs a predetermined period. Each time, the memory response time of each core is received from the graphics processing apparatus.
  • the task manager calculates an average memory response time (AML) of the entire graphics processing apparatus based on the memory response time received from each core of the graphics processing apparatus (S300). In this case, the task manager may calculate an average memory response time (AML) when the number of memory response times received from the graphic processing apparatus reaches a predetermined number or more.
  • AML average memory response time
  • the task manager compares the calculated average memory response time (AML) with a threshold of a predetermined response time and adjusts the target core number according to the comparison result so that the optimized number of cores can be operated.
  • AML calculated average memory response time
  • the task manager compares the average memory response time (AML) with the first threshold value that is the maximum threshold value of the response time (S320), and if the average memory response time (AML) is greater than the first threshold value, the number of target cores is determined. Reduce (S340).
  • the average memory response time (AML) is compared with the second threshold value which is the minimum threshold value of the response time (S360), and the average memory response time (AML) is If less than the second threshold value, the number of target cores is increased (S380).
  • the target core number is maintained at the current target core number.
  • the present invention compares the average memory response time (AML) with a threshold of a predetermined response time and adjusts the target core number according to the comparison result, so that the number of cores of the graphic processing apparatus can be operated by an optimized number.
  • the first threshold value and the second threshold value for determining the number of cores may be experimentally obtained and may be arbitrarily set by a user.
  • FIG. 4 illustrates a process of allocating a job to cores of the graphic processing apparatus according to an optimized target core number.
  • the task manager compares the designated target core number with the number of cores of the graphics processing apparatus currently operating (S400).
  • the task is allocated to cores to which tasks are not assigned (S420) so that the number of active cores is equal to or close to the target number of optimized cores.
  • the core with the lowest number of tasks currently assigned is selected and the selected cores are excluded from task allocation (S440). Therefore, the core with the least allocated task is not assigned any additional task, and the core completes only the currently allocated task and stops working.
  • the number of cores corresponding to the difference between the number of target cores and the number of active cores may be selected in the order in which fewer tasks are allocated, and the selected cores may be excluded from the task allocation.
  • the cores assigned the least work among the currently operating cores are designated (S450). If the task can be directly assigned to the designated core (S460), the task is immediately assigned. If too many jobs are already assigned to the specified core and further job assignment is not possible (460), wait until a job completion signal is received from the core of the graphics processing unit (S480). do.

Abstract

본 발명은 그래픽 처리 장치(GPU)에 작업을 할당하고 그래픽 처리 장치가 할당받은 작업을 처리함에 있어서, 그래픽 처리 장치로부터 수신한 메모리 응답 시간에 기초하여 그래픽 처리 장치의 최적화된 코어 수를 조절하는 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법을 제공한다. 본 발명에 따르면, 그래픽 처리 장치에서 최적화된 수의 코어가 작동하도록 함으로써 그래픽 처리 장치의 작업 처리 속도는 유지하면서 메모리 병목 현상으로 인한 작업 처리 지연을 감소시킬 수 있도록 한다.

Description

그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법
본 발명은 그래픽 처리 장치(GPU, Graphics Processing Unit)의 작동을 제어하는 시스템 및 방법에 관한 것으로서, 구체적으로는, 중앙 처리 장치가 요청한 작업을 그래픽 처리 장치에 효율적으로 할당하는 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 그 방법에 관한 것이다.
그래픽 처리 장치(GPU, Graphics Processing Unit)는 컴퓨터에서 그래픽 연산 처리를 전담하는 반도체 코어 칩 또는 장치를 의미하는 것으로서, 현재 가장 널리 쓰이고 있는 NVIDIA 사의 Fermi GPU 구조에서는 GPU 자원을 최대한 활용하기 위해 모든 GPU 코어에 가능한 한 많은 작업을 할당하고 있다. 즉, 종래의 GPU 구조에서는 모든 코어에 최대 개수의 작업을 할당함으로써 GPU의 TLP(Thread Level Parallelism)을 최대로 끌어내고자 한다.
종래의 GPU 구조에서의 이러한 작업 할당 정책은 모든 코어를 최대한 활용하는 것으로서, 이는 메모리 접근이 빈번하지 않은 GPU 프로그램을 수행할 때는 좋은 효과를 보여주나 메모리 접근이 빈번한 프로그램을 수행할 때는 메모리의 병목 현상으로 인하여 좋지 못한 성능을 보인다.
즉, 메모리 접근 작업이 많은 GPU 프로그램을 수행할 경우 모든 코어에서 많은 수의 메모리 요청이 동시에 일어나므로 메모리에 병목 현상이 일어나게 되고, 메모리 병목현상으로 인해 GPU 코어는 요청한 데이터가 도착할 때까지 프로그램을 진행할 수 없으며, 이러한 지연(stall) 현상은 GPU 코어의 개수가 늘어날수록 증가한다. 이는 결국 개별 GPU 코어 성능을 크게 떨어뜨리고 개별 GPU 코어를 효율적으로 사용하지 못하게 하므로 전체적인 전력 소모량이 늘어나게 하는 문제점이 존재한다.
본 발명은 전술한 문제점을 해결하기 위하여, 메모리 접근이 빈번한 프로그램에서 메모리 응답 시간(Memory Latency)을 기준으로 최적화된 GPU 코어 개수를 계산하여 활용함으로써 메모리 병목 현상을 줄이고 개별 GPU 코어의 성능을 높이는 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법을 제공하는 것을 목적으로 한다.
본 발명은 복수의 코어를 포함하며 중앙처리장치가 요청한 작업을 처리하는 그래픽처리장치; 및 상기 중앙처리장치가 요청한 작업을 상기 그래픽처리장치에 포함된 코어에 할당하고, 상기 그래픽처리장치로부터 일정 시간 간격으로 메모리 응답 시간 정보를 수신하며, 수신한 메모리 응답 시간 정보에 기초하여 상기 그래픽처리장치의 목표 코어 수를 지정하는 작업관리자를 포함하는 그래픽 처리 장치의 동작을 위한 작업 할당 시스템을 제공한다.
상기 작업관리자는 상기 수신한 메모리 응답 시간 정보의 개수가 기설정된 개수 이상이 되면 수신한 메모리 응답 시간의 평균을 산출하고, 산출된 평균에 기초하여 상기 그래픽처리장치의 목표 코어 수를 지정한다.
상기 작업관리자는 상기 산출된 평균이 제1 임계값보다 크면 상기 그래픽처리장치의 목표 코어 수를 감소시키고, 상기 산출된 평균이 제2 임계값보다 작으면 상기 그래픽처리장치의 목표 코어 수를 증가시킨다.
상기 작업관리자는 상기 지정된 그래픽처리장치의 목표 코어 수가 상기 그래픽처리장치의 작동 코어 수보다 크면 상기 목표 코어 수와 상기 작동 코어 수의 차이에 해당하는 수의 작업이 할당되지 않은 코어에 작업을 할당한다.
상기 작업관리자는 상기 지정된 그래픽처리장치의 목표 코어 수가 상기 그래픽처리장치의 작동 코어 수보다 작으면 작동 중인 코어 중 상기 목표 코어 수와 상기 작동 코어 수의 차이에 해당하는 수의 코어를 작업 할당에서 제외한다.
본 발명의 다른 일면에 따르면, 복수의 코어를 포함하는 그래픽처리장치에 작업을 할당하는 단계; 상기 그래픽처리장치로부터 일정 시간 간격으로 메모리 응답 시간에 대한 정보를 수신하는 단계; 상기 수신한 메모리 응답 시간에 대한 정보에 기초하여 상기 그래픽처리장치의 목표 코어 수를 지정하는 단계; 및 상기 지정된 목표 코어 수에 해당하는 수의 코어에 작업이 할당되도록 제어하는 단계를 포함하는 그래픽 처리 장치의 동작을 위한 작업 할당 방법을 제공한다.
본 발명은 최적화된 개수의 GPU 코어만을 활용하여 메모리 병목 현상을 줄이고 개별 GPU 코어의 성능을 향상시킬 수 있도록 한다. 따라서 향상된 개별 GPU 코어 성능으로 더 적은 수의 GPU 코어를 사용하면서도 종래기술과 같은 수준을 실행 속도를 유지하도록 하고 필요없는 GPU 코어는 사용하지 않음으로써 종래기술에 비해 전력 소모량을 감소시킬 수 있도록 한다.
도 1은 본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 시스템의 전체적인 구성을 나타낸 도면.
도 2는 본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 시스템의 작업관리자와 그래픽 처리 장치의 인터페이스를 나타낸 도면.
도 3과 도 4는 본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 방법의 과정을 나타낸 도면.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자에 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가함을 배제하지 않는다. 이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 시스템의 전체적인 구성을 나타낸 것이다.
본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 시스템은 도 1에 도시된 바와 같이 중앙 처리 장치(100), 그래픽 처리 장치(300) 및 DRAM(400)을 포함하며, 중앙 처리 장치(100)와 그래픽 처리 장치(300)의 사이에 작업 실행을 전반적으로 제어하는 작업관리자(200)를 포함한다.
작업관리자(200)는 중앙 처리 장치(100)로부터 작업 처리를 위임받고 위임받은 작업을 그래픽 처리 장치(300)의 코어에 할당하며 그래픽 처리 장치(300)의 구동을 제어한다. 작업관리자(200)는 그래픽 처리 장치(300)의 연산 자원을 관리하는 기능을 탑재하고 있으며, 이를 이용하여 본 발명이 제안하는 그래픽 처리 장치(300)의 코어 개수 조절을 수행한다.
도 2는 본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 시스템의 작업관리자(200)와 그래픽 처리 장치(300) 간의 인터페이스를 나타낸 것이다.
작업관리자(200)는 중앙 처리 장치(100)로부터 위임받은 작업정보를 그래픽 처리 장치(300)에 전달하고, 그래픽 처리 장치(300)의 각 코어에 작업을 할당한다. 그리고 할당한 작업의 파라미터를 그래픽 처리 장치(300)로 전달한다.
그래픽 처리 장치(300)는 작업관리자(200)로부터 할당받은 작업을 처리하고, 할당받은 작업의 처리가 완료되면 작업관리자(200)에게 작업 완료 신호를 전송한다. 또한, 그래픽 처리 장치(300)는 작업관리자(200)로부터 할당받은 작업을 수행하면서 일정 주기마다 메모리 응답 시간(Memory Latency)에 대한 정보를 작업관리자(200)에게 전달한다.
작업관리자(200)는 그래픽 처리 장치(300)의 각 코어에서 전달받은 메모리 응답 시간을 일정 개수만큼 저장하고 저장된 메모리 응답 시간의 평균(AML, Average Memory Latency)을 계산한다. 작업관리자(200)는 계산된 평균 메모리 응답 시간(AML)에 기초하여 그래픽 처리 장치(300)의 작동 코어 개수를 조절하여 그래픽 처리 장치(300)의 코어가 최적화된 개수만큼 작동하도록 하며, 작업관리자(200)가 그래픽 처리 장치(300)의 작동 코어 개수를 조절하는 과정은 도 3과 도 4를 통해 구체적으로 설명한다.
도 3과 도 4는 본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 방법의 과정을 나타낸 것으로서, 도 3은 작업관리자가 최적화된 목표 코어 수를 지정하는 과정을 나타낸 것이고 도 4는 최적화된 목표 코어 수와 현재 작동 코어 수에 따라 그래픽 처리 장치에 작업 할당을 제어하는 과정을 나타낸 것이다.
도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 그래픽 처리 장치의 동작을 위한 작업 할당 시스템의 작업관리자는 중앙 처리 장치로 위임받은 작업을 그래픽 처리 장치의 각 코어에 할당하고, 일정 주기마다 그래픽 처리 장치로부터 각 코어의 메모리 응답 시간을 전달받는다.
작업관리자는 그래픽 처리 장치의 각 코어에서 전달받은 메모리 응답 시간을 가지고 전체 그래픽 처리 장치에서의 평균 메모리 응답 시간(AML)을 계산한다(S300). 이때 작업관리자는 그래픽 처리 장치로부터 전달받은 메모리 응답 시간의 개수가 일정 개수 이상이 되면 평균 메모리 응답 시간(AML)을 계산할 수도 있다.
작업관리자는 계산된 평균 메모리 응답 시간(AML)을 미리 지정된 응답 시간의 임계값과 비교하고 비교 결과에 따라 목표 코어 수를 조정하여 최적화된 개수의 코어가 작동할 수 있도록 한다.
구체적으로, 작업관리자는 평균 메모리 응답 시간(AML)을 응답 시간의 최대 임계값인 제1 임계값과 비교하고(S320), 평균 메모리 응답 시간(AML)이 제1 임계값보다 크면 목표 코어 수를 감소시킨다(S340).
그리고 평균 메모리 응답 시간(AML)이 제1 임계값보다 크지 않으면 평균 메모리 응답 시간(AML)을 응답 시간의 최소 임계값인 제2 임계값과 비교하고(S360), 평균 메모리 응답 시간(AML)이 제2 임계값보다 작으면 목표 코어 수를 증가시킨다(S380).
평균 메모리 응답 시간(AML)이 제1임계값보다 크지 않고 제2 임계값보다 작지 않으면 목표 코어 수는 현재 목표 코어 수로 유지한다.
즉, 본 발명은 평균 메모리 응답 시간(AML)을 미리 지정된 응답 시간의 임계값과 비교하고 비교 결과에 따라 목표 코어 수를 조정함으로써 그래픽 처리 장치의 코어가 최적화된 개수만큼 작동할 수 있도록 하며, 목표 코어 수 결정을 위한 제1 임계값과 제2 임계값은 실험적으로 구해질 수 있고 사용자에 의하여 임의로 설정될 수도 있다.
도 4는 최적화된 목표 코어 수에 따라 그래픽 처리 장치의 코어에 작업을 할당하는 과정을 나타낸 것이다.
작업관리자는 목표 코어 수가 지정되면 지정된 목표 코어 수를 현재 작동 중인 그래픽 처리 장치의 코어 수와 비교한다(S400).
목표 코어 수가 현재 작동 중인 코어 수보다 크면(S410), 작업이 할당되지 않은 코어에 작업을 할당하여(S420) 작동 중인 코어 수가 최적화된 목표 코어 수와 동일하게 하거나 목표 코어 수에 근접하도록 한다.
그리고 목표 코어 수가 현재 작동하는 코어 수보다 작으면(S430), 현재 작동하고 있는 코어 중 작업이 가장 적게 할당된 코어를 선택하고 선택된 코어를 작업 할당에서 제외한다(S440). 따라서 작업이 가장 적게 할당된 코어에는 추가적인 작업 할당을 하지 않고 해당 코어가 현재 할당된 작업만을 완료하고 작동을 중지하도록 한다.
이때 목표 코어 수와 작동 중인 코어 수의 차이에 해당하는 수만큼의 코어를 작업이 적게 할당된 순서대로 선택하고 선택된 코어들을 작업 할당에서 제외할 수도 있다.
현재 작동하고 있는 코어 수와 목표 코어 수가 동일하면 현재 작동 중인 코어 중에서 가장 적은 작업을 할당받은 코어를 지정한다(S450). 그리고 지정된 코어에 작업 할당이 바로 가능하다면(S460) 작업을 바로 할당한다. 지정된 코어에 이미 너무 많은 작업이 할당되어 있어 추가적인 작업 할당이 가능하지 않으면(460) 그래픽 처리 장치의 코어로부터 작업 완료 신호를 수신할 때까지 대기하고(S480), 작업 완료 신호를 수신하면 작업을 할당한다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 본질적 특성을 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다. 따라서, 본 발명에 표현된 실시예들은 본 발명의 기술적 사상을 한정하는 것이 아니라, 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 권리범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 특허청구범위에 의하여 해석되어야 하고, 그와 동등하거나, 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 복수의 코어를 포함하며 중앙처리장치가 요청한 작업을 처리하는 그래픽처리장치; 및
    상기 중앙처리장치가 요청한 작업을 상기 그래픽처리장치에 포함된 코어에 할당하고, 상기 그래픽처리장치로부터 일정 시간 간격으로 메모리 응답 시간 정보를 수신하며, 수신한 메모리 응답 시간 정보에 기초하여 상기 그래픽처리장치의 목표 코어 수를 지정하는 작업관리자
    를 포함하는 그래픽 처리 장치의 동작을 위한 작업 할당 시스템.
  2. 제1항에 있어서, 상기 작업관리자는
    상기 수신한 메모리 응답 시간 정보의 개수가 기설정된 개수 이상이 되면 수신한 메모리 응답 시간의 평균을 산출하고, 산출된 평균에 기초하여 상기 그래픽처리장치의 목표 코어 수를 지정하는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 시스템.
  3. 제2항에 있어서, 상기 작업관리자는
    상기 산출된 평균이 제1 임계값보다 크면 상기 그래픽처리장치의 목표 코어 수를 감소시키고, 상기 산출된 평균이 제2 임계값보다 작으면 상기 그래픽처리장치의 목표 코어 수를 증가시키는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 시스템.
  4. 제1항에 있어서, 상기 작업관리자는
    상기 지정된 그래픽처리장치의 목표 코어 수가 상기 그래픽처리장치의 작동 코어 수보다 크면 상기 목표 코어 수와 상기 작동 코어 수의 차이에 해당하는 수의 작업이 할당되지 않은 코어에 작업을 할당하는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 시스템.
  5. 제1항에 있어서, 상기 작업관리자는
    상기 지정된 그래픽처리장치의 목표 코어 수가 상기 그래픽처리장치의 작동 코어 수보다 작으면 작동 중인 코어 중 상기 목표 코어 수와 상기 작동 코어 수의 차이에 해당하는 수의 코어를 작업 할당에서 제외하는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 시스템.
  6. 복수의 코어를 포함하는 그래픽처리장치에 작업을 할당하는 단계;
    상기 그래픽처리장치로부터 일정 시간 간격으로 메모리 응답 시간에 대한 정보를 수신하는 단계;
    상기 수신한 메모리 응답 시간에 대한 정보에 기초하여 상기 그래픽처리장치의 목표 코어 수를 지정하는 단계; 및
    상기 지정된 목표 코어 수에 해당하는 수의 코어에 작업이 할당되도록 제어하는 단계
    를 포함하는 그래픽 처리 장치의 동작을 위한 작업 할당 방법.
  7. 제6항에 있어서, 상기 수신한 메모리 응답 시간에 대한 정보에 기초하여 상기 그래픽처리장치의 목표 코어 수를 지정하는 단계는
    상기 수신한 메모리 응답 시간의 평균을 산출하는 단계; 및
    상기 평균을 기설정된 임계값과 비교하고, 비교 결과에 기초하여 목표 코어 수를 지정하는 단계를 포함하는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 방법.
  8. 제6항에 있어서, 상기 지정된 목표 코어 수에 해당하는 수의 코어에 작업이 할당되도록 제어하는 단계는
    상기 지정된 목표 코어 수가 작동 중인 코어 수보다 크면 작업이 할당되지 않은 코어에 작업을 할당하는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 방법.
  9. 제6항에 있어서, 상기 지정된 목표 코어 수에 해당하는 수의 코어에 작업이 할당되도록 제어하는 단계는
    상기 지정된 목표 코어 수가 작동 중인 코어 수보다 작으면 작업이 할당된 코어 중 할당된 작업이 적은 순서대로 코어를 작업 할당에서 제외하는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 방법.
  10. 제6항에 있어서, 상기 지정된 목표 코어 수에 해당하는 수의 코어에 작업이 할당되도록 제어하는 단계는
    상기 지정된 목표 코어 수가 작동 중인 코어 수와 동일하면 작업이 가장 적게 할당된 코어에 작업을 할당하거나 작업 완료 신호를 전송한 코어에 작업을 할당하는 것
    인 그래픽 처리 장치의 동작을 위한 작업 할당 방법.
PCT/KR2014/003656 2014-04-25 2014-04-25 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법 WO2015163506A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2014/003656 WO2015163506A1 (ko) 2014-04-25 2014-04-25 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2014/003656 WO2015163506A1 (ko) 2014-04-25 2014-04-25 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2015163506A1 true WO2015163506A1 (ko) 2015-10-29

Family

ID=54332658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/003656 WO2015163506A1 (ko) 2014-04-25 2014-04-25 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법

Country Status (1)

Country Link
WO (1) WO2015163506A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112046284A (zh) * 2020-09-11 2020-12-08 马瑞利汽车电子(广州)有限公司 一种汽车液晶仪表的显示恢复系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048052A (ja) * 2005-08-10 2007-02-22 Internatl Business Mach Corp <Ibm> コンパイラ、制御方法、およびコンパイラ・プログラム
KR20100035394A (ko) * 2008-09-26 2010-04-05 삼성전자주식회사 멀티 프로세싱에서의 메모리 관리장치 및 그 방법
KR20120031020A (ko) * 2009-07-23 2012-03-29 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 코어 및 어플리케이션 특성에 기초하여 멀티프로세서 시스템상에서 실행하는 어플리케이션에 대한 코어 선택
KR20120090298A (ko) * 2011-02-07 2012-08-17 고려대학교 산학협력단 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048052A (ja) * 2005-08-10 2007-02-22 Internatl Business Mach Corp <Ibm> コンパイラ、制御方法、およびコンパイラ・プログラム
KR20100035394A (ko) * 2008-09-26 2010-04-05 삼성전자주식회사 멀티 프로세싱에서의 메모리 관리장치 및 그 방법
KR20120031020A (ko) * 2009-07-23 2012-03-29 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 코어 및 어플리케이션 특성에 기초하여 멀티프로세서 시스템상에서 실행하는 어플리케이션에 대한 코어 선택
KR20120090298A (ko) * 2011-02-07 2012-08-17 고려대학교 산학협력단 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112046284A (zh) * 2020-09-11 2020-12-08 马瑞利汽车电子(广州)有限公司 一种汽车液晶仪表的显示恢复系统
CN112046284B (zh) * 2020-09-11 2023-11-07 马瑞利汽车电子(广州)有限公司 一种汽车液晶仪表的显示恢复系统

Similar Documents

Publication Publication Date Title
US9588809B2 (en) Resource-based scheduler
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
KR101471394B1 (ko) 비파괴 시간에 실행하도록 컴퓨터 마이크로-작업을 스케쥴링하는 방법, 시스템 및 장치
KR20170021864A (ko) 분산 컴퓨터 시스템에 전력 할당의 변화가 있을 때 중단될 수 있고 중단될 수 없는 작업들을 관리하는 방법들 및 장치
CN104094223A (zh) 通过指令不确定度的多线程处理器指令平衡
US9274852B2 (en) Apparatus and method for managing virtual processing unit
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
US9489223B2 (en) Virtual machine wakeup using a memory monitoring instruction
US20100235669A1 (en) Memory power consumption reduction system, and method and program therefor
WO2016195274A1 (en) Method for scheduling entity in multi-core processor system
JP5408330B2 (ja) マルチコアプロセッサシステム、スレッド制御方法、およびスレッド制御プログラム
CN109558216B (zh) 一种基于在线迁移的单根i/o虚拟化优化方法及其系统
AU2007261607B2 (en) Resource-based scheduler
US9208093B2 (en) Allocation of memory space to individual processor cores
CN114048006A (zh) 虚拟机动态迁移方法、装置以及存储介质
JP2009223842A (ja) 仮想計算機制御プログラム及び仮想計算機システム
US10795730B2 (en) Graphics hardware driven pause for quality of service adjustment
WO2015163506A1 (ko) 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법
US9766917B2 (en) Limited virtual device polling based on virtual CPU pre-emption
US20220138017A1 (en) Resource management device and resource management method
KR101330609B1 (ko) 모바일 멀티코어 가상화 시스템에서 실시간 처리를 보장하기 위한 스케쥴링 방법
KR20190056624A (ko) 분산환경에서의 cda 프로토콜을 활용한 자원할당방법 및 이를 적용한 기록매체 및 분산처리장치
KR101603711B1 (ko) 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법
CN104899098A (zh) 一种基于共享I/O虚拟化环境的vCPU调度方法
JP2013114604A5 (ko)

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14890177

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14890177

Country of ref document: EP

Kind code of ref document: A1