(57)【要約】【課題】前段の処理結果を後段が使用するような多段階の処理があっても複数の処理を並列に実行して処理時間を短縮する。【解決手段】まず、機能を複数段用いる処理において、複数の処理系統毎に機能の処理単位の重みが最後段側から前段側へ累積され機能毎に累積重みが求められる。各機能の累積重みを算出し終えると、累積重みの値が大きく前段側にある処理から順番に複数のプロセッサコアのいずれかへ処理が割り当てられる。処理時間にのみ着目して処理をプロセッサコアへ割り当てる場合と比較して、時間Ｔ１の分、早く処理を終えて効率良くＣＰＵが使用される。【選択図】図４
2010079847.tif 000002
【特許請求の範囲】
【請求項１】
複数の多段階の処理から割り当てられた処理単位を実行する複数のプロセッサと、
前記プロセッサのうち１つのプロセッサで実行される処理単位の処理時間に対応した重みを複数の異なる処理単位毎に記憶した記憶手段と、
前記プロセッサで実行される多段階の処理の各処理単位の重みを前記記憶手段から取得し、多段階の処理の後段側から前段側へ各処理単位の重みを累積して処理単位毎に累積重みを求め、多段階の処理の処理順番と前記累積重みに従って前記複数のプロセッサの各々に処理単位を割り当てる割当手段と
を有する並列処理装置。
【請求項２】
前記処理単位の処理時間を計測する計測手段を有し、
前記計測手段で計測された処理時間に対応した重みを前記記憶手段に記憶させること
を特徴とする請求項１に記載の並列処理装置。
【請求項３】
複数の多段階の処理から割り当てられた処理単位を実行する複数のプロセッサを有するコンピュータを、
前記プロセッサのうち１つのプロセッサで実行される多段階の処理の各処理単位の重みを、前記プロセッサで実行される処理単位の処理時間に対応した重みを複数の異なる処理単位毎に記憶した記憶部から取得し、多段階の処理の後段側から前段側へ各処理単位の重みを累積して処理単位毎に累積重みを求め、多段階の処理の処理順番と前記累積重みに従って前記複数のプロセッサの各々に処理単位を割り当てる割当手段
として機能させるためのプログラム。
【請求項４】
請求項３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理を並列に実行する並列処理に関する。
【背景技術】
【０００２】
複数の処理を並列して実行する技術として、特許文献１に開示された並列実行システムがある。この並列実行システムは、パラメータの値毎に内容の異なる解析を多数行う場合、解析の内容を特徴付けるパラメータの値をもとに個々の解析の実行時間を予測し、実行時間の予測値の長い解析から順番に複数の処理装置で解析処理を行い、全体の処理時間が短くなるようにしている。
【０００３】
【特許文献１】特許第３７９２８７９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
さて、近年、マイクロプロセッサの処理速度の向上やマルチコアなどの技術により、ソフトウェアでシンセサイザの機能を実現させることが可能となり、パーソナルコンピュータでも様々な音源の音を出力することが可能となっている。マルチコアのマイクロプロセッサを搭載したパーソナルコンピュータにおいて、ソフトウェアでシンセサイザの機能を実現する場合、音源の処理やエフェクタの処理などの複数の処理を複数のプロセッサコアに割り当てて実行することとなるが、ここで、特許文献１に開示されている技術を適用し、実行時間の予測値の長い処理からプロセッサコアに処理を割り当てれば、処理時間を短縮させることも可能となる。
【０００５】
ところで、ソフトウェアでシンセサイザの機能を実現する場合、音を出力するまでの間に複数のエフェクタの処理が多段階で行われる場合がある。ここで後段のエフェクタの処理は、前段のエフェクタの処理の結果を使用するため、後段のエフェクタの処理が前段のエフェクタの処理より処理に掛かる時間が長くても前段の処理を先に実行する必要があり、特許文献１に開示された技術を適用できず、処理に掛かる時間を短くできない場合が生じえる。
【０００６】
本発明は、上述した背景の下になされたものであり、前段の処理結果を後段が使用するような多段階の処理があっても複数の処理を並列に実行して処理時間を短縮する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために本発明は、複数の多段階の処理から割り当てられた処理単位を実行する複数のプロセッサと、前記プロセッサのうち１つのプロセッサで実行される処理単位の処理時間に対応した重みを複数の異なる処理単位毎に記憶した記憶手段と、前記プロセッサで実行される多段階の処理の各処理単位の重みを前記記憶手段から取得し、多段階の処理の後段側から前段側へ各処理単位の重みを累積して処理単位毎に累積重みを求め、多段階の処理の処理順番と前記累積重みに従って前記複数のプロセッサの各々に処理単位を割り当てる割当手段とを有する並列処理装置を提供する。
【０００８】
本発明においては、前記処理単位の処理時間を計測する計測手段を有し、前記計測手段で計測された処理時間に対応した重みを前記記憶手段に記憶させるという構成であってもよい。
【０００９】
また、本発明は、複数の多段階の処理から割り当てられた処理単位を実行する複数のプロセッサを有するコンピュータを、前記プロセッサのうち１つのプロセッサで実行される多段階の処理の各処理単位の重みを、前記プロセッサで実行される処理単位の処理時間に対応した重みを複数の異なる処理単位毎に記憶した記憶部から取得し、多段階の処理の後段側から前段側へ各処理単位の重みを累積して処理単位毎に累積重みを求め、多段階の処理の処理順番と前記累積重みに従って前記複数のプロセッサの各々に処理単位を割り当てる割当手段として機能させるためのプログラムを提供する。
また、本発明は、割り当てられた処理単位を実行する複数のプロセッサを有するコンピュータを、前記プロセッサで実行される多段階の処理の各処理単位の重みを、前記プロセッサで実行される処理単位の処理時間に対応した重みを複数の異なる処理単位毎に記憶した記憶部から取得し、多段階の処理の後段側から前段側へ各処理単位の重みを累積して処理単位毎に累積重みを求め、多段階の処理の処理順番と前記累積重みに従って前記複数のプロセッサの各々に処理単位を割り当てる割当手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【発明の効果】
【００１０】
本発明によれば、前段の処理結果を後段が使用するような多段階の処理があっても複数の処理を並列に実行して処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
［実施形態］
（コンピュータ装置１の構成）
図１は、本発明の一実施形態に係るコンピュータ装置１のハードウェア構成を示したブロック図である。コンピュータ装置１は、オペレーティングシステム上で各種アプリケーションプログラムを実行する装置であり、図１に示した各部はバス１０１に接続され、このバス１０１を介して各部間で各種データの授受を行う。
操作部１０６は、キーボードやマウス等、コンピュータ装置１を操作するための装置を備えている。コンピュータ装置１の操作者がこれらの装置を操作することにより、操作者からコンピュータ装置１に対する各種指示や情報の入力が行われる。なお、キーボードやマウスは操作者に操作される装置の一例であり、操作者に操作される装置はこれらの装置に限定されず、タブレットやタッチパネルなど他の装置であってもよい。
表示部１０７は、表示装置として液晶ディスプレイを有しており、ＣＰＵ１０２の制御の下、コンピュータ装置１を操作するための各種メニュー画面やメッセージ等を表示する。なお、表示装置は液晶ディスプレイに限定されるものではなく、ＣＲＴ（Cathode Ray Tube）やＥＬ（electro-luminescence）ディスプレイ等、他の表示装置であってもよい。
【００１２】
通信部１１０は、通信回線（例えば、ＬＡＮ（Local Area Network）やインターネット）を介して通信を行うための通信インターフェースとして機能し、図示せぬ通信回線に接続されている。
信号入出力部１０８は、音を表すオーディオ信号を他の装置から受け取る入力端子やコンピュータ装置で生成されたオーディオ信号を出力する出力端子を備えている。信号入出力部１０８は、入力端子に入力されたオーディオ信号をＣＰＵ１０２の制御のもとでデジタル化して音を表す楽音データを生成する一方、音を表す楽音データがバス１０１を介して供給されると楽音データの音を表すアナログのオーディオ信号を生成して出力端子から出力する。
【００１３】
記憶部１０５は記憶装置を具備しており、コンピュータ装置１の各部を制御するためのプログラムであってＣＰＵ１０２により実行されるＯＳ（Operating System）プログラムを記憶し、アプリケーションプログラムとしてシンセサイザの機能を実現するシンセサイザプログラムを記憶している。また、記憶部１０５は、後述する重みテーブルＴＢを記憶している。
【００１４】
ＲＯＭ１０３は、ＩＰＬ（Initial Program Loader）を記憶している。コンピュータ装置１の電源が入れられると、複数のプロセッサコア１１〜１４を有するマルチコアのＣＰＵ１０２はＲＯＭ１０３からＩＰＬを読み出して起動する。ＣＰＵ１０２によりＩＰＬが起動されると、記憶部１０５に記憶されているＯＳプログラムが読み出されて実行され、操作部１０６からの入力や表示部１０７への画面出力などの入出力機能、記憶部１０５やＲＡＭ１０４の制御、通信回線を介して通信を行う通信機能等、コンピュータ装置としての基本的な機能が実現する。
【００１５】
また、ＣＰＵ１０２によりシンセサイザプログラムが実行されると、コンピュータ装置１においては、楽音を表す楽音データを生成する音源機能や、音源機能で生成された楽音データを加工し、楽音データの音を変化させるエフェクタ機能、楽音データの音を周波数帯域毎に調整するイコライザ機能、オーディオ信号を受け取るオーディオ信号受取機能、オーディオ信号を出力するオーディオ信号出力機能などが実現する。そして、図２のブロック図に一例として示したように各種機能を複数系統で多段階に組み合わせ、楽音を表すオーディオ信号を出力することが可能となる。
【００１６】
なお、図２は、４つの音源機能により生成された楽音データと、信号入出力部１０８へ入力されたオーディオ信号から生成した楽音データの各々にエフェクタ機能を用いて各種加工を施した後、各音についてイコライザ機能により周波数帯域毎に調整を行い、信号入出力部１０８から外部へオーディオ信号を出力する場合に用いられる機能と各機能間の関係を示した図である。
図２において音源機能ＳＳ１〜ＳＳ４は、楽音を表す楽音データを生成する機能であり、音源機能ＳＳ１〜ＳＳ４は各々異なる音の楽音データを生成する。
オーディオ信号受取機能Ａｉｎは、音を表すオーディオ信号をデジタル化して楽音データを生成する機能であり、信号入出力部１０８に入力されたオーディオ信号から楽音データを生成する。
エフェクタ機能Ｅ１１〜Ｅ１３，Ｅ２１〜Ｅ２３，Ｅ３１〜Ｅ３３，Ｅ４１〜Ｅ４３，Ｅ５１〜Ｅ５３は、音源機能ＳＳ１〜ＳＳ４やオーディオ信号受取機能Ａｉｎで生成された楽音データを加工し、楽音データの音を変化させる機能であり、残響音を生成する機能や音を歪ませる機能、ディレイ機能などがある。
マスタエフェクタ機能ＭＥは、楽音データを加工し、楽音データの音を変化させる機能である。マスタエフェクタ機能ＭＥは、複数の楽音データに同じ加工を施し、複数の楽音データの音を同様に変化させるという点で上記エフェクタ機能と異なる。
マスタイコライザ機能ＭＥＱは、楽音データの音を周波数帯域毎に調整する機能であり、調整された音の楽音データを生成する。
オーディオ信号出力機能Ａｏｕｔは、楽音データをアナログ化してオーディオ信号を生成する機能であり、生成したオーディオ信号を信号入出力部１０８の出力端子から出力する。
【００１７】
そして図２に示したように、音源機能ＳＳ１で生成された楽音データは、エフェクタ機能Ｅ１１とエフェクタ機能Ｅ１２により加工され、加工後の楽音データはエフェクタ機能Ｅ１３によりミキシングされた後に加工される。
また、音源機能ＳＳ２で生成された楽音データは、エフェクタ機能Ｅ２１で加工され、加工後の楽音データはエフェクタ機能Ｅ２２とエフェクタ機能Ｅ２３により加工された後にミキシングされる。
また、音源機能ＳＳ３で生成された楽音データは、エフェクタ機能Ｅ３１とエフェクタ機能Ｅ３２により加工され、加工後の楽音データはエフェクタ機能Ｅ３３によりミキシングされた後に加工される。
また、音源機能ＳＳ４で生成された楽音データは、エフェクタ機能Ｅ４１により加工され、加工後の楽音データはエフェクタ機能Ｅ４２により加工され、エフェクタ機能Ｅ４２で加工後の楽音データはエフェクタ機能Ｅ４３により加工される。
また、オーディオ信号受取機能Ａｉｎで生成された楽音データは、エフェクタ機能Ｅ５１により加工され、加工後の楽音データはエフェクタ機能Ｅ５２により加工され、エフェクタ機能Ｅ５２で加工後の楽音データはエフェクタ機能Ｅ５３により加工される。
そして、各エフェクタ機能で加工後の楽音データは、マスタエフェクタ機能ＭＥにより同じ加工が施され、マスタイコライザ機能ＭＥＱにより周波数帯域毎に音の調整が行われ、オーディオ信号出力機能Ａｏｕｔにより各楽音データの音を合成した音のオーディオ信号が生成されて出力される。
【００１８】
なお、図２の各ブロック内に２段で記載されている値のうち上段に記載されている値は、各機能の処理（処理単位）を実行する時に掛かる処理時間に重み付けをした値（処理単位の重み）であり、処理時間に比例して数は大きいものとなる。そして、これらの値は、図３に示したように機能毎に記憶部１０５に記憶された重みテーブルＴＢに格納されている。
【００１９】
（コンピュータ装置１の動作）
次に、シンセサイザプログラムが実行されたコンピュータ装置１において、ＣＰＵ１０２が各機能の処理を実行する時の動作について説明する。なお、以下の説明においては、シンセサイザプログラムを実行し、図２のブロック図に示したように各種機能を組み合わせてオーディオ信号を出力する場合の動作について説明する。
【００２０】
図２に示したように各種機能を組み合わせて楽音のオーディオ信号を出力する際、ＣＰＵ１０２の複数のプロセッサコアは図２に示した機能の処理を実行するが、ここで、コンピュータ装置１においては、複数の処理系統毎に機能の処理単位の重みが最後段側から前段側へ累積されて機能毎に累積重みが求められ、この累積重みに基づいて各機能の処理順番が決定される。（図５：ステップＳ１）。
【００２１】
まず、オーディオ信号出力機能Ａｏｕｔとマスタイコライザ機能ＭＥＱとの間では、これらの機能の重みを重みテーブルＴＢから取得すると、オーディオ信号出力機能Ａｏｕｔの重みは図３に示したように「０」であり、マスタイコライザ機能ＭＥＱの重みは「３０」であるため、マスタイコライザ機能ＭＥＱの累積重みは、図２においてブロック内の下段に示したように「０」と「３０」とを加算した結果の「３０」となる。また、マスタイコライザ機能ＭＥＱとマスタエフェクタ機能ＭＥとの間では、マスタイコライザ機能ＭＥＱの累積重みは前述のように「３０」であり、マスタエフェクタ機能ＭＥの重みは図３示したように「７０」であるため、マスタエフェクタ機能ＭＥの累積重みは、図２に示したように「７０」と「３０」とを加算して「１００」となる。
【００２２】
次に、マスタエフェクタ機能ＭＥの累積重みがマスタエフェクタ機能ＭＥの前段にある機能の重みに加算される。なお、マスタエフェクタ機能ＭＥでは図２に示したように５系統の楽音データが処理されるため、マスタエフェクタ機能ＭＥの累積重み「１００」は五等分されて前段の機能の重みに加算される。
まず、音源機能ＳＳ１の系統においては、エフェクタ機能Ｅ１３の重みが「４０」であるため、「４０」と「１００」を５で割った「２０」が加算され、エフェクタ機能Ｅ１３の重みは「６０」となる。そして、この累積重みは二等分されて前段にあるエフェクタ機能Ｅ１１の重みとエフェクタ機能Ｅ１２の重みに加算され、エフェクタ機能Ｅ１１の累積重みは「６０」となり、エフェクタ機能Ｅ１２の累積重みは「５０」となる。また、このエフェクタ機能Ｅ１１の累積重み「６０」とエフェクタ機能Ｅ１２の累積重み「５０」は音源機能ＳＳ１の重み「５０」に加算され、音源機能ＳＳ１の累積重みは「１６０」となる。
【００２３】
また、音源機能ＳＳ２の系統においては、マスタエフェクタ機能ＭＥの前段にエフェクタ機能Ｅ２２とエフェクタ機能Ｅ２３があるため、エフェクタ機能Ｅ２２の場合、この機能の重み「３０」と、マスタエフェクタ機能ＭＥの累積重みを五等分した「２０」をさらに二等分した「１０」が加算され、エフェクタ機能Ｅ２２の累積重みは「４０」となる。また、エフェクタ機能Ｅ２３の場合、この機能の重み「４０」とマスタエフェクタ機能ＭＥの累積重みを五等分した「２０」をさらに二等分した「１０」が加算され、エフェクタ機能Ｅ２３の累積重みは「５０」となる。
そして、このエフェクタ機能Ｅ２２の累積重み「４０」とエフェクタ機能Ｅ２３の累積重み「５０」は前段にあるエフェクタ機能Ｅ２１の重み「１０」に加算され、エフェクタ機能Ｅ２１の累積重みは「１００」となり、このエフェクタ機能Ｅ２１の累積重み「１００」は音源機能ＳＳ２の重み「５０」に加算され、音源機能ＳＳ２の累積重みは「１５０」となる。
【００２４】
また、音源機能ＳＳ３の系統においては、音源ＳＳ１の系統と同様に各機能について累積重みが求められ、エフェクタ機能Ｅ３１の累積重みが「５５」、エフェクタ機能Ｅ３２の累積重みが「６５」、エフェクタ機能Ｅ３３の累積重みが「７０」、音源機能ＳＳ３の累積重みが「１７０」となる。
次に、音源機能ＳＳ４の系統と、オーディオ信号受取機能Ａｉｎの系統についても、後段の機能の重みが前段の機能の重みに加算され、エフェクタ機能Ｅ４１の累積重みは「７０」、エフェクタ機能Ｅ４２の累積重みは「４０」、エフェクタ機能Ｅ４３の累積重みは「３０」、音源機能ＳＳ４の累積重みは「１２０」となり、エフェクタ機能Ｅ５１の累積重みは「１２０」、エフェクタ機能Ｅ５２の累積重みは「１１０」、エフェクタ機能Ｅ５３の累積重みは「１００」、オーディオ信号受取機能Ａｉｎの累積重みは「１６０」となる。
【００２５】
コンピュータ装置１において各機能の累積重みを算出し終えると、各機能の累積重みと各機能間の関係に基づいて各機能の処理が複数のプロセッサコアのいずれかに割り当てられる（ステップＳ２）。
具体的には、まず、音源機能ＳＳ１〜ＳＳ４およびオーディオ信号受取機能Ａｉｎの間では、累積重みの大小関係が音源機能ＳＳ３（１７０）＞音源機能ＳＳ１（１６０）＝オーディオ信号受取機能Ａｉｎ（１６０）＞音源機能ＳＳ２（１５０）＞音源機能ＳＳ４（１２０）となっているため、図４の上段に示したように、まず、プロセッサコア１１に音源機能ＳＳ３の処理が割り当てられ、プロセッサコア１２に音源機能ＳＳ１の処理を割り当てられ、プロセッサコア１３にオーディオ信号受取機能Ａｉｎの処理を割り当てられ、プロセッサコア１４に音源機能ＳＳ２の処理を割り当てられる。
ここで、各機能について累積重みとは別に優先順位を割り当てておき、累積重みの値が同じとなった時には、この優先順位に従ってプロセッサコアに処理を割り当てるようにしてもよい。具体的には、多段階の処理の一段目の４つの音源機能ＳＳ１〜ＳＳ４について各機能の符号の数字と同じ優先順位を割り当て、オーディオ信号受取機能Ａｉｎについては「５」という順位を割り当てた場合、音源機能ＳＳ１とオーディオ信号受取機能Ａｉｎとでは累積重みが共に「１６０」で同じであるが、優先順位については音源機能ＳＳ１が「１」でオーディオ信号受取機能Ａｉｎが「５」であって音源機能ＳＳ１のほうが優先順位が高いため、音源機能ＳＳ１の処理を先にプロセッサコアに割り当てる。
【００２６】
なお、図４においては、示されている各機能のブロックの横の長さは機能の処理単位の重みに対応している。なお、重みの値は、前述したとおり機能の処理時間に比例したものとなっているため、ブロックの横の長さは機能の処理に掛かる処理時間に対応していると言える。
【００２７】
そして各プロセッサコアで処理が実行されると、オーディオ信号受取機能Ａｉｎの処理時間が他の処理の時間より短いため、各プロセッサコアに割り当てられた処理のうちオーディオ信号受取機能Ａｉｎの処理が最初に終了する（ステップＳ３；ＹＥＳ、ステップＳ４；ＮＯ）。ここで、ＣＰＵ１０２は、音源機能ＳＳ４の処理をプロセッサコア１３に割り当てて処理を実行する（ステップＳ２）。
【００２８】
この後、プロセッサコア１１，１２，１４では割り当てられた処理（音源機能ＳＳ３，音源機能ＳＳ１，音源機能ＳＳ２）が終了すると（ステップＳ３；ＹＥＳ、ステップＳ４；ＮＯ）、これらのプロセッサコアへ次の処理が割り当てられる。具体的には、既に終了した処理に続く処理のうち、図２に示したように累積重みが最も大きいのはエフェクタ機能Ｅ５１（１２０）であり、次に重みが大きいのはエフェクタ機能Ｅ２１（１００）であり、その次に重みが大きいのはエフェクタ機能Ｅ３２（６５）であるため、この順番でプロセッサコア１１にエフェクタ機能Ｅ５１の処理が割り当てられ、プロセッサコア１２にエフェクタ機能Ｅ２１の処理が割り当てられ、プロセッサコア１４にエフェクタ機能Ｅ３２の処理が割り当てられる（ステップＳ２）。
【００２９】
そして、各プロセッサコアにおいて処理が終了すると、終了した機能の処理に続く機能の処理のうち累積重みの大きいものからプロセッサコアに処理が割り当てられていき、図４に示した順番で各プロセッサコアに各機能の処理が割り当てられて実行される。そして、全ての機能の処理が終了するとプロセッサコアへの処理の割り当てが終了する（ステップＳ４；ＹＥＳ）。
【００３０】
なお、図４の下段は重み付けを行わず、処理時間の長いものを優先して各プロセッサコアに各機能の処理を割り当てた場合の処理の順番と処理時間とを表した図である。本実施形態と、前段から処理時間の長いものを優先して各プロセッサコアに各機能の処理を割り当てた場合と比較すると、本実施形態では図４に示した時間Ｔ１の分、早く処理を終えて効率良くＣＰＵ１０２が使用されていることが分かる。
【００３１】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。
【００３２】
上述した実施形態においては、エフェクタ機能Ｅ１３、エフェクタ機能Ｅ３３、エフェクタ機能Ｅ４３およびエフェクタ機能Ｅ５３の累積重みは、マスタエフェクタ機能ＭＥの累積重みを五等分した値に各機能の重みを加算して求め、エフェクタ機能Ｅ２２とエフェクタ機能Ｅ２３の累積重みは、マスタエフェクタ機能ＭＥの累積重みを五等分した値をさらに二等分した値に各機能の重みを加算して求めているが、マスタエフェクタ機能ＭＥの累積重みを等分せずに加算して各機能の累積重みを求めてもよい。
また、エフェクタ機能Ｅ１１、エフェクタ機能Ｅ１２の累積重みについても、エフェクタ機能Ｅ１３の累積重みを二等分せずに各機能の重みに加算して累積重みを求め、エフェクタ機能Ｅ３１、エフェクタ機能Ｅ３２の累積重みについても、エフェクタ機能Ｅ３３の累積重みを二等分せずに各機能の重みに加算して累積重みを求めてもよい。
この構成の場合、累積重みは図６に示した値（ブロック内の下段の値）となり、各プロセッサコアで実行される処理の順番と処理時間は図７に示したようになる。この構成においても、前段から処理時間の長いものを優先して各プロセッサコアに各機能の処理を割り当てた場合と比較すると、本変形例では図７に示した時間Ｔ２の分、早く処理を終えて効率良くＣＰＵ１０２が使用されていることが分かる。
【００３３】
上述した実施形態においては、各機能の重みの値は各機能の処理に掛かる時間そのものとしてもよい。また、各機能の重みの値は各機能の処理に掛かる時間に予め定められた係数を乗じた値であってもよい。また、各機能の処理に掛かる時間をＣＰＵ１０２が計測し、この計測した処理時間に重み付けをして得た値を重みテーブルＴＢに格納するようにしてもよい。
【００３４】
上述した実施形態では、アプリケーションプログラムとしてシンセサイザプログラムを実行しているが、コンピュータ装置１で実行可能なアプリケーションプログラムはシンセサイザプログラムに限定されるものではない。例えば、映像の生成や加工を行うプログラムについても上述した動作と同様にして複数の機能の処理を複数のプロセッサコアに割り当て実行される。
【００３５】
上述した実施形態においては、プロセッサコアの数は４つとなっているが、プロセッサコアの数は４つに限定されるものではなく、２つまたは３つでもよく、５つ以上であってもよい。
また、上述した実施形態においては、コンピュータ装置１は４つのプロセッサコアを備えたＣＰＵ１０２を有しているが、コンピュータ装置１は、プロセッサコアが一つのＣＰＵを複数有し、複数のＣＰＵに対して上述した実施形態と同様に複数の処理を割り当てるようにしてもよい。
【００３６】
上述した実施形態において実行される各種プログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなど、コンピュータ装置が読取可能な記録媒体に記憶した状態で提供してもよい。
また、通信回線を介してプログラムを受け取り、受け取ったプログラムを記憶部１０５に記憶させて実行するようにしてもよい。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態に係るコンピュータ装置のハードウェア構成を示したブロック図である。
【図２】コンピュータ装置１で実現される機能のブロック図である。
【図３】重みテーブルＴＢ１の形式を示した図である。
【図４】プロセッサコア１１〜１４で実行される処理を示した図である。
【図５】ＣＰＵ１０２が行う処理の流れを示したフローチャートである。
【図６】本発明の変形例における各機能の累積重みを示した図である。
【図７】本発明の変形例においてプロセッサコア１１〜１４で実行される処理を示した図である。
【符号の説明】
【００３８】
１・・・コンピュータ装置、１１〜１４・・・プロセッサコア、１０１・・・バス、１０２・・・ＣＰＵ（Central Processing Unit）、１０３・・・ＲＯＭ（Read Only Memory）、１０４・・・ＲＡＭ（Random Access Memory）、１０５・・・記憶部、１０６・・・操作部、１０７・・・表示部、１０８・・・信号入出力部、１１０・・・通信部
【図１】
2010079847.tif 000003
【図２】
2010079847.tif 000004
【図３】
2010079847.tif 000005
【図４】
2010079847.tif 000006
【図５】
2010079847.tif 000007
【図６】
2010079847.tif 000008
【図７】
2010079847.tif 000009