JP2010218445A - マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム - Google Patents
マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム Download PDFInfo
- Publication number
- JP2010218445A JP2010218445A JP2009066916A JP2009066916A JP2010218445A JP 2010218445 A JP2010218445 A JP 2010218445A JP 2009066916 A JP2009066916 A JP 2009066916A JP 2009066916 A JP2009066916 A JP 2009066916A JP 2010218445 A JP2010218445 A JP 2010218445A
- Authority
- JP
- Japan
- Prior art keywords
- core
- cores
- notification
- scheduler
- software means
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Advance Control (AREA)
Abstract
【課題】要求性能を満たしつつ可及的に割り当てコア数を低減する。
【解決手段】マルチコアプロセッサ1と、マルチコアプロセッサ1が有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行する複数のソフトウェア手段21、22、211、221と、夫々のソフトウェア手段に対してマルチコアプロセッサ1が有するコアの割り当ておよびコア占有時間の調整を行って複数のソフトウェア手段を並列動作させるスケジューラ23と、を備え、夫々のソフトウェア手段は、夫々所定の処理の実行結果データを出力バッファ213、223に夫々出力し、出力バッファに自身が出力した実行結果データの蓄積量に基づく通知をスケジューラに発行し、スケジューラ23は、受信した通知に基づいて夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減する。
【選択図】図5
【解決手段】マルチコアプロセッサ1と、マルチコアプロセッサ1が有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行する複数のソフトウェア手段21、22、211、221と、夫々のソフトウェア手段に対してマルチコアプロセッサ1が有するコアの割り当ておよびコア占有時間の調整を行って複数のソフトウェア手段を並列動作させるスケジューラ23と、を備え、夫々のソフトウェア手段は、夫々所定の処理の実行結果データを出力バッファ213、223に夫々出力し、出力バッファに自身が出力した実行結果データの蓄積量に基づく通知をスケジューラに発行し、スケジューラ23は、受信した通知に基づいて夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減する。
【選択図】図5
Description
本発明は、マルチコアプロセッサを有するマルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラムに関する。
近年、オーディオヴィジュアル機器など、多様、多数かつ高度な機能を要求される機器には、その多数の機能を実現するために、マルチコアプロセッサを搭載した半導体集積回路装置(マルチコアプロセッサシステム)が搭載されるケースが多くなってきている。このような機器に搭載されるマルチコアプロセッサシステムにおいては、夫々個別の単位機能を実現するプログラムであるファームウェア(FW)を並列動作させる。要求性能が高いFWを動作させる場合、このFWには同時に複数のコア数を割り当てる必要がある。
昨今の半導体微細加工プロセスにおいては、リーク電流による電力消費量が顕著となってきており、マルチコアプロセッサにおいて前記リーク電流による電力消費量を削減するためには、不要なコアの電源を物理的にOFFすることが効果的である。ところが、従来、マルチコアプロセッサシステムは、夫々のFWの要求性能を静的に見積もり、FW毎にワーストケースに合わせてコアリソースの配分をスケジューリングするのが一般的であった。この方式では、ほとんどの場合において各FWに冗長なコアリソースを配分することとなり、コアリソースの総量、特に、割り当てられる空間的コアリソース、すなわち割り当てられるコア数が大きくなりがちである。つまり、電源をOFFすることが可能な不要コア数が少なくなってしまうという問題があった。
マルチコアプロセッサにおけるコアリソース割り当て方法に関する公知技術としては、例えば特許文献1や特許文献2に開示されている技術があるが、何れもFW一つあたり複数のコアを割り当てるケースを想定していないため、前述した問題を解決できるものではなかった。
本発明は、要求性能を満たしつつ可及的に割り当てコア数を低減するマルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラムを提供することを目的とする。
本願発明の一態様によれば、マルチコアプロセッサと、前記マルチコアプロセッサが有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行する複数のソフトウェア手段と、前記夫々のソフトウェア手段に対して前記マルチコアプロセッサが有するコアの割り当ておよびコア占有時間の調整を行って前記複数のソフトウェア手段を並列動作させるスケジューラと、を備え、前記夫々のソフトウェア手段は、夫々前記所定の処理の実行結果データを出力バッファに夫々出力し、前記出力バッファに自身が出力した実行結果データの蓄積量に基づく通知を前記スケジューラに発行し、前記スケジューラは、前記受信した通知に基づいて前記夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減する、ことを特徴とするマルチコアプロセッサシステムが提供される。
また、本願発明の一態様によれば、マルチコアプロセッサが有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行し、夫々前記所定の処理の実行結果データを出力バッファに夫々出力する複数のソフトウェア手段に対して前記マルチコアプロセッサが有するコアの割り当ておよびコア占有時間の調整を行って前記複数のソフトウェア手段を並列動作させるスケジューリング方法において、前記ソフトウェア手段が前記出力バッファに自身が出力した実行結果データの蓄積量に基づく通知を発行したとき、前記発行された通知に基づいて前記夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減するステップ、を備えることを特徴とするスケジューリング方法が提供される。
また、本願発明の一態様によれば、マルチコアプロセッサが有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行し、夫々前記所定の処理の実行結果データを出力バッファに夫々出力する複数のソフトウェア手段に対して前記マルチコアプロセッサが有するコアの割り当ておよびコア占有時間の調整を行って前記複数のソフトウェア手段を並列動作させるスケジューラプログラムにおいて、前記ソフトウェア手段が前記出力バッファに自身が出力した実行結果データの蓄積量に基づく通知を発行したとき、前記発行された通知に基づいて前記夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減する工程、を前記マルチコアプロセッサに実行させることを特徴とするスケジューラプログラムが提供される。
本発明によれば、要求性能を満たしつつ可及的に割り当てコア数を低減するマルチコアプロセッサシステムを提供することができるという効果を奏する。
また、本発明によれば、要求性能を満たしつつ可及的に割り当てコア数を低減するスケジューリング方法を提供することができるという効果を奏する。
また、本発明によれば、要求性能を満たしつつ可及的に割り当てコア数を低減するスケジューラプログラムを提供することができるという効果を奏する。
以下に添付図面を参照して、本発明の実施の形態にかかるマルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラムを詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
(実施の形態)
図1は、本発明の実施の形態にかかるマルチコアプロセッサシステムの構成を示すブロック図である。なお、ここでは、本発明の実施の形態を音声データ、画像データなどのマルチメディア情報に対する各種処理を実行するマルチメディア処理用のマルチコアプロセッサシステムに適用する場合について説明するが、本発明の実施の形態の適用範囲はマルチメディア処理用のマルチコアプロセッサシステムだけに限定されない。
図1は、本発明の実施の形態にかかるマルチコアプロセッサシステムの構成を示すブロック図である。なお、ここでは、本発明の実施の形態を音声データ、画像データなどのマルチメディア情報に対する各種処理を実行するマルチメディア処理用のマルチコアプロセッサシステムに適用する場合について説明するが、本発明の実施の形態の適用範囲はマルチメディア処理用のマルチコアプロセッサシステムだけに限定されない。
図1に示すように、マルチコアプロセッサシステム1000は、複数(ここでは8つ)のコアを有するマルチコアプロセッサ1と、ROM(Read Only Memory)2と、RAM(Random Access Memory)3と、ネットワーク配信される映像や音声の入力を受け付けたり配信元に情報を送信するためのI/OであるネットワークI/O4と、音声データを出力するためのスピーカとのインターフェース(I/F)であるスピーカI/F5と、ディスプレイに映像データを出力するためのI/FであるディスプレイI/F6と、マイクからの音声データの入力を受け付けるマイクI/F7と、カメラからの映像データの入力を受け付けるカメラI/F8と、を備えている。
ROM2は、マルチコアプロセッサシステム1000の各部を制御してマルチコアプロセッサシステム1000搭載機器に夫々個別の機能を実現させるためのプログラムである複数のファーウェア(FW)と、該複数のFWの夫々にマルチコアプロセッサ1が有する複数のコアのスケジューリング、すなわちコアリソースの割り当てを行うためのプログラムであるスケジューラプログラム23とが格納されている。ここでは簡単のために、ROM2に格納されているFWとして、ネットワークI/O4から入力されるAAC規格で圧縮された音声データ、MPEG4規格で圧縮された映像データを夫々復元化する、AACデコーダプログラム21およびMPEG4デコーダプログラム22が格納されているとする。ROM2に格納されているスケジューラプログラム23、AACデコーダプログラム21、MPEG4デコーダプログラム22は、マルチコアプロセッサ1により読み出されてRAM3上に展開される。
図2は、RAM3上に展開されたソフトウェア手段としてのMPEG4デコーダプログラム22およびAACデコーダプログラム21と、スケジューラプログラム23と、マルチコアプロセッサ1との位置付けを概念的に説明する図である。図示するように、MPEG4デコーダプログラム22およびAACデコーダプログラム21とマルチコアプロセッサ1との間に介在するようにスケジューラプログラム23が存在している。より詳しく述べると、RAM3上に展開されたMPEG4デコーダプログラム22およびAACデコーダプログラム21は、RAM3上に展開されたスケジューラプログラム23とマルチコアプロセッサ1との協働により実現するスケジューリング制御により、プロセッサコア1が有する夫々時間的・空間的コアリソースが割り当てられ、夫々のデコーダプログラム21、22はスケジューラプログラム23により割り当てられたコアリソースを利用してデータの復元化処理を実行する。時間的コアリソースが割り当てられるとは、コアの占有時間が割り当てられることをいい、空間的コアリソースが割り当てられるとは、7つのうちの1つ以上の使用コアが割り当てられることをいう。なお、ここでは、8つのコアのうち残る1つはスケジューラプログラム23に割り当てられ、残りの7つのコアが夫々のデコーダプログラムに割り当てられるとしている。以降、RAM3上に展開されたスケジューラプログラム23とマルチコアプロセッサ1との協働により実現するスケジューリング制御機能要素を単にスケジューラ23ということとする。
図3は、RAM3上に展開された夫々のデコーダプログラムが夫々に割り当てられたマルチコアプロセッサ1のコアリソースを使用して実現する機能構成を説明する図である。図示するように、AACデコーダプログラム21は、オーディオ入力バッファ212、AACデコーダ211およびオーディオ出力バッファ213を実現し、MPEG4デコーダプログラム22は、ビデオ入力バッファ222、MPEG4デコーダ221およびビデオ出力バッファ223を実現する。オーディオ入力バッファ212、オーディオ出力バッファ213、ビデオ入力バッファ222およびビデオ出力バッファ223は、具体的にはRAM3上に確保される記憶領域である。オーディオ入力バッファ212は、ネットワークI/O4から入力されてくる圧縮音声データを一時記憶する。AACデコーダ211は、オーディオ入力バッファ212に記憶されている圧縮音声データを逐次取り出し、取り出した圧縮音声データに対して逐次復元処理を実行し、実行結果をオーディオ出力バッファ213に出力する。オーディオ出力バッファ213に出力された復元済み音声データは、スピーカI/F5を介してスピーカに出力される。ビデオ入力バッファ222は、ネットワークI/O4から入力されてくる圧縮映像データを一時記憶する。MPEG4デコーダ221は、ビデオ入力バッファ222に記憶されている圧縮映像データを逐次取り出し、取り出した圧縮映像データに対して逐次復元処理を実行し、実行結果をビデオ出力バッファ223に出力する。ビデオ出力バッファ223に出力された復元済み映像データは、ディスプレイI/F6を介してディスプレイに出力される。なお、RAM3上に展開されたAACデコーダプログラム21、MPEG4デコーダプログラム22を夫々ソフトウェア手段として捉えることも可能であり、AACデコーダ211、MPEG4デコーダ221を夫々ソフトウェア手段として捉えることも可能である。
ここで、各出力バッファ213、223はフレーム単位で復元済みデータを保持する。また、各出力バッファ213、223は、記憶容量に制限がある。AACデコーダ211とMPEG4デコーダ221は、それぞれの出力バッファ213、223に貯まっているフレームの枚数、すなわち自身が出力した処理結果データの蓄積量に応じて、自らが要求性能の範囲で動作しているか否かを判断し、判断結果をスケジューラ23に通知する機能を有している。例えば、各出力バッファ213、223の上限が20フレームであったとする。出力バッファ213、223に貯まっているフレームの枚数が15以上であれば要求性能を充分に満たしている旨であるOK通知を発行する。また、出力バッファ213、223に貯まっているフレームの枚数が5以下であれば要求性能を満たしていない旨であるNG通知を発行する。なお、要求性能の範囲の上限を上限しきい値(第2しきい値)、下限を下限しきい値(第1しきい値)ということとする。
スケジューラ23は、FW(AACデコーダ211、MPEG4デコーダ221)から要求性能を満たしていない旨の通知を受信すると、該通知送信元のFWに割り当てる時間的コアリソースおよび/または空間的コアリソースを増加させる。また、スケジューラ23は、FWから性能要求を充分に満たしている旨の通知を受信すると、該通知送信元のFWに割り当てる時間的コアリソースおよび/または空間的コアリソースを減少させる。
次に、本発明の実施の形態のマルチコアプロセッサシステム1000により実行されるスケジューリング方法を説明する。図4は、FW211、221の動作を説明するフローチャートである。AACデコーダ211、MPEG4デコーダ221は同様の動作を実行するので、ここでは代表としてAACデコーダ211の動作についてのみ説明する。
図4に示すように、AACデコーダ211は、オーディオ出力バッファ213に貯まっている復元済み音声データの量が予め定められた上限しきい値と下限しきい値との間に納まっているか否かを判定する(ステップS1)。復元済みデータの量がふたつのしきい値の範囲内に納まっている場合(ステップS1、Yes)、AACデコーダ211は、スケジューラ23から時間的・空間的コアリソースが割り当てられ、該割り当てられた時間的・空間的コアリソースを使用してオーディオ入力バッファ212に記憶されている圧縮されている音声データを取得して、取得した音声データに対して復元処理を実行する(ステップS2)。
一方、オーディオ出力バッファ213に貯まっている復元済み音声データの量が前記ふたつのしきい値の範囲内に納まっていない場合(ステップS1、No)、AACデコーダ211は、スケジューラ23に対して通知を発行する(ステップS3)。具体的には、AACデコーダ211は、前記したように、オーディオ出力バッファ213の蓄積量が上限しきい値を超える場合、OK通知を発行し、オーディオ出力バッファ213の蓄積量が下限しきい値未満の場合、NG通知を発行する。そして、ステップS2に移行する。
図5は、スケジューラ23がFW211、221からの通知に基づいてコアリソースの割り当てを変更する動作を説明するフローチャートである。図5(a)に示すように、NG通知を受信したスケジューラ23は、NG通知元のFWの実行時間を増やしてもすべてのFW、すなわちFW211、221に対して充分な時間的・空間的コアリソースを確保できるか否かを判定する(ステップS11)。充分な時間的・空間的コアリソースを確保できる場合(ステップS11、Yes)、スケジューラ23は、FW211、221の時間的コアリソースを調整する(ステップS12)。つまり、ここではNG通知元のFWの実行時間を増やし、増やす実行時間分、他のFWの実行時間を減らす。NG通知元のFWの実行時間を増やすとFW211、221の時間的・空間的コアリソースが確保できない場合(ステップS11、No)、スケジューラ23は、FW211、221の空間的コアリソースを調整する(ステップS13)。すなわち、NG通知元のコア数の割り当てを増やし、該コア数の割り当ての増加に応じて他のFWのコア数の割り当てを調整する(ステップS13)。そして、スケジューラ23は、FW211、221の時間的コアリソースの調整を行う(ステップS12)。ステップS12の後、調整後の時間的・空間的コアリソースをFW211、221に割り当てる(ステップS14)。
図5(b)に示すように、OK通知を受信したスケジューラ23は、OK通知元のFWに割り当てるコア数を減らしてもFW211、221に対して充分な時間的・空間的コアリソースを確保できるか否かを判定する(ステップS21)。FW211、221に対して充分な時間的・空間的コアリソースを確保できない場合(ステップS21、No)、スケジューラ23は、FW211、221の時間的コアリソースを調整する(ステップS22)。つまり、OK通知元のFWの実行時間を減らし、減らした分の実行時間を他のFWに割り当てる。OK通知元のFWのコア数を減らしてもFW211、221に対して充分な時間的・空間的コアリソースを確保できる場合(ステップS21、Yes)、スケジューラは、FW211、221の空間的コアリソースを調整する(ステップS23)。すなわち、OK通知元のコア数の割り当てを減少させ、他のFWのコア数割り当てを調整する。そして、スケジューラは、FW211、221に割り当てる実行時間の調整を行う(ステップS22)。ステップS22の後、調整後の時間的・空間的コアリソースをFW211、221に割り当てる(ステップS24)。
このように、スケジューラ23は、NG通知を受信したとき、割り当てコア数よりもコア占有時間を優先して増加させ、OK通知を受信したとき、コア占有時間よりも割り当てコア数を優先して減少させる。すなわち、スケジューラ23は、トータルの割り当てコア数をできるだけ小さくするようにスケジューリングを行う。
以上に述べた動作によりMPEG4デコーダ221およびAACデコーダ211に行われるスケジューリングの具体例を図6を参照して説明する。
図6は、横軸に7個あるプロセッサコアの割り当て状態、縦軸に紙面下方向に進行する時間軸を表現している。なお、デフォルト設定においては時間的コアリソースとして、単位時間のうちの3/8がAACデコーダ211に割り当てられ、残りの5/8の時間がMPEG4デコーダ221に割り当てられるとしており、さらに空間的コアリソースとして夫々に5個のコアが割り当てられるとしている。時間的コアリソースと空間的コアリソースとを乗じた値を積分コアリソースといい、ステップS11、ステップS21においては積分コアリソースに基づいてすべてのFW211、221に充分な時間的・空間的コアリソースが確保されているか否かを判定することとする。
図6において、上部3段のブロック、すなわち1回目のAACデコーダ211の実行処理、1回目のMPEG4デコーダ221の実行処理、2回目のAACデコーダ211の実行処理では、夫々ステップS1での判定フローにおいてYesに移行しており、デフォルト設定の時間的・空間的コアリソースが割り当てられ、夫々処理が実行されている。
2回目のMPEG4デコーダ221の実行処理においては、ビデオ出力バッファ223に貯まった映像データの蓄積量が下限しきい値を下回っており、MPEG4デコーダ221はNG通知を発行する(図中(1))。すると、スケジューラ23は、時間的コアリソースを調整して、AACデコーダ211、MPEG4デコーダ221に割り当てる実行時間を夫々単位時間の3/11、8/11に変更する。すなわち、AACデコーダ211の積分コアリソースは、5×3/8=1.9から5×3/11=1.4に変化し、MPEG4デコーダ221の積分コアリソースは、5×5/8=3.1から5×8/11=3.6に変化する。
3回目のAACデコーダ211の実行処理においては、オーディオ出力バッファ213に貯まった音声データの蓄積量が下限しきい値を下回っており、AACデコーダ211はNG通知を発行する(図中(2))。すると、スケジューラ23は、夫々の積分コアリソースを評価し、時間的コアリソースの調整、すなわちAACデコーダ211に割り当てる実行時間を増やし、MPEF4デコーダに割り当てる実行時間を減らすと、MPEG4デコーダ221の要求性能を満足させることができなくなることを認識する。したがって、空間的コアリソースおよび時間的コアリソースの調整を行う。ここでは、AACデコーダ211、MPEG4デコーダ221に割り当てられているコア数が夫々5で、実行時間が夫々単位時間の3/11、8/11が割り当てられていたのを、コア数を夫々6に増加させ、実行時間をデフォルト設定の3/8、5/8に戻す。すると、AACデコーダ211、MPEG4デコーダ221に割り当てられる積分コアリソースは、夫々1.9、3.6であったのが2.3、3.8に変化する。
5回目のAACデコーダ211の実行処理においては、オーディオ出力バッファ213に貯まった音声データの蓄積量が上限しきい値を上回っており、AACデコーダ211はOK通知を発行する(図中(3))。すると、スケジューラ23は、夫々の積分コアリソースを評価し、空間的リソースを減らすとMPEG4デコーダ221の要求性能を満足させることができないことを認識する。そのため、時間的コアリソースの調整のみを実行する。すなわち、スケジューラは、AACデコーダ211に割り当てる実行時間を減らし、MPEF4デコーダに割り当てる実行時間を増やす。ここでは、AACデコーダ211、MPEG4デコーダ221に割り当てられている実行時間を夫々2/7、5/7にする。すると、AACデコーダ211、MPEG4デコーダ221に割り当てられる積分コアリソースは、夫々2.3、3.8であったのが1.7、4.3に変化する。
6回目のMPEG4デコーダ221の実行処理においては、ビデオ出力バッファ223に貯まった映像データの蓄積量が上限しきい値を上回っており、MPEG4デコーダ221はOK通知を発行する(図中(4))。すると、スケジューラは、夫々の積分コアリソースを評価し、空間的リソースを減らしても可能と判断し、空間的・時間的コアリソースの調整を実行する。すなわち、スケジューラは、コア数を6から5に減少させ、夫々の実行時間をデフォルト設定値に戻す。すると、AACデコーダ211、MPEG4デコーダ221に割り当てられる積分コアリソースは、夫々1.7、4.3であったのが1.9、3.1に変化する。
このように、本発明の実施の形態によれば、夫々のFW211、221は、復元済みデータを出力バッファ213、223に夫々出力し、出力バッファ213、223に自身が出力した復元済みデータの蓄積量に基づく通知をスケジューラ23に発行し、スケジューラ23は、前記通知を受信したとき、受信した通知に基づいて夫々のFW211、221に対する割り当てコア数およびコア占有時間を増減するように構成したので、復元処理実行開始後において流動的に変化するFW211、221への要求性能に応じて柔軟なスケジューリングを実行することができるので、要求性能を満たしつつ可及的に割り当てコア数を低減することが可能になる。割り当てコア数が低減されると、不要コアに供給する電源をOFFすることができるようになるので、ベストエフォート型の低消費電力化が実現される。
なお、図6の説明においては、MPEG4デコーダ221およびAACデコーダ211は時分割並列動作するとして説明したが、二つのFWの動作は時分割並列動作ではなく空間分割並列動作する場合であっても同様の効果が得られる。また、時分割かつ空間分割並列動作する場合であっても同様である。
また、一つのコアがスケジューラプログラムに割り当てられ、残る7つのコアが夫々のデコーダプログラムに割り当てられるとして説明したが、8つのコア全てがスケジューラプログラムおよび二つのデコーダプログラムに割り当てられるようにしてもよい。すなわち、スケジューラプログラムは、二つのデコーダプログラムだけでなく自身に対するコアリソース割り当てを実行する。
また、以上の説明においては、スケジューラは、RAM3上に展開されたスケジューラプログラム23とマルチコアプロセッサ1との協働により実現するとして説明したが、マルチコアプロセッサシステム1000にスケジューリング専用のハードウェアを具備させ、該ハードウェアが2つのデコーダプログラムに対するコアリソース割り当てを実行するようにしてもよい。
また、オーディオ入力バッファ212、オーディオ出力バッファ213、ビデオ入力バッファ222およびビデオ出力バッファ223は、具体的にはRAM3上に確保されるメモリ領域であるとして説明したが、夫々のバッファ212、213、222、223の場所はRAM3上でなくてもよい。
1 マルチコアプロセッサ、2 ROM、3 RAM、4 ネットワークI/O、5 スピーカI/F、6 ディスプレイI/F、7 マイクI/F、8 カメラI/F、21 AACデコーダプログラム、22 MPEG4デコーダプログラム、23 スケジューラプログラム、211 AACデコーダ、212 オーディオ入力バッファ、213 オーディオ出力バッファ、221 MPEG4デコーダ、222 ビデオ入力バッファ、223 ビデオ出力バッファ、1000 マルチコアプロセッサシステム。
Claims (5)
- マルチコアプロセッサと、
前記マルチコアプロセッサが有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行する複数のソフトウェア手段と、
前記夫々のソフトウェア手段に対して前記マルチコアプロセッサが有するコアの割り当ておよびコア占有時間の調整を行って前記複数のソフトウェア手段を並列動作させるスケジューラと、
を備え、
前記夫々のソフトウェア手段は、夫々前記所定の処理の実行結果データを出力バッファに夫々出力し、前記出力バッファに自身が出力した実行結果データの蓄積量に基づく通知を前記スケジューラに発行し、前記スケジューラは、前記受信した通知に基づいて前記夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減する、
ことを特徴とするマルチコアプロセッサシステム。 - 前記夫々のソフトウェア手段が発行する通知は、前記出力バッファに自身が出力したデータの蓄積量が第1しきい値を下回ったときに発行する第1通知と、前記出力バッファに自身が出力したデータの蓄積量が第2しきい値を上回ったときに発行する第2通知とを含み、
前記スケジューラは、前記第1通知を受信したとき、前記第1通知発行元に対する割り当てコア数またはコア占有時間のうちの少なくとも一つを増加させ、前記第2通知を受信したとき、前記第2通知発行元に対する割り当てコア数またはコア占有時間のうちの少なくとも一つを減少させる、
ことを特徴とする請求項1に記載のマルチコアプロセッサシステム。 - 前記スケジューラは、前記第1通知発行元に対する割り当てコア数およびコア占有時間を増減するとき、前記割り当てコア数よりも前記コア占有時間を優先して増加させ、前記第2通知発行元に対する割り当てコア数およびコア占有時間を増減させるとき、前記コア占有時間よりも前記割り当てコア数を優先して減少させる、
ことを特徴とする請求項2に記載のマルチコアプロセッサシステム。 - マルチコアプロセッサが有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行し、夫々前記所定の処理の実行結果データを出力バッファに夫々出力する複数のソフトウェア手段に対して前記マルチコアプロセッサが有するコアの割り当ておよびコア占有時間の調整を行って前記複数のソフトウェア手段を並列動作させるスケジューリング方法において、
前記ソフトウェア手段が前記出力バッファに自身が出力した実行結果データの蓄積量に基づく通知を発行したとき、前記発行された通知に基づいて前記夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減するステップ、
を備えることを特徴とするスケジューリング方法。 - マルチコアプロセッサが有する複数のコアのうち夫々一つ以上のコアを使用して所定の処理を実行し、夫々前記所定の処理の実行結果データを出力バッファに夫々出力する複数のソフトウェア手段に対して前記マルチコアプロセッサが有するコアの割り当ておよびコア占有時間の調整を行って前記複数のソフトウェア手段を並列動作させるスケジューラプログラムにおいて、
前記ソフトウェア手段が前記出力バッファに自身が出力した実行結果データの蓄積量に基づく通知を発行したとき、前記発行された通知に基づいて前記夫々のソフトウェア手段に対する割り当てコア数および/またはコア占有時間を増減する工程、
を前記マルチコアプロセッサに実行させることを特徴とするスケジューラプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009066916A JP2010218445A (ja) | 2009-03-18 | 2009-03-18 | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム |
| US12/606,565 US20100242046A1 (en) | 2009-03-18 | 2009-10-27 | Multicore processor system, scheduling method, and computer program product |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009066916A JP2010218445A (ja) | 2009-03-18 | 2009-03-18 | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010218445A true JP2010218445A (ja) | 2010-09-30 |
Family
ID=42738771
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009066916A Abandoned JP2010218445A (ja) | 2009-03-18 | 2009-03-18 | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20100242046A1 (ja) |
| JP (1) | JP2010218445A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101342816B1 (ko) | 2011-12-30 | 2013-12-17 | 고려대학교 산학협력단 | 지원 벡터 머신의 병렬 처리 방법 및 장치 |
| CN110114732A (zh) * | 2016-12-27 | 2019-08-09 | 东芝三菱电机产业系统株式会社 | 可编程控制器、管理装置和控制系统 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110274178A1 (en) * | 2010-05-06 | 2011-11-10 | Canon Kabushiki Kaisha | Method and device for parallel decoding of video data units |
| DE102015220400A1 (de) * | 2014-12-11 | 2016-06-16 | Hyundai Motor Company | Sprachempfangssystem im fahrzeug mittels audio-beamforming und verfahren zum steuern desselben |
| CN118402250A (zh) | 2022-11-24 | 2024-07-26 | 芯原微电子(上海)股份有限公司 | 一种图像信号处理驱动方法、控制模块、处理模块及介质 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
| US20040205757A1 (en) * | 2003-04-09 | 2004-10-14 | Pering Trevor A. | Performance scheduling using multiple constraints |
| US8631130B2 (en) * | 2005-03-16 | 2014-01-14 | Adaptive Computing Enterprises, Inc. | Reserving resources in an on-demand compute environment from a local compute environment |
| CN101433048B (zh) * | 2006-03-28 | 2012-11-07 | 雷帝系统加拿大有限公司 | 并行多核心计算结构的多媒体处理 |
-
2009
- 2009-03-18 JP JP2009066916A patent/JP2010218445A/ja not_active Abandoned
- 2009-10-27 US US12/606,565 patent/US20100242046A1/en not_active Abandoned
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101342816B1 (ko) | 2011-12-30 | 2013-12-17 | 고려대학교 산학협력단 | 지원 벡터 머신의 병렬 처리 방법 및 장치 |
| CN110114732A (zh) * | 2016-12-27 | 2019-08-09 | 东芝三菱电机产业系统株式会社 | 可编程控制器、管理装置和控制系统 |
| CN110114732B (zh) * | 2016-12-27 | 2022-02-25 | 东芝三菱电机产业系统株式会社 | 可编程控制器、管理装置和控制系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100242046A1 (en) | 2010-09-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114443263B (zh) | 显存管理方法、装置、设备及系统 | |
| CN110769278B (zh) | 一种分布式视频转码方法及系统 | |
| US10437639B2 (en) | Scheduler and CPU performance controller cooperation | |
| EP2863306B1 (en) | Predictive auto scaling engine | |
| JP2005509976A (ja) | 予算剰余をタスクに割り当てるための方法及びシステム | |
| JP2008257572A (ja) | 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法 | |
| JP2010218445A (ja) | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム | |
| CN105808328A (zh) | 任务调度的方法、装置和系统 | |
| CN105468458A (zh) | 计算机集群的资源调度方法及系统 | |
| WO2019056771A1 (zh) | 分布式存储系统升级管理的方法、装置及分布式存储系统 | |
| CN1938685A (zh) | 用于缩减使用同时多线程处理器的带缓冲的应用的能耗的方法 | |
| KR101392584B1 (ko) | 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법 | |
| WO2024164894A1 (zh) | 流量控制与数据复制方法、节点、系统及存储介质 | |
| WO2011160490A1 (zh) | 多点控制单元资源调度方法及系统 | |
| CN114489978A (zh) | 资源调度方法、装置、设备及存储介质 | |
| CN117056071A (zh) | 用于任务资源调度的方法、系统、计算设备和存储介质 | |
| CN116501486A (zh) | 一种集群资源调度方法、系统、终端及存储介质 | |
| KR20120071979A (ko) | 클라우드 컴퓨팅 시스템의 자원관리장치 및 방법 | |
| JP2017069744A (ja) | 通信制御装置及びプログラム、記録媒体、並びに、通信制御方法 | |
| JP6191361B2 (ja) | 情報処理システム、情報処理システムの制御方法及び制御プログラム | |
| CN114443262A (zh) | 计算资源管理方法、装置、设备及系统 | |
| CN106941676A (zh) | 频谱资源共享的方法和装置 | |
| JP2008146357A (ja) | プログラマブルコントローラ、及びその支援装置 | |
| CN106575258A (zh) | 电子设备、片上存储器和操作所述片上存储器的方法 | |
| CN101090532A (zh) | 动态配置数字信号处理器算法通道的方法、设备及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111110 |
|
| A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20120919 |