JP5257077B2 - リソース配分装置、その方法及びプログラム - Google Patents

リソース配分装置、その方法及びプログラム Download PDF

Info

Publication number
JP5257077B2
JP5257077B2 JP2009000791A JP2009000791A JP5257077B2 JP 5257077 B2 JP5257077 B2 JP 5257077B2 JP 2009000791 A JP2009000791 A JP 2009000791A JP 2009000791 A JP2009000791 A JP 2009000791A JP 5257077 B2 JP5257077 B2 JP 5257077B2
Authority
JP
Japan
Prior art keywords
resource
allocation
application software
resource allocation
performance
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.)
Active
Application number
JP2009000791A
Other languages
English (en)
Other versions
JP2010160552A (ja
Inventor
一久 石坂
孝 宮崎
淳嗣 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009000791A priority Critical patent/JP5257077B2/ja
Publication of JP2010160552A publication Critical patent/JP2010160552A/ja
Application granted granted Critical
Publication of JP5257077B2 publication Critical patent/JP5257077B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明はマルチプログラムシステムの制御方法に関し、特に複数のアプリケーションの性能を制御するリソース配分装置、その方法及びプログラムに関する。
サーバーやPC、高機能組み込み機器等には多数のアプリケーションソフトウェア(以下アプリ)が搭載されている。これらのアプリは単一の計算機リソース(PCやメモリ等)を共有して動作するため、複数のアプリでリソースを分け合って利用することになる。
一般に、アプリが利用可能なリソース量が減少すると、アプリの性能は低下する。したがって、合計のリソース量が限られている場合は、複数のアプリがリソースを分け合って動作する時に、すべてのアプリを単独で動作する時と同等の性能で動作させることは困難であり、アプリの性能の低下によりユーザーの満足度が低下するという問題が生じる。
一方で、ユーザーは注目しているアプリが十分な性能で動作すれば満足する傾向を持つことや、利用可能なリソース量が低下したときに性能の低下が小さいアプリが存在すること等から、アプリへのリソース配分を注意深く行い、アプリの性能を適切に制御すれば、ユーザーの満足を高くすることができる。
複数のアプリを同時に動作させる方法として、各アプリが明示的に他のアプリにスイッチする方法をとることがある。しかし、この方法をとる場合に、ユーザーが満足するようにアプリの性能を制御するためには、各アプリの開発時に、同時に動作するアプリを考慮して、リソースを利用しすぎないようにする必要があり、アプリの開発コストが増加する。このような方法では、複雑なアプリを開発することは現実的ではないため、アプリは個別に開発し、それらのアプリへリソース配分を行うことで同時に動作することを可能とするシステムソフトウェアが用いられる。一般にこのようなシステムソフトウェアはOSの一部として実現されている。したがって、以下ではこのようなシステムソフトウェアを単にOSと呼ぶ。
OSによるリソース配分の方法として、すべてのアプリに平等にリソースを割り当てる方法がある。この方法では、特定のアプリの性能が著しく低下することがないようにリソース配分を行うことができる。しかしながら、ユーザーは現在操作しているアプリが十分な性能で動作しない場合には満足しないことが多く、平等なリソース配分では必ずしもユーザーの満足するリソース配分は行われないという問題がある。又、アプリによってユーザーに同程度の満足を与えるために必要なリソース量は異なるという性質を考慮していない。図1(a)に二つのアプリA、BのCPUスケジューリングの場合の例を示す。どちらのアプリも均等にCPUを利用しているが、これはアプリの内容やユーザーの満足を考慮してのものではない。
又、優先度を用いるリソース配分方法が用いられることも多い。固定優先度制御では、複数のアプリが動作する場合には優先度が最も高いアプリがリソースを使用でき、そのアプリが動作しないときのみ次に優先度が高いアプリがリソースを利用することができる。二つのアプリA、BのCPUスケジューリングの場合の例を図1(b)に示す。固定優先度制御では、優先度を用いることでユーザーの意思を反映させることができるが、図に示されるように優先度の低いアプリBのCPU利用時間が著しく小さくなる場合があるという問題がある。これはユーザーの満足を低下させることがある。
このような問題を解決するために、一定時間CPUを利用し続けると優先度を下げる動的優先度制御方式がある。二つのアプリA、BのCPUスケジューリングの場合の例を図1(c)に示す。
このような方式に基づいたリソース配分に係る発明が特許文献2及び3に開示されている。又、特許文献1には、アプリに利用可能なキャッシュサイズを配分するキャッシュ制御機能に関する発明が開示されている。これら関連技術の方法では、ある程度CPUを利用し続けると優先度が逆転するため、優先度が低いアプリのCPU時間が著しく低下することを防ぐことができる。
特開2000−339220号公報 特開2000−357024号公報 特開2003−337703号公報
しかしながら、優先度を下げる基準は個々のアプリの内容やアプリが使用されている状況を考慮しておらず、ユーザーを満足させるリソース配分とはなるとは限らない。
本発明が解決しようとする関連技術の課題は、複数のアプリが同時に動作する場合に、アプリの性能が低下することにより、ユーザーの満足度が低下することである。その理由は、各アプリに配分されるリソースの量が適切ではないため、性能がユーザーの許容範囲を越えて低下するアプリが存在するためである。
本発明は上記に鑑みてなされたもので、ユーザーが満足するような最適化された性能で複数のアプリを動作させることを可能とするリソース配分装置、その方法及びプログラムを提供することを目的とする。
上述の問題を解決するため、本発明に係るリソース配分装置は、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置において、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段と、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段と、を備えることを特徴とする。
また、本発明によるリソース配分装置は、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置において、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段と、前記複数のアプリケーションソフトウェアのそれぞれに乗じる重み値であるパラメータを格納する手段と、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能に前記パラメータを乗じた値を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段と、を備えることを特徴とする。
更に、本発明によるリソース配分装置は、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置であって、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段と、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能の分散を算出し、該分散が最小となる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段と、を備えることを特徴とする。
上述の問題を解決するため、本発明に係るリソース配分方法は、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分方法において、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手順と、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手順と、を備えることを特徴とする。
また、本発明によるリソース配分方法は、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分方法において、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手順と、前記複数のアプリケーションソフトウェアのそれぞれに乗じる重み値であるパラメータを設定する手順と、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能に前記パラメータを乗じた値を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手順と、を備えることを特徴とする。
更に、本発明によるリソース配分方法は、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分方法であって、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手順と、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能の分散を算出し、該分散が最小となる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手順と、を備えることを特徴とする。
上述の問題を解決するため、本発明に係るリソース配分プログラムは、コンピュータを、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置として機能させるためのリソース配分プログラムであって該コンピュータを、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段として機能させることを特徴とする。
また、本発明によるリソース配分プログラムは、コンピュータを、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置として機能させるためのリソース配分プログラムであって、該コンピュータを、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手段、前記複数のアプリケーションソフトウェアのそれぞれに乗じる重み値であるパラメータを格納する手段、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能に前記パラメータを乗じた値を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段、として機能させることを特徴とする。
更に、本発明によるリソース配分プログラムは、コンピュータを、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置として機能させるためのリソース配分プログラムであって、該コンピュータを、前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手段、前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能の分散を算出し、該分散が最小となる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段、として機能させることを特徴とする。
本発明によれば、リソース性能表を用いることによって、アプリのリソース量と性能の関係が分かるため、ユーザーが満足するような最適化された性能で複数のアプリを動作させることを可能とするリソース配分装置、その方法及びプログラムを提供することができる。
本発明の背景技術を説明するための図である。 本発明の第1の実施の形態の構成を示す図である。 本発明の第2の実施の形態の構成を示す図である。 本発明の第3の実施の形態の構成を示す図である。 本発明の第1の実施例の構成を示す図である。 本発明の第1の実施例の動作を説明するための図である。 本発明の第1の実施例の動作を説明するための図である。 本発明の第1の実施例の効果を説明するための図である。 本発明の第2の実施例の構成を説明するための図である。 本発明の第2の実施例の動作を説明するための図である。 本発明の第2の実施例の動作を説明するための図である。 本発明の第3の実施例の構成を説明するための図である。 本発明の第3の実施例の動作を説明するための図である。 本発明の第4の実施例の構成を説明するための図である。 本発明の第4の実施例の動作を説明するための図である。 本発明の第5の実施例の構成を説明するための図である。 本発明の第5の実施例の動作を説明するための図である。 本発明の第5の実施例の動作を説明するための図である。 本発明の第6の実施例の構成を説明するための図である。 本発明の第6の実施例の構成を説明するための図である。
次に、発明を実施するための形態について図面を参照して詳細に説明する。
[第1の実施の形態]
図2に本発明の第1の実施の形態の構成を示す。本実施の形態は、アプリのリソース性能表201とリソース配分決定手段202から構成される。
リソース性能表201は、アプリが利用可能なCPU及びメモリ等のリソースの量であるリソース量とその時のアプリの性能の対応関係を示す表である。リソース性能表201は、リソース量と性能の対応関係を複数組含むことが望ましい。又、リソース性能表201は、アプリの複数の種類の性能を示すものであってもよい。
ここで、リソース配分決定手段202は、リソース性能表読み込み部203とリソース配分決定部204とを備える。
リソース性能表読み込み部203は、リソース性能表201を読み込み、リソース配分決定部204は、アプリのリソース性能表201を用いて、リソースのアプリへの配分量を決定する機能を有する。
配分対象のリソースは複数でも良く、リソース性能表201はすべての配分対象のリソースを含むことが望ましい。
リソースが配分される対象となる全てのアプリに対応するリソース性能表201があることが望ましいが、リソース配分表を持たないアプリについては、デフォルトのリソース配分表を用いること等によって代替してもよい。又、同時に動作する全てのアプリがリソース配分の対象となることが望ましいが、一部のアプリのみを対象としても良い。
次に、本実施の形態の動作について説明する。本実施の形態では、リソース配分決定手段202に、リソース配分の対象となるアプリのリソース性能表201が渡されることによって動作が開始される。リソース配分決定手段202は以下の動作によって、リソース配分を決定する。
(1)まず、リソース配分決定手段202は、アプリへのリソース配分の候補の群を予め作成する。候補群は複数あってよい。
(2)次に、リソース配分決定手段202は、リソース性能表201を用いて、リソース配分の候補群それぞれに対応するアプリ性能を調べる。
(3)最後に、リソース配分決定手段202は、リソース配分の候補群の中から、一つの候補を選択してリソース配分結果とする。
(1)でのリソース配分の候補群の作成は、例えば、リソース配分表に含まれているリソース量の中から、リソースの最大量を越えない全ての組み合わせを候補群とする方法を用いることができる。
(3)での候補群の中から一つの候補を選択する方法としては、例えば(2)で調べたアプリの性能の合計が最も高い候補を選ぶという方法を用いることができる。又は、候補群が含むリソースの配分の候補それぞれについてリソース性能表を用いて前記複数のアプリケーションソフトウェアの性能の分散を算出し、この性能の分散が最小となるリソース配分を配分結果としても良い。更には、アプリの性能の相乗平均が最も高い候補を選んでもよい。
本実施の形態の別形態として、リソース性能表201の代わりに、リソース量と性能の関係を表すグラフや式を用いても良い。
[第2の実施の形態]
次に、本発明の第2の発明を実施するための形態について述べる。図3に本実施の形態の構成を示す。本実施の形態は、アプリのリソース性能表301、リソース配分決定手段302、アプリのパラメータ303から構成される。
本実施の形態のリソース性能表301は、本発明の第1の実施の形態と同様である。パラメータ303は、アプリ毎に定義される値で、リソース配分決定手段302に読み込まれる。パラメータ303の数はアプリの数と等しいことが望ましい。
本実施の形態は、リソース配分決定手段302はリソース性能表301とパラメータ303とを用いてリソース配分を決定する機能を有することを特徴とする。本実施の形態では、パラメータ303を変更することによって、リソース性能表301を変更することなく、リソース配分を変更することができるという効果がある。
次に、本実施の形態の動作について説明する。本実施の形態では、リソース配分決定手段302に、リソース配分の対象となるアプリのリソース性能表301とパラメータ303が渡されることによって動作が開始される。リソース配分決定手段302は以下の動作によって、リソース配分を決定する。
(1)まず、リソース配分決定手段302は、アプリへのリソース配分の候補群を作成する。候補群は複数あってよい。
(2)次に、リソース配分決定手段302は、リソース性能表301を用いて、リソース配分の候補群それぞれでのアプリ性能を調べる。
(3)リソース性能配分決定手段は、パラメータ303を候補群に適用する。
(4)最後に、リソース配分決定手段302は、リソース配分の候補群の中から、一つの候補を選択してリソース配分結果とする。
例えば、パラメータ303としてリソース性能表301の性能に乗じられる重みを用いる場合、ユーザーが注目しているアプリの重みを大きくすることによって、ユーザーが注目しているアプリへのリソース配分を多くし、性能向上させるといったことができる。又、ユーザーが注目しているアプリが変わった場合は、重みを変更することによって、リソース配分表を変更することなく、新たな注目アプリの性能が高くなるように、リソース配分を変更できるといったことができる。
なお、(4)での候補群の中から一つの候補を選択する方法としては、例えば(2)で調べたアプリの性能に(3)でのパラメータ適用後の数値の合計が最も高い候補を選ぶという方法を用いることができる。
又は、性能の分散が最小となるリソース配分を配分結果としても良い。
[第3の実施の形態]
次に、本発明の第3の発明を実施するための形態について述べる。図4に本実施の形態の構成を示す。本実施の形態は、アプリのリソース性能表401、リソース配分決定手段402、記憶手段403、リソース配分選択手段404から構成される。
本実施の形態のリソース性能表401、リソース配分決定手段402は、本発明の第1の実施の形態と同様であり、記憶手段403とリソース配分選択手段404とを更に備えることを特徴とする。記憶手段403は、リソース配分決定手段402の決定したリソース配分結果を複数保存する機能を有する。リソース配分選択手段404は、記憶手段403に選択された複数のリソース配分結果から一つを選択して、出力するという機能を有する。
本実施の形態は、リソース配分を変更する際の計算負荷を小さくすることができるという効果がある。なぜならば、予め複数のリソース配分を決定し、記憶手段403に保存しておくことで、リソース配分を変更する際は、リソース配分選択手段404がリソース配分結果を選択するだけであり、リソース性能表401を用いたリソース配分決定を行う必要がないからである。
次に、本実施の形態の動作について説明する。本実施の形態の動作は、(a)リソース配分決定動作と(b)リソース配分選択動作に分かれる。
リソース配分決定動作は、本発明の第1の実施の形態の動作と同様である。本動作によって決定されたリソース配分は、記憶手段403に保存される。本動作を複数回繰り返すことによって、複数のリソース配分結果を記憶手段403に保存することが望ましい。複数のリソース配分結果は、異なるアプリの集合に対するリソース配分結果を含んでいても良い。又、同じアプリ集合に対する異なる複数のリソース配分結果を含んでいても良い。
リソース配分選択動作は、リソース配分選択手段404が選択基準が通知されることによって開始される。リソース配分選択手段404は、記憶手段403に記録されているリソース配分結果の中から、選択基準に合致する配分結果を選択し、アプリへのリソース配分結果として出力する。
又、本実施の形態の別形態として、本発明の第2の実施の形態のパラメータを付加した実施の形態を取ることができることは、当業者には明らかである。
[第1の実施例]
次に、具体的な実施例を用いて本発明を実施するための形態を説明する。
第1の実施例は、本発明の第1の実施の形態に対応する実施例であり、本発明を用いてアプリへのCPU利用時間の配分、すなわちCPUスケジューリングを行う実施例である。また本実施例は二つのアプリA、Bを対象とした例である。
本実施例の構成を図5に示す。本実施例では、アプリのリソース性能表501はディスク502にファイルとして記録されている。
図6に、本実施例で用いるリソース性能表501を示す。図中の(a)はアプリAのリソース性能表、図中の(b)はアプリBのリソース性能表を示す。本実施例では、リソース性能表501は、リソースとしてCPU利用率(%)と性能を示す。性能は0から1の間の値を取るように正規化されており、二つのアプリ間で比較可能な値を用いている。
本実施例のアプリランチャー503は、ユーザーが指定したアプリを起動するプログラムで、アプリの起動時にアプリのリソース性能表501をリソース配分決定プロセス504に渡す機能、及びアプリの終了時にリソース性能配分決定プロセスに、アプリが終了されたことを通知する機能を有する。
本実施例のリソース配分決定プロセス504は、ユーザーレベルの常駐プロセスであり、第1の実施の形態のリソース配分決定手段に対応する。リソース配分決定プロセス504はアプリランチャー503からリソース性能表501が渡されると、リソース性能表501をメモリ506に保存し、メモリ506に保存されているリソース性能表501を用いてアプリへのリソース配分決定する。
本実施例では、リソース配分決定プロセス504は、CPU利用率が100%を越えない範囲で可能なリソース配分の組み合わせを候補群として選び、リソース性能表501を用いて各候補群についてアプリの性能を合計し、合計が最も大きくなるリソース配分を候補群から選び配分結果とするという動作をする。又、リソース配分決定プロセス504は、システムコールを用いて決定したリソース配分をOS505のCPUアカウンティング機能に通知することによって、リソース配分結果をCPU割り当てに適用する。又、リソース配分決定プロセス504は、アプリランチャー503からアプリの終了を通知されると、メモリ506中に保存した対応するリソース性能表501を削除する。
本実施例のOS505は、アプリ毎にCPUの利用率を設定することができる、CPUアカウンティング機能を有しており、システムコールによって、アプリのCPU利用率を設定することが可能である。
次に本実施例の動作を、アプリAの次にアプリBを起動する場合の具体例を用いて説明する。アプリランチャー503がアプリAを起動し、リソース配分決定プロセス504にアプリAのリソース性能表を通知する。この段階では、メモリ506にはアプリAのリソース性能表のみ登録されているので、リソース配分決定プロセス504は、アプリAのCPU利用率を0%、25%、50%、75%、100%としたリソース配分を候補として、その中で最も性能が高い100%をリソース配分結果として、OS505のCPUアカウンティング機能に設定する。
次に、アプリランチャー503はアプリBを起動し、リソース配分決定プロセス504にアプリBのリソース性能表を通知する。リソース配分決定プロセス504は、アプリAとアプリBのリソース性能表からCPU利用率が100%を越えない組を候補群とする。図7は、その候補の中で合計のCPU利用率が100%になる候補だけを表示している(本実施例では、100%に満たない候補は性能の合計が最大にならないことが明らかであるため省略している)。
リソース配分決定プロセス504は、この候補群の中から最大性能となるアプリAのCPU利用率を75%、アプリBのCPU利用率を25%とする候補をリソース配分結果として選ぶ。最後に、リソース配分決定プロセス504は、リソース配分結果をOS505のCPUアカウンティング機能に通知する。
次に本実施例の効果を示すため、図8に本実施例を用いた場合の二つのアプリのスケジューリング結果を示す。これは、関連技術による図1に示したスケジューリング結果と異なっており、関連技術では実現できないスケジューリングを行うことができている。リソース性能表501から、本実施例によるスケジューリング結果のほうが性能が高いことが明らかであるため、ユーザーが高い性能を求めている場合には、本実施例を用いることで、ユーザーの満足を高めるリソース配分が行うことができる。
本実施例では、ユーザー空間のリソース配分決定プロセス504をリソース配分決定手段を用いたが、OS505がリソース配分決定手段を備えていても良い。その場合は、OS505がシステムコール等によってリソース性能表501の通知する受ける機能を持ち、アプリケーションランチャーが機能を用いて通知を行う。
本実施例では、アプリの性能の合計が最大となるリソース配分を配分結果とするが、その他の方法によってリソース配分結果を決定しても良い。例えば、本実施例の別の形態として、性能の分散が最小となるリソース配分を配分結果としても良い。リソースを平等に配分しても必ずしも性能が公平とはならないため、複数のアプリの性能を公平にすることが望まれる場合は、本発明を用いることでより満足度の高いリソース配分を行うことができる。
本実施例では、リソース性能表501に記載されているリソース量のみをリソース配分の候補群の作成に用いたが、それ以外のリソース性能表501に記載されていないリソース量を配分したリソース配分候補を含めても良い。その場合は、アプリの性能は、リソース性能表501から推測することや、デフォルトの値を利用するといった方法を取ることができる。
[第2の実施例]
次に、本発明の第2の実施例について説明する。本実施例は、本発明の第1の実施の形態に対応し、第1の実施例と同様にCPU利用率をリソースとして二つのアプリへ配分する実施例である。
本実施例の構成は図9に示すように、第1の実施例に対し、リソース性能表901において二つのリソース性能表(2)及び(3)を加え、更にアプリモニター907を加えたことを特徴とする。その他のディスク902、アプリランチャー903、メモリ906及びOS905は、第1の実施例と同様である。
アプリモニター907は、アプリの利用状況を判断して、ユーザーが注目しているアプリが変わった場合に、リソース性能表901をリソース配分決定プロセス904に通知し、リソース配分を変更する機能を有する。
本実施例の構成のリソース性能表(0)とリソース性能表(1)はアプリAにユーザーが注目している状況で通知されるアプリAとアプリBのリソース性能表901であり、第1の実施例と同様(図6)であるとする。又、リソース性能表(2)とリソース性能表(3)は、アプリBにユーザーが注目している状況で通知されるリソース性能表901である。図10にリソース性能表(2)及び(3)を示す。
本実施例の動作について説明する。本実施例のアプリ起動時の動作は第1の実施例の動作と同じであるので、ここではユーザーの注目するアプリが変更した場合の動作について説明する。アプリAとアプリBが動作しており、アプリAにユーザーが注目しており、第1の実施例と同様にリソース性能表(0)とリソース性能表(1)を用いて決定されたリソース配分が行われていたとする。この状況でユーザーの注目がアプリBに変更された場合の動作を説明する。
まず、アプリモニター907には、アプリBが注目されている状況では、アプリAのリソース性能表としてリソース性能表(2)、アプリBにはリソース性能表(3)を利用することが登録されている。
(1)アプリモニター907がユーザーがアプリBに注目していることを検出する。
(2)アプリモニター907は、リソース配分決定プロセス904に、アプリAに対してリソース性能表(2)をアプリBに対してリソース性能表(3)を利用することを通知する。
(3)リソース配分決定プロセス904は、既にメモリ上に記録されているアプリA、Bのリソース性能表901を、新たに通知されたものに変更する。
(4)リソース配分決定プロセス904は、新たに通知されたリソース性能表を用いてリソース配分を決定する。
上記手順(4)の具体的な動作の説明は第1の実施例から明らかであるから省略するが、リソース性能表(2)及び(3)を用いた場合のリソース配分候補を図11に示す。
図11に示すように、合計性能が最大となるCPU利用率をアプリAを25%、アプリBを75%としたリソース配分に決定される。新しいリソース配分によるスケジューリング結果については明らかであるため説明は省略するが、新たに注目されたアプリBのCPU利用率が増え、性能が向上する。
本実施例では、ユーザーが注目しているアプリが変更されたときに、リソース配分を変更することで、新たにユーザーが注目したアプリの性能を高めることができるという効果がある。
なお、リソース配分決定プロセス904は、アプリの利用状況に応じてパラメータを変更して、リソース配分を算出してもよい。この場合、パラメータには、アプリの性能に乗じる重み等を用いることができる。
[第3の実施例]
次に、本発明の第3の実施例について図面を用いて詳細に説明する。本実施例は本発明の第2の実施の形態に対応する実施例であり、図12は、本実施例の構成を示す図面である。
本実施例は、第1の実施例と同様に二つのアプリA、BへのCPU利用率の配分を行う例であり、図に示すリソース性能表1201、ディスク1202、アプリランチャー1203、メモリ1206、OS1205は第1の実施例と同様である。
本実施例は、第1の実施例に加えてウィンドウシステム1207及び重み1208から構成されることを特徴とする。
ウィンドウシステムは、アプリのウィンドウを管理するシステムである。ウィンドウシステム1207としては、例えばX Window Systemといったウィンドウシステムが知られている。
本実施例のウィンドウシステム1207は、ユーザーの操作によってアプリのウィンドウが選択されると、重み1208をリソース配分決定プロセス1204に通知する機能を有する。
重み1208は、アプリ毎に定義されるパラメータで、リソース性能表1201の性能に乗じて、重み付き性能を算出するために利用される。なお、重み1208は本発明の第3の実施の形態のパラメータに対応する。本実施例のリソース配分決定プロセス1204は、ウィンドウシステム1207から重み1208を通知されると、メモリ中に保存されているアプリのリソース性能表1201と重み1208を用いて重み付き性能を算出し、リソース配分を決定する機能を有する。
次に本実施例の動作を説明するために、アプリAとアプリBが動作しており、アプリAのウィンドウが選択されている状況で、ユーザーがアプリBのウィンドウを選択した場合、すなわちユーザーの注目がアプリAからアプリBに変更する動作を説明する。又、両アプリのリソース性能表1201は図6のとおりであるとし、メモリに記憶されているとする。
(1)ウィンドウシステム1207はアプリBが選択された際に、アプリAの重み1208として1.0、アプリBの重み1208として1.5をリソース配分決定プロセス1204に通知する。
(2)リソース配分決定プロセス1204は、メモリ中のアプリA及びBのリソース性能表1201からリソース配分の候補群を作成する。
(3)リソース配分決定プロセス1204は、候補群の各アプリの性能に対して重み1208を乗じた重み付き性能を算出する。
(4)リソース配分決定プロセス1204は、各アプリの重み付き性能を合計した合計性能を算出する。リソース配分の候補と重み付き性能及び合計性能を図13に示す(ただし図は合計CPU利用率が100%の候補のみ示している)。
(5)リソース配分決定プロセス1204は、最も合計性能が高い候補をリソース配分結果として選択する。本実施例では、アプリAのCPU利用率を25%、アプリBのCPU利用率を75%とするリソース配分が選ばれる。
以上の動作により、ユーザーが注目しているアプリBの性能が高くなる。一般にユーザーは注目しているアプリが高い性能で動く場合に満足する傾向があるため、本実施例を用いることによって、ユーザーの満足を高めるリソース配分を行うことができる。
本実施例は、パラメータとして性能に乗じる重み1208を用いたが、例えばパラメータとして性能の下限を設定する下限値を用いることによって、アプリの性能が一定以下に低下しないようなリソース配分を行うことができる。又、複数のパラメータを用いてリソース配分を行っても良い。
[第4の実施例]
次に、本発明の第4の実施例について説明する。本実施の形態は、本発明の第2及び第3の実施の形態に対応する実施例である。本実施例の構成を図14に示す。本実施例は、第3の実施例と同様のリソース性能表1401、ディスク1402、アプリランチャー1403及びOS1405に加えて、重み設定プロセス1409、リソース配分選択プロセス1410を備え、重み設定プロセス1409が重み1408をリソース配分決定プロセス1404に通知し、ウィンドウシステム1407がリソース配分選択プロセス1410に、ユーザーが選択したアプリを通知し、メモリ1406がリソース配分決定プロセス1404及びリソース配分選択プロセス1410と協働することを特徴としている。
本実施例の重み設定プロセス1409はユーザーレベルのプロセスであり、アプリの重み1408をリソース配分決定プロセス1404に通知するという機能を有する。
又、本実施例のリソース配分決定プロセス1404は、実施例3のリソース配分決定プロセス1404と同様にリソース性能表1401と重み1408とからリソース配分を決定するが、決定したリソース配分結果をメモリ1406に保存するという動作をすることを特徴とする。
本実施例のリソース配分選択プロセス1410は、ユーザーレベルの常駐プロセスであり、ウィンドウシステム1407から通知されたユーザーが選択したアプリを元に、メモリ1406に保存された複数のリソース配分結果から、配分結果を一つ選択して、OS1405のCPUアカウンティング機能に設定するという機能を有する。
次に、本実施例の動作を説明するため、第1の実施例と同様に二つのアプリAとBにCPU利用率を配分する場合の動作を示す。アプリのリソース性能表は第1の実施例と同様である(図6)。本実施例の動作は、リソース配分結果登録動作とリソース配分結果選択動作に分かれる。まず、リソース配分結果登録動作について説明する。
(1)重み設定プロセス1409が、アプリAの重みを1.5、アプリBの重みを1.0をリソース配分決定プロセス1404に通知する。
(2)リソース配分決定プロセス1404は、アプリのリソース性能表1401と重みを用いてリソース配分結果を算出する。本ステップの詳細は第3の実施例と同様であるので省略する。
(3)リソース配分決定プロセス1404は、算出したリソース配分結果をメモリ1406に記録する。
(4)次に、重み設定プロセス1409が、アプリAの重みを1.0、アプリBの重みを1.5をリソース配分決定プロセス1404に通知する。
(5)ステップ2と同様にリソース配分結果を算出する。
(6)ステップ3と同様にリソース配分結果をメモリ1406に記録する。
以上の動作によって、メモリ1406中に二つのリソース配分結果が保存される。保存されたリソース配分結果を図15に示す。
次に、リソース配分結果選択動作について、アプリAが選択された場合の動作を説明する。
(1)ウィンドウシステム1407は、アプリAが選択されたことをリソース配分選択プロセス1410に通知する。
(2)リソース配分選択プロセス1410は、メモリ1406に保存されている、リソース配分結果から、アプリAの重みが1.5でアプリBの重みが1.0である配分結果を選択する。
(3)リソース配分選択プロセス1410は、選択した配分結果にしたがって、OS1405のCPUアカウンティング機能に対して、アプリAのCPU利用率を75%、アプリBのCPU利用率を25%に設定する。
以上の動作により、アプリAへのリソース配分量をアプリBへのリソース配分量より多くしたリソース配分を行うことができ、一般にユーザーは選択しているアプリの性能が高くなることを望むため、ユーザーの満足を高めるリソース配分を行うことができる。
[第5の実施例]
次に本発明の第5の実施例について説明する。本実施例は、本発明の第1の実施の形態に対応する実施例であり、二つのアプリA及びBへのCPU利用率とキャッシュ割り当て量を配分する実施例である。
本実施例は、配分対象のリソースが複数であることを特徴とする。一般に、アプリの性能は複数のリソースに依存するため、複数のリソースの配分を制御することによって、期待する性能と誤差の少ない性能に制御することができるという効果がある。
図16に本実施例の構成を示す。本実施例のディスク1602、アプリランチャー1603及びメモリ1606は本発明の第1の実施例と同様であるため説明を省略する。
本実施例のOS1605は、第1の実施例と同様のCPUアカウンティング機能を有することに加えて、アプリに利用可能なキャッシュサイズを配分するキャッシュ制御機能を有する。
キャッシュ制御機能としては、例えば前述の特許文献1が開示している技術を用いることができる。キャッシュ制御機能の具体的な内容は本発明には無関係であることは明らかであるため説明を省略する。本実施例では、256KBのキャッシュをアプリに64KB単位で配分できるキャッシュ制御機能を用いている。
本実施例のリソース性能表1601を図17に示す。本実施例のリソース性能表1601は、リソース量としてCPU利用率とキャッシュサイズを持つことを特徴とする。
本実施例のリソース配分決定プロセスは、リソース量として、CPU利用率とキャッシュサイズの組み合わせを考慮して、リソース配分候補群を作成する。それ以外の機能は第1の実施例と同様である。したがって、本実施例の動作は第1の実施例から明らかであるため、説明は省略する。
次に本実施例の効果を説明するため、リソース配分の候補群を図18に示す。本実施例では、性能が最大となるリソース配分である図中の(a)行をリソース配分結果として選択する。これは、例えば図中(b)行に示すリソースを二つのアプリに平等に配分した場合に比べて合計の性能が高くなるようなリソース配分となっている。すなわち、ユーザーが合計性能が高くなることを望む場合には、本実施例によりユーザーの満足を高めるようにリソース配分を行うことができる。
本実施例は、リソース性能表1601のリソースの種類が複数ある場合の例であるが、性能の種類が複数ある構成をとってもよい。その場合は、リソース配分決定プロセスが、リソース配分の候補群の中から、複数の性能を判断してリソース配分を決定する。例えばユーザーが優先する種類の性能が最も高いリソース配分に決定することや、ユーザーが合計の性能が最も高いことを望む場合は合計性能が最も高いリソース配分に決定することで、ユーザーの満足を高めるリソース配分を行うことができる。
[第6の実施例]
次に発明の第6の実施例について説明する。本実施例は、本発明の第1の実施の形態に対応する実施例であり、マルチコアCPUのコアへ二つのアプリA及びBの割り当てを行う実施例である。
本実施例の構成を図19に示す。リソース性能表1901、ディスク1902、アプリランチャー1903、リソース配分決定プロセス1904及びメモリ1906は、第1の実施例と同様である。本実施例のOS1905はアプリのCPUへの割り当てを指定するためのCPUアフィニティ機能を有する。CPUアフィニティ機能はLinux等多くのOSでサポートされており、当業者には明らかである。
図20に本実施例のリソース性能表を示す。本実施例のリソース性能表のリソースはCPUコア数であり、アプリA及びBは利用可能なコア数によって異なる性能で動作するアプリである。
本実施例の動作は、これまでの説明から明らかであるため説明を省略する。本実施例は、マルチコアCPUのアプリへのコア割り当てをユーザーの満足を考慮して行うことができるという効果がある。
なお、本発明は、装置のみならず、その方法及びプログラムとしても実施可能である。
本発明は、組み込み機器等のリソース制約が厳しいコンピューターシステム上で複数のアプリケーションソフトウェアを効率的に動かすといった用途に適用できる。
201 リソース性能表
202 リソース配分決定手段
203 リソース性能表読み込み部
204 リソース配分決定部
301 リソース性能表
302 リソース配分決定手段
303 パラメータ
401 リソース性能表
402 リソース配分決定手段
403 記憶手段
404 リソース配分選択手段
501 リソース性能表
502 ディスク
503 アプリランチャー
504 リソース配分決定プロセス
505 OS
506 メモリ
901 リソース性能表
902 ディスク
903 アプリランチャー
904 リソース配分決定プロセス
905 OS
906 メモリ
907 アプリモニター
1201 リソース性能表
1202 ディスク
1203 アプリランチャー
1204 リソース配分決定プロセス
1205 OS
1206 メモリ
1207 ウィンドウシステム
1208 重み
1401 リソース性能表
1402 ディスク
1403 アプリランチャー
1404 リソース配分決定プロセス
1405 OS
1406 メモリ
1407 ウィンドウシステム
1408 重み
1409 重み設定プロセス
1410 リソース配分選択プロセス
1601 リソース性能表
1602 ディスク
1603 アプリランチャー
1604 リソース配分決定プロセス
1605 OS
1606 メモリ
1901 リソース性能表
1902 ディスク
1903 アプリランチャー
1904 リソース配分決定プロセス
1905 OS
1906 メモリ

Claims (24)

  1. 複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置において、
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段と、
    前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段と、
    を備えることを特徴とするリソース配分装置。
  2. 複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置において、
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段と、
    前記複数のアプリケーションソフトウェアのそれぞれに乗じる重み値であるパラメータを格納する手段と
    記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能に前記パラメータを乗じた値を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段と、
    を備えることを特徴とするリソース配分装置。
  3. 複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置であって、
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段と、
    記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能の分散を算出し、該分散が最小となる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段と、
    を備えることを特徴とするリソース配分装置。
  4. 前記複数のアプリケーションソフトウェアについて決定したリソースの配分結果を複数保存する記憶手段を更に備え、
    前記リソース配分決定手段は、リソースを配分する複数のアプリケーションソフトウェアについて前記記憶手段が複数保存する前記リソースの配分結果から所定の選択基準に合致する一つを選択することを特徴とする請求項1乃至のいずれか1項に記載のリソース配分装置。
  5. 前記複数のアプリケーションソフトウェアそれぞれに対して予め用意した複数のリソース性能表のうち、ユーザによる該複数のアプリケーションソフトウェアの使用状態に対応したリソース性能表を前記リソース配分決定手段に通知する手段を更に備え、
    前記リソース配分決定手段は、該通知されたリソース性能表を用いて前記リソースの配分を決定することを特徴とする請求項1乃至のいずれか1項に記載のリソース配分装置。
  6. 前記複数のアプリケーションソフトウェアそれぞれの性能に乗じる重み値であるパラメータを前記リソース配分決定手段に通知する手段を更に備え、
    前記リソース配分決定手段は、前記通知されたパラメータを用いて、前記リソースの配分を決定することを特徴とする請求項乃至のいずれか1項に記載のリソース配分装置。
  7. 前記複数のアプリケーションソフトウェアへ配分するコンピューターシステムのリソースは複数種類あり、前記リソース性能表は、数種のリソースに対するリソース量と該複数のアプリケーションソフトウェアの性能とについて複数種類の対応関係を示すことを特徴とする請求項1乃至のいずれか1項に記載のリソース配分装置。
  8. 前記リソース性能表は、前記リソースの量として前記複数のアプリケーションソフトウェアによる前記コンピュータシステムのCPUの利用率と該複数のアプリケーションソフトウェアの性能との対応関係を示し、前記リソース配分決定手段は、前記CPUの利用率が100%を越えない範囲で可能な前記リソースの配分の組み合わせを前記候補の群とすることを特徴とする請求項1乃至のいずれか1項に記載のリソース配分装置。
  9. 複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分方法において、
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手順と、
    前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手順と、
    を備えることを特徴とするリソース配分方法。
  10. 複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分方法において
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手順と、
    前記複数のアプリケーションソフトウェアのそれぞれに乗じる重み値であるパラメータを設定する手順
    記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能に前記パラメータを乗じた値を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手順と、
    を備えることを特徴とするリソース配分方法。
  11. 複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分方法であって
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手順と、
    記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能の分散を算出し、該分散が最小となる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手順と、
    を備えることを特徴とすることを特徴とするリソース配分方法。
  12. 前記コンピューターシステムの記憶手段に前記複数のアプリケーションソフトウェアについて決定したリソースの配分結果を複数保存する記憶手順を更に有し
    前記リソース配分決定手順は、リソースを配分する複数のアプリケーションソフトウェアについて前記記憶手順複数保存された前記リソースの配分結果から所定の選択基準に合致する一つを選択することを特徴とする請求項乃至11のいずれか1項に記載のリソース配分方法。
  13. 前記複数のアプリケーションソフトウェアそれぞれに対して予め用意した複数のリソース性能表のうち、ユーザによる該複数のアプリケーションソフトウェアの使用状態に対応したリソース性能表を通知する手順を更に備え、
    前記リソース配分決定手順は、該通知されたリソース性能表を用いて前記リソースの配分を決定することを特徴とする請求項乃至11のいずれか1項に記載のリソース配分方法。
  14. 前記複数のアプリケーションソフトウェアそれぞれの性能に乗じる重み値であるパラメータを通知する手順を更に備え、
    前記リソース配分決定手順は、前記通知されたパラメータを用いて、前記リソースの配分を決定することを特徴とする請求項乃至11のいずれか1項に記載のリソース配分方法。
  15. 前記複数のアプリケーションソフトウェアへ配分するコンピューターシステムのリソースは複数種類あり、前記リソース性能表は、数種のリソースに対するリソース量と該複数のアプリケーションソフトウェアの性能とについて複数種類の対応関係を示すことを特徴とする請求項乃至14のいずれか1項に記載のリソース配分方法。
  16. 前記リソース性能表は、前記リソースの量として前記複数のアプリケーションソフトウェアによる前記コンピュータシステムのCPUの利用率と該複数のアプリケーションソフトウェアの性能との対応関係を示し、前記リソース配分決定手順では、前記CPUの利用率が100%を越えない範囲で可能な前記リソースの配分の組み合わせを前記候補の群とすることを特徴とする請求項乃至15のいずれか1項に記載のリソース配分方法。
  17. コンピュータを、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置として機能させるためのリソース配分プログラムであって
    該コンピュータを、
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を格納する手段
    前記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段
    として機能させることを特徴とするリソース配分プログラム。
  18. コンピュータを、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置として機能させるためのリソース配分プログラムであって
    該コンピュータを、
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手段、
    前記複数のアプリケーションソフトウェアのそれぞれに乗じる重み値であるパラメータを格納する手段
    記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能に前記パラメータを乗じた値を合計し、該合計が最も大きくなる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段、
    として機能させることを特徴とするリソース配分プログラム。
  19. コンピュータを、複数のアプリケーションソフトウェアへコンピューターシステムのリソースを配分するリソース配分装置として機能させるためのリソース配分プログラムであって
    該コンピュータを、
    前記複数のアプリケーションソフトウェアが利用可能な前記リソースの量と該複数のアプリケーションソフトウェアの性能との対応関係を示すリソース性能表を設定する手段、
    記複数のアプリケーションソフトウェアへの前記リソースの配分の候補の群を予め作成し、該群が含む前記リソースの配分の候補それぞれについて前記リソース性能表を用いて前記複数のアプリケーションソフトウェアの性能の分散を算出し、該分散が最小となる前記リソースの配分の候補を前記リソースの配分として決定するリソース配分決定手段、
    として機能させることを特徴とするリソース配分プログラム。
  20. コンピュータを、
    前記複数のアプリケーションソフトウェアについて決定したリソースの配分結果を複数保存する記憶手段として更に機能させ
    前記リソース配分決定手段は、リソースを配分する複数のアプリケーションソフトウェアについて前記記憶手段が複数保存する前記リソースの配分結果から所定の選択基準に合致する一つを選択することを特徴とする請求項17乃至19のいずれか1項に記載のリソース配分プログラム。
  21. コンピュータを、
    前記複数のアプリケーションソフトウェアのそれぞれに対して予め用意した複数のリソース性能表のうち、ユーザによる該複数のアプリケーションソフトウェアの使用状態に対応したリソース性能表を前記リソース配分決定手段に通知する手段として更に機能させ
    前記リソース配分決定手段は、該通知されたリソース性能表を用いて前記リソースの配分を決定することを特徴とする請求項17乃至19のいずれか1項に記載のリソース配分プログラム。
  22. コンピュータを、
    前記複数のアプリケーションソフトウェアそれぞれの性能に乗じる重み値であるパラメータを前記リソース配分決定手段に通知する手段として更に機能させ、
    前記リソース配分決定手段は、前記通知されたパラメータを用いて、前記リソースの配分を決定することを特徴とする請求項17乃至19のいずれか1項に記載のリソース配分プログラム。
  23. 前記複数のアプリケーションソフトウェアへ配分するコンピューターシステムのリソースは複数種類あり、前記リソース性能表は、数種のリソースに対するリソース量と該複数のアプリケーションソフトウェアの性能とについて複数種類の対応関係を示すことを特徴とする請求項17乃至22のいずれか1項に記載のリソース配分プログラム。
  24. 前記リソース性能表は、前記リソースの量として前記複数のアプリケーションソフトウェアによる前記コンピュータシステムのCPUの利用率と該複数のアプリケーションソフトウェアの性能との対応関係を示し、前記リソース配分決定手段は、前記CPUの利用率が100%を越えない範囲で可能な前記リソースの配分の組み合わせを前記候補の群とすることを特徴とする請求項17乃至23のいずれか1項に記載のリソース配分プログラム。
JP2009000791A 2009-01-06 2009-01-06 リソース配分装置、その方法及びプログラム Active JP5257077B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009000791A JP5257077B2 (ja) 2009-01-06 2009-01-06 リソース配分装置、その方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009000791A JP5257077B2 (ja) 2009-01-06 2009-01-06 リソース配分装置、その方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010160552A JP2010160552A (ja) 2010-07-22
JP5257077B2 true JP5257077B2 (ja) 2013-08-07

Family

ID=42577691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009000791A Active JP5257077B2 (ja) 2009-01-06 2009-01-06 リソース配分装置、その方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5257077B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6007516B2 (ja) * 2012-03-02 2016-10-12 日本電気株式会社 リソース配分システム、リソース配分方法、及びリソース配分プログラム
JP6992515B2 (ja) * 2018-01-05 2022-01-13 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
CN118210615A (zh) * 2022-12-16 2024-06-18 华为技术有限公司 资源分配的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3861087B2 (ja) * 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
JP4377369B2 (ja) * 2005-11-09 2009-12-02 株式会社日立製作所 リソース割当調停装置およびリソース割当調停方法
JP4594877B2 (ja) * 2006-02-21 2010-12-08 株式会社日立製作所 計算機リソース割当管理方法および計算機リソース割当管理装置
JP4752767B2 (ja) * 2007-01-12 2011-08-17 日本電気株式会社 システム構成候補導出装置、方法およびプログラム
US8250574B2 (en) * 2007-05-24 2012-08-21 Nec Corporation Virtual machine management via use of table in which virtual machine information is registered on a time basis

Also Published As

Publication number Publication date
JP2010160552A (ja) 2010-07-22

Similar Documents

Publication Publication Date Title
US9965324B2 (en) Process grouping for improved cache and memory affinity
CN106716365B (zh) 异构线程调度
US8782657B2 (en) Dynamic creation and destruction of IO resources based on actual load and resource availability
CN103069389B (zh) 混合计算环境中的高吞吐量计算的方法和***
RU2569805C2 (ru) Виртуальная архитектура неоднородной памяти для виртуальных машин
US7926071B2 (en) Load balancing interfaces
US8234378B2 (en) Load balancing in a managed execution environment
US8671189B2 (en) Dynamic load balancing system and method thereof
US10554575B2 (en) Equitable sharing of system resources in workflow execution
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
JP2008047126A (ja) 精密なcpu消費量データを用いてアフィニティをディスパッチする負荷バランサ
JP2011258119A (ja) クラスタ構成管理方法、管理装置及びプログラム
Ramezani et al. A multi-objective load balancing system for cloud environments
Muthuvelu et al. On-line task granularity adaptation for dynamic grid applications
KR20100074920A (ko) 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
JP5257077B2 (ja) リソース配分装置、その方法及びプログラム
US9324099B2 (en) Dynamically allocating resources between computer partitions
CN116302327A (zh) 资源调度方法及相关设备
KR101955715B1 (ko) 복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템
US11550625B2 (en) Utilizing machine learning to concurrently optimize computing resources and licenses in a high-performance computing environment
Rodrigo Álvarez et al. A2l2: An application aware flexible hpc scheduling model for low-latency allocation
JP6374059B2 (ja) コンピュータ資源配分決定方法、コンピュータ資源配分決定方法プログラムおよび制御用コンピュータ
KR20190061241A (ko) 리소스 통합관리를 위한 메소스 처리 장치 및 방법
CN114625544B (zh) 基于虚拟机业务负载动态分配的内存气球管理方法和装置
JP4999932B2 (ja) 仮想計算機システム及び仮想計算機重み付け設定処理方法及び仮想計算機重み付け設定処理プログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100720

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5257077

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150