(57)【要約】      （修正有）【課題】タスク処理に係る消費電力を抑制する。【解決手段】予め設定された異なる複数のタスクの実行処理を行う異なる複数の中央演算処理部１０を備え、各タスクに対する各中央処理演算部１０の使用率情報を監視するタスク監視部１３と、前記監視結果に基づき前記各タスクの実行処理を優先的に行う中央演算処理部１０を選出する演算部選出部１１０と、前記選出された各中央演算処理部に対して前記タスクを優先的に割り当てるタスク割当部１１とを備えた。【選択図】図１
2009175850.tif 000002
【特許請求の範囲】
【請求項１】
異なる複数の中央演算処理部を備え、予め設定された異なる複数のタスクの実行処理を行うマルチ演算処理システムであって、
前記各タスクに対する前記各中央処理演算部の使用率情報を監視するタスク監視部と、前記監視結果に基づき前記各タスクの実行処理を優先的に行う中央演算処理部を選出する演算部選出部と、前記選出された各中央演算処理部に対して前記タスクを優先的に割り当てるタスク割当部とを備えたことを特徴とするマルチ演算処理システム。
【請求項２】
前記請求項１に記載のマルチ演算処理システムにおいて、
前記各中央演算処理部が適正動作を行う使用率の上限として予め設定された目標使用率を記憶する目標使用率記憶部を有し、前記タスク割当部は、前記選出された各中央演算処理部に対して前記タスクを前記目標使用率に近似するように割り当てる使用率近似割り当て機能を備えたことを特徴とするマルチ演算処理システム。
【請求項３】
前記請求項２に記載のマルチ演算処理システムにおいて、
前記目標使用率を前記中央演算処理部の種別と前記中央演算処理部の発熱量とに基づき算出し設定する目標使用率算出設定手段を、前記目標使用率記憶部に併設したことを特徴とするマルチ演算処理システム。
【請求項４】
前記請求項３に記載のマルチ演算処理システムにおいて、
前記目標使用率算出設定手段が、前記中央演算処理部に割り当てられる前記タスクの処理量に基づいて前記目標使用率を設定するタスク種別設定機能を備えたことを特徴とするマルチ演算処理システム。
【請求項５】
前記請求項３に記載のマルチ演算処理システムにおいて、
前記目標使用率算出設定手段が、前記中央演算処理部に対して電源供給を行う予め設定された電源供給元の種別に基づいて前記目標使用率を設定するタスク種別設定機能を備えたことを特徴とするマルチ演算処理システム。
【請求項６】
前記請求項３に記載のマルチ演算処理システムにおいて、
前記各中央演算処理部全てに前記タスクが割り当てられ、且つ割り当てられていない未割当タスクがある場合に、前記タスク割当部は、前記各中央演算処理部の使用率が100パーセントを超えないように前記各中央演算処理部に対して前記未割当タスクを割り当てるタスク均等割当機能を備えたことを特徴とするマルチ演算処理システム。
【請求項７】
前記請求項６に記載のマルチ演算処理システムにおいて、
前記タスク全てが割り当てられたときに予め設定された使用率以下の各中央演算処理部の動作を省電力モードに設定する省電力モード設定部を、前記タスク割当部に併設したことを特徴とするマルチ演算処理システム。
【請求項８】
異なる複数の中央演算処理部と、当該各中央演算処理部に対して異なる複数のタスクを割り当てるタスク割当部と、前記各タスクに対する前記各中央処理演算部の使用率を監視するタスク監視部と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出部とを備え、前記タスクの実行処理を行うマルチ演算処理方法において、
前記各タスクに対する前記各中央処理演算部の使用率情報を取得するCPU使用情報取得工程と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出工程と、前記選出された中央演算処理部に対して前記タスクを優先的に割り当てるタスク優先割当工程と、割当てられたタスクに対する演算処理を行う演算処理工程とを備えたことを特徴とするマルチ演算処理方法。
【請求項９】
前記請求項８に記載のマルチ演算処理方法において、
前記各中央演算処理部の使用率の上限として予め設定された目標使用率を取得する目標使用率取得工程を前記CPU使用情報取得工程の前に備えると共に、前記選出された中央演算処理部に対して前記タスクを前記目標使用率に近似するように割り当てる使用率近似割当工程を前記タスク優先割当工程の前に備えたことを特徴とするマルチ演算処理方法。
【請求項１０】
異なる複数の中央演算処理部と、当該各中央演算処理部に対して異なる複数のタスクを割り当てるタスク割当部と、前記各タスクに対する前記各中央処理演算部の使用率を監視するタスク監視部と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出部とを備え、前記タスクの実行処理を行うためのマルチ演算処理プログラムにおいて、
前記各タスクに対する前記各中央処理演算部の使用率情報を取得するCPU使用情報取得機能と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出機能と、前記選出された中央演算処理部に対して前記タスクを優先的に割り当てるタスク優先割当機能と、割当てられたタスクに対する演算処理を行う演算処理機能と、をコンピュータに実行させることを特徴としたマルチ演算処理プログラム。
【請求項１１】
前記請求項１０に記載のマルチ演算処理プログラムにおいて、
前記各中央演算処理部の使用率の上限として予め設定された目標使用率を取得する目標使用率取得機能と、前記選出された中央演算処理部に対して前記タスクを前記目標使用率に近似するように割り当てる使用率近似割当機能と、を前記コンピュータに実行させることを特徴とするマルチ演算処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の中央演算処理ユニットを備えたマルチプロセッサシステムで、中央演算処理ユニット間における負荷分散を行う手法に関する。
【背景技術】
【０００２】
現在、並列に接続された複数の中央演算処理ユニット(Central Processing Unit：CPU)によりデータ処理を行うマルチプロセッサシステム化が進んでいる。
このマルチプロセッサシステムにおける各CPUに対して効率的なタスクの割り当ておよび処理負荷の分散を行うことによりCPUの効率的な利用を行い、コンピュータ運用における低消費電力化や、マルチCPUが搭載されたモバイル機器の長時間運用を可能とする低消費電力化の手法が求められている。
又、その一方で各CPUの処理能力の上昇に伴い、高速処理を行うCPUに対する冷却装置の騒音がコンピュータの周辺環境を悪化させているという不都合がある。
【０００３】
これに対する関連技術として、複数のCPUそれぞれにCPU使用率の上限値、下限値が予め設定され、その上限値および下限値間の範囲外の使用率となったCPUのタスク(プロセス)をひとつ抽出すると共に、使用率が上限値および下限値間内にあるCPUで、且つ抽出されたタスクの使用率を加えたときに上限値により近くなるCPUを選択して抽出されたタスクを割当てるCPU負荷分散の手法が開示されている(特許文献１)。
【０００４】
又、各サーバ内に備えられた全CPU使用率の合計を示す複数サーバごとのCPU使用率(サーバ使用率)を、予め設定された各サーバ使用率の上限値を超えないように各サーバ装置にタスクの割当を行うことによりCPU処理負荷の分散処理を行う関連技術が開示されている(特許文献２)。
【０００５】
【特許文献１】特開平０９−２７４６０８公報
【特許文献２】特開２００５−１８２６４１公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に開示された関連情報では、各CPUに割当てられるタスクが各CPUの上限値(上限使用率)に基づき、全CPUにおいて使用率が一様に高負荷のかかった状態となり得る。このため、各CPUにおける消費電力も一様に高くなると共に、この各CPUを冷却する冷却装置の動作に伴う騒音も同様に高まるという不都合が生じ得る。
又、上記特許文献２に開示された関連情報は、異なる複数のCPUを備えたマルチプロセッサ装置に適用することは困難であると共に、上述した特許文献１と同様に、タスク割当の行われた各CPUの使用率が一様に高負荷の状態となり得る不都合がある。
【０００７】
［発明の目的］
本発明は、上記関連技術の有する不都合を改善し、コンピュータ内のタスク処理に係る消費電力を有効に抑制するマルチ演算処理システム、マルチ演算処理方法、およびマルチ演算処理プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係るマルチ演算処理システムは、異なる複数の中央演算処理部を備え、予め設定された異なる複数のタスクの実行処理を行うマルチ演算処理システムであって、前記各タスクに対する前記各中央処理演算部の使用率情報を監視するタスク監視部と、前記監視結果に基づき前記各タスクの実行処理を優先的に行う中央演算処理部を選出する演算部選出部と、前記選出された各中央演算処理部に対して前記タスクを優先的に割り当てるタスク割当部とを備えた構成をとっている。
【０００９】
又、本発明にかかるマルチ演算処理方法は、異なる複数の中央演算処理部と、当該各中央演算処理部に対して異なる複数のタスクを割り当てるタスク割当部と、前記各タスクに対する前記各中央処理演算部の使用率を監視するタスク監視部と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出部とを備え、前記タスクの実行処理を行うマルチ演算処理方法において、前記各タスクに対する前記各中央処理演算部の使用率情報を取得するCPU使用情報取得工程と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出工程と、前記選出された中央演算処理部に対して前記タスクを優先的に割り当てるタスク優先割当工程と、割当てられたタスクに対する演算処理を行う演算処理工程とを備えたことを特徴としている。
【００１０】
更に、本発明にかかるマルチ演算処理プログラムは、異なる複数の中央演算処理部と、当該各中央演算処理部に対して異なる複数のタスクを割り当てるタスク割当部と、前記各タスクに対する前記各中央処理演算部の使用率を監視するタスク監視部と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出部とを備え、前記タスクの実行処理を行うためのマルチ演算処理プログラムにおいて、前記各タスクに対する前記各中央処理演算部の使用率情報を取得するCPU使用情報取得機能と、前記タスクを優先的に割当てる中央演算処理部を選出する演算部選出機能と、前記選出された中央演算処理部に対して前記タスクを優先的に割り当てるタスク優先割当機能と、割当てられたタスクに対する演算処理を行う演算処理機能と、をコンピュータに実行させることを特徴としている。
【発明の効果】
【００１１】
本発明は、以上のように構成され機能するので、これによると、異なる複数の中央演算処理部と、異なる各タスクに対する前記各中央処理演算部の使用率を監視するタスク監視部と、選出された中央演算処理部に前記タスクを優先的に割当てるタスク割当部とを備えた構成としたことにより、各中央演算処理部に対する適切なタスク割当て制御を可能とすると共に、中央演算処理部のタスク処理に係る消費電力を有効に抑制し得る情報配信システム、情報配信方法、および情報配信プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
［実施形態］
次に、本発明の実施形態について、その基本的構成内容を説明する。
【００１３】
本実施形態の演算装置１は、図１に示すように、割当てられた演算処理可能なタスクを処理する複数の異なるCPU１０と、演算装置１内で作られたタスクを上記CPU１０に割当てる(ディスパッチする)タスクスケジューラ１１と、演算装置１内で作られた各タスクが、各CPUにおける使用率を占める割合を監視するタスク監視部１３と、各CPU１０における適正な演算処理が行われる使用率(以下「適正使用率」という)の上限として設定された目標使用率を管理する目標使用率記憶部１２とを備えた構成となっている。
【００１４】
尚、上記演算装置１は、プログラム制御によって動作する上記複数のCPU１０と、このCPU１０を制御するプログラムおよびプログラムが制御するデータを保持する主記憶部(メモリ)と、電源断の場合でも永続的にプログラムとデータを保持する二次記憶部を少なくとも含み動作するコンピュータを想定している。ここで、演算装置１では、プログラムが実行されることにより、行うべき演算処理の単位であるタスクが生成され、管理される。
【００１５】
以下、これを詳説する。
各CPU１０は、当該各CPU１０に割り当てられたタスクに対して、予め設定された手法により演算処理を行う演算処理機能と、
【００１６】
タスクスケジューラ１１は、目標使用率テーブル１２０から各CPU１０の目標使用率を取得する目標使用率取得機能と、CPU使用情報テーブル１３０から各タスクのCPU使用情報を取得するCPU使用情報取得機能とを備えている。
又、タスクスケジューラ１１は、各CPU１０の種別、取得された各タスクのCPU使用情報に基づいて優先的にタスクを割り当てるCPUを選出する優先CPU選出手段１１０を有する。
【００１７】
これにより、例えば、CPU１０のうち処理性能の高いCPUを優先CPUとして選出することにより、タスク毎に必要となる処理能力が異なる場合や、予め各タスクに割当ての優先順位が設定されている場合であっても、高機能処理が必要なタスクや割当て優先順位が高いタスクを、選出された優先CPUに割当てることができる。
【００１８】
更に、タスクスケジューラ１１は、優先CPU選出手段１１０によるCPUの選出結果に基づいて、割当てられるタスクの合計使用率が目標使用率に近似するように、各タスクを選出されたCPU１０に割り当てる目標割当て機能を備えている。
【００１９】
ここで、上記タスクは優先的に選出されたCPU１０に割当てられるが、選出された以外のCPU１０に対してタスクが割当てられる場合は、目標使用率以下に収まるように各タスクが割当てられるように設定してもよい。
これにより、図２に示すように、選出されたCPUとそれ以外のCPUは、高負荷のCPU群と低負荷のCPU群に二極化される。このため、低負荷の各CPUの冷却動作にかかる消費電気量を抑制することができ、演算装置１内全体としてCPUの発熱にかかる電力を抑制することができる。
又、低負荷のCPU１０の動作について、予め設定された省電力モードに移行されることにより、システム全体としての消費電力を有効に抑制することができる。
【００２０】
又、タスクスケジューラ１１は、全てのCPU１０に対して目標割当て機能が実行されたか否かを判定する目標割当て実行判定機能と、全てのCPU１０に対して目標割当て機能が実行された場合、割当てが行われていないタスク(以下「未割当てタスク」という)が残っているか否かを判定する目標未割当てタスク判定機能を備えている。
ここで、タスクスケジューラ１１は、未割当タスクが残っている場合に、各CPU１０対して各CPU使用率が１００パーセント以下となるように、未割当タスクを各CPU１０に対して割り当てる使用率上限割当て機能を備える。
このとき、タスクスケジューラ１１は、選出されたCPU１０、およびそれ以外のCPU１０を含む全てのCPU１０に対して未割当てタスクの割当を行う。
【００２１】
又、タスクスケジューラ１１は、全てのCPUに対する使用率上限割当て機能が実行されたか否かを判定する上限割当て実行判定機能を備えると共に、使用率上限割当て機能が全てのCPU１０に対して行われた場合に、未割当タスクが残っているか否かを判定する上限未割当てタスク判定機能を備えている。
この場合も、タスクスケジューラ１１は、選出されたCPU１０、およびそれ以外のCPU１０を含む全てのCPU１０に対して未割当てタスクの割当を行う。
【００２２】
又、タスクスケジューラ１１は、タスクが全てCPU１０に割当てられた後、予め設定された規定時間待機した後に、目標使用率取得機能を実行する既定時間待機機能を有する。
【００２３】
目標使用率記憶部１２は、処理能力、処理用途に基づく各CPU１０の種別、および予め演算装置に設定された各CPU１０に対する冷却量の特性に基づいて、各CPUが適正動作を行う使用率の上限として予め設定された目標使用率を目標使用率テーブル１２０に記憶する目標使用率記憶機能を備えている。
【００２４】
ここで、各CPU１０の処理能力としては、できるだけ高いCPUの目標使用率が設定されることが望ましい。
しかしながら、各CPU１０に対して冷却動作を行う予め設定された冷却装置の消費電力や騒音は、図３および４に示すように、CPUの処理動作および消費電力の上昇に伴って上昇する。これにより、上記目標使用率は、CPU使用率と冷却装置の消費電力および騒音のバランスにより算出される。
【００２５】
タスク監視部１３は、演算装置１内で生成された各タスクが演算処理される場合に、各CPU１０における使用率を占める割合(以下「CPU使用情報」という)を算出すると共に、各CPU１０の算出されたCPU使用情報をCPU使用情報テーブル１３０に記憶するCPU使用情報算出管理機能を備えている。
又、タスク監視部１３は、生成された各タスクを常時監視しており、CPU使用情報テーブル１３０の内容を更新する機能を備えている。
【００２６】
［実施形態１の動作説明］
次に、本実施形態の全体の動作について説明する。
【００２７】
先ず、前記各中央演算処理部の使用率の上限として予め設定された目標使用率を取得する(目標使用率取得工程)、前記各タスクに対する前記各中央処理演算部の使用率情報を取得する(CPU使用情報取得工程)、前記タスクを優先的に割当てる中央演算処理部を選出する(演算部選出工程)、前記選出された中央演算処理部に対して前記タスクを前記目標使用率に近似するように割り当てる(使用率近似割当工程)、前記選出された中央演算処理部に対して前記タスクを優先的に割り当てる(タスク優先割当工程)と、割当てられたタスクに対する演算処理を行う(演算処理工程)。
【００２８】
ここで、上記目標使用率取得工程、CPU使用情報取得工程、演算部選出工程、タスク優先割当工程、使用率近似割当工程、および演算処理工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
【００２９】
次に、本実施形態の全体の動作について図５のフローチャートに基づき詳説する。
【００３０】
先ず、タスクスケジューラ１１が、目標使用率テーブル１２０からCPU１０それぞれの目標使用率を取得し（ステップS１０１）、タスク監視手段１３から各タスクのCPU使用情報を取得する（ステップS１０２）。
次いで、タスクスケジューラ１１の優先CPU選出手段１１０が、優先的にタスクを割り当てるCPUを選出する(ステップS１０３)。選出結果に基づいて、タスクスケジューラ１１は、各CPU１０の各タスクの合計使用率が取得した目標使用率以下に収まるようにタスクを割り当てていく（ステップS１０４）。
【００３１】
ここで、タスクスケジューラ１１は、全てのCPUに対するタスクの割り当てが行われたか否かを判定し（ステップS１０５：目標割当て実行判定機能）、タスク割当が行われていないCPU１０が残っている場合、このCPU１０に対してタイムスケジューラ１１は、各CPU使用率が目標使用率以下となるように、タスク割当の行われていないCPU１０にタスクを割り当てていく（ステップS１０４）。
【００３２】
又、全てのCPU１０に対してタスク割当が完了した場合、タスクスケジューラ１１は、後に未割当てのタスクが残っているか否かを判定し(ステップS１０６：未割当タスク判定機能)、未割当タスクが残っている場合、タイムスケジューラ１１は、各CPU１０対して各CPU使用率が１００パーセント以下となるように残りの未割当タスクを各CPU１０に対して割り当てる（ステップS１０７）。この場合、目標使用率を超えてタスク割当をおこなってもよいものとする。
【００３３】
ここで、タスクスケジューラ１１は、全てのCPUに対する使用率上限割当て機能が実行されたか否かを判定し(ステップS１０８)、均等タスク割り当て処理が全てのCPU１０に対して行われた場合に、未割当てのタスクが残っているか否かの判定を行い(ステップS１０９)、未割当てタスクが残っている場合は、タスクスケジューラ１１は、選出されたCPU１０、およびそれ以外のCPU１０を含む全てのCPU１０に対して未割当てタスクの割当を行う(ステップS１１０)。
【００３４】
次に、各CPU１０に割り当てられたタスクに対して、各CPU１０が予め設定された手法により演算処理を行い（ステップS１１１）、タスクスケジューラ１１は、予め設定された規定時間待機した後（ステップS１１２）、ステップＳ１０１に戻り、以降の動作を繰り返す。
【００３５】
以上のように、本実施形態では、CPUの種別および演算装置におけるCPUの冷却特性に応じたCPUの目標使用率が設定され、タスク処理に必要なCPUの使用率を目標使用率に近づけ、残りのCPUの使用率が低くなるようにタスクスケジューリングを行うことにより、低消費電力化と冷却装置の低騒音化との両立を実現することができる。
又、本実施形態では、電力効率が望ましい状態となるように各CPUの使用率を制御することができるので、システム(演算装置１)の上限性能を変えることなく、電力効率を高め、消費電力を低減することができる。
更に、本実施形態では、CPU使用率を設定範囲内に収めることにより、CPUの冷却用に設定された冷却装置の騒音を適切なレベルに抑えることができる。
【００３６】
又、上述のように、本実施形態では、演算装置１に設けられた複数の異なるCPU１０のうち、各CPU１０の目標使用率近くで動作する高負荷CPUと、それ以外の低負荷CPU１０とが設定されることにより、処理負荷にかかりCPUの二局化を促進し、特に、各CPU処理能力が高く高速である場合に、演算装置１内CPU全体の消費電力を有効に抑制することができる。
【００３７】
尚、本実施形態では、図６に示すように、CPU種別および冷却装置の特性に加えて、演算装置１の使用目的やCPU１０による処理の対象種別に応じて目標使用率テーブル１２０に登録された値を変更する内的環境設定手段１２１を、目標使用率記憶部１２に併設して備えた構成としてもよい。この場合、その他の構成は前述した実施形態と同一となっている。
これにより、演算装置１の処理対象や使用目的のデータ量や処理量に応じてCPU１０を効率的に運用するための目標使用率テーブルを設定することができる。
【００３８】
更に、本実施形態では、図６に示すように、例えば、電源がAC(Alternating Current：交流)等の外部供給か、バッテリー等の内部供給か、といった演算装置１の外部環境設定に応じて目標使用率テーブル１２０に登録された値を変更する外的環境設定手段１２２を、目標使用率記憶部１２に併設した構成としてもよい。この場合、その他の構成は前述した実施形態と同一となっている。
これにより、電源の供給元に応じて、例えば、各CPU１０の目標使用率を半分にするなど、目標使用率テーブル１２０に登録された値を変更することにより、より動作環境に適応した演算装置１の運用を行うことができる。
【産業上の利用可能性】
【００３９】
本発明は、複数の中央演算処理ユニットを備えマルチプロセッサシステムが導入されたモバイル情報処理装置に適用可能である。
【図面の簡単な説明】
【００４０】
【図１】本発明による情報配信システムの一実施形態を示す概略ブロック図である。
【図２】図１に開示した情報配信システムにおけるタスク割当状況を示す説明図である。
【図３】図１に開示した情報配信システムにおけるCPU消費電力およびCPU使用率の関係を示す説明図である。
【図４】図１に開示した情報配信システムにおける冷却装置の消費電力・騒音とCPU使用率との関係を示す説明図である。
【図５】図１に開示した情報配信システムにおける全体の動作を示すフローチャートである。
【図６】本発明による情報配信システムの一実施形態を示す概略ブロック図である。
【符号の説明】
【００４１】
１  演算装置
１０  中央演算処理ユニット(CPU)
１１  タスクスケジューラ
１２  目標使用率記憶部
１３  タスク監視部
１１０  CPU選出手段
１２０  目標使用率テーブル
１２１  内的環境設定手段
１２２  外的環境設定手段
１３０  CPU使用情報テーブル
【図１】
2009175850.tif 000003
【図２】
2009175850.tif 000004
【図３】
2009175850.tif 000005
【図４】
2009175850.tif 000006
【図５】
2009175850.tif 000007
【図６】
2009175850.tif 000008