JP2015026132A - Resource control device, method and program - Google Patents

Resource control device, method and program Download PDF

Info

Publication number
JP2015026132A
JP2015026132A JP2013153905A JP2013153905A JP2015026132A JP 2015026132 A JP2015026132 A JP 2015026132A JP 2013153905 A JP2013153905 A JP 2013153905A JP 2013153905 A JP2013153905 A JP 2013153905A JP 2015026132 A JP2015026132 A JP 2015026132A
Authority
JP
Japan
Prior art keywords
resource
resource allocation
task
user
intention
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2013153905A
Other languages
Japanese (ja)
Inventor
聖司 松村
Seiji Matsumura
聖司 松村
徹 湯口
Toru Yuguchi
徹 湯口
敏 盛合
Satoshi Moriai
敏 盛合
哲郎 堀川
Tetsuro Horikawa
哲郎 堀川
仁 中澤
Hitoshi Nakazawa
仁 中澤
英幸 徳田
Hideyuki Tokuda
英幸 徳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Keio University
Original Assignee
Nippon Telegraph and Telephone Corp
Keio University
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 Nippon Telegraph and Telephone Corp, Keio University filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013153905A priority Critical patent/JP2015026132A/en
Publication of JP2015026132A publication Critical patent/JP2015026132A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To allow a user to perform comfortable resource allocation for the user dynamically in accordance with a use situation of the user.SOLUTION: When a resource allocation request of a task intended by a user is issued, on the basis of the resource allocation request, use situation information of a calculation resource of resource use situation information storage means and resource allocation selection list storage means are referred to, and a resource allocation method is selected. When the vacancy of a calculation resource of the resource allocation request exceeds a threshold depending on priority, the calculation resource is allocated, and when the vacancy of the calculation resource is less than the threshold depending on priority, another calculation resource having vacancy is allocated.

Description

本発明は、リソース制御技術に係り、特に、ユーザの意向に応じてタスクを処理する計算リソースの割り当てを制御するためのリソース制御装置及び方法及びプログラムに関する。   The present invention relates to a resource control technique, and more particularly to a resource control apparatus, method, and program for controlling allocation of computing resources for processing a task in accordance with a user's intention.

従来から計算リソースとして利用されているCPU以外に、GPUを始め様々な計算リソースを用いて処理を行うタスクが年々増加している。しかし、計算リソース割当の組み合わせによっては、重要度の高いタスクの処理速度低下を招くことがある。そこで、複数の計算リソースを有するマシンにおいて、タスクに対して計算リソースを動的に割り当てる技術(例えば、非特許文献1参照)や、GPUを利用するタスクに対してGPUリソースを時分割し、リソース利用の優先度を設定できるようにする技術(例えば、非特許文献2参照)が知られている。   In addition to the CPUs that have been used as computational resources in the past, tasks that use various computational resources such as GPUs are increasing year by year. However, depending on the combination of calculation resource allocation, the processing speed of tasks with high importance may be reduced. Therefore, in a machine having a plurality of computing resources, a technology for dynamically allocating computing resources to tasks (see, for example, Non-Patent Document 1) and GPU resources are time-divided for tasks that use GPUs. A technique (for example, see Non-Patent Document 2) that enables setting the priority of use is known.

AUGONNET, C., THIBAULT, S., NAMYST, R., AND WACRENIER, P.-A. StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Proc. of Concurrency and Computation: Practice and Experience 23, 2 (feb 2011), 187-198.AUGONNET, C., THIBAULT, S., NAMYST, R., AND WACRENIER, P.-A.StarPU: a unified platform for task scheduling on heterogeneous multicore architectures.Proc. Of Concurrency and Computation: Practice and Experience 23, 2 ( feb 2011), 187-198. KATO, S., MCTHROW, M., MALTZAHN, C., AND BRANDT, S. Gdev: First-Class GPU Resource Management in the Operating System. In Proc. of USENIX ATC (2012).KATO, S., MCTHROW, M., MALTZAHN, C., AND BRANDT, S. Gdev: First-Class GPU Resource Management in the Operating System.In Proc. Of USENIX ATC (2012).

しかしながら、従来技術は複数の異なる計算リソースを持つマシンにおいて特定の目標に合わせてタスクに計算リソースを割り当てることを目的としているため、ユーザの利用状況やユーザの意向(ユーザの指示するタスクの重要度(優先度))に合わせたリソース割当を行っていない。非特許文献1に開示された先行技術では、単位時間あたりの計算量を最大化することを目標とした計算リソースの割り当てなど複数の割り当てアルゴリズムが利用できるが、対象とする環境がハイパフォーマンスコンピューティングであるため、割り当てに際してユーザの利用状況や好みなどは考慮していない。   However, since the conventional technology aims to allocate computing resources to tasks according to a specific target on a machine having a plurality of different computing resources, the usage status of the user and the user's intention (the importance of the task indicated by the user) (Priority)) resource allocation is not performed. In the prior art disclosed in Non-Patent Document 1, a plurality of allocation algorithms such as allocation of calculation resources aiming at maximizing the calculation amount per unit time can be used, but the target environment is high performance computing. For this reason, the user's usage status and preferences are not taken into consideration when assigning.

また、非特許文献2に開示された先行技術では、タスク毎に優先度を設定してGPUのリソースの割り当てを行うことが出来るが、異なる種類の計算リソース間でリソースを割り当てることはできない。即ち、タスクの優先度をユーザの利用状況や好みに応じて静的に指定することは可能であるが、動的に指定する機能は有していない。したがって、非特許文献1や非特許文献2に開示されている先行技術を用いて計算リソースの割り当てを行った場合でも、ユーザにとって重要なタスクに適切な計算リソースの割り当てが行われない可能性や、ユーザにとって重要なタスクが利用しているリソースを同時に他の重要性の低いタスクが利用することによって結果的に重要なタスクが利用可能な計算リソースを減少させてしまう可能性がある。このため、ある特定の目標に合わせて最適なリソース割当が実現できた場合であっても、それらのリソース割当方法によってユーザが快適になるとは限らないという課題がある。   In the prior art disclosed in Non-Patent Document 2, the priority of each task can be set and the GPU resource can be allocated, but the resource cannot be allocated between different types of calculation resources. That is, it is possible to statically specify the task priority according to the usage status and preferences of the user, but it does not have a function to specify dynamically. Therefore, even when calculation resources are allocated using the prior art disclosed in Non-Patent Document 1 and Non-Patent Document 2, there is a possibility that calculation resources appropriate for a task important to the user may not be allocated. The resources used by the tasks important to the user are simultaneously used by other less important tasks, and as a result, the computational resources available for the important tasks may be reduced. For this reason, even when optimal resource allocation can be realized in accordance with a specific target, there is a problem that the user is not always comfortable by those resource allocation methods.

本発明は、上記の点に鑑みなされたもので、ユーザが自らの利用状況に合わせて動的にその状況に応じて自身にとってより快適なリソース割当を行うことができ、ユーザにとって重要なタスク処理速度低下を防止することが可能なリソース制御装置及び方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above points, and allows the user to dynamically allocate more comfortable resources according to his / her usage situation according to his / her usage situation, which is important task processing for the user. It is an object of the present invention to provide a resource control apparatus, method, and program capable of preventing the speed reduction.

本発明の一態様は、タスクを処理する異なる種類の複数の計算リソースを割り当てるリソース制御装置であって、
リソース割当方法を格納したリソース割当方法選択リスト記憶手段と、
計算リソースの利用状況情報を格納するリソース利用状況情報記憶手段と、
ユーザの意向が含まれるタスクのリソース割当要求が与えられると、該タスクを実行する装置の利用形態に応じて前記リソース割当方法選択リスト記憶手段からリソース割当方法を選択するリソース割当方法選択手段と、
前記リソース利用状況情報記憶手段を参照して前記リソース割当要求で指定された計算リソースの空きが優先度に従った閾値を超える場合には、該計算リソースを割り当て、該計算リソースの空きが優先度に従った閾値を下回る場合には、他の空きがある計算リソースを割り当てるリソース割当手段と、
を有することを特徴とするリソース制御装置が提供される。
One aspect of the present invention is a resource control apparatus that allocates a plurality of different types of computing resources for processing tasks,
A resource allocation method selection list storage means storing the resource allocation method;
Resource usage status information storage means for storing usage status information of computing resources;
When a resource allocation request for a task including a user's intention is given, a resource allocation method selection unit that selects a resource allocation method from the resource allocation method selection list storage unit according to a usage mode of a device that executes the task;
If the calculation resource vacancy specified in the resource allocation request with reference to the resource usage status information storage means exceeds a threshold according to the priority, the calculation resource is allocated, and the calculation resource vacancy is a priority. Resource allocation means for allocating other computational resources that are free,
A resource control device is provided.

一態様によれば、ユーザによる各タスクの利用状況と各タスクに対するユーザの意向に応じたリソース割当方法に基づいて、リソース制御装置によるリソースの利用状況の管理と合わせて計算リソースの割当を行うことで、各タスクが使用するリソースをユーザにとってより快適な形で振り分けることができる。   According to one aspect, based on a resource allocation method according to the usage status of each task by the user and the user's intention for each task, the computing resource is allocated together with the management of the resource usage status by the resource control device. Thus, the resources used by each task can be distributed in a more comfortable manner for the user.

本発明の第1の実施の形態におけるシステム構成例である。It is an example of system configuration in a 1st embodiment of the present invention. 本発明の第1の実施の形態におけるリソース制御装置の構成例である。It is a structural example of the resource control apparatus in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるリソース割当選択リスト記憶部の例である。It is an example of the resource allocation selection list memory | storage part in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるリソース利用状況情報記憶部の例である。It is an example of the resource utilization condition information storage part in the 1st Embodiment of this invention. 本発明の第1の実施の形態における処理のフローチャートである。It is a flowchart of the process in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるリソース割当の例である。It is an example of resource allocation in the 1st Embodiment of this invention. 本発明の第2の実施の形態におけるシステム構成例である。It is an example of system configuration in a 2nd embodiment of the present invention. 本発明の第2の実施の形態におけるリソース割当の例である。It is an example of resource allocation in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における処理のフローチャートである。It is a flowchart of the process in the 2nd Embodiment of this invention. 本発明の他の実施の形態における異なるマシンにリソース制御装置が存在するシステムの構成例である。It is a structural example of the system in which the resource control apparatus exists in a different machine in another embodiment of the present invention.

以下、図面と共に本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[第1の実施の形態]
図1は、本発明の第1の実施の形態におけるシステム構成例である。
[First Embodiment]
FIG. 1 shows an example of a system configuration in the first embodiment of the present invention.

同図に示すマシン1は、ミドルウェア10とリソース群20を有する。   A machine 1 shown in FIG. 1 includes middleware 10 and a resource group 20.

ミドルウェア10は、図2に示すリソース制御装置100を有する。   The middleware 10 includes the resource control device 100 illustrated in FIG.

リソース制御装置100は、異なる複数の計算リソース200からなるマシン1上でタスクの処理に使用する計算リソース200の選択を行う装置であり、ユーザインタフェース部110、リソース割当方法選択部120、リソース割当意向確認部130、リソース割当部140、リソース利用管理部150、リソース割当選択リスト記憶部160、リソース利用状況情報記憶部170、リソース割当方法リスト記憶部180を有する。   The resource control device 100 is a device that selects a computing resource 200 to be used for task processing on the machine 1 composed of a plurality of different computing resources 200, and includes a user interface unit 110, a resource allocation method selection unit 120, and a resource allocation intention. It has a confirmation unit 130, a resource allocation unit 140, a resource usage management unit 150, a resource allocation selection list storage unit 160, a resource usage status information storage unit 170, and a resource allocation method list storage unit 180.

ユーザインタフェース部110は、当該リソース制御装置100とユーザ端末(図示せず)とのデータやメッセージの送受信を行う。   The user interface unit 110 transmits and receives data and messages between the resource control apparatus 100 and a user terminal (not shown).

リソース割当方法選択部120は、ユーザから入力されたリソース割当要求{タスク,リソース}を取得して、リソース割当方法リスト記憶部180からリソース割当方法を選択する。   The resource allocation method selection unit 120 acquires a resource allocation request {task, resource} input from the user, and selects a resource allocation method from the resource allocation method list storage unit 180.

リソース割当意向確認部130は、リソース割当方法選択部120で選択されたタスクへのリソース割当方法に従い、例えばユーザの意向を確認する必要がある場合には、ユーザインタフェース部110を介してユーザの意向を確認する。また例えば、自動的に選択する場合には、リソース割当選択リスト記憶部160のタスクの優先度や、リソース利用状況情報記憶部170のリソースの使用状況に応じてタスクへのリソース割当情報を抽出する。   The resource allocation intention confirmation unit 130 follows the resource allocation method for the task selected by the resource allocation method selection unit 120, for example, when it is necessary to confirm the user's intention, the user intention via the user interface unit 110. Confirm. Also, for example, when selecting automatically, resource allocation information to a task is extracted according to the priority of the task in the resource allocation selection list storage unit 160 and the resource usage status of the resource usage status information storage unit 170. .

リソース割当部140は、ユーザの意向に応じた割り当てリソースとリソース利用状況情報記憶部170の当該リソースの利用状況とリソース割当選択リスト記憶部160のタスクごとのリソースの優先度に基づき、タスクに対して最善のリソースを割り当てる。   The resource allocation unit 140 assigns a task to a task based on the allocation resource according to the user's intention, the resource usage status in the resource usage status information storage unit 170, and the resource priority for each task in the resource allocation selection list storage unit 160. Allocate the best resources.

リソース利用管理部150は、タスクに対して計算リソースが割り当てられると、当該タスクが実行されるリソース利用状況情報記憶部170のリソースの状況(使用中/未使用)、リソースを利用しているタスク名、及びその利用率を更新する。   When a computing resource is assigned to a task, the resource usage management unit 150 executes the task in the resource usage status information storage unit 170 in which the resource is executed (used / unused), and the task using the resource Update the name and its usage rate.

なお、図2の例では、リソース利用管理部150とリソース利用状況情報記憶部170をリソース制御装置100内に具備する例を示しているが、この例に限定されることなく、リソース制御装置100の外部に設けられていても良い。   2 shows an example in which the resource use management unit 150 and the resource use state information storage unit 170 are provided in the resource control apparatus 100, but the resource control apparatus 100 is not limited to this example. It may be provided outside.

リソース割当選択リスト記憶部160は、図3に示すように、タスク毎に計算リソースとその優先度が格納されている。   As shown in FIG. 3, the resource allocation selection list storage unit 160 stores calculation resources and their priorities for each task.

リソース利用状況情報記憶部170は、図4に示すように、計算リソースの使用状況が格納されている。図4の例では、リソースの使用中を"1"、未使用を"0"で表している。また、図4に示すようにリソースの利用状況として、タスク毎のリソースの利用率が格納されている。図4の1行目の例では、リソース(CPU1)はタスク(Job1)によりリソースの50%が使用されていることを示している。   As shown in FIG. 4, the resource usage status information storage unit 170 stores the usage status of calculation resources. In the example of FIG. 4, “1” indicates that the resource is being used, and “0” indicates that the resource is not being used. Also, as shown in FIG. 4, the resource utilization rate for each task is stored as the resource utilization status. In the example of the first line in FIG. 4, the resource (CPU1) indicates that 50% of the resource is used by the task (Job1).

リソース割当方法リスト記憶部180には、例えば、
a. 当該リソースが使用中であるかを判定し、使用中である場合は、使用中でないリソースを提示し、ユーザに選択させる;
b. 当該リソース(例えば、CPU)が使用中であるかを判定し、使用中である場合は、他の未使用の同種別(例えば、CPU)のリソースの中から優先度の高い順にN件のリソース候補を提示し、ユーザに選択させる;
c. 当該リソース(例えば、CPU)が使用中であるかを判定し、使用中である場合は、他の未使用の異種別(例えば、GPU)のリソースの中から優先度の高い順にN件のリソース候補を提示し、ユーザに選択させる;
d.当該リソース(例えば、CPU)が使用中であるかを判定し、使用中である場合は、他の未使用の同種別(例えば、CPU)のリソースの中から最も優先度の高いリソースを自動的に選択する;
e. 当該リソース(例えば、CPU)が使用中であるかを判定し、使用中である場合は、他の未使用の異種別(例えば、GPU)のリソースの中から最も優先度の高いリソースを自動的に選択する;
等の選択ルールが格納されている。
In the resource allocation method list storage unit 180, for example,
a. Determine whether the resource is in use, and if so, present the resource not in use and let the user select it;
b. Determine whether the resource (for example, CPU) is in use. If it is in use, N resources in the order of priority from other unused resources of the same type (for example, CPU) Present resource candidates and let the user choose;
c. Determine whether the resource (for example, CPU) is in use, and if it is in use, N cases from other unused heterogeneous (for example, GPU) resources in descending order of priority Present resource candidates and let the user choose;
d. Determine whether the resource (for example, CPU) is in use, and if so, select the resource with the highest priority from other unused resources of the same type (for example, CPU). Select automatically;
e. Determine whether the resource (eg, CPU) is in use, and if so, select the resource with the highest priority from other unused heterogeneous (eg, GPU) resources. Select automatically;
Are stored.

上記の構成において、リソース割当部140は、リソース割当意向確認部130で確認されたユーザの意向と、リソース利用状況情報記憶部170からその時点におけるリソース利用状況を取得し、最適なリソース割当を行う。ここで、ユーザの意向に応じたリソースの割当とは、リソース制御装置100が、ユーザのリソース割当要求{タスク,リソース}に応じて優先度の高いタスクから、ユーザが希望するリソースを割り当てることを意味する。   In the above configuration, the resource allocation unit 140 acquires the user intention confirmed by the resource allocation intention confirmation unit 130 and the resource usage status at that time from the resource usage status information storage unit 170, and performs optimal resource allocation. . Here, the resource allocation according to the user's intention means that the resource control apparatus 100 allocates a resource desired by the user from a task having a high priority according to the user's resource allocation request {task, resource}. means.

以下に、上記の構成におけるリソース制御装置100の処理について説明する。   Hereinafter, processing of the resource control device 100 having the above configuration will be described.

図5は、本発明の第1の実施の形態における処理のフローチャートである。   FIG. 5 is a flowchart of processing in the first embodiment of the present invention.

ステップ100) ユーザから、タスクと該タスクに割り当てたいリソースが指定されたリソース割当要求{タスク,リソース}が入力されると、ユーザインタフェース部110はこれを取得し、リソース割当方法選択部120に出力する。リソース割当方法選択部120は、マシン1の利用形態に応じてリソース割当方法選択リスト記憶部180からルールセットを選択する。   Step 100) When a resource allocation request {task, resource} specifying a task and a resource to be allocated to the task is input from the user, the user interface unit 110 acquires this and outputs it to the resource allocation method selection unit 120 To do. The resource allocation method selection unit 120 selects a rule set from the resource allocation method selection list storage unit 180 according to the usage mode of the machine 1.

ステップ110) リソース割当意向確認部130は、リソース割当方法選択部120で選択されたルールセットに従い、計算リソースがユーザの意向に合致しているか判定する。ユーザの意向に合致しているか否かの判定は、ユーザインタフェース部110を介してユーザに判断を促す方法がある。リソース割当要求に基づいて自動的にリソース割当を行う場合には、ステップ120に移行する。   Step 110) The resource allocation intention confirmation unit 130 determines whether the calculation resource matches the user's intention according to the rule set selected by the resource allocation method selection unit 120. There is a method for prompting the user to make a determination via the user interface unit 110 to determine whether or not the user's intention is met. When resource allocation is automatically performed based on the resource allocation request, the process proceeds to step 120.

ステップ120) リソース割当部140は、リソース割当意向確認部130において、ユーザから当該ユーザの意向に合致していることが入力された場合、または、自動的にリソース割当を行う場合には、リソース割当選択リスト記憶部160を参照して、タスクがリソースを利用する優先度が高い計算リソースを選択する。リソース割当選択リスト記憶部160には、例えば、タスクがリソースAを利用する優先度が50であり、リソースAの利用が難しい場合にリソースBを利用する優先度が20,…のように設定されており、当該優先度により計算リソースを選択する。さらに、リソース利用状況情報記憶部170を参照して当該計算リソースの空き状況がタスク間の相対的優先度による閾値を上回るかを判定する。ここで、相対的優先度とは、優先度を1〜100の値で表し、既に実行中のタスクが実行に利用しているリソースに対する優先度を分母に、新たに実行したいタスクの優先度を分子とする分数(または小数)で表される。もし、相対優先度が1を超えた場合は、新しく実行したいタスクの優先度が高くなる。この場合は、既に実行中及び新たに実行したいタスクの最適な計算リソースが同じであれば、リソース利用状況情報記憶部170の計算リソースの空き容量(利用率)をみて、リソースの割当を決定する。例えば、利用率が30%である場合(空き容量が70%)は、新たに実行したいタスクが、当該計算リソースで処理を開始し、既に実行中のタスクは別リソースで処理される。どの程度の利用率を閾値とするかは、事前にユーザが決定するか、各タスクがそれぞれのリソースに対してどの位の利用率以下での使用が最適であるかを考慮して決定する。   Step 120) When the resource allocation intention confirmation unit 130 inputs that the user's intention is matched, or when the resource allocation is performed automatically, the resource allocation unit 140 performs resource allocation. With reference to the selection list storage unit 160, a calculation resource having a high priority for the task to use the resource is selected. In the resource allocation selection list storage unit 160, for example, the priority for using the resource A by the task is 50, and when the resource A is difficult to use, the priority for using the resource B is set as 20,. The computing resource is selected according to the priority. Further, the resource usage status information storage unit 170 is referred to determine whether the free status of the calculation resource exceeds a threshold value based on the relative priority between tasks. Here, the relative priority is expressed by a value from 1 to 100, and the priority of a task to be newly executed is set based on the priority of resources already used for execution by the denominator. It is expressed as a fraction (or decimal) as a numerator. If the relative priority exceeds 1, the priority of the task to be newly executed becomes higher. In this case, if the optimal computational resources of the task that is already being executed and the task that is to be newly executed are the same, the allocation of the resource is determined by looking at the free capacity (utilization rate) of the computational resource in the resource usage status information storage unit 170. . For example, when the utilization rate is 30% (free space is 70%), a task to be newly executed starts processing with the calculation resource, and a task already being executed is processed with another resource. The degree of utilization to be used as a threshold is determined by the user in advance or by considering how much utilization of each task is optimal for each resource.

リソースの空き状況が相対優先度による閾値を上回る場合はステップ130に移行し、当該閾値以下の場合はステップ140に移行する。   If the resource availability exceeds the threshold value based on the relative priority, the process proceeds to step 130.

ステップ130) リソース割当部140は、当該リソースにタスクを割り当て、次の要求を待機する。   Step 130) The resource assignment unit 140 assigns a task to the resource and waits for the next request.

ステップ140) リソースの空き状況が相対優先度による閾値以下の場合は、リソース割当部140は、リソース利用状況情報記憶部170から該当リソース以外に最も空きのあるリソースを選択する。   Step 140) When the resource availability is equal to or less than the threshold based on the relative priority, the resource allocation unit 140 selects the resource that is the most available other than the resource from the resource usage status information storage unit 170.

ステップ150) リソース割当部140は、ステップ140で選択されたリソースにタスクを割り当て、次の要求を待機する。   Step 150) The resource assignment unit 140 assigns a task to the resource selected in Step 140 and waits for the next request.

次に、上記の処理を上記のフローチャートに沿って具体的に説明する。   Next, the above process will be specifically described along the above flowchart.

本実施の形態では、リソースとして、CPUとGPUをそれぞれ1つずつ搭載するコンピュータにおいて、ユーザが動画を再生するタスクとファイルの圧縮を行うタスクの2つのみを同時に行う場合のリソース割当について説明する。動画再生のためのデコードには、CPUを用いて処理を行う方法と、GPUに実装されたデコード支援機能を利用する方法とがあり、動画の画質を改善するためのノイズ低減やエッジ強調などのエフェクトに関しても、CPUにおいて処理を行う方法とGPUによって処理を行う方法とがある。また、動画の再生処理を担当するため専用チップが搭載されているコンピュータでは、当該チップによって再生のための処理を行う方法もある。動画再生にCPUもしくはGPUなどを用いることができることは当業者にとって周知であるから、詳細の説明は省略する。   In the present embodiment, resource allocation in the case where a user performs only two tasks, ie, a task of playing a moving image and a task of compressing a file, on a computer having one CPU and one GPU as resources will be described. . There are two methods of decoding for video playback: processing using the CPU and using the decoding support function implemented in the GPU, such as noise reduction and edge enhancement to improve video quality. As for effects, there are a method of processing by the CPU and a method of processing by the GPU. In addition, in a computer on which a dedicated chip is mounted for taking charge of the moving image reproduction process, there is a method of performing the reproduction process by the chip. Since it is well known to those skilled in the art that a CPU or GPU or the like can be used for moving image reproduction, detailed description thereof is omitted.

以下では、動画再生にGPUを用いる場合について述べる。   Below, the case where GPU is used for animation reproduction is described.

リソース割当方法選択部120は、ユーザインタフェース110を介して、ユーザからリソース割当要求を取得すると、リソース名に基づいて、リソース割当方法選択リスト記憶部180を参照し、リソースの割当方法を選択する(ステップ100)。   When the resource allocation method selection unit 120 acquires a resource allocation request from the user via the user interface 110, the resource allocation method selection unit 120 refers to the resource allocation method selection list storage unit 180 and selects a resource allocation method based on the resource name ( Step 100).

例えば、CPUとGPUを1基ずつ搭載したマシン1において、リソース割当方法選択部120が、前述のリソース割当方法として、c(当該リソース(例えば、CPU)が使用中であるかを判定し、使用中である場合は、他の未使用の異種別(例えば、GPU)のリソースの中から優先度の高い順にN件のリソース候補を提示し、ユーザに選択させる)を選択した場合に、画像編集に関わるタスクと動画再生タスクはGPUでの処理の方が処理速度が高いとした場合を想定する。既に画像編集に関わるタスクがGPU上で処理されているとき、ユーザが新たに動画再生タスクを、画像編集に関わるタスクより高い優先度で起動させたい場合、リソース制御装置100が、画像編集に関わるタスクのAPI(Application Programming Interface)をフックし、CPU上での処理に切り替え、優先度の高い動画再生タスクをGPU上で処理する。   For example, in the machine 1 in which one CPU and one GPU are mounted, the resource allocation method selection unit 120 determines whether the resource (for example, CPU) is in use as the resource allocation method described above. If selected, image editing is performed when N resource candidates are presented in descending order of priority from other unused heterogeneous (for example, GPU) resources and selected by the user. Assuming that the task related to and the video playback task are faster in GPU processing. When a task related to image editing has already been processed on the GPU, and the user wants to start a video playback task with a higher priority than a task related to image editing, the resource control device 100 is related to image editing. Hooks the task API (Application Programming Interface), switches to processing on the CPU, and processes high-priority video playback tasks on the GPU.

なお、リソース割当方法の選択は上記の例に限定されるものではない。   The selection of the resource allocation method is not limited to the above example.

次に、ユーザの利用状況の変化、または、新たなリソース割当要求が発生するまで待機し、発生した事象がリソース割当要求である場合は、リソース割当意向確認部130は、リソース割当方法選択リスト記憶部160に当該要求のタスクに対するユーザの好みの割当方法が定義されているかを確認する。例えば、予めリソース割当方法選択リストに定義されているユーザの意向に応じた動画の再生のタスクのためのリソース(この例では"GPU)"に従い、当該タスクにはGPUを割り当てる。例えば、動画再生タスクのAPIをフックすることで、当該タスクがGPU上で処理されるよう設定する。利用されるリソースの状況が変化した場合は、リソース利用管理部150において、リソース利用状況情報記憶部170のリソース状況、タスク、利用率を更新する。   Next, the process waits until a change in the user's usage status or a new resource allocation request occurs. If the generated event is a resource allocation request, the resource allocation intention confirmation unit 130 stores the resource allocation method selection list. It is checked in section 160 whether a user's preferred assignment method for the requested task is defined. For example, according to a resource (“GPU” in this example) for a task of playing a moving image according to the user's intention defined in advance in the resource allocation method selection list, a GPU is allocated to the task. For example, by hooking the API of the video playback task, the task is set to be processed on the GPU. When the status of the resource used changes, the resource usage management unit 150 updates the resource status, task, and usage rate in the resource usage status information storage unit 170.

次に、ユーザが動画の再生を実行しながら、ファイルの圧縮タスクの実行開始を試みると、ファイル圧縮タスクがリソース割当部140に計算リソースを要求する(ステップ110)。リソース割当部140は、ユーザの意向に応じたリソース割当方法が、割り当てるリソース候補の計算リソースの空きが優先度に従った閾値を超える場合には(ステップ120、Yes)、リソース候補をリソースとして割り当てる(ステップ130)。一方、ユーザの意向に応じたリソース割当方法によって割り当てるリソース候補の空きが優先度に従った閾値を下回る場合は、当該リソース候補とは異なる他の空きのあるリソース候補を選択し(ステップ140)、最も空きのある計算リソースを割り当てる(ステップ150)。   Next, when the user tries to start the execution of the file compression task while playing the moving image, the file compression task requests a calculation resource from the resource allocation unit 140 (step 110). The resource allocation unit 140 allocates a resource candidate as a resource when the resource allocation method according to the user's intention exceeds the threshold according to the priority (Yes in step 120) when the resource candidate to be allocated exceeds the threshold according to the priority. (Step 130). On the other hand, if the available resource candidate allocated by the resource allocation method according to the user's intention is below the threshold according to the priority, select another available resource candidate different from the resource candidate (step 140), The most free computing resource is allocated (step 150).

例として、ユーザの意向として『ファイル圧縮タスク』について『動画再生タスク』に割り当てを行ったものと同じ計算リソース、具体的には、"GPU"を割り当てることが要求されている場合、『ファイル圧縮タスク』のタスクが使用するリソース割当において、『ファイル圧縮タスク』の『動画再生タスク』に対する相対的優先度によって導出される閾値がGPUの計算リソースの空きを上回る場合には、GPUを割り当てる。逆にGPUの空きが十分でなく、閾値に達しない場合には、CPUを割り当てる。   As an example, if it is requested to assign the same calculation resource, specifically “GPU”, to the “Video Playback Task” for the “File Compression Task” as the user ’s intention, In the resource allocation used by the task “task”, if the threshold derived by the relative priority of the “file compression task” with respect to the “video playback task” exceeds the free space of the GPU calculation resource, the GPU is allocated. Conversely, if the GPU space is not enough and the threshold is not reached, a CPU is allocated.

なお、この閾値の設定は静的に指定する。マシン全体の計算リソースの利用状況に合わせて動的に変更するなど様々な方法があるが、タスクの相対的重要性に基づく当該計算リソース割当の必要性と当該計算リソースの空きの比較によって計算リソースの割り当て可否を判断可能である限り、どのような指定方法を用いても良い。   Note that this threshold setting is statically specified. There are various methods such as dynamically changing according to the usage status of the computing resources of the entire machine, but the computing resources are compared by comparing the necessity of the computing resources based on the relative importance of the task and the availability of the computing resources. Any designation method may be used as long as it is possible to determine whether or not the allocation is possible.

一方、ユーザの意向が『ファイル圧縮タスク』に対してCPUの割当を求める方法が選択されている場合、CPUの利用状況は他のタスクによって利用されていない場合は、計算リソースに十分空きがあるため、ユーザの意向に応じた計算リソースであるCPUを割り当てる。   On the other hand, if the user's intention is to select the CPU allocation method for the “File compression task”, if the CPU usage status is not used by other tasks, there is enough free computing resources. Therefore, a CPU that is a calculation resource according to the user's intention is allocated.

このように『ファイル圧縮タスク』の計算リソースの割当に関して、ユーザの意向に応じたリソースであるCPUを割り当てることができる。   In this way, with respect to the allocation of calculation resources of the “file compression task”, it is possible to allocate a CPU that is a resource according to the user's intention.

『ファイル圧縮タスク』の計算リソース割当に関して、リソース割当方法選択リスト記憶部180に当該タスク(この場合は「ファイル圧縮タスク」)が定義されていない、または、当該タスクに対してユーザが当該タスクのリソース割当を重視しない(他のタスクを最大限優先するように割り当ててよい)場合など、ユーザの意向に応じたリソース割当方法が特に存在しない場合には、リソース利用状況情報記憶部170の利用状況に応じて、より空きが大きい計算リソースであるCPUを割り当てる。なお、ユーザがタスクの割当を重視しない状況においては、必ずしも空きの大きなリソースを選択する必要はなく、リソース割当意向確認部130からユーザに対してどのリソースを割り当てるかの指示の入力を促すことも可能である。   Regarding the calculation resource allocation of the “file compression task”, the task (in this case, “file compression task”) is not defined in the resource allocation method selection list storage unit 180, or the user has assigned the task to the task. When there is no particular resource allocation method according to the user's intention, such as when resource allocation is not considered important (other tasks may be allocated with the highest priority), the usage status of the resource usage status information storage unit 170 Depending on, CPUs that are more computational resources are allocated. In a situation where the user does not place importance on task allocation, it is not always necessary to select a large free resource, and the resource allocation intention confirmation unit 130 may prompt the user to input an instruction on which resource to allocate. Is possible.

また、リソース割当要求に対し、ユーザ意向に応じたリソース割当方法がないタスクに対しては、利用状況情報記憶部170の利用状況に応じて、より空きが大きな計算リソースを割り当てる方法や、ランダムに計算リソースを割り当てる方法、利用可能な計算リソースを順番に割り当てる方法など様々なものが考えられるが、ユーザにとって重要であり、計算リソースの割当の意向に応じたリソース割当方法が定義されているタスクを優先し、それらの重要なタスクの処理速度の低下を防止できる限り、どのような方法を用いても構わない。   In addition, in response to a resource allocation request, for a task that does not have a resource allocation method according to the user's intention, a method of allocating a calculation resource with a larger vacancy according to the usage status of the usage status information storage unit 170 There are various methods, such as a method for assigning calculation resources and a method for assigning available calculation resources in order, but it is important for the user, and a task for which a resource assignment method according to the intention of assignment of calculation resources is defined. Any method may be used as long as it is possible to prevent a decrease in the processing speed of those important tasks.

また、ユーザにとって動画の再生が他のタスクに対し相対的に極めて重要であるとして、ユーザの意向に応じたリソース割当方法が定義されている場合(例えば、リソース割当選択リスト記憶部160の優先度が"50"以上の値等)、動画再生にGPUを割当、ファイル圧縮にはCPUを割り当てることで、GPUの計算能力を動作再生タスクの各タスクのために最大限利用させることができるため、図6の例では動画のリアルタイム(フレームレート 60fps)再生が可能である。したがって、動画再生に関する処理能力の低下によりユーザが不快と感じる事象の発生を防止できる。   In addition, when a resource allocation method is defined in accordance with the user's intention on the assumption that video playback is extremely important for other tasks for the user (for example, the priority of the resource allocation selection list storage unit 160) Since the GPU is allocated to video playback and the CPU is allocated to file compression, the GPU's computing power can be maximized for each task of the operation playback task. In the example of FIG. 6, real-time (frame rate 60fps) playback of moving images is possible. Therefore, it is possible to prevent the occurrence of an event that the user feels uncomfortable due to a decrease in the processing capability related to moving image reproduction.

一方で、以下のような場合は、ファイルの圧縮にGPUを割り当てることで動画再生のフレームレート低下(35fps)と引き替えに、ファイルの圧縮処理のタスクにCPUを割り当てる。   On the other hand, in the following cases, the CPU is allocated to the task of the file compression processing in exchange for the frame rate decrease (35 fps) of the video playback by allocating the GPU to the file compression.

・動画再生がユーザにとって特段重要ではないとしてユーザの意向に応じたリソース割当方法が定義されている場合;
・ユーザの意向に応じたリソース割当方法自体が定義されていない場合;
・ファイルの圧縮が重要であるとしてユーザの意向に応じたリソース割当方法自体が定義されている場合;、
これにより、動画再生のフレームレート低下(35fps)と引き替えに、ファイルの圧縮処理のタスクにCPUを割り当てる場合と比べて、ファイル圧縮処理に必要な時間を12分から9分30秒に短縮できる。そのため、ユーザのファイル圧縮処理を早く終わらせたいという意向を反映することができる。
When a resource allocation method according to the user's intention is defined as video playback is not particularly important for the user;
・ When the resource allocation method according to the user's intention is not defined;
-When the resource allocation method according to the user's intention is defined as file compression is important;
This reduces the time required for file compression processing from 12 minutes to 9 minutes and 30 seconds compared to assigning a CPU to the file compression processing task in exchange for lowering the frame rate (35fps) for video playback. Therefore, it is possible to reflect the user's intention to finish the file compression process quickly.

なお、本実施の形態では、ユーザが動画の再生にGPUの割当を移行する状況を想定したが、逆にユーザが動画再生にCPUの割当を移行する場合であっても、同様に実施可能なことは当然である。また、本実施の形態ではCPUとGPUを1つずつ搭載するマシンにおいて、2つのタスクを実行して計算リソースの割当を行ったが、タスクが3つ以上実行される場合や、計算リソースが3つ以上存在する場合であっても、タスクに対するユーザの意向に応じた計算リソース割当方法の定義と各計算リソースの空きの情報を元に、二つの計算リソースと二つのタスクの場合と同様に実施可能なことは当然である。   In this embodiment, it is assumed that the user shifts the GPU allocation to the video playback. However, the present invention can be similarly implemented even when the user shifts the CPU allocation to the video playback. It is natural. Further, in this embodiment, in a machine on which one CPU and one GPU are mounted, calculation tasks are allocated by executing two tasks. However, when three or more tasks are executed or three calculation resources are allocated. Even if there are two or more, based on the definition of the calculation resource allocation method according to the user's intention for the task and the availability information of each calculation resource, the same as the case of two calculation resources and two tasks Of course it is possible.

[第2の実施の形態]
図7は、本発明の第2の実施の形態におけるシステム構成例であり、リソース制御装置100によって管理された計算リソースとしてCPU300及びGPU400を有する構成を示す。
[Second Embodiment]
FIG. 7 is a system configuration example according to the second embodiment of the present invention, and shows a configuration having a CPU 300 and a GPU 400 as calculation resources managed by the resource control device 100.

本実施の形態では、一部のタスクの計算リソースが固定されている、また先に実行しているタスクを切り替える例を説明する。   In the present embodiment, an example will be described in which calculation resources of some tasks are fixed and a task that has been executed first is switched.

リソース制御装置100の構成は第1の実施の形態と同様であるので、構成図及びその説明は省略する。   Since the configuration of the resource control device 100 is the same as that of the first embodiment, the configuration diagram and the description thereof are omitted.

本実施の形態では、CPUとGPUとをそれぞれ1つずつ搭載するマシンにおいて、ユーザが既に動画のエンコード処理にGPUを利用している状態で、3Dゲームを新たに実行する場合のリソース割当について説明する。   In this embodiment, resource allocation when a 3D game is newly executed in a state where a user already uses a GPU for video encoding processing on a machine with one CPU and one GPU is described. To do.

従来はCPUや専用のチップが用いられてきた動画のエンコード処理において、近年は動画のエンコード処理を高速化するためのGPU上の専用回路を利用する方法は、GPUの汎用処理能力を利用して動画のエンコード処理を高速化する方法が用いられている。動画のエンコード処理にこれらのGPUの計算能力を用いることができることは当業者にとって周知であるから、詳細な説明は省略する。一方で、3Dゲームにおいては一般にそのグラフィックス処理のためにGPUを利用する必要がある。元来GPUはグラフィックス処理を行うために用意されるプロセッサであり、3Dゲーム実行にGPUの利用が必要となることは当業者にとって周知であるから、詳細な説明は省略する。   In video encoding processing, which has traditionally used CPUs and dedicated chips, in recent years the method of using a dedicated circuit on the GPU to speed up video encoding processing uses the GPU's general-purpose processing capabilities. A method for speeding up the encoding process of a moving image is used. Since it is well known to those skilled in the art that these GPU computing capabilities can be used for the encoding process of moving images, detailed description will be omitted. On the other hand, in 3D games, it is generally necessary to use a GPU for graphics processing. The GPU is originally a processor prepared for performing graphics processing, and since it is well known to those skilled in the art that it is necessary to use the GPU for 3D game execution, detailed description thereof is omitted.

処理の流れは、第1の実施の形態と略同じであるので、異なる点のみを説明する。   Since the processing flow is substantially the same as in the first embodiment, only the differences will be described.

図8に示されるように、本実施の形態では、動画のエンコード処理に計算リソースとしてGPUを利用するとゲームのフレームレートが27fpsまで低下し、ユーザがゲームを快適に行うことが難しいが、動画のエンコード処理にCPUを割り当てることで、ゲームのフレームレートを55fpsまで高めることができ、ユーザはより快適にゲームを行うことができる。但し、図8の例では、動画のエンコード処理に計算リソースとしてCPUを割り当てた場合、動画のエンコード処理に必要な時間が25分から70分に延長される。   As shown in FIG. 8, in this embodiment, when a GPU is used as a calculation resource for video encoding processing, the frame rate of the game is reduced to 27 fps, and it is difficult for the user to play the game comfortably. By assigning a CPU to the encoding process, the frame rate of the game can be increased to 55 fps, and the user can play the game more comfortably. However, in the example of FIG. 8, when a CPU is assigned as a calculation resource for moving image encoding processing, the time required for moving image encoding processing is extended from 25 minutes to 70 minutes.

図9は、本発明の第2の実施の形態における処理のフローチャートである。   FIG. 9 is a flowchart of processing in the second embodiment of the present invention.

ステップ200) リソース割当方法選択部120は、マシン1の利用形態に応じてリソース割当方法選択リスト記憶部180からリソース割当方法を選択する。   Step 200) The resource allocation method selection unit 120 selects a resource allocation method from the resource allocation method selection list storage unit 180 according to the usage mode of the machine 1.

ステップ210) ユーザの利用状況の変化、新たなリソース割当要求、または、重要性の高い固定的リソース割当通知が生じるまで待機し、生じた事象がリソース割当要求または、リソース割当通知である場合は、リソース割当意向確認部130は、リソース割当要求または、リソース割当通知を行ったタスクに対するユーザの好みのリソース割当の確認を行う。   Step 210) Wait until a change in user usage, a new resource allocation request, or a fixed resource allocation notification with high importance occurs, and if the event that occurred is a resource allocation request or resource allocation notification, The resource allocation intention confirmation unit 130 confirms the user's preferred resource allocation for the task that has issued the resource allocation request or the resource allocation notification.

ステップ220) リソース割当部140は、リソース利用状況情報記憶部170を参照して、対象のタスクの好みのリソースまたは割当通知先のリソースに十分な空きがあるかを判定する。空きがある場合はステップ230に移行し、ない場合はステップ240に移行する。   Step 220) The resource allocation unit 140 refers to the resource usage status information storage unit 170, and determines whether there is sufficient free space in the favorite resource of the target task or the allocation notification destination resource. If there is a vacancy, the process proceeds to step 230. If not, the process proceeds to step 240.

ステップ230) リソース割当部140は、タスクに好みの計算リソースを割り当て、次のリソース割当要求またはリソース割当通知を待機する。   Step 230) The resource allocation unit 140 allocates a preferred calculation resource to the task and waits for the next resource allocation request or resource allocation notification.

ステップ240) リソース割当部140は、リソースを利用している他のタスクの中で当該タスクとの相対的優先度において低いものがあるかを判定し、ある場合はステップ250に移行し、ない場合はステップ260に移行する。   Step 240) The resource allocation unit 140 determines whether there is any other task using the resource that has a low relative priority with the task. If there is, the process proceeds to Step 250. Goes to step 260.

ステップ250) リソース割当部140は、最も相対的優先度の低いタスクの割当リソースを当該リソース以外で最も空きのあるものに変更し、ステップ220に移行する。   Step 250) The resource allocation unit 140 changes the allocated resource of the task having the lowest relative priority to one having the most free resources other than the resource, and proceeds to Step 220.

ステップ260) リソース割当部140は、対象のタスクのリソース割当は変更可能かを判定し、変更可能であればステップ270に移行し、変更不可能である場合はステップ230に移行する。   Step 260) The resource allocation unit 140 determines whether the resource allocation of the target task can be changed. If the resource allocation can be changed, the process proceeds to Step 270. If the resource allocation cannot be changed, the process proceeds to Step 230.

ステップ270) リソース割当部140は、該当計算リソース以外で最も空きのある計算リソースを選択する。   Step 270) The resource allocation unit 140 selects the most available calculation resource other than the corresponding calculation resource.

ステップ280) リソース割当部140は、最も空きのある計算リソースを割り当て、次のリソース割当要求またはリソース割当通知を待機する。   Step 280) The resource allocation unit 140 allocates the most available calculation resource and waits for the next resource allocation request or resource allocation notification.

以下、上記のフローチャートに沿って具体的な処理を説明する。   Hereinafter, specific processing will be described along the above flowchart.

既に動画のエンコード処理を実行している途中において、ユーザがゲームタスクを起動し、ゲームのタスクの実行開始を試みるリソース割当要求を取得した場合、リソース割当意向確認部130は、当該利用状況におけるユーザの意向に応じた計算リソースを割り当て方法として、ゲームの処理速度を優先すると定義されていることを確認し(ステップ210)、リソース割当部140は、動画のエンコード処理のタスクをCPUで行うよう、動画のエンコード処理のタスクに対し、割り当てられる計算リソースをGPUからCPUに切り替える(ステップ230)。なお、異なる計算リソース間での計算リソースの切り替えに関して、プロセスマイグレーションのように、一次的な処理の中断などの制約があるものの計算リソースの切り替えは様々な方法で可能であることは当業者にとって周知であることから説明を省略する。一方で、当該利用状況において、ゲームのタスクの処理速度がユーザにとって相対的にそれほど重要でない場合(ステップ240,No)、動画エンコード処理のタスクに対する計算リソース割当を変更せずGPUを継続利用させる(ステップ260,No,ステップ230)ことで、動画エンコード処理の処理時間をCPUに割り当て変更した場合に比べ、相対的に短くすることができる。また、当該ゲームにGPUが割り当てられており、重要度が低いと判断された場合(相対的優先度が低いものがある)(ステップ240、Yes)、計算リソースをGPUからCPUに変更する(ステップ250)。   When a user starts a game task and acquires a resource allocation request to try to start executing a game task in the middle of executing a video encoding process, the resource allocation intention confirmation unit 130 Confirm that it is defined that the processing speed of the game is prioritized as a method of allocating the calculation resource according to the intention of (Step 210), and the resource allocation unit 140 performs the task of the encoding process of the video by the CPU, For the task of encoding the moving image, the allocated computing resource is switched from the GPU to the CPU (step 230). It is well known to those skilled in the art that regarding calculation resource switching between different calculation resources, although there are restrictions such as temporary interruption of processing, such as process migration, calculation resources can be switched by various methods. Therefore, the description is omitted. On the other hand, if the processing speed of the game task is not so important for the user in the usage situation (step 240, No), the GPU is continuously used without changing the calculation resource allocation for the task of the video encoding process ( (Step 260, No, Step 230), the processing time of the moving image encoding process can be made relatively shorter than when the assignment time is changed to the CPU. In addition, when a GPU is assigned to the game and it is determined that the importance is low (there is a low relative priority) (step 240, Yes), the computing resource is changed from the GPU to the CPU (step 250).

本実施の形態では、二つの異なる計算リソースを持つマシン上で二つの異なるタスクを実行し、その片方のタスクについて計算リソースの切り替えができない場合においても本発明を適用することを説明したが、3つ以上の計算リソースを持つマシンや、3つ以上のタスクが実行される場合であっても、一部のタスクの計算リソースの切り替えが可能である限り、当該第2の実施の形態と同様に実施可能であることは当然である。   In the present embodiment, it has been described that the present invention is applied even when two different tasks are executed on a machine having two different calculation resources and the calculation resource cannot be switched for one of the tasks. Even when a machine having more than one computing resource or three or more tasks are executed, as long as the computing resources of some tasks can be switched, the same as in the second embodiment Of course, it can be implemented.

なお、上記の第1、第2の実施の形態では、異なる複数の計算リソースとして、マシン1上に搭載されるCPUやGPUが利用する例を示したが、この例に限定されることなく、本発明で利用できる計算リソースとして、タスク処理を実行できる計算能力を持つ他のプロセッサやDSPなどを用いてもよく、仮想マシンなどの技術によって抽象化された計算リソースやリソース制御装置によって管理される同一でないマシン上に搭載される計算リソースであってもよい。   In the first and second embodiments described above, an example in which a CPU or GPU mounted on the machine 1 is used as a plurality of different calculation resources is not limited to this example. As a computing resource that can be used in the present invention, another processor or DSP having a computing ability capable of executing task processing may be used, and it is managed by a computing resource or a resource control device abstracted by a technology such as a virtual machine. It may be a computing resource mounted on a non-identical machine.

また、利用可能な計算リソースを分割してより小さな計算リソースとして割り当てを行ってもよい。   Further, the available calculation resources may be divided and allocated as smaller calculation resources.

リソース制御装置100は、計算リソース200と同一のマシン上で実行されるものではなく、図10に示すように、異なるマシンによってリソース制御を行い、計算リソースの割り当てを行ってもよい。また、リソース制御装置100は、単一のマシン上で実行される形態に限定されるものではなく、複数のマシン上でリソース装置を協調動作させてもよい。   The resource control apparatus 100 may not be executed on the same machine as the calculation resource 200, but may perform resource control by different machines and assign calculation resources as shown in FIG. Further, the resource control device 100 is not limited to a form that is executed on a single machine, and the resource devices may be operated cooperatively on a plurality of machines.

ユーザの意向に応じたタスクへのリソース割当方法は、ユーザが直接的に特定のタスクに対して特定の計算リソースの割当を指定する形態に限定されるものではなく、特定のタスクの処理速度を優先したい、画像編集に関わるタスクについては処理速度を優先したいなど、タスクの重要度(優先度)に対する抽象度の高いユーザの要求を入力として、その入力を具体的なリソースの割当方法に変換した上で利用してもよい。例えば、CPUとGPUを一基ずつ搭載した装置において、画像編集に関わるタスクと動画再生タスクはGPUでの処理の方が処理速度が高いとした場合を想定する。既に画像編集に関わるタスクがGPU上で処理されていて、ユーザは新たに動作再生タスクを、画像編集に関わるタスクより高い優先度で起動させた場合、リソース制御装置100が、画像編集に関わるタスクのAPIをフックし、CPU上での処理に切り替え、優先度の高い動画再生タスクをGPU上で処理する。   The method of allocating resources to tasks according to the user's intention is not limited to a mode in which a user directly assigns a specific calculation resource to a specific task. Priority is given to the task related to image editing, and the processing speed is given priority. For example, the user's request with a high level of abstraction with respect to the importance (priority) of the task is input and the input is converted into a specific resource allocation method. It may be used above. For example, in a device equipped with one CPU and one GPU, it is assumed that the processing speed of an image editing task and a video playback task is higher when processing with the GPU. When a task related to image editing has already been processed on the GPU, and the user newly activates an operation playback task with a higher priority than a task related to image editing, the resource control device 100 performs a task related to image editing. Hook the API, switch to processing on the CPU, and process high-priority video playback tasks on the GPU.

さらに、本発明におけるマシンの同時利用ユーザは1人に限定されるものではない。2人以上のユーザが同時に利用している場合には、特定の複数のユーザが利用する状況を利用状況の形態としてその状況、各ユーザの意向に応じて、各タスクへのリソースの割当を行ってもよい。   Furthermore, the number of simultaneous users of the machine in the present invention is not limited to one. When two or more users are using at the same time, the situation used by a plurality of specific users is used as a form of use situation, and resources are allocated to each task according to the situation and each user's intention. May be.

上記のように本発明では、ユーザの計算リソースの利用状況に応じた各タスクに対する計算リソースの割り当てのユーザの意向を入力とすることで、リソース制御装置が計算リソースの利用状況を管理し、ユーザの意向に沿ったリソース割当方法を確認した上で、各タスクが使用する計算リソースをユーザにより快適な形で振り分けることができる。   As described above, in the present invention, the resource control device manages the use status of the calculation resource by using the user's intention to assign the calculation resource to each task according to the use status of the user's calculation resource. After confirming the resource allocation method according to the intention, the computing resources used by each task can be distributed in a more comfortable manner to the user.

また、図2に示すリソース制御装置100の構成要素の動作をプログラムとして構築し、リソース制御装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることも可能である。   Also, the operations of the components of the resource control device 100 shown in FIG. 2 can be constructed as a program, installed in a computer used as the resource control device and executed, or distributed via a network.

また、構築されたプログラムを、CD-ROM、DVD-ROM、フラッシュメモリ等のコンピュータ読取可能な記録媒体に記録してもよい。   Further, the constructed program may be recorded on a computer-readable recording medium such as a CD-ROM, DVD-ROM, or flash memory.

本発明は上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications can be made within the scope of the claims.

1 マシン
10 ミドルウェア
20 リソース群
100 リソース制御装置
110 ユーザインタフェース部
120 リソース割当方法選択部
130 リソース割当意向確認部
140 リソース割当部
150 リソース利用管理部
160 リソース割当選択リスト記憶部
170 リソース利用状況情報記憶部
180 リソース割当方法リスト記憶部
200 計算リソース
1 machine 10 middleware 20 resource group 100 resource control device 110 user interface unit 120 resource allocation method selection unit 130 resource allocation intention confirmation unit 140 resource allocation unit 150 resource usage management unit 160 resource allocation selection list storage unit 170 resource usage status information storage unit 180 Resource allocation method list storage unit 200 Computing resource

Claims (7)

タスクを処理する異なる種類の複数の計算リソースを割り当てるリソース制御装置であって、
リソース割当方法を格納したリソース割当方法選択リスト記憶手段と、
計算リソースの利用状況情報を格納するリソース利用状況情報記憶手段と、
ユーザの意向が含まれるタスクのリソース割当要求が与えられると、該タスクを実行する装置の利用形態に応じて前記リソース割当方法選択リスト記憶手段からリソース割当方法を選択するリソース割当方法選択手段と、
前記リソース利用状況情報記憶手段を参照して前記リソース割当要求で指定された計算リソースの空きが優先度に従った閾値を超える場合には、該計算リソースを割り当て、該計算リソースの空きが優先度に従った閾値を下回る場合には、他の空きがある計算リソースを割り当てるリソース割当手段と、
を有することを特徴とするリソース制御装置。
A resource control device that allocates a plurality of different types of computing resources for processing tasks,
A resource allocation method selection list storage means storing the resource allocation method;
Resource usage status information storage means for storing usage status information of computing resources;
When a resource allocation request for a task including a user's intention is given, a resource allocation method selection unit that selects a resource allocation method from the resource allocation method selection list storage unit according to a usage mode of a device that executes the task;
If the calculation resource vacancy specified in the resource allocation request with reference to the resource usage status information storage means exceeds a threshold according to the priority, the calculation resource is allocated, and the calculation resource vacancy is a priority. Resource allocation means for allocating other computational resources that are free,
A resource control apparatus comprising:
タスクへのリソース割当情報が格納されたリソース割当選択リスト記憶手段と、
前記リソース割当方法選択手段で選択されたリソース割当方法に基づいて、ユーザの意向を確認する、または、前記リソース割当要求に応じて、前記リソース割当選択リスト記憶手段のタスクの優先度や、前記リソース利用状況情報記憶手段のリソースの利用状況に応じてタスクへのリソース割当情報を抽出するリソース割当意向確認手段を更に有し、
前記リソース割当手段は、
前記リソース割当意向確認手段において、選択されたリソース割当方法が、前記ユーザの意向に対応していない場合は、該ユーザの意向に対応するよう計算リソースを割り当てる手段を含む
請求項1記載のリソース制御装置。
A resource allocation selection list storage means storing resource allocation information for tasks;
Based on the resource allocation method selected by the resource allocation method selection unit, the user's intention is confirmed, or in response to the resource allocation request, the task priority of the resource allocation selection list storage unit, the resource It further comprises resource allocation intention confirmation means for extracting resource allocation information to the task according to the resource usage status of the usage status information storage means,
The resource allocation means includes:
The resource control according to claim 1, further comprising means for allocating a calculation resource so as to correspond to the user's intention when the selected resource allocation method does not correspond to the user's intention. apparatus.
前記リソース割当要求は、
ユーザによって設定されたタスクの重要度を含み、
前記リソース割当手段は、
前記タスクの重要度に応じて、タスク実行中のリソースを他のリソースに割り当てる、または、該タスク実行中のリソースを継続利用するかを判定する手段を含む
請求項1または2記載のリソース制御装置。
The resource allocation request is
Contains the importance of the task set by the user,
The resource allocation means includes:
The resource control device according to claim 1, further comprising means for allocating a resource during task execution to another resource or determining whether to continue using the resource during task execution according to the importance of the task. .
タスクを処理する異なる種類の複数の計算リソースを割り当てるリソース制御方法であって、
リソース割当方法を格納したリソース割当方法選択リスト記憶手段と、
計算リソースの利用状況情報を格納するリソース利用状況情報記憶手段と、
リソース割当選択リストが格納されたリソース割当選択リスト記憶手段と、
リソース割当方法選択手段と、リソース割当手段と、を有する装置において、
前記リソース割当方法選択手段が、ユーザの意向が含まれるタスクのリソース割当要求が与えられると、該タスクを実行する装置の利用形態に応じて前記リソース割当方法選択リスト記憶手段からリソース割当方法を選択するリソース割当方法選択ステップと、
前記リソース割当手段が、前記リソース利用状況情報記憶手段を参照して、前記リソース割当要求で指定された計算リソースの空きが優先度に従った閾値を超える場合には、該計算リソースを割り当て、該計算リソースの空きが優先度に従った閾値を下回る場合には、他の空きがある計算リソースを割り当てるリソース割当ステップと、
を行うことを特徴とするリソース制御方法。
A resource control method for allocating a plurality of different types of computing resources for processing tasks,
A resource allocation method selection list storage means storing the resource allocation method;
Resource usage status information storage means for storing usage status information of computing resources;
A resource allocation selection list storage means storing a resource allocation selection list;
In an apparatus having resource allocation method selection means and resource allocation means,
When the resource allocation method selection unit receives a resource allocation request for a task including the user's intention, the resource allocation method selection unit selects a resource allocation method from the resource allocation method selection list storage unit according to the usage mode of the device that executes the task. A resource allocation method selection step,
The resource allocation means refers to the resource usage status information storage means, and allocates the calculation resource when the calculation resource designated by the resource allocation request exceeds a threshold according to priority, A resource allocation step of allocating a calculation resource having another free space when the calculation resource free space falls below a threshold according to the priority;
The resource control method characterized by performing.
前記リソース割当方法選択ステップで選択されたリソース割当方法が、前記リソース割当選択リスト記憶手段に定義されているかを確認するリソース割当意向確認ステップを更に行い、
前記リソース割当ステップにおいて、
前記リソース割当意向確認ステップで選択されたリソース割当方法に基づいて、ユーザの意向を確認する、または、前記リソース割当要求に応じて、前記リソース割当選択リスト記憶手段のタスクの優先度や、前記リソース利用状況情報記憶手段のリソースの利用状況に応じてタスクへのリソース割当情報を抽出し、
前記リソース割当ステップにおいて、
前記リソース割当意向確認ステップで選択されたリソース割当方法が、前記ユーザの意向に対応していない場合は、該ユーザの意向に対応するよう計算リソースを割り当てる
請求項4記載のリソース制御方法。
A resource allocation intention confirmation step for confirming whether the resource allocation method selected in the resource allocation method selection step is defined in the resource allocation selection list storage means;
In the resource allocation step,
Based on the resource allocation method selected in the resource allocation intention confirmation step, the user's intention is confirmed, or in response to the resource allocation request, the task priority of the resource allocation selection list storage means, the resource Extract resource allocation information to the task according to the resource usage status of the usage status information storage means,
In the resource allocation step,
The resource control method according to claim 4, wherein when the resource allocation method selected in the resource allocation intention confirmation step does not correspond to the user's intention, the calculation resource is allocated to correspond to the user's intention.
前記リソース割当要求は、
ユーザによって設定されたタスクの重要度を含み、
前記リソース割当ステップにおいて、
前記タスクの重要度に応じて、タスク実行中のリソースを他のリソースに割り当てる、または、該タスク実行中のリソースを継続利用するかを判定する
請求項4または5記載のリソース制御方法。
The resource allocation request is
Contains the importance of the task set by the user,
In the resource allocation step,
6. The resource control method according to claim 4 or 5, wherein, depending on the importance of the task, it is determined whether to allocate a resource during task execution to another resource or to continue using the resource during task execution.
コンピュータを、
請求項1乃至3のいずれか1項に記載のリソース制御装置の各手段として機能させるためのリソース制御プログラム。
Computer
The resource control program for functioning as each means of the resource control apparatus of any one of Claims 1 thru | or 3.
JP2013153905A 2013-07-24 2013-07-24 Resource control device, method and program Pending JP2015026132A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013153905A JP2015026132A (en) 2013-07-24 2013-07-24 Resource control device, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013153905A JP2015026132A (en) 2013-07-24 2013-07-24 Resource control device, method and program

Publications (1)

Publication Number Publication Date
JP2015026132A true JP2015026132A (en) 2015-02-05

Family

ID=52490769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013153905A Pending JP2015026132A (en) 2013-07-24 2013-07-24 Resource control device, method and program

Country Status (1)

Country Link
JP (1) JP2015026132A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190739A (en) * 2019-12-31 2020-05-22 西安翔腾微电子科技有限公司 Resource allocation method and device, electronic equipment and storage medium
CN114217977A (en) * 2021-12-23 2022-03-22 北京百度网讯科技有限公司 Resource allocation method, device, equipment and storage medium
WO2022137838A1 (en) * 2020-12-25 2022-06-30 日本電気株式会社 Process allocation control device, process allocation control method, and recording medium storing process allocation control program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190739A (en) * 2019-12-31 2020-05-22 西安翔腾微电子科技有限公司 Resource allocation method and device, electronic equipment and storage medium
CN111190739B (en) * 2019-12-31 2023-09-01 西安翔腾微电子科技有限公司 Resource allocation method and device, electronic equipment and storage medium
WO2022137838A1 (en) * 2020-12-25 2022-06-30 日本電気株式会社 Process allocation control device, process allocation control method, and recording medium storing process allocation control program
CN114217977A (en) * 2021-12-23 2022-03-22 北京百度网讯科技有限公司 Resource allocation method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
US8793695B2 (en) Information processing device and information processing method
KR101644800B1 (en) Computing system and method
KR101651871B1 (en) Job Allocation Method on Multi-core System and Apparatus thereof
CN111176828A (en) System on chip comprising multi-core processor and task scheduling method thereof
JP2009258982A (en) Node device, program, and resource-allocating method
JP2009020692A (en) Task management device, task management method, and task management program
KR20070090649A (en) Apparatus and method for providing cooperative scheduling on multi-core system
KR20140145748A (en) Method for allocating process in multi core environment and apparatus therefor
CN108073457B (en) Layered resource management method, device and system of super-fusion infrastructure
JP6010975B2 (en) Job management apparatus, job management method, and program
JP2015026132A (en) Resource control device, method and program
JP6372262B2 (en) Printing apparatus and program
JP2018063505A (en) Memory management control unit, memory management control method and memory management control program
JPH012145A (en) Resource management method for virtual computer system
JP2016001417A (en) Calculator system
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
KR20170023280A (en) Multi-core system and Method for managing a shared cache in the same system
JP6007516B2 (en) Resource allocation system, resource allocation method, and resource allocation program
JP5867238B2 (en) Auto scaling method, auto scaling program and computer node
JP3664021B2 (en) Resource allocation method by service level
WO2014188642A1 (en) Scheduling system, scheduling method, and recording medium
JP2009237858A (en) Server task management program and server task management method
CN108885565B (en) Operating system support for gaming modes
JP2014078214A (en) Schedule system, schedule method, schedule program, and operating system
JP3893136B2 (en) Embedded computer control program, recording medium recording the program, and embedded system