(57)【要約】【課題】消費電力の低減、及びキャッシュの効率化を図ることが可能なスケジューリング方法及び情報処理装置を提供する。【解決手段】本発明のスケジューリング方法は、コンピュータを用いて処理要素を複数の演算処理装置に割り振るスケジューリング方法であって、処理要素の解析を行う解析ステップと、解析ステップの結果に応じて処理要素を割り振る演算処理装置を定める判定ステップと、判定ステップの結果に応じて処理要素を演算処理装置に割り振る配分ステップとを有する。また、配分ステップにおいて割り振りが行われた処理要素を対象として、異なる演算処理装置への再割り振りを禁止する。また判定ステップにおいて、処理要素または関連処理要素の種別や、要求される処理速度に応じて、処理要素を割り振る演算処理装置を定める。【選択図】図５
2014032621.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて処理要素を複数の演算処理装置に割り振るスケジューリング方法であって、
前記コンピュータが、
前記処理要素の解析を行う解析ステップと、
前記解析ステップの結果に応じて、前記処理要素を割り振る前記演算処理装置を定める判定ステップと、
前記判定ステップの結果に応じて、前記処理要素を前記演算処理装置に割り振る配分ステップと、を有すること
を特徴とするスケジューリング方法。
【請求項２】
前記コンピュータが、
前記配分ステップにおいて割り振りが行われた前記処理要素を対象として、異なる前記演算処理装置への再割り振りを禁止すること
を特徴とする請求項１に記載のスケジューリング方法。
【請求項３】
前記コンピュータが、
前記解析ステップにおいて、前記処理要素に予め関連付けられている関連処理要素を検出して解析し、
前記判定ステップにおいて、前記処理要素の種別または前記関連処理要素の種別に応じて、前記処理要素を割り振る前記演算処理装置を定めること
を特徴とする請求項２に記載のスケジューリング方法。
【請求項４】
前記コンピュータが、
前記解析ステップにおいて、前記処理要素に要求される処理速度である要求速度を算出し、
前記判定ステップにおいて、前記要求速度に応じて、前記処理要素を割り振る前記演算処理装置を定めること
を特徴とする請求項３に記載のスケジューリング方法。
【請求項５】
前記コンピュータが、
前記要求速度が予め定められた閾値より小さい前記処理要素を割り振る第１演算処理装置と、前記要求速度が前記閾値より大きい前記処理要素を割り振る第２演算処理装置と、を決定する決定ステップを有し、
前記判定ステップにおいて、前記要求速度に応じて、前記第１演算処理装置及び前記第２演算処理装置のいずれに前記処理要素を割り振るかを定めること
を特徴とする請求項４に記載のスケジューリング方法。
【請求項６】
前記コンピュータが、
前記要求速度に応じて、前記第１演算処理装置及び前記第２演算処理装置の周波数性能を個別に設定する周波数設定ステップを有すること
を特徴とする請求項５に記載のスケジューリング方法。
【請求項７】
前記コンピュータが、
前記判定ステップにおいて、前記処理要素がＶＭ（Virtual Machine）で動作するか否か、或いは前記処理要素が画像／音声の出力処理に関連するか否か、或いは前記処理要素がフォアグラウンド及びバックグラウンドのいずれで動作するか、に応じて、前記処理要素を割り振る前記演算処理装置を定めること
を特徴とする請求項６に記載のスケジューリング方法。
【請求項８】
複数の演算装置と、
請求項１〜７のいずれかに記載のスケジューリング方法を用いて処理要素を前記演算装置に割り振る制御部と、を有すること
を特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算処理装置に対する処理要素のスケジューリング方法、及びこのスケジューリング方法を用いた情報処理装置に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）等の演算処理装置の演算能力を向上させるため、様々な手法が実用化されている。その一つとして、多数のＣＰＵを一つの情報処理装置に内蔵し、装置内の処理を複数のＣＰＵに分散処理させる技術（以下、「マルチコア技術」という）が、実用化されている。
【０００３】
従来、マルチコア技術を利用するＯＳ（Operating System）のプロセス・スケジューリング手法は大きく分けて２つある。１つは、非対称型マルチプロセッシング（ＡＭＰ）である。もう１つは、対称型マルチプロセッシング（ＳＭＰ）である。
【０００４】
ＡＭＰは、アーキテクチャや役割の異なるＣＰＵが混在するシステム等で使用されるスケジューリング手法であり、個々のＣＰＵに対して非対称的に処理要素を割り振るという性質を持つ。個々のＣＰＵは自身の処理要素に特化した処理を行い（このために専用のハードウェア構成をとる場合もある）、またＯＳ側も特定の処理しか割り振らない。このため、スケジューリングもシンプルで、特定の処理に対しては非常に大きな処理能力を持つ。半面、汎用的な処理要素を処理することは不可能であったり、処理要素をＣＰＵ単位に分割・分散処理することができないために、処理の効率が低下する。
【０００５】
ＳＭＰは、アーキテクチャや役割の等しいＣＰＵが複数搭載されたシステムで使用されるスケジューリング手法であり、ＣＰＵの負荷に応じて全てのＣＰＵに対称的、均一的に処理要素を割り振ると言う性質を持つ。処理要素をＣＰＵ単位に分割・分散処理することができるために、総合的な処理の効率が向上する。
【０００６】
しかしながら、ＳＭＰが性能を発揮できるのはメモリやデバイス等のハードウェア資産、及び処理要素、或いは分割された処理要素の粒度が均質に利用できる場合である。実際にはＩ／Ｏ待ち等による資源の競合、或いは処理要素の大小により、実装に最適化されたスケジューリング（＝割り振り）を行うのは、必ずしも容易ではない。また、再スケジューリング等によりＣＰＵ間でプロセス（＝処理要素）の移動が発生すると、この移動処理そのものがＣＰＵに負荷を与えるという課題があった。
【０００７】
これらのオーバーヘッドにより、全てのＣＰＵが高い負荷で間断なく動き続ける状況が発生する。これは、バッテリー駆動を前提とするモバイル機器に於いては、その動作時間を縮めてしまう由々しき問題である。またＣＰＵ毎に高速／低速を切り替えて省電力化を図ることが可能なシステムも存在する。しかしこのシステムでは、通常のＳＭＰスケジューラでは、速度の違いという非均質さを考慮した対応ができないため、この機能を有効に活用できない。動作パフォーマンスと消費電力削減を両立するため、如何にしてＣＰＵの負荷を減らしつつ、効率的なスケジューリングを行うかが問題となっている。
【０００８】
上記の課題に関連して、マルチコアアーキテクチャにおけるスケジューリングの効率化を目的とした技術が提案されている（例えば特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−８９１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら  特許文献１では、複数のＣＰＵで同一のＯＳを動作させる技術については言及されているが、上述した課題を解決するための、プロセスの具体的な判定アルゴリズムやスケジューリング方法については記載されていない。
【００１１】
本発明は、上記の問題を解決するためになされたものであって、その目的は、マルチコア技術を用いた演算処理において、処理の効率化及び負荷の低減を図ることが可能なスケジューリング方法及び情報処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明のスケジューリング方法は、コンピュータを用いて処理要素を複数の演算処理装置に割り振るスケジューリング方法であって、前記コンピュータが、前記処理要素の解析を行う解析ステップと、前記解析ステップの結果に応じて、前記処理要素を割り振る前記演算処理装置を定める判定ステップと、前記判定ステップの結果に応じて、前記処理要素を前記演算処理装置に割り振る配分ステップと、を有することを特徴としている。
【００１３】
また上記の構成から成るスケジューリング方法は、前記コンピュータが、前記配分ステップにおいて割り振りが行われた前記処理要素を対象として、異なる前記演算処理装置への再割り振りを禁止する構成にするとよい。
【００１４】
また上記の構成から成るスケジューリング方法は、前記コンピュータが、前記解析ステップにおいて、前記処理要素に予め関連付けられている関連処理要素を検出して解析し、前記判定ステップにおいて、前記処理要素の種別または前記関連処理要素の種別に応じて、前記処理要素を割り振る前記演算処理装置を定める構成にするとよい。
【００１５】
また上記の構成から成るスケジューリング方法は、前記コンピュータが、前記解析ステップにおいて、前記処理要素に要求される処理速度である要求速度を算出し、前記判定ステップにおいて、前記要求速度に応じて、前記処理要素を割り振る前記演算処理装置を定める構成にするとよい。
【００１６】
また上記の構成から成るスケジューリング方法は、前記コンピュータが、前記要求速度が予め定められた閾値より小さい前記処理要素を割り振る第１演算処理装置と、前記要求速度が前記閾値より大きい前記処理要素を割り振る第２演算処理装置と、を決定する決定ステップを有し、前記判定ステップにおいて、前記要求速度に応じて、前記第１演算処理装置及び前記第２演算処理装置のいずれに前記処理要素を割り振るかを定める構成にするとよい。
【００１７】
また上記の構成から成るスケジューリング方法は、前記コンピュータが、前記要求速度に応じて、前記第１演算処理装置及び前記第２演算処理装置の周波数性能を個別に設定する周波数設定ステップを有する構成にするとよい。
【００１８】
また上記の構成から成るスケジューリング方法は、前記コンピュータが、前記判定ステップにおいて、前記処理要素がＶＭ（Virtual Machine）で動作するか否か、或いは前記処理要素が画像／音声の出力処理に関連するか否か、或いは前記処理要素がフォアグラウンド及びバックグラウンドのいずれで動作するか、に応じて、前記処理要素を割り振る前記演算処理装置を定める構成にするとよい。
【００１９】
また上記目的を達成するために本発明の情報処理装置は、複数の演算装置と、上記構成のスケジューリング方法のいずれかを用いて処理要素を前記演算装置に割り振る制御部と、を有することを特徴とする。
【発明の効果】
【００２０】
本発明のスケジューリング方法及び情報処理装置によれば、マルチコア技術を用いた演算処理において、処理の効率化及び負荷の低減を図ることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の情報処理装置の構成を示すブロック図である。
【図２】第１の実施形態におけるプロセス制御を仮想的に表した模式図である。
【図３】第２の実施形態における周波数制御を仮想的に表した模式図である。
【図４】本発明のプロセス割り当てを示す模式図である。
【図５】本発明のプロセス割り当て処理を示すフロー図である。
【図６】従来のプロセス制御を仮想的に表した模式図である。
【図７】従来の周波数制御を仮想的に表した模式図である。
【発明を実施するための形態】
【００２２】
以下に本発明の実施形態を、図面を参照しながら説明する。なお、ここで示す実施形態は一例であり、本発明はここに示す実施形態に限定されるものではない。
【００２３】
［第１実施形態］
〈１−１.内部構成について〉
ここで、本発明の一実施形態に係るスケジューリング方法を、スマートフォン１００（＝情報処理装置）を例示しつつ、説明する。図１は、スマートフォン１００の内部構成を示すブロック図である。
【００２４】
スマートフォン１００は、複数のＣＰＵを備えるとともに、ＳＭＰによりプロセスのスケジューリングを行う情報処理装置である。図１に示すように、本実施形態のスマートフォン１００は少なくとも、制御部１１、通信部１２、ＬＣＤ１３、キーパッド１４、メモリ１５、ＲＯＭ１６、スピーカ部１７、及び音声入力部１８を含むように構成されている。
【００２５】
制御部１１は、スマートフォン１００を構成する各部の動作を制御することにより、通話処理や画面表示処理等を行う機能部である。また制御部１１は、データの計算、加工処理等を行う中枢部分となっている。
【００２６】
より具体的には制御部１１は、第１ＣＰＵ１１ａ（＝第１演算処理装置）及び第２ＣＰＵ１１ｂ（＝第２演算処理装置）の複数のＣＰＵ（ハードウェア）と、これらＣＰＵが所定のプログラムを実行することにより実現されるＯＳやアプリケーション（ソフトウェア）とを、仮想的に一機能部として表したものである。なお、制御部１１の詳細については後述する。
【００２７】
通信部１２は、図示しないアンテナにより受信した電波を復調する受信処理を行う。そして復調した文字データ及び画像データ等の受信データを、所定の通信プロトコルに基づいて制御部１１に送る。また通信部１２は、制御部１１から送られてくる文字データ及び画像データ等を変調して増幅し、アンテナを介して基地局に送信する送信処理を行う。
【００２８】
ＬＣＤ１３は、液晶ディスプレイ等の表示装置と、ドライバ部とを含む。ドライバ部は、画像データのデコードを行い、表示装置の各画素電極に対して駆動電圧を印加する。これを受けた表示装置は、印加された駆動電圧に基づいて画像を表示する。これにより、スマートフォン１００が保持する各種情報の表示を行うことが可能である。
【００２９】
キーパッド１４は、ユーザがスマートフォン１００に対して、発呼指示や電子メール作成指示等の各種指示を入力するためのものである。キーパッド１４により入力された指示は制御部１１により受け付けられ、指示の内容に基づいて各種制御処理が行われる。
【００３０】
メモリ１５は、制御部１１が各種処理を実施する際の処理データを一時的に記録する読み書き可能な記録媒体である。例えばキーパッド１４が検知したユーザ操作の内容や、ユーザ操作に基づいて設定される各設定項目のオン／オフ情報等を記録する。
【００３１】
ＲＯＭ１６は、プログラムや工場出荷時の各種設定情報等、ユーザによる書き換えが行われることのない情報を記録する、読み取り専用の記録媒体である。ＲＯＭ１６例えば、スマートフォン１００に含まれる各ハードウェアの制御を行うファームウェアプログラム等を記録している。
【００３２】
スピーカ部１７は、制御部１１から与えられる音声データのＤ／Ａ（Digital-to-Analogue）変換を行い、変換により得られた音声信号に基づいて音声の出力を行う。音声入力部１８は、図示しないマイクより入力された音声から音声信号を生成し、さらにＡ／Ｄ（Analogue-to-Digital）変換を行うことにより音声データに変換し、制御部１１に与える。
【００３３】
〈１−２．スケジューリング処理について〉
ここではまず、従来技術におけるスケジューリング処理（＝プロセスの割り当て）の一例を示しつつ、その課題について説明する。従来技術のスケジューリング処理には、以下の課題があった。
（ａ）ＣＰＵ間でプロセスの移動が行われた場合、ＣＰＵの１次キャッシュのミスヒット率が多くなる。
（ｂ）ＣＰＵの負荷に応じたプロセス移動の演算負荷が高く、システムの消費電力を押し上げてしまう。
【００３４】
まず課題（ａ）であるが、従来のスケジューリング方法では、負荷やリソースの空き時間等が対称となるように、処理をプロセス単位（またはスレッド単位）でＣＰＵに割り振っていた。そしてＣＰＵ毎の負荷とプロセス実行数とを監視し、負荷が非対称となった場合に、プロセスの移動（紐付けの変更）を行う。しかしながら、プロセスとＣＰＵとの紐付けが変わると、その都度キャッシュミスが発生する可能性がある。この場合、各ＣＰＵに紐づいたキャッシュの性能が、十分に発揮できない。
【００３５】
図６は、上記の課題を模式的に表した図である。図６の上段において、プロセスＡ、Ｂ、Ｃ、及びＪＡＶＡ（登録商標）＿Ａ、Ｂは、第１ＣＰＵ１１ａに紐付けされたプロセスを示している。また、第２ＣＰＵ１１ｂがアイドル状態である。このため、負荷を分散させるために、図６の下段に示すように、プロセスＢ、Ｃの移動が行われる。
【００３６】
しかしながら、プロセスＢ、Ｃのキャッシュは、第１ＣＰＵ１１ａにのみ存在する。このため、キャッシュの無い第２ＣＰＵ１１ｂでプロセスＢ、Ｃが実行されると、キャッシュ機能を有効に活用できない。
【００３７】
次に課題（ｂ）であるが、上述したように、第１ＣＰＵ１１ａの負荷が高くなると、所定のプロセスを第２ＣＰＵ１１ｂへ移動させる。ただしこの移動処理も、第１ＣＰＵ１１ａ及び第２ＣＰＵ１１ｂにより実行されているＯＳにより処理される。従って、移動処理や、移動処理を行うか否かを判定するための各種処理（例えばＣＰＵ負荷の演算や監視）自体が、ＣＰＵの負荷を上げてしまう。
【００３８】
上記の課題（ａ）、（ｂ）を解決するために、本発明の第１の実施形態に係るスマートフォン１００は、以下に説明するスケジューリング方法を用いるものとする。
【００３９】
制御部１１は、各ＣＰＵに対して、割り振るプロセスを予め決定しておく。割り振られるプロセスは、例えばｆｏｒｋ元（親）となるプロセスの番号から決定する。
【００４０】
具体的には例えば、全てのプロセスを一旦、第１ＣＰＵ１１ａに紐づけるように取り決めておく。そして所定プロセス、例えばＶＭ（Virtual Machine）上で動作するプロセスが生成されたら場合に、それを第２ＣＰＵ１１ｂに紐づける。
【００４１】
例えばＡｎｄｒｏｉｄ（登録商標）ＯＳのように、アプリケーションプログラムが全てＺＹＧＯＴＥプロセスを親とするような構成の場合、子プロセスは親プロセスの番号を自身で保持している。このため、親プロセスの番号を参照することで、子プロセスの種別を判別できる。これにより、いずれのＣＰＵに割り振るかを容易に決定することができる。
【００４２】
図２は、上記のスケジューリング方法を模式的に表した図である。図２において、プロセスＡ、Ｂ、Ｃ、Ｄが、第１ＣＰＵ１１ａに紐付けされたプロセスを示している。また、ＪＡＶＡ（登録商標）＿Ａ、Ｂが、第２ＣＰＵ１１ｂに紐付けされたプロセスを示している。なおプロセスＡ、Ｂ、Ｃ、Ｄは、バックグラウンドで処理される、低レスポンスでも問題のないプロセスである。一方、ＪＡＶＡ（登録商標）＿Ａ、Ｂは、ＶＭ上で動作するユーザアプリケーションのプロセスであり、高レスポンスが要求されるプロセスである。
【００４３】
本実施形態では、上述した各プロセスに対して、割り振りが完了したプロセスは、ＣＰＵ間の移動を行わないよう、ＯＳ（つまり制御部１１）が制御を行う。これにより、両ＣＰＵのキャッシュを有効に使用することが可能である。なお、必ずしも全てのプロセスをＣＰＵ固定とする必要はなく、例えばキャッシュを使用するプロセスのみを上記のようにＣＰＵ固定とし、キャッシュを使用しないプロセスは移動可能とする形態でもよい。
【００４４】
図４は、制御部１１の内部で行われるプロセスの割り振りを、模式的に表した図である。図４は、図左側に示されている保留プロセスが、図右側に示されている各ＣＰＵに割り振られる処理を表している。保留プロセスは、振り分け判定により非ＶＭプロセスかＶＭプロセスかが判定される。判定されたプロセスは、一旦、実行予定プロセス待ち行列に格納された後、順次、各ＣＰＵに割り振られる。なお保留プロセスの検出、プロセスの割り振り、及び待ち行列の管理は、全てＯＳが行う。
【００４５】
図５は、以上に説明したスケジューリング方法の処理フローの一例を示すフロー図である。図５に示す処理フローは、例えばスマートフォン１００の電源が起動された時点で開始される。或いは、新たなプロセスが検出された時点で開始する形態でもよい。本処理の開始後、制御部１１はステップＳ１１０において、検出されている全プロセスを一旦、第１ＣＰＵ１１ａに割り振る。なお、ステップＳ１１０での割り振りは暫定的なものであり、この時点ではプロセスの固定は行われない。
【００４６】
次に制御部１１はステップＳ１２０において、後述する判定処理を行っていないプロセス（図４の保留プロセス）を抽出する。次に制御部１１はステップＳ１３０において、抽出したプロセスの解析を行う。次に制御部１１はステップＳ１４０において、上記の解析の結果、抽出したプロセスの親プロセスがＶＭ上で動作するプロセスであるか否かを判定する。
【００４７】
親プロセスがＶＭ上で動作するプロセスである場合、制御部１１はステップＳ１５０において、このプロセスを第２ＣＰＵ１１ｂに割り振る。一方、親プロセスがＶＭ上で動作するプロセスではない場合、制御部１１はステップＳ１５１において、このプロセスを第１ＣＰＵ１１ａに割り振る。
【００４８】
ステップＳ１５０またはステップＳ１５１による割り振りが完了すると、制御部１１はステップＳ１６０において、全プロセスの判定が完了したか否かを判定する。完了している場合、本処理を終了する。完了していない場合、つまり未判定の保留プロセスが存在する場合、再びステップＳ１２０へ移行し、プロセスの判定を継続して行う。
【００４９】
以上に説明した本実施形態によれば、プロセスの内容に基づいてプロセスを割り振った後は、そのプロセスに関して、ＣＰＵ間での移動を行わないようにする。このため、ＣＰＵに紐づいたキャッシュの性能を有効に利用することが期待できる。また、再割り振りにより演算負荷が上昇することもないので、システムトータルの負荷を下げ、応答性を上げることができる。
【００５０】
次に、本発明の第２の実施形態を、図面を参照しながら説明する。
【００５１】
［第２実施形態］
〈２−１.内部構成について〉
実施の形態１と同様であるため、説明を省略する。
【００５２】
〈２−２．スケジューリング処理について〉
ここで、第２の実施形態に係るスマートフォン１００が実施するプロセスのスケジューリング処理について説明する。
【００５３】
従来のＳＭＰにおけるスケジューリング方法は、実施の形態１で説明した課題の他に、次の課題が存在した。
（ｃ）要求されるレスポンスが大きく異なる複数のプロセスが、一ＣＰＵに混在した場合に、使われないＣＰＵが無駄に大きな電力を消費する可能性がある。
【００５４】
近年、負荷に応じてＣＰＵの周波数性能を変更する技術が実用化されている。例えば、高レスポンスが要求されるプロセスが割り当てられたＣＰＵに対して、高周波数で動作するようにＯＳが制御する。また、低レスポンスが要求されるプロセスが割り当てられたＣＰＵに対して、低周波数で動作するように制御する。
【００５５】
一方、従来のＳＭＰは、主にＣＰＵにかかる負荷を見て、負荷が均一になるようにプロセスを割り振っていた。つまり、個々のプロセスに要求されるレスポンスは考慮していなかった。このため、上記の技術とＳＭＰとを組み合わせた場合、動作周波数もＣＰＵ間でほぼ対称となる反面、高レスポンスが要求されるプロセスと、低レスポンスが要求されるプロセスとが、同一のＣＰＵで混在する可能性があった。
【００５６】
一ＣＰＵにおいて、高レスポンスが要求されるプロセスと低レスポンスでも十分なプロセスとが混在すると、低レスポンスでも十分なプロセスまでも、高周波数で処理されてしまい、結果としてリソースが無駄に消費される。
【００５７】
図７は、上記の課題を模式的に表した図である。図７に示すように、プロセス毎に要求されるレスポンスを考慮せずに各ＣＰＵにプロセスを割り振った場合、結果として各ＣＰＵに存在する最も要求レスポンスの高いプロセスに応じて周波数設定が行われる。このため、両ＣＰＵとも高周波数で動作し、消費電力の増大につながる。
【００５８】
そこで上記の課題（ｃ）を解決するために、本発明の第２の実施形態に係るスケジューリング方法は、以下の構成をとるものとする。
【００５９】
本実施形態の制御部１１は、パフォーマンスに関するスケジューリングに応じて、ＣＰＵ毎に周波数性能を変える。例えば、一方のＣＰＵを高速（高周波数駆動）、高レスポンス型（負荷に対して処理速度を優先し、即座に周波数を上げる）とし、他方を低速（低周波数駆動）、低レスポンス型（負荷に対して消費電力を優先し、段階的に周波数を上げる）というカテゴリに分ける。
【００６０】
併せて、実施の形態１のスケジューリング方法も採用することにより、ユーザアプリケーション等の優先度の高いプロセスを、高速・高レスポンス型のＣＰＵと紐付ける。これにより、レスポンスが向上する。一方、バックグラウンド処理等の優先度の低いプロセスを、低速型のＣＰＵと紐付ける。これにより、消費電力削減を図ることができる。
【００６１】
上記を模式的に表したのが図３である。図３に示すように、低レスポンスが要求されるプロセスのみを割り振られた第１ＣＰＵ１１ａは、低周波数で動作する。一方、高レスポンスが要求されるプロセスのみが割り振られた第２ＣＰＵ１１ｂは、高周波数で動作する。このため、第１ＣＰＵ１１ａにおける消費電力の低減を図ることができる。
【００６２】
なお、以上のスケジューリング処理は、実施の形態１の図５に示す処理フローの、開始前の段階で行うのが望ましい。また、高レスポンスが要求されるプロセスと低レスポンスが要求されるプロセスとの判別は、実施の形態１と同様、親プロセスの参照や、ＶＭ上で動作するプロセスであるか否か等に基づいて行う。
【００６３】
以上に説明した本実施形態によれば、ユーザアプリケーション等の高レスポンスが要求されるプロセスの応答性を確保したまま、消費電力の低減を行うことができる。
【００６４】
［その他の実施の形態］
以上、好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００６５】
従って本発明は、以下の形態にも適用可能である。
【００６６】
（Ａ）上記の実施形態では、本発明のスケジューリング方法を実施する情報処理装置としてスマートフォン１００を例にあげているが、複数のＣＰＵを備え、且つＳＭＰに相当する機能を有する情報処理装置であれば、これ以外の情報処理装置において本発明のスケジューリング方法を実施する形態でもよい。例えば、パソコン、サーバ、ＰＤＡ、ＡＶ機器等において実施する形態であってもよい。
【００６７】
（Ｂ）上記の実施形態では、スマートフォン１００が二つのＣＰＵを備えている形態を例示しているが、三つ以上のＣＰＵを備え、それらがＳＭＰにより動作する情報処理装置において、本発明のスケジューリング方法を実施する形態でもよい。
【００６８】
（Ｃ）上記の実施形態では、本発明のスケジューリング方法を適用するマルチコア技術としてＳＭＰを例示しているが、これ以外のマルチコア技術に対して本発明のスケジューリング方法を適用することによっても、上記と同様の作用、効果を得ることができる。
【符号の説明】
【００６９】
１００    スマートフォン（情報処理装置、コンピュータ）
１１      制御部
１１ａ    第１ＣＰＵ（第１演算処理装置）
１１ｂ    第２ＣＰＵ（第２演算処理装置）
１２      通信部
１３      ＬＣＤ
１４      キーパッド
１５      メモリ
１６      ＲＯＭ
１７      スピーカ部
１８      音声入力部
【図１】
2014032621.tif 000003
【図２】
2014032621.tif 000004
【図３】
2014032621.tif 000005
【図４】
2014032621.tif 000006
【図５】
2014032621.tif 000007
【図６】
2014032621.tif 000008
【図７】
2014032621.tif 000009