JP2012230488A - Information processing device, scheduling method, and program - Google Patents
Information processing device, scheduling method, and program Download PDFInfo
- Publication number
- JP2012230488A JP2012230488A JP2011097289A JP2011097289A JP2012230488A JP 2012230488 A JP2012230488 A JP 2012230488A JP 2011097289 A JP2011097289 A JP 2011097289A JP 2011097289 A JP2011097289 A JP 2011097289A JP 2012230488 A JP2012230488 A JP 2012230488A
- Authority
- JP
- Japan
- Prior art keywords
- task
- specific task
- execution
- cpu
- information processing
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、情報処理装置、スケジューリング方法、プログラムに関する。 The present invention relates to an information processing apparatus, a scheduling method, and a program.
近年、リアルタイムOS(Operating System)で動作するソフトウェアの中には、1CPU(Central Processing Unit)環境下で動作する、タスクの優先度に依存したシーケンスを含むものがある。 In recent years, some software that operates in a real-time OS (Operating System) includes a sequence that operates in a 1 CPU (Central Processing Unit) environment and that depends on task priority.
ここで、1つのCPUを搭載したシングルプロセッサ型の情報処理装置において、1CPU環境下で動作する、タスクの優先度に依存したシーケンスを含むソフトウェアを実行する場合の動作について、図4を参照して説明する。 Here, with reference to FIG. 4, an operation when a single processor type information processing apparatus equipped with one CPU executes software including a sequence depending on task priority, which operates in a 1 CPU environment. explain.
なお、図4においては、プログラムには、タスクAとタスクBという2つのタスクが含まれるものとする。ここで、タスクAは、他のタスクとタイムシェアリングをして実行するタスクで優先度は低く、タスクBは、リアルタイムに実行するタスクで優先度は高いものであるとする。 In FIG. 4, it is assumed that the program includes two tasks, task A and task B. Here, it is assumed that task A is a task that is executed by sharing time with other tasks and has a low priority, and task B is a task that is executed in real time and has a high priority.
図4に示すように、CPU上で優先度が低いタスクAが実行状態にあり(ステップC1)、この状態で、タスクAが、優先度が高いタスクBを起床(wakeup)させたとする(ステップC2)。 As shown in FIG. 4, it is assumed that task A having a low priority is in an execution state on the CPU (step C1), and task A wakes up task B having a high priority in this state (step C1). C2).
この場合、優先度が高いタスクBにCPUが割り当てられ、CPU上ではタスクBが実行状態になる(ステップC3)。これに伴い、タスクAが実行待ち状態になる。 In this case, the CPU is assigned to the task B having a higher priority, and the task B enters an execution state on the CPU (step C3). As a result, task A enters an execution waiting state.
その後、タスクBの処理が終了し、タスクBが実行待ち状態になると(ステップC4)、実行待ち状態にあったタスクAにCPUが割り当てられ、CPU上ではタスクAが実行状態になる(ステップC5)。 Thereafter, when the processing of task B is completed and task B enters the execution waiting state (step C4), the CPU is assigned to task A that has been in the execution waiting state, and task A enters the execution state on the CPU (step C5). ).
このように、シングルプロセッサ型の情報処理装置においては、1CPU環境下で動作する、タスクの優先度に依存した構造のソフトウェアを実行する場合に、優先度が高いタスクBが実行状態にある間は、優先度が低いタスクAにCPUが割り当てられることはなく、タスクAは必ず実行待ち状態になる。 In this way, in a single processor type information processing apparatus, when executing software having a structure depending on the priority of a task that operates in a 1 CPU environment, while task B having a high priority is in an execution state, The CPU is not assigned to the task A having a low priority, and the task A is always in an execution waiting state.
しかしながら、ソフトウェアをダウンロードして使用する情報処理装置の場合、ソフトウェアの開発者が想定した情報処理装置の使用環境と、情報処理装置の実際の使用環境と、は必ずしも一致しない。 However, in the case of an information processing apparatus that downloads and uses software, the usage environment of the information processing apparatus assumed by the software developer does not necessarily match the actual usage environment of the information processing apparatus.
そのため、複数のCPUを搭載したマルチプロセッサ型の情報処理装置において、1CPU環境下で動作する、タスクの優先度に依存したシーケンスを含むソフトウェアを実行する場合もある。この場合の動作について、図5を参照して説明する。 For this reason, in a multiprocessor type information processing apparatus equipped with a plurality of CPUs, there is a case where software including a sequence depending on the priority of a task that operates in a 1 CPU environment is executed. The operation in this case will be described with reference to FIG.
なお、図5においては、プログラムには、図4と同様のタスクAとタスクBという2つのタスクが含まれ、情報処理装置には、CPU#1とCPU#2という2つのCPUが設けられているものとする。
In FIG. 5, the program includes two tasks, task A and task B, similar to those in FIG. 4, and the information processing apparatus is provided with two CPUs,
図5に示すように、CPU#1上で優先度が低いタスクAが実行状態にあり(ステップD1)、この状態で、タスクAが、優先度が高いタスクBを起床させたとする(ステップD2)。 As shown in FIG. 5, it is assumed that task A having a low priority is in an execution state on CPU # 1 (step D1), and task A wakes up task B having a high priority in this state (step D2). ).
この場合、CPU#1とは異なるCPU#2が空き状態にあるため、そのCPU#2が優先度が高いタスクBに割り当てられ、CPU#2上でタスクBが実行状態になる(ステップD3)。したがって、CPU#1上ではタスクAが実行状態のままである。
In this case, since
このように、マルチプロセッサ型の情報処理装置においては、1CPU環境下で動作する、タスクの優先度に依存したシーケンスを含むソフトウェアを実行する場合に、優先度が高いタスクBが実行状態にある間も、優先度が低いタスクAにCPUが割り当てられ、タスクAが実行されてしまうことがある。 As described above, in the multiprocessor type information processing apparatus, when the software including the sequence depending on the priority of the task that operates in the 1 CPU environment is executed, the task B having a high priority is in the execution state. However, the CPU may be assigned to task A having a low priority, and task A may be executed.
そうすると、上述したタスクの優先度に依存したシーケンスが、期待したシーケンスとはならず、ソフトウェアを正常に動作させることができない。 Then, the sequence depending on the task priority described above does not become the expected sequence, and the software cannot be operated normally.
なお、タスク(またはプロセス)の優先度に依存したシーケンスを含むソフトウェアを実行するマルチプロセッサ型の情報処理装置のその他の例としては、特許文献1,2に記載されたものがある。
Other examples of the multiprocessor type information processing apparatus that executes software including a sequence depending on the priority of a task (or process) are described in
特許文献1に記載のマルチプロセッサ型の情報処理装置においては、CPUは、自CPUがLAST CPUであれば、自CPU上で実行状態にあるプロセスが実行待ち状態にあるプロセスよりも優先度が低い場合、実行待ち状態にあるプロセスへの交換を行う。したがって、LAST CPUではないCPU上で実行状態にある優先度が低いプロセスが、優先度が高いプロセスが実行状態にある間に、実行されてしまうことがある。
In the multiprocessor type information processing apparatus described in
また、特許文献2に記載のマルチプロセッサ型の情報処理装置においては、実行待ち状態にあるタスクには、複数のCPUのうち、優先度が最低のタスクでかつ実行待ち状態にあるタスクの優先度と同等以下のタスクを実行しているCPUが割り当てられる。したがって、CPU上で実行状態にある優先度が低いタスクのうち優先度が最低のタスク以外のタスクが、優先度が高いタスクが実行状態にある間に、実行されてしまうことがある。
Further, in the multiprocessor type information processing apparatus described in
上述したように、関連するマルチプロセッサ型の情報処理装置においては、1CPU環境下で動作する、タスクの優先度に依存したシーケンスを含むソフトウェアを実行する場合に、優先度が高いタスクが実行状態にある間も、優先度が低いタスクが実行され、ソフトウェアを正常に動作させることができないという課題があった。 As described above, in a related multiprocessor type information processing apparatus, when executing software including a sequence that depends on the priority of a task that operates in a 1 CPU environment, a task with a high priority is in an execution state. For some time, tasks with low priority were executed, and there was a problem that software could not operate normally.
そこで、本発明の目的は、上述した課題を解決することができる情報処理装置、スケジューリング方法、プログラムを提供することにある。 Therefore, an object of the present invention is to provide an information processing apparatus, a scheduling method, and a program that can solve the above-described problems.
本発明の第1の情報処理装置は、
複数のプロセッサと、
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にするスケジューラと、を有する。
The first information processing apparatus of the present invention
Multiple processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task are in an execution wait state until the processing of the specific task ends. And a scheduler.
本発明の第2の情報処理装置は、
複数のプロセッサと、
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクと同一のタスクグループに属するタスクのうち前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にするスケジューラと、を有する。
The second information processing apparatus of the present invention
Multiple processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task among tasks belonging to the same task group as the specific task, And a scheduler that waits for execution until the processing of the specific task is completed.
本発明の第1のスケジューリング方法は、
複数のプロセッサを有する情報処理装置が行うスケジューリング方法であって、
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする。
The first scheduling method of the present invention includes:
A scheduling method performed by an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task are in an execution wait state until the processing of the specific task ends. To.
本発明の第2のスケジューリング方法は、
複数のプロセッサを有する情報処理装置が行うスケジューリング方法であって、
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクと同一のタスクグループに属するタスクのうち前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする。
The second scheduling method of the present invention includes:
A scheduling method performed by an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task among tasks belonging to the same task group as the specific task, Until the processing of the specific task is completed, it is put in a waiting state.
本発明の第1のプログラムは、
複数のプロセッサを有する情報処理装置に、
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする手順を実行させる。
The first program of the present invention is:
In an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task are in an execution wait state until the processing of the specific task ends. To execute the procedure.
本発明の第2のプログラムは、
複数のプロセッサを有する情報処理装置に、
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクと同一のタスクグループに属するタスクのうち前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする手順を実行させる。
The second program of the present invention is:
In an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task among tasks belonging to the same task group as the specific task, The process of waiting for execution is executed until the processing of the specific task is completed.
本発明によれば、マルチプロセッサ型の情報処理装置においても、1CPU環境下で動作する、タスクの優先度に依存したシーケンスを含むソフトウェアを正常に動作させることができるという効果が得られる。 According to the present invention, even in a multiprocessor type information processing apparatus, it is possible to normally operate software including a sequence depending on task priority, which operates under a 1 CPU environment.
以下に、本発明を実施するための形態について図面を参照して説明する。
(1)第1の実施形態
まず、本実施形態の情報処理装置の構成について、図1を参照して説明する。
EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated with reference to drawings.
(1) 1st Embodiment First, the structure of the information processing apparatus of this embodiment is demonstrated with reference to FIG.
図1に示すように、本実施形態の情報処理装置は、複数のCPU(#1〜#n)10−1〜10−nと、プロセッサ制御部20と、を有するマルチプロセッサ型の情報処理装置である。
As shown in FIG. 1, the information processing apparatus of this embodiment is a multiprocessor type information processing apparatus having a plurality of CPUs (# 1 to #n) 10-1 to 10-n and a
CPU(#1〜#n)10−1〜10−nは、タスクを実行するプロセッサである。 The CPUs (# 1 to #n) 10-1 to 10-n are processors that execute tasks.
プロセッサ制御部20は、OS30およびOS30上のスケジューラ40を実行する。
The
スケジューラ40は、CPU(#1〜#n)10−1〜10−nにタスクを割り当てるスケジューリングを行う。
The
このとき、スケジューラ40は、CPU(#1〜#n)10−1〜10−nのいずれかにおいて特定のタスクが実行状態になった場合、特定のタスクよりも優先度が低い他の全てのタスクを、特定のタスクの処理が終了するまで、強制的に実行待ち状態にする。
At this time, when a specific task is in an execution state in any of the CPUs (# 1 to #n) 10-1 to 10-n, the
ここで、特定のタスクとは、例えば、リアルタイムに実行するタスクなど、優先度が高いタスクのことをいう。 Here, the specific task refers to a task having a high priority, such as a task executed in real time.
以下、本実施形態の情報処理装置の動作について、図2を参照して説明する。 Hereinafter, the operation of the information processing apparatus of the present embodiment will be described with reference to FIG.
なお、図2においては、プログラムには、図4と同様のタスクAとタスクBという2つのタスクが含まれ、情報処理装置には、CPU(#1)10−1とCPU(#2)10−2という2つのCPUが設けられているものとする。 In FIG. 2, the program includes two tasks, task A and task B, similar to those in FIG. 4, and the information processing apparatus includes CPU (# 1) 10-1 and CPU (# 2) 10. It is assumed that two CPUs -2 are provided.
図2に示すように、CPU#1(10−1)上で優先度が低いタスクAが実行状態にあり(ステップA1)、この状態で、タスクAが、優先度が高いタスクBを起床させる命令を発行したとする(ステップA2)。 As shown in FIG. 2, task A having a low priority is in an execution state on CPU # 1 (10-1) (step A1). In this state, task A wakes up task B having a high priority. Assume that an instruction is issued (step A2).
この場合、スケジューラ40は、CPU#2(10−2)が空き状態にあるため、タスクBにCPU#2(10−2)を割り当て、CPU#2(10−2)上でタスクBを起床させる(ステップA3)。これにより、CPU#2(10−2)上ではタスクBが実行状態になる(ステップA4)。
In this case, since the CPU # 2 (10-2) is in an empty state, the
また、スケジューラ40は、タスクBが優先度が高いタスクであるため、CPU#1(10−1)上で実行状態にあったタスクAを強制的に実行待ち状態にする(ステップA5)。
Further, since the task B is a task with high priority, the
その後、タスクBの処理が終了し、タスクBが実行待ち状態になると(ステップA6)、スケジューラ40は、強制的に実行待ち状態にしたタスクAにCPU#1(10−1)を割り当て、CPU#1(10−1)上でタスクAを起床させる(ステップA7)。これにより、CPU#1(10−1)上ではタスクAが実行状態になる(ステップA8)。
Thereafter, when the processing of task B is completed and task B enters the execution waiting state (step A6),
上述のように本実施形態においては、スケジューラ40は、CPU(#1〜#n)10−1〜10−nのいずれかにおいて、優先度が高い特定のタスクが実行状態になった場合、特定のタスクよりも優先度が低い他の全てのタスクを、特定のタスクの処理が終了するまで、強制的に実行待ち状態にする。
As described above, in the present embodiment, the
そのため、例えば、図2の例においては、スケジューラ40は、優先度が高いタスクBが実行状態になった場合、タスクBよりも優先度が低いタスクAを、タスクBの処理が終了するまで、強制的に実行待ち状態にする。
Therefore, for example, in the example of FIG. 2, when the task B having a higher priority enters the execution state, the
したがって、優先度が高いタスクが実行状態にある間に、優先度が低いタスクが実行されることはないため、1CPU環境下で動作する、タスクの優先度に依存したシーケンスを含むソフトウェアであっても、正常に動作させることができるという効果が得られる。 Therefore, since a task with a low priority is not executed while a task with a high priority is in an execution state, the software includes a sequence depending on the priority of the task that operates in a 1 CPU environment. However, the effect of being able to operate normally is obtained.
なお、図2の例においては、優先度が高いタスクBを起床させる際に、空き状態のCPUが存在していたが、CPUの数やタスクの数によっては、空き状態のCPUが存在しない場合もある。その場合は、タスクBよりも優先度が低いタスクAを強制的に実行待ち状態にして、空き状態のCPUを作ってから、その空き状態のCPUをタスクBに割り当て、タスクBを起床させれば良い。
(2)第2の実施形態
上述した第1の実施形態においては、優先度が高い特定のタスクが実行状態になった場合、他の全てのタスクを強制的に実行待ち状態にしていた。
In the example of FIG. 2, when a task B having a high priority is woken up, there is a free CPU, but depending on the number of CPUs and the number of tasks, there is no free CPU. There is also. In that case, task A, which has a lower priority than task B, is forcibly placed in a waiting state, a free CPU is created, the free CPU is assigned to task B, and task B is woken up. It ’s fine.
(2) Second Embodiment In the above-described first embodiment, when a specific task having a high priority is in an execution state, all other tasks are forcibly placed in an execution wait state.
しかしながら、タスクは、タスクの種別などに応じてタスク集合(以下、タスクグループと称す)に分類されており、特定のタスクが実行状態になっている間に、特定のタスクとは異なるタスクグループに属するタスクを実行しても、問題ないケースもある。 However, the tasks are classified into task sets (hereinafter referred to as task groups) according to the task type and the like, and while a specific task is in an execution state, it is assigned to a task group different from the specific task. There are cases where there is no problem even if the task to which it belongs is executed.
そこで、本実施形態においては、スケジューラ40は、CPU(#1〜#n)10−1〜10−nのいずれかにおいて、特定のタスクが実行状態になった場合、特定のタスクと同一のタスクグループに属するタスクのうち特定のタスクよりも優先度が低い他の全てのタスクを、特定のタスクの処理が終了するまで、強制的に実行待ち状態にする。
Therefore, in the present embodiment, the
なお、本実施形態は、第1の実施形態と比較して、スケジューラ40の上述した動作が異なり、第1の実施形態と構成自体は同様である。
The present embodiment differs from the first embodiment in the above-described operation of the
以下、本実施形態の情報処理装置の動作について、図3を参照して説明する。 Hereinafter, the operation of the information processing apparatus of the present embodiment will be described with reference to FIG.
なお、図3においては、プログラムには、タスクAとタスクBとタスクCという3つのタスクが含まれ、タスクA,Bがタスクグループαに属し、タスクCがタスクグループβに属するものとする。ここで、タスクA,Cは、他のタスクとタイムシェアリングをして実行するタスクで優先度が低く、タスクBは、リアルタイムに実行するタスクで優先度は高いものであるとする。また、情報処理装置には、CPU(#1)10−1とCPU(#2)10−2という2つのCPUが設けられているものとする。 In FIG. 3, the program includes three tasks, task A, task B, and task C. Tasks A and B belong to task group α, and task C belongs to task group β. Here, it is assumed that the tasks A and C are tasks that are executed by time sharing with other tasks and have a low priority, and the task B is a task that is executed in real time and has a high priority. Further, it is assumed that the information processing apparatus includes two CPUs, CPU (# 1) 10-1 and CPU (# 2) 10-2.
図3に示すように、タスクグループβに属し優先度が低いタスクCがCPU#1(10−1)上で実行状態にあり(ステップB1)、この状態で、タスクCが、タスクグループαに属し優先度が低いタスクAを起床させる命令を発行したとする(ステップB2)。 As shown in FIG. 3, task C belonging to task group β and having a low priority is in an execution state on CPU # 1 (10-1) (step B1). In this state, task C is assigned to task group α. It is assumed that an instruction to wake up task A having a low belonging priority is issued (step B2).
この場合、スケジューラ40は、CPU#2(10−2)が空き状態にあるため、タスクAにCPU#2(10−2)を割り当て、CPU#2(10−2)上でタスクAを起床させる(ステップB3)。これにより、CPU#2(10−2)上ではタスクAが実行状態になる(ステップB4)。このとき、CPU#1(10−1)上ではタスクCが実行状態のままである。
In this case, since the CPU # 2 (10-2) is in an empty state, the
ここで、CPU#2(10−2)上で実行状態にあるタスクAが、優先度が高いタスクBを起床させる命令を発行したとする(ステップB5)。 Here, it is assumed that the task A in the execution state on the CPU # 2 (10-2) issues an instruction to wake up the task B having a high priority (step B5).
この場合、タスクBは優先度が高いタスクであり、タスクAとBは同一のタスクグループαに属するため、タスクBが実行状態になったら、タスクAは強制的に実行待ち状態にしなければならない。ただし、この時点で空き状態にあるCPUはない。 In this case, task B is a task with a high priority, and tasks A and B belong to the same task group α. Therefore, when task B enters an execution state, task A must be forcibly put into an execution wait state. . However, there is no free CPU at this time.
そこで、スケジューラ40は、CPU#2(10−2)上で実行状態にあったタスクAを強制的に実行待ち状態にし(ステップB6)、その後、タスクBにCPU#2(10−2)を割り当て、CPU#2(10−2)上でタスクBを起床させる(ステップB7)。これにより、CPU#2(10−2)上ではタスクBが実行状態になる(ステップB8)。このとき、CPU#1(10−1)上ではタスクCが実行状態のままである。
Therefore, the
その後、タスクBの処理が終了し、タスクBが実行待ち状態になると(ステップB9)、スケジューラ40は、強制的に実行待ち状態にしたタスクAにCPU#2(10−2)を割り当て、CPU#2(10−2)上でタスクAを起床させる(ステップB10)。これにより、CPU#2(10−2)上ではタスクAが実行状態になる(ステップB11)。
Thereafter, when the processing of task B is completed and task B enters a state of waiting for execution (step B9),
上述のように本実施形態においては、スケジューラ40は、CPU(#1〜#n)10−1〜10−nのいずれかにおいて、優先度が高い特定のタスクが実行状態になった場合、特定のタスクと同一のタスクグループに属するタスクのうち特定のタスクよりも優先度が低い他の全てのタスクを、特定のタスクの処理が終了するまで、強制的に実行待ち状態にする。
As described above, in the present embodiment, the
そのため、例えば、図3の例においては、スケジューラ40は、優先度が高いタスクBが実行状態になった場合、タスクBと同一のタスクグループに属しタスクBよりも優先度が低いタスクAのみを、タスクBの処理が終了するまで、強制的に実行待ち状態にする。
Therefore, for example, in the example of FIG. 3, when the task B having a higher priority is in an execution state, the
したがって、優先度が高いタスクが実行状態にある間に、そのタスクと同一のタスクグループに属する優先度が低いタスクが実行されることはないため、1CPU環境下で動作する、タスクの優先度に依存したシーケンスを含むソフトウェアであっても、正常に動作させることができるという効果が得られる。 Therefore, while a task with a high priority is in an execution state, a task with a low priority belonging to the same task group as that task is not executed. Even software including a dependent sequence can be operated normally.
なお、図3の例においては、優先度が高いタスクBを起床させる際に、空き状態のCPUが存在していなかったが、CPUの数やタスクの数によっては、空き状態のCPUが存在する場合もある。その場合は、空き状態のCPU上でタスクBを起床させてから、タスクBよりも優先度が低いタスクAを強制的に実行待ち状態にしても良い。 In the example of FIG. 3, when a task B having a high priority is woken up, there is no free CPU, but there is a free CPU depending on the number of CPUs and the number of tasks. In some cases. In this case, task B may be woken up on a free CPU, and then task A having a lower priority than task B may be forcibly placed in an execution wait state.
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
例えば、上記実施形態では、プロセッサ制御部20が、OS30やスケジューラ40を実行する例を挙げたが、CPU(#1〜#n)10−1〜10−nの何れかでOS30やスケジューラ40を実行してもよい。
For example, in the above embodiment, the
また、上記実施形態では、CPUの数が2個である場合の例を挙げたが、CPUの数はこれに限定されない。 Moreover, although the example in the case where the number of CPUs is two was given in the said embodiment, the number of CPUs is not limited to this.
また、本発明は、例えば、携帯電話機、スマートフォン、ゲーム機、タブレット型PC(Personal Computer)、ノート型PCなどのマルチプロセッサ型の情報処理装置に適用可能である。 The present invention is also applicable to multiprocessor information processing apparatuses such as mobile phones, smartphones, game machines, tablet PCs (Personal Computers), and notebook PCs.
また、本発明の情報処理装置にて行われる方法は、コンピュータに実行させるためのプログラムに適用してもよい。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。 The method performed by the information processing apparatus of the present invention may be applied to a program for causing a computer to execute. In addition, the program can be stored in a storage medium and can be provided to the outside via a network.
10−1〜10−n CPU
20 プロセッサ制御部
30 OS
40 スケジューラ
10-1 to 10-n CPU
20
40 scheduler
Claims (8)
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にするスケジューラと、を有する情報処理装置。 Multiple processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task are in an execution wait state until the processing of the specific task ends. An information processing apparatus.
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクと同一のタスクグループに属するタスクのうち前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にするスケジューラと、を有する情報処理装置。 Multiple processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task among tasks belonging to the same task group as the specific task, An information processing apparatus comprising: a scheduler that waits for execution until the processing of the specific task is completed.
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする、スケジューリング方法。 A scheduling method performed by an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task are in an execution wait state until the processing of the specific task ends. A scheduling method.
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクと同一のタスクグループに属するタスクのうち前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする、スケジューリング方法。 A scheduling method performed by an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task among tasks belonging to the same task group as the specific task, A scheduling method for waiting for execution until the processing of the specific task is completed.
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする手順を実行させるためのプログラム。 In an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task are in an execution wait state until the processing of the specific task ends. Program to execute the procedure to make.
前記複数のプロセッサのいずれかにおいて特定のタスクが実行状態になった場合、前記特定のタスクと同一のタスクグループに属するタスクのうち前記特定のタスクよりも優先度が低い他の全てのタスクを、前記特定のタスクの処理が終了するまで、実行待ち状態にする手順を実行させるためのプログラム。 In an information processing apparatus having a plurality of processors,
When a specific task is in an execution state in any of the plurality of processors, all other tasks having a lower priority than the specific task among tasks belonging to the same task group as the specific task, A program for executing a procedure of waiting for execution until the processing of the specific task is completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011097289A JP2012230488A (en) | 2011-04-25 | 2011-04-25 | Information processing device, scheduling method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011097289A JP2012230488A (en) | 2011-04-25 | 2011-04-25 | Information processing device, scheduling method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012230488A true JP2012230488A (en) | 2012-11-22 |
Family
ID=47431997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011097289A Withdrawn JP2012230488A (en) | 2011-04-25 | 2011-04-25 | Information processing device, scheduling method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012230488A (en) |
-
2011
- 2011-04-25 JP JP2011097289A patent/JP2012230488A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5658365B2 (en) | Method, system and program for high throughput computing in a hybrid computing environment | |
US9946563B2 (en) | Batch scheduler management of virtual machines | |
US9396028B2 (en) | Scheduling workloads and making provision decisions of computer resources in a computing environment | |
Chen et al. | Accelerating mapreduce on a coupled cpu-gpu architecture | |
US9772879B2 (en) | System and method for isolating I/O execution via compiler and OS support | |
US9858115B2 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium | |
KR101332840B1 (en) | Cluster system, Host node, Computing node, and application execution method based on parallel computing framework | |
WO2019218708A1 (en) | Task processing method and device, and computer system | |
Xu et al. | Adaptive task scheduling strategy based on dynamic workload adjustment for heterogeneous Hadoop clusters | |
WO2012028213A1 (en) | Re-scheduling workload in a hybrid computing environment | |
US20120066688A1 (en) | Processor thread load balancing manager | |
US9201823B2 (en) | Pessimistic interrupt affinity for devices | |
US9959134B2 (en) | Request processing using VM functions | |
US9003094B2 (en) | Optimistic interrupt affinity for devices | |
US20140181811A1 (en) | Hypervisor modification of advanced configuration and power interface (acpi) tables | |
Margiolas et al. | Portable and transparent software managed scheduling on accelerators for fair resource sharing | |
WO2018040845A1 (en) | Method and apparatus for scheduling computing resource | |
Goswami et al. | Landrush: Rethinking in-situ analysis for gpgpu workflows | |
US8977752B2 (en) | Event-based dynamic resource provisioning | |
CN112860396B (en) | GPU scheduling method and system based on distributed deep learning | |
US20140237017A1 (en) | Extending distributed computing systems to legacy programs | |
WO2023165318A1 (en) | Resource processing system and method | |
CN116360941A (en) | Multi-core DSP-oriented parallel computing resource organization scheduling method and system | |
JP2012230488A (en) | Information processing device, scheduling method, and program | |
Hsu et al. | Performance benchmarking and auto-tuning for scientific applications on virtual cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140701 |