JP2007026095A - 並列演算装置 - Google Patents
並列演算装置 Download PDFInfo
- Publication number
- JP2007026095A JP2007026095A JP2005207413A JP2005207413A JP2007026095A JP 2007026095 A JP2007026095 A JP 2007026095A JP 2005207413 A JP2005207413 A JP 2005207413A JP 2005207413 A JP2005207413 A JP 2005207413A JP 2007026095 A JP2007026095 A JP 2007026095A
- Authority
- JP
- Japan
- Prior art keywords
- task
- processing
- processor
- mode
- time
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】 メインプロセッサは、時間の設定を受け付けてサブプロセッサからの処理完了通知を所定時間抑止する通知制御部を備え、サブプロセッサへ処理の開始を指示すると、優先度の異なるタスクを処理するよう処理タスクを切り替えるとともに通知制御部に所定時間を設定することで、サブプロセッサの処理時間にかかわらず、少なくとも所定時間は優先度の異なるタスクを処理することができ、優先度の異なるタスクを、リアルタイム性を確保しつつ処理することができる。
【選択図】図1
Description
特に、リアルタイム性を要求される処理を実行する場合においては、並列演算装置は、逐次生成される複数のタスクを、リアルタイム性を維持するために高速で処理することが要求されるため、この場合において専用プロセッサを備えることによる演算の高速化の効果は極めて大きい。
なぜなら、上述の構成における汎用プロセッサは、第1種タスクの処理を、第2種タスクよりも高い優先度で実行しており、また、第1種タスクの特定の処理を専用プロセッサに行わせている間に第2種タスクを汎用プロセッサによって処理し、専用プロセッサが処理を終えて出力した実行完了の通知を受け付けると再び第1種タスクを優先して処理することとしているため、汎用プロセッサにおける第2種タスクの処理時間が、第1種タスクの特定の処理を専用プロセッサによって実行させている時間に依存するからである。
したがって、所定時間が経過する前に第2種タスクのうちの、あるタスクの処理が完了していれば、処理が完了した時点から他の第2種タスクの処理を実行開始させることができ、処理を要する第2種タスクが何ら存在しなければ第1種タスクの処理の実行も開始させることができるので、リアルタイム性を確保するためのタスク切り替えを行いつつ、従来の、所定のタイムスライスで切り替えるタスクスケジューリング方式と比べて、プロセッサの利用率およびタスク処理効率を向上させ得る。
したがって、例えば第1プロセッサにおいて実行した処理と、リアルタイム性を確保するのに必要な第2種タスクの処理時間とに関連がある場合において、第2種タスクの処理時間を必要な時間だけ確保することができる。
これにより、第2モードの適用後、第1モードの適用を抑止する期間が固定されるので、抑止する期間を算出する処理を省くことができる。
また、前記第1プロセッサは、前記第1モードが適用されている適用期間を計測する計測手段を備え、前記タスク切り替え制御手段は、前記指示を行うときまで適用していた前記適用期間に応じて前記所定時間を決定することとしてもよい。
したがって、例えば、第1種タスクの処理時間に応じてリアルタイム性を維持するために必要な第2種タスクの処理時間が変動する場合において、第1プロセッサにおける第1種タスクの処理時間が変動したとしても、その変動に応じて、第2種タスクの処理に必要な処理時間を確保して所定時間を決定することができる。
これにより、第1プロセッサにおいて、第1種タスクの処理を行っている時間と第2種タスクの処理を行っている時間とを一定の比率にしてタスクの処理を行うので、予め第1種タスクの処理量と第2種タスクの処理量との比率が判明している場合等において、第1プロセッサにおけるタスク切り替えを従来より適切に行い得る。
これにより、第2プロセッサへの指示が第2プロセッサによって受け付けられるのを遅延させる遅延時間が固定されるので、遅延時間の算出に要する処理を省くことが出来る。
遅延時間は、リアルタイム性を確保するために第2種タスクの実行に要する時間と、第2プロセッサにおける第2の処理の実行時間との差分だけ設定することが望ましいが、例えば、第2種タスクを実行するのに必要な処理時間が判明しており、さらに、第2プロセッサによる第2の処理の実行に要する時間の変動が小さい場合においては、上述のように遅延時間を固定としてもリアルタイム性を確保したタスク処理を実行でき、並列演算装置の性能をより向上させることができる。
したがって、例えば、第1種タスクの処理時間に応じてリアルタイム性を維持するために必要な第2種タスクの処理時間が変動する場合において、第1プロセッサにおける第1種タスクの処理時間が変動したとしても、その変動に応じて、第2種タスクの処理に必要な処理時間を確保して遅延時間を決定することができる。
また、第1プロセッサと、前記第1プロセッサの指示を受け付けて処理を実行しその実行完了を通知する第2プロセッサとからなり、逐次生成される複数のタスクを時分割で処理する並列演算装置のタスク切り替え方法であって、前記タスク切り替え方法は、前記第1プロセッサにおいて、第1の処理を行った後に第2の処理を前記第2プロセッサによって開始させる第1種タスクを、優先して処理する第1モードと、自プロセッサでのみ処理する第2種タスクがあるときに前記第1種タスクの有無にかかわらず前記第2種タスクを処理する第2モードとを選択的に適用して処理タスクを切り替えるタスク切り替え制御ステップを含み、前記タスク切り替え制御ステップは、前記第1種タスクを実行して前記第2プロセッサに前記第2の処理を開始させる指示を行うと、前記第2モードの適用を開始し、前記第2モードを適用してから少なくとも所定時間が経過するまで前記第1モードの適用を抑止し、前記第2の処理が完了し、かつ、前記所定時間が経過すると、前記第1モードの適用を開始することとしてもよい。
また、上述した並列演算装置または上述したタスク切り替え方法のいずれかを用いた情報処理装置であってもよい。
以下、本発明の実施の形態にかかる並列演算装置について図面を用いて説明する。
<構成>
本発明にかかる並列演算装置は、処理全体を管理するメインプロセッサ(以下、「MP」と言う。)と、MPからの指示に基づいて特定の処理を実行するサブプロセッサ(以下、「SP」と言う。)とからなる。
同図に示すように、並列演算装置は、MP100と、SP500とからなり、MP100は、処理要求出力部11と、完了通知受付部12と、通知制御部13と、制御部14と、処理時間計測部15とを含む演算装置である。
処理要求出力部11は、制御部14の指示に従って、SP500に、特定の処理を開始させるための所定の信号である処理要求を出力する。
通知制御部13は、ダウンカウンタを備え、SP500から出力された完了通知を受け付けるとともに、制御部14による時間の設定の指示を受け付けて、所定時間の間、SP500から出力された完了通知が完了通知受付部12によって受け付けられるのを抑止する回路である。例えば、AND回路を用いて、SP500から完了通知を受け付けたことを示す信号と、制御部14がダウンカウンタに設定した時間が経過したことを示す信号とがともに有効であるときに、所定の信号を完了通知受付部12へ出力する。
例えば、完了通知受付部12が出力した信号を受け付けた時点を開始時点とし、制御部14による処理要求出力の指示があった時点を終了時点として計測する。計測された開始時点と終了時点との差分を、制御部14において第1種タスクが処理された時間として制御部14へ出力する。
<動作>
次に、並列演算装置が行う処理について図面を用いて説明する。
図2は、SP500が行う処理を示すフローチャートである。
SP500は、MP100から出力された処理要求を受け付けると(ステップS21:YES)、特定の処理の実行を開始し(ステップS22)、実行を終えると、完了通知をMP100へ出力する(ステップS23)。以後、処理要求を受け付ける毎に(ステップS21)、所定の処理を実行する(ステップS22、S23)。
図3は、MP100の制御部14が行う処理を示すフローチャートである。
制御部14は、第1種タスクの優先度を他のタスクより高くしてタスクの処理を実行する(ステップS31)。第1種タスクの処理を実行しているときに、SP500による特定の処理の実行が必要になると、SP500へ処理要求を出力するよう処理要求出力部11に指示する(ステップS32)。このとき、SP500から出力される完了通知が完了通知受付部12によって受け付けられるのを抑止する時間を決定し、決定した時間の設定を通知制御部13に行う(ステップS33)。通知制御部13の処理および設定する時間を決定する処理については後述する。
図4は、通知制御部13が行う処理を示すフローチャートである。
通知制御部13は、制御部14から時間の設定を受け付けると、自身の備えるダウンカウンタに所定時間を設定する(ステップS41:YES)。
SP500から完了通知を受け付けた場合であっても、ダウンカウンタに設定した所定時間が経過していない間は完了通知受付部12によって完了通知が受け付けられないよう完了通知の出力を抑止し(ステップS42:NO)、ダウンカウンタに設定した所定時間が経過した後は、既にSP500から完了通知を受け付けている場合は(ステップS42:YES)直ちに完了通知を完了通知受付部12へ出力し(ステップS43)、SP500から完了通知を受け付けていなければ、完了通知を受け付け次第(ステップS42:YES)、完了通知受付部12へ完了通知を出力する(ステップS43)。
<所定時間決定処理>
図3のステップS33においては、制御部14は、通知制御部13に対して所定時間の設定を行うが、この所定時間を決定する方法について説明する。
制御部14は、処理要求出力部11へ処理要求を出力するよう指示を行うと(ステップS51)、当該指示を終了時点として処理時間計測部15によって計測され、制御部14へ出力された第1種タスクの処理時間をRAMに保持し(ステップS52)、保持した第1種タスクの処理時間に応じて、通知制御部13に設定する所定時間を決定する(ステップS53)。所定時間を決定すると、決定した所定時間を通知制御部13に設定する(ステップS54)。
また、ステップS53において、通知制御部13に設定する所定時間は、固定値としてもよい。例えば、第1種タスクの処理に要する演算量と第2種タスクの処理に要する演算量との比が判明しており、MP100において第1種タスクの処理時間の変動が顕著でない場合においては、所定時間を固定値とすることで、所定時間を決定する処理を省くことができ、これにより、MP100で行う演算量を減らすことができるからである。
図6は、MP100において、処理が実行されるタスクの変遷を示した図である。
同図においては、MP100で処理されるタスクのうち、A1、A2、・・・で示されるタスクAを第1種タスクとし、タスクA以外のタスクを第2種タスクとする。すなわち、B1、B2、・・・で示されるタスクBや、タスクCは第2種タスクである。タスクA、タスクBは、リアルタイム性を要する処理を行うタスクとする。
同図に示した例で説明すると、MP100は、タスクA1の処理を実行し、SP500へ処理要求を出力すると、処理するタスクを切り替えてタスクB1の処理を実行する。このとき、通知制御部13に所定時間の設定を行う。処理要求を受け付けてSP500においてタスクX1の処理の実行が開始され、通知制御部13に設定された所定時間が経過する前にその処理が完了した場合は、所定時間が経過するまで完了通知の出力が通知制御部13によって抑止される。
タスクB2は、所定時間が経過するより前にMP100において処理が完了している。また、SP500は、MP100から出力された処理要求を受け付けてタスクX2の処理を開始するが、同図に示した場合のように、SP500におけるタスクX2の処理時間が、決定した所定時間よりも長引く場合がある。
これにより、本発明の並列演算装置は、SP500におけるタスクXの処理時間が所定時間より短い場合はMP100におけるタスクBの処理時間を少なくとも所定時間は確保し、また、SP500におけるタスクXの処理時間が所定時間よりも長い場合は、MP100は、SP500から出力される完了通知を受け付けるまでの間、タスクBの処理を実行できるとともに、タスクBの処理が完了していれば、他のタスクの処理を実行することもできるので、予め定められたタイムスライスごとにタスクAとタスクBの処理を実行する場合に比べて、MP100において実行する演算量をより増加させ得る。
<実施の形態2>
次に、本発明の別の実施形態について、実施の形態1との相違点を主眼に置きつつ説明する。なお、実施の形態1と同一の構成で同一の動作を行う部分については説明を省略する。実施の形態2においては、MPは、完了通知を受け付けると、タスクの優先度に従って第1種タスクの実行を開始する。
図7は、本発明の実施の形態2にかかる並列演算装置の機能ブロック図である。
同図に示すように、実施の形態2にかかる並列演算装置は、MP110と、SP500とからなり、MP110は、優先度制御部16を含む。
制御部14は、SP500へ処理要求を出力する指示を行う際に、優先度制御部16に対し、処理するタスクの優先度を切り替える時間の設定を行う。また、設定した時間についての情報は、優先度制御部16の他に処理時間計測部15へも出力する。
例えば、制御部14がSP500へ処理要求を出力するよう指示した後に、制御部14によって設定された所定時間が経過する前にSP500からの完了通知を受け付けた場合は所定時間が経過した時点を開始時点とし、また、制御部14によって設定された所定時間が経過した後でSP500からの完了通知を受け付けた場合はその完了通知を受け付けた時点を開始時点とする。そして、制御部14が第1種タスクの処理を実行して処理要求を出力した時点を終了時点とする。
<動作>
次に、実施の形態2の並列演算装置が行う処理について説明する。
<優先度制御部16の処理>
図8は、優先度制御部16が優先度を切り替える処理を示すフローチャートである。
<制御部14の処理>
図9は、実施の形態2における制御部14が優先度に従ってタスクの処理を実行する動作を示すフローチャートである。
なお、優先度制御部16に設定する所定時間の決定方法については、実施の形態1と同様に、処理時間計測部15によって計測された第1種タスクの処理時間をもとに、第1種タスクの処理時間と所定時間とが一定比率となるように所定時間を決定することとする。
上述した実施の形態2にかかる並列演算装置のMP110において処理されるタスクがどのように切り替わるかについて図を用いて補足説明する。
図10は、MP110において、処理が実行されるタスクの変遷を示した図である。
実施の形態1で説明したように、MP110で処理されるタスクのうち、タスクAを第1種タスクとし、タスクA以外のタスクを第2種タスクとする。SP500で処理されるタスクは、タスクXであるとする。タスクA、タスクBはリアルタイム性を要する処理を行うタスクとし、MP110は、SP500から完了通知を受け付けると、優先度に従って、第1種タスクの実行を開始する。
優先度制御部16による優先度の切り替え制御によって、第2種タスクを優先して実行するようMP110において処理するタスクの優先度が切り替えられると、MP110は、タスクB1を実行する。処理要求出力後、所定時間が経過するまでは、第2種タスクを優先して実行するので、MP110は、所定時間経過前にタスクA2が生成されたとしても、タスクB1を所定時間実行した後にタスクA2の実行を開始する。
<実施の形態3>
次に、本発明の別の実施形態について、実施の形態1との相違点を主眼に置きつつ説明する。なお、実施の形態1と同一構成で同一の動作を行う部分については説明を省略する。
図11は、本発明の実施の形態3にかかる並列演算装置の機能ブロック図である。
同図に示すように、実施の形態3にかかる並列演算装置は、MP120とSP500とからなり、処理要求遅延部17を備える。
制御部14は、処理要求出力部11に処理要求を出力するよう指示する際に、処理要求遅延部17に対して時間の設定を行う。また、設定した時間についての情報は、処理要求遅延部17の他に処理時間計測部15へも出力する。
処理要求遅延部17は、ダウンカウンタを備え、処理要求出力部11から出力された処理要求を受け付けるとともに、制御部14による時間の設定の指示を受け付けて、所定時間の間、処理要求出力部11から出力された処理要求がSP500によって受け付けられるのを抑止する回路である。設定された時間が経過すると、処理要求をSP500へ出力し、出力した後は、再び時間の設定が行われて所定時間が経過するまで処理要求の出力を抑止する。
次に、並列演算装置が行う処理について図面を用いて説明する。
<MP120の処理>
図12は、実施の形態3における制御部14が行う処理を示すフローチャートである。
制御部14は、第1種タスクの優先度を他のタスクより高くしてタスクの処理を実行する(ステップS121)。第1種タスクの処理を実行しているときに、SP500による特定の処理の実行が必要になると、処理要求遅延部17によって処理要求がSP500によって受け付けられるのを遅延させる時間を決定し、決定した時間の設定を処理要求遅延部17に行い(ステップS122)、時間の設定を行うと、処理要求を出力するよう処理要求出力部11に指示する(ステップS123)。設定する時間を決定する処理については後述する。
図13は、処理要求遅延部17が行う処理を示すフローチャートである。
処理要求遅延部17は、制御部14から所定時間の設定を受け付けると、自身の備えるダウンカウンタに所定時間を設定する(ステップS131:YES)。処理要求を受け付けて、ダウンカウンタに設定された所定時間が経過すると、処理要求をSP500へ出力する(ステップS132)。
図12のステップS122においては、制御部14は、処理要求遅延部17に対して所定時間の設定を行うが、この際の、所定時間を決定する方法について説明する。
図14は、制御部14が、処理要求遅延部17に設定する所定時間を決定する処理を示すフローチャートである。
このようにして、制御部14は、第1種タスクの処理時間をもとに、制御部14において第2種タスク占有目標時間を決定し、決定した第2種タスク占有目標時間に基づいて所定時間を決定し、さらに、SP500の処理時間の変動があった場合でも、推定したSP処理時間をもとに、所定時間をより正確に決定することができる。
図15は、MP120において、処理が実行されるタスクの変遷を示した図である。
実施の形態1で説明したように、MP120で処理されるタスクのうち、タスクAを第1種タスクとし、タスクA以外のタスクを第2種タスクとする。SP500で処理されるタスクは、タスクXであるとする。
また、MP120およびSP500における各タスクの処理時間を、例えばタスクA1の処理時間はTA1、タスクA2の処理時間はTA2、・・・と表記する。タスクXについても、TX1、TX2、・・・とする。
また、処理要求遅延部17に設定する所定時間については、タスクA1を実行して処理要求を出力する際に設定する遅延時間はTd1、タスクA2を実行して処理要求を出力する際に設定する遅延時間はTd2、・・・とする。
MP120は、タスクA2の処理を実行してSP500へ処理要求を出力する際に、タスクA2のMP120における処理時間TA2をもとに、第2種タスク占有目標時間TB2を決定する。TB2を決定すると、Txに代えて処理時間計測部15によって推定されたTX1を用いて、Td2を、Td2=TB1−TX1によって求め、求めたTd2を所定時間として決定する。
<補足>
以上のように本発明の実施の形態について説明してきたが、本発明は、上述の実施形態に限られない。以下の場合も本発明に含まれる。
(1)実施の形態1においては、通知制御部13は、MP100の一部として説明したが、これに限らず、MP100の外部に備えることとしてもよい。
また、実施の形態3においては、処理要求遅延部17は、MP120の一部として説明したが、これに限らず、MP120の外部に備えることとしてもよい。
(2)上述の実施の形態においては、処理時間計測部15は、MP100、MP110、MP120の一部として説明したが、これに限らず、MP100、MP110、MP120の外部に備えることとしてもよい。
(3)実施の形態2においては、優先度制御部16は、制御部14とは別の構成とし、制御部14とは別に処理を行うこととして説明しているが、これにかえて、制御部14によって優先度制御部16の行う処理を実行することとしてもよい。
(4)実施の形態3においては、処理要求遅延部17に設定する所定時間は、第2種タスク占有目標時間と、SP処理時間との差分としているが、これに限らず、所定の固定値としてもよい。
(5)実施の形態1においては、処理要求を出力する毎に、第1種タスクの処理時間に応じて通知制御部13に設定する所定時間を決定することとしているが、これに限らず、複数回にわたる第1種タスクの処理時間をもとにして通知制御部13に設定する所定時間を決定することとしてもよい。
また、実施の形態3においては、処理要求を出力する毎に、処理時間計測部15によって推定されたSP処理時間を用いて処理要求遅延部17に設定する所定時間を決定することとしているが、これに限らず、複数回にわたるSP処理時間の推定値をもとに所定時間を決定することとしてもよい。
(6)実施の形態1および3では、通知制御部13や処理要求遅延部17によって、SPから出力される完了通知をMPが受け付けるタイミングを制御していたが、これに限らず、SP上のソフトウェアを用いて完了通知を出力するタイミングを制御することとしてもよい。
(7)上述の実施の形態においては、SP500は、ME処理等の、演算処理の高速化を目的とした専用プロセッサであるとして説明しているが、これに限らず、DMA(Direct Memory Access)でのデータ転送処理など、MPによる処理依頼によって処理を開始するプロセッサ全般に適用可能である。例えば、通信処理や、データの多重化処理、多重分離処理や、転送処理、解析処理などを外部の処理装置によって行わせる場合にも適用可能である。
(8)実施の形態1においては、通知制御部13に設定した時間が経過するまでは、MP100において第2種タスクの処理が完了している場合であってもMP100への完了通知の出力を抑止することとしているが、これに限らず、MP100において第2種タスクの処理が完了した場合は、通知制御部13による処理を停止させることとしてもよい。
(9)上述の実施の形態においては、SPは1つとして説明してきたが、これに限らず、SPが複数存在していてもよい。例えば、全てのSPが処理を終えたときに、完了通知をMPへ出力することで本発明を適用できる。
(10)実施形態3においては、MPがSPへ処理要求を出力する際に、処理要求がSPによって受け付けられるのを所定時間遅延させることとしていたが、これに限らず、SPによって出力された処理完了通知がMPによって受け付けられるのを所定時間だけ遅延させることとしてもよい。例えば、ダウンカウンタを備え、SP500から出力された完了通知を受け付けるとともに、制御部14による時間の設定の指示を受け付けて、完了通知を受け付けてから所定時間の間、完了通知受付部12が完了通知を受け付けるのを遅延させ、完了通知を受け付けてから所定時間が経過すると完了通知を完了通知受付部12へ出力する回路である完了通知遅延部を、SP500と完了通知受付部12との間に設けることで実現できる。
(11)実施の形態1および実施の形態2では、図6および図10を用いて、並列演算装置において処理が実行されるタスクの変遷について説明したが、タスクB、タスクCがラウンドロビンで定期的に切り替わる場合は、タスクBが終了しなくとも、切り替わりタイミングに来たときにタスクCに切り替わる。(12)本発明は、上記に示すタスク切り替え方法であるとしてもよい。
(13)上記実施の形態および上記変形例をそれぞれ組み合わせるとしてもよい。
(14)上述の並列演算装置または上述のタスク切り替え方法を用いた情報処理装置も、本発明に含まれる。
12 完了通知受付部
13 通知制御部
14 制御部
15 処理時間計測部
16 優先度制御部
17 処理要求遅延部
100 MP
110 MP
120 MP
500 SP
Claims (13)
- 第1プロセッサと、前記第1プロセッサの指示を受け付けて処理を実行しその実行完了を通知する第2プロセッサとからなり、逐次生成される複数のタスクを時分割で処理する並列演算装置であって、
前記第1プロセッサは、
第1の処理を行った後に第2の処理を前記第2プロセッサによって開始させる第1種タスクを優先して処理する第1モードと、自プロセッサでのみ処理する第2種タスクがあるときに前記第1種タスクの有無にかかわらず前記第2種タスクを処理する第2モードと、を選択的に適用して処理タスクを切り替えるタスク切り替え制御手段を備え、
前記タスク切り替え制御手段は、
前記第1種タスクを実行して前記第2プロセッサに前記第2の処理を開始させる指示を行うと、前記第2モードの適用を開始し、前記第2モードを適用してから少なくとも所定時間が経過するまで前記第1モードの適用を抑止し、前記第2の処理が完了し、かつ、前記所定時間が経過すると、前記第1モードの適用を開始する
ことを特徴とする並列演算装置。 - 前記タスク切り替え制御手段は、
前記所定時間の設定を受け付けて、設定された時間が経過するまで前記実行完了の通知が前記第1プロセッサによって受け付けられるのを抑止し、前記設定された時間が経過すると、前記抑止を解除する通知制御部を含み、
前記タスク切り替え制御手段は、
前記第2モードの適用を開始した後に前記実行完了の通知を受け付けると前記第1モードの適用を開始し、前記指示を行うと、前記通知制御部に所定時間を設定するとともに前記第2モードの適用を開始し、当該所定時間が経過するまでは前記通知制御部によって前記抑止を行って前記第1モードの適用を抑止する
ことを特徴とする請求項1記載の並列演算装置。 - 前記タスク切り替え制御手段は、さらに、
前記第1プロセッサにおいて処理するタスクの優先度を制御する優先度制御部を含み、
前記タスク切り替え制御手段は、
前記第2モードの適用を開始した後に前記実行完了の通知を受け付けるとタスクの優先度に従って第1種タスクの処理を開始し、前記指示を行うと、前記優先度制御部によって前記第2種タスクの優先度を前記第1種タスクよりも高くしてタスクの処理を行うことで前記第2モードの適用を開始し、前記第2モードを適用してから前記所定時間が経過するまでは前記第2種タスクの優先度を第1種タスクよりも高くして前記第1モードの適用を抑止し、前記所定時間経過後は前記第1種タスクの優先度を前記第2種タスクよりも高くして前記第1モードの適用を開始する
ことを特徴とする請求項1記載の並列演算装置。 - 前記タスク切り替え制御手段は、
前記所定時間を、所定の固定値として前記第1モードおよび前記第2モードを選択的に適用する
ことを特徴とする請求項2または3記載の並列演算装置。 - 前記第1プロセッサは、
前記第1モードが適用されている適用期間を計測する計測手段を備え、
前記タスク切り替え制御手段は、
前記指示を行うときまで適用していた前記適用期間に応じて前記所定時間を決定する
ことを特徴とする請求項2または3記載の並列演算装置。 - 前記タスク切り替え制御手段は、
前記所定時間を、前記適用期間と一定比率になるように決定する
ことを特徴とする請求項5記載の並列演算装置。 - 前記タスク切り替え制御手段は、さらに、
所定の遅延時間の設定を受け付けて、前記第1プロセッサが前記指示を行ってから、所定の遅延時間が経過するまで前記第2プロセッサによる処理の実行の開始を遅らせる処理要求遅延部を含み、
前記タスク切り替え制御手段は、
前記指示を行うときに前記処理要求遅延部に前記遅延時間を設定するとともに前記第2モードの適用を開始し、前記実行完了の通知を受け付けるまで前記第1モードの適用を抑止し、前記実行完了の通知を受け付けると前記第1モードの適用を開始する
ことを特徴とする請求項1記載の並列演算装置。 - 前記タスク切り替え制御手段は、さらに、
所定の遅延時間の設定を受け付けて、前記第2プロセッサが実行完了を通知してから当該通知を受け付けるのを所定の遅延時間が経過するまで遅らせる完了通知遅延部を含み、
前記タスク切り替え制御手段は、
前記指示を行うときに前記完了通知遅延部に前記遅延時間を設定するとともに前記第2モードの適用を開始し、前記実行完了の通知を受け付けるまで前記第1モードの適用を抑止し、前記実行完了の通知を受け付けると前記第1モードの適用を開始する
ことを特徴とする請求項1記載の並列演算装置。 - 前記第1プロセッサは、さらに、
所定の遅延時間の設定を受け付けて、前記第2プロセッサが処理を実行しているときに前記処理の実行を所定の遅延時間だけ停止させるサブプロセッサ制御手段を備え、
前記タスク切り替え手段は、
前記指示を行うときに前記サブプロセッサ制御手段に前記遅延時間を設定するとともに前記第2モードの適用を開始し、前記指示を行って前記第2プロセッサに処理を実行させると、当該処理を前記サブプロセッサ制御手段によって所定の遅延時間だけ停止させ、前記第2プロセッサから前記実行完了の通知を受け付けるまで前記第1モードの適用を抑止し、前記実行完了の通知を受け付けると前記第1モードの適用を開始する
ことを特徴とする請求項1記載の並列演算装置。 - 前記タスク切り替え制御手段は、
前記遅延時間を、所定の固定値として前記第1モードおよび前記第2モードを選択的に適用する
ことを特徴とする請求項7から請求項9のうちいずれか1項記載の並列演算装置。 - 前記第1プロセッサは、
前記第1モードが適用されている適用期間を計測する計測手段と、
前記指示と、前記実行完了の通知と、前記遅延時間とに基づいて、前記第2プロセッサが処理を行う期間である処理期間を推定する処理期間推定手段を備え、
前記タスク切り替え制御手段は、
前記指示を行うときまで適用していた前記適用期間に応じて所定時間を決定し、決定した所定時間と、推定された前記処理期間との差分を、前記遅延時間として前記設定を行う
ことを特徴とする請求項7から請求項9のうちいずれか1項記載の並列演算装置。 - 第1プロセッサと、前記第1プロセッサの指示を受け付けて処理を実行しその実行完了を通知する第2プロセッサとからなり、逐次生成される複数のタスクを時分割で処理する並列演算装置のタスク切り替え方法であって、
前記タスク切り替え方法は、
前記第1プロセッサにおいて、第1の処理を行った後に第2の処理を前記第2プロセッサによって開始させる第1種タスクを、優先して処理する第1モードと、自プロセッサでのみ処理する第2種タスクがあるときに前記第1種タスクの有無にかかわらず前記第2種タスクを処理する第2モードと、を選択的に適用して処理タスクを切り替えるタスク切り替え制御ステップを含み、
前記タスク切り替え制御ステップは、
前記第1種タスクを実行して前記第2プロセッサに前記第2の処理を開始させる指示を行うと、前記第2モードの適用を開始し、前記第2モードを適用してから少なくとも所定時間が経過するまで前記第1モードの適用を抑止し、前記第2の処理が完了し、かつ、前記所定時間が経過すると、前記第1モードの適用を開始する
ことを特徴とするタスク切り替え方法。 - 請求項1から11の並列演算装置または請求項12のタスク切り替え方法いずれかを用いた情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005207413A JP2007026095A (ja) | 2005-07-15 | 2005-07-15 | 並列演算装置 |
US11/485,989 US20070016908A1 (en) | 2005-07-15 | 2006-07-14 | Parallel operation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005207413A JP2007026095A (ja) | 2005-07-15 | 2005-07-15 | 並列演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007026095A true JP2007026095A (ja) | 2007-02-01 |
Family
ID=37663040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005207413A Pending JP2007026095A (ja) | 2005-07-15 | 2005-07-15 | 並列演算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070016908A1 (ja) |
JP (1) | JP2007026095A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140012320A (ko) * | 2012-07-19 | 2014-02-03 | 삼성전자주식회사 | 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 |
JP2015507809A (ja) * | 2012-01-18 | 2015-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 1つのプログラムにより別のプログラムに警告追跡ファシリティへのアクセスを提供する |
JP2015507808A (ja) * | 2012-01-18 | 2015-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 警告追跡割り込みファシリティ |
CN105955815A (zh) * | 2016-06-17 | 2016-09-21 | 电子科技大学 | 多功能组网雷达任务规划方法 |
JP2017215655A (ja) * | 2016-05-30 | 2017-12-07 | 京セラドキュメントソリューションズ株式会社 | 電子機器および処理実行プログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008152470A (ja) * | 2006-12-15 | 2008-07-03 | Hitachi Ltd | データ処理システム及び半導体集積回路 |
US8146065B2 (en) * | 2007-08-13 | 2012-03-27 | International Business Machines Corporation | Running time of short running applications by effectively interleaving compilation with computation in a just-in-time environment |
US9038073B2 (en) * | 2009-08-13 | 2015-05-19 | Qualcomm Incorporated | Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts |
US20110041128A1 (en) * | 2009-08-13 | 2011-02-17 | Mathias Kohlenz | Apparatus and Method for Distributed Data Processing |
US8788782B2 (en) * | 2009-08-13 | 2014-07-22 | Qualcomm Incorporated | Apparatus and method for memory management and efficient data processing |
US8762532B2 (en) * | 2009-08-13 | 2014-06-24 | Qualcomm Incorporated | Apparatus and method for efficient memory allocation |
JP4965638B2 (ja) * | 2009-12-25 | 2012-07-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | タスクの切り換えを制御するシステムおよび方法 |
JP5376042B2 (ja) * | 2010-03-18 | 2013-12-25 | 富士通株式会社 | マルチコアプロセッサシステム、スレッド切り替え制御方法、およびスレッド切り替え制御プログラム |
KR101773166B1 (ko) * | 2011-02-21 | 2017-08-30 | 삼성전자주식회사 | 가상 머신 스케줄 시점 조절 장치 및 방법 |
JP2020144606A (ja) * | 2019-03-06 | 2020-09-10 | 株式会社リコー | 情報処理システム、情報処理方法、情報処理装置及びプログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0512040A (ja) * | 1991-07-04 | 1993-01-22 | Mitsubishi Electric Corp | タスクの実行制御方式 |
JPH07129414A (ja) * | 1993-11-08 | 1995-05-19 | Fujitsu Ltd | データ処理装置 |
JPH08328881A (ja) * | 1995-05-29 | 1996-12-13 | Nec Corp | タスクのスケジューリング方式 |
JPH11239348A (ja) * | 1997-11-28 | 1999-08-31 | Matsushita Electric Ind Co Ltd | 映像音声処理装置 |
JP2002229807A (ja) * | 2001-01-30 | 2002-08-16 | Fujitsu Ltd | 応答制御装置およびコンピュータ・プログラム |
JP2005018610A (ja) * | 2003-06-27 | 2005-01-20 | Toshiba Corp | スケジューリング方法および情報処理システム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69429204T2 (de) * | 1993-03-26 | 2002-07-25 | Cabletron Systems Inc | Ablaufssteuerungsverfahren und -gerät für ein Kommunikationsnetzwerk |
US6581089B1 (en) * | 1998-04-16 | 2003-06-17 | Sony Corporation | Parallel processing apparatus and method of the same |
US6757897B1 (en) * | 2000-02-29 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and methods for scheduling and performing tasks |
US6931641B1 (en) * | 2000-04-04 | 2005-08-16 | International Business Machines Corporation | Controller for multiple instruction thread processors |
US6963554B1 (en) * | 2000-12-27 | 2005-11-08 | National Semiconductor Corporation | Microwire dynamic sequencer pipeline stall |
US20050055594A1 (en) * | 2003-09-05 | 2005-03-10 | Doering Andreas C. | Method and device for synchronizing a processor and a coprocessor |
JP4072503B2 (ja) * | 2004-02-04 | 2008-04-09 | シャープ株式会社 | 補助演算用コプロセッサ内蔵型icカード及びその制御方法 |
EP1820100B1 (en) * | 2004-11-30 | 2008-08-27 | Koninklijke Philips Electronics N.V. | Efficient switching between prioritized tasks |
-
2005
- 2005-07-15 JP JP2005207413A patent/JP2007026095A/ja active Pending
-
2006
- 2006-07-14 US US11/485,989 patent/US20070016908A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0512040A (ja) * | 1991-07-04 | 1993-01-22 | Mitsubishi Electric Corp | タスクの実行制御方式 |
JPH07129414A (ja) * | 1993-11-08 | 1995-05-19 | Fujitsu Ltd | データ処理装置 |
JPH08328881A (ja) * | 1995-05-29 | 1996-12-13 | Nec Corp | タスクのスケジューリング方式 |
JPH11239348A (ja) * | 1997-11-28 | 1999-08-31 | Matsushita Electric Ind Co Ltd | 映像音声処理装置 |
JP2002229807A (ja) * | 2001-01-30 | 2002-08-16 | Fujitsu Ltd | 応答制御装置およびコンピュータ・プログラム |
JP2005018610A (ja) * | 2003-06-27 | 2005-01-20 | Toshiba Corp | スケジューリング方法および情報処理システム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015507809A (ja) * | 2012-01-18 | 2015-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 1つのプログラムにより別のプログラムに警告追跡ファシリティへのアクセスを提供する |
JP2015507808A (ja) * | 2012-01-18 | 2015-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 警告追跡割り込みファシリティ |
KR20140012320A (ko) * | 2012-07-19 | 2014-02-03 | 삼성전자주식회사 | 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 |
KR101984635B1 (ko) * | 2012-07-19 | 2019-05-31 | 삼성전자주식회사 | 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 |
JP2017215655A (ja) * | 2016-05-30 | 2017-12-07 | 京セラドキュメントソリューションズ株式会社 | 電子機器および処理実行プログラム |
CN105955815A (zh) * | 2016-06-17 | 2016-09-21 | 电子科技大学 | 多功能组网雷达任务规划方法 |
CN105955815B (zh) * | 2016-06-17 | 2019-03-15 | 电子科技大学 | 多功能组网雷达任务规划方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070016908A1 (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007026095A (ja) | 並列演算装置 | |
US8161491B2 (en) | Soft real-time load balancer | |
JP4580845B2 (ja) | タスク実行装置 | |
JP6539236B2 (ja) | 効果的なニューラルネットワークの配置に用いるシステム及び方法 | |
JP5853216B2 (ja) | 集積回路、コンピュータシステム、制御方法 | |
US9430283B2 (en) | Information processing apparatus and job scheduling method | |
US9323571B2 (en) | Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor | |
JP2748822B2 (ja) | 情報処理装置 | |
US8612661B2 (en) | Interrupt-notification control unit, semiconductor integrated circuit and methods therefor | |
JP2010286898A (ja) | マルチスレッド実行装置、マルチスレッド実行方法 | |
JP2009025939A (ja) | タスク制御方法及び半導体集積回路 | |
US7653906B2 (en) | Apparatus and method for reducing power consumption on simultaneous multi-threading systems | |
JP2006285350A (ja) | Smtプロセッサ用課金処理装置,課金処理方法,および課金処理プログラム | |
WO2012113232A1 (zh) | 调整时钟中断周期的方法和装置 | |
JP2010108086A (ja) | Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム | |
WO2019187719A1 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
US7321945B2 (en) | Interrupt control device sending data to a processor at an optimized time | |
Wu et al. | Dynamic acceleration of parallel applications in cloud platforms by adaptive time-slice control | |
US7246220B1 (en) | Architecture for hardware-assisted context switching between register groups dedicated to time-critical or non-time critical tasks without saving state | |
JP2006085428A (ja) | 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム | |
US8615165B2 (en) | Video-recording and replaying apparatus, I/O scheduling method, and program | |
KR101674324B1 (ko) | 실시간 제어 응용에 적용되는 태스크 스케쥴링 장치 및 방법 | |
Klusáček et al. | Walltime prediction and its impact on job scheduling performance and predictability | |
CN113032098B (zh) | 一种虚拟机调度方法、装置、设备及可读存储介质 | |
US20150066175A1 (en) | Audio processing in multiple latency domains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080520 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100615 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100928 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110222 |