JP2007334782A - Computer apparatus and computer control method - Google Patents
Computer apparatus and computer control method Download PDFInfo
- Publication number
- JP2007334782A JP2007334782A JP2006168281A JP2006168281A JP2007334782A JP 2007334782 A JP2007334782 A JP 2007334782A JP 2006168281 A JP2006168281 A JP 2006168281A JP 2006168281 A JP2006168281 A JP 2006168281A JP 2007334782 A JP2007334782 A JP 2007334782A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- idle
- application
- event
- cpus
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
Description
本発明はコンピュータ装置に関し、特に複数のCPUを備えたコンピュータ装置においてCPUを有効利用する技術に関する。 The present invention relates to a computer apparatus, and more particularly to a technique for effectively using a CPU in a computer apparatus having a plurality of CPUs.
ハードウェア技術の進歩に伴い、複数のCPUを備えたコンピュータ装置が比較的安価に供給されるようになってきた。CPUを複数台備えたコンピュータ装置は、複数のCPUを並列に動作させることで、処理速度やスループット、信頼性が向上し、単一のCPUしか有しないコンピュータ装置に比べて高性能な計算機システムを実現できる。その反面、稼動するCPUの数に応じて消費電力は大きくなる。このため、状況に応じて動的にCPUの追加(活性化)、削除(非活性化)が行えるようになっていることが多い。 With the advancement of hardware technology, computer devices having a plurality of CPUs have been supplied at a relatively low cost. A computer device having a plurality of CPUs improves the processing speed, throughput, and reliability by operating a plurality of CPUs in parallel, and has a higher performance computer system than a computer device having only a single CPU. realizable. On the other hand, power consumption increases according to the number of operating CPUs. For this reason, it is often possible to dynamically add (activate) and delete (deactivate) CPUs depending on the situation.
複数のCPUを備えたコンピュータ装置では、一般にマルチプロセッサ向けのOS(オペレーティングシステム)を使用する。OSは、各CPUの稼動状況を管理し、アプリケーションの各スレッドを各CPUに割り当てることにより並列処理を実現する。また、スレッド間の実行同期待ちを減らすために、同じアプリケーションを構成するスレッドを異なるプロセッサで同時に実行させるギャングスケジューリングと呼ばれるスケジューリングアルゴリズムも知られている(例えば特許文献1参照)。 In a computer apparatus having a plurality of CPUs, an OS (operating system) for a multiprocessor is generally used. The OS manages the operation status of each CPU, and implements parallel processing by assigning each thread of an application to each CPU. Also, a scheduling algorithm called gang scheduling is known in which threads constituting the same application are simultaneously executed by different processors in order to reduce execution synchronization waiting between threads (see, for example, Patent Document 1).
さらにマルチプロセッサに限った技術ではないが、アプリケーションへのリソース(CPU、メモリ等)の割り当てを、パラメータで指定されたサービスレベル目標に合致するように制御する方法がある(例えば特許文献2参照)。また、特に仕事をしていない状態になったとき、CPUに供給する基準クロックの周波数を下げて、CPUを省電力モードで動作させたり、より消費電力を低減するためにCPUへのクロックを停止させる技術もある(例えば特許文献3参照)。 Further, although not limited to a multiprocessor, there is a method for controlling the allocation of resources (CPU, memory, etc.) to an application so as to match a service level target specified by a parameter (see, for example, Patent Document 2). . Also, when not working, reduce the frequency of the reference clock supplied to the CPU to operate the CPU in the power saving mode or stop the clock to the CPU to further reduce power consumption There is also a technique (see, for example, Patent Document 3).
ユーザが操作を行っていない時に、コンピュータ装置のCPU負荷が非常に低くなる場合がある。このような場合、従来の技術傾向としては、特許文献3に見られるように消費電力の低減を最優先とし、コンピュータ装置を省電力モードにすることであった。しかしながら、これではCPUの有効利用は図れない。何故なら、例えば、アプリケーションによっては、ユーザの次の操作の処理が予想できる場合にその処理をバックグラウンド処理などで予め行っておけばレスポンスを大幅に改善でき、実際にユーザが操作を行った時のCPUの高負荷を避けることができるからである。ただしこの場合、アプリケーションにバックグラウンド処理を無条件で許可すると、CPUの有効利用は図れるが、消費電力が大きくなり過ぎるという問題が生じる。特許文献2に見られるように、アプリケーションへのリソースの割り当てを、パラメータで指定されたサービスレベル目標に合致するように制御する方法を適用すれば、無制限な使用は抑制できるが、リソースが制限されるためアプリケーション本来の処理に悪影響を与える恐れがある。
When the user is not performing an operation, the CPU load on the computer device may be very low. In such a case, as a conventional technical trend, as seen in
そこで本発明の目的は、CPUの有効利用と消費電力の抑制とを両立させたコンピュータ装置を提供することにある。 Accordingly, an object of the present invention is to provide a computer device that achieves both effective use of a CPU and suppression of power consumption.
また、複数のCPUを持つコンピュータ装置では、前述したように状況に応じて動的にCPUの追加、削除が行われるが、このCPUの追加、削除をアプリケーションに迅速に知らせる仕組みがなかった。このため、動的に変化するCPU数に応じて分散処理数(スレッド数)を動的に変化させるようなアプリケーションを開発する場合、個々のアプリケーション中に現在のCPU数を定期的にチェックするロジックを組み込む必要があり、アプリケーションの開発が困難になると共に、定期的なチェックがアプリケーション毎に実行されるため、システム全体の効率も低下するという問題があった。 In addition, in a computer apparatus having a plurality of CPUs, CPUs are dynamically added and deleted according to the situation as described above, but there is no mechanism for quickly notifying an application of the addition or deletion of CPUs. For this reason, when developing an application that dynamically changes the number of distributed processes (number of threads) in accordance with the dynamically changing number of CPUs, logic for periodically checking the current number of CPUs in each application. As a result, it is difficult to develop an application, and periodic checks are executed for each application, so that the efficiency of the entire system is reduced.
そこで本発明の別の目的は、CPUの追加、削除によるCPU数の変更をアプリケーションが速やかに認識できるようにすることにある。 Therefore, another object of the present invention is to enable an application to quickly recognize a change in the number of CPUs due to addition or deletion of CPUs.
本発明の第1のコンピュータ装置は、複数のCPUとメモリと前記CPU上で実行されるOSと該OSの制御の下で前記CPU上で実行される1以上のアプリケーションとを備えたコンピュータ装置において、前記メモリに、遊休CPU利用可能イベントを受信することにより遊休CPU利用処理を実行し且つ遊休CPU利用キャンセルイベントを受信することにより前記遊休CPU利用処理の実行を停止するアプリケーションの識別子を記憶する記憶部を備え、前記OSに、CPU負荷状況を監視し、第1の閾値以下にCPU負荷が低下した際に前記記憶部に識別子が記憶されている何れかのアプリケーションに対し遊休CPU利用可能イベントを送信し、前記第1の閾値より大きな第2の閾値以上にCPU負荷が上昇した際に前記遊休CPU利用可能イベントを送信したアプリケーションに対して遊休CPU利用キャンセルイベントを送信するCPU監視手段を備えることを特徴とする。 A first computer apparatus according to the present invention is a computer apparatus comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS. Storing in the memory an identifier of an application that executes idle CPU utilization processing by receiving an idle CPU available event and stops execution of idle CPU utilization processing by receiving an idle CPU utilization cancellation event The CPU monitors the CPU load status to the OS, and when the CPU load drops below the first threshold, an idle CPU available event is sent to any application whose identifier is stored in the storage unit When the CPU load rises above a second threshold value greater than the first threshold value, the idle C Characterized in that it comprises a CPU monitoring means for transmitting an idle CPU usage cancel events to the application that sent the U available events.
本発明の第2のコンピュータ装置は、第1のコンピュータ装置において、前記遊休CPU利用処理を実行するCPUの数を制限することにより、遊休CPU利用処理によるCPU負荷の増大量を抑えることを特徴とする。 According to a second computer apparatus of the present invention, in the first computer apparatus, the number of CPUs that execute the idle CPU utilization process is limited, thereby suppressing an increase in CPU load due to the idle CPU utilization process. To do.
本発明の第3のコンピュータ装置は、第1または第2のコンピュータ装置において、前記CPU監視手段は、CPUの増減を監視し、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信することを特徴とする。 According to a third computer apparatus of the present invention, in the first or second computer apparatus, the CPU monitoring unit monitors increase / decrease in CPU and transmits a CPU number change event to the application when the CPU increases / decreases. Features.
本発明の第4のコンピュータ装置は、第3のコンピュータ装置において、前記アプリケーションは、CPU数変更イベントを受信することにより分散処理数を変更する使用CPU数変更処理を行うことを特徴とする。 According to a fourth computer apparatus of the present invention, in the third computer apparatus, the application performs a CPU number change process for changing a distributed process number by receiving a CPU number change event.
本発明の第5のコンピュータ装置は、複数のCPUとメモリと前記CPU上で実行されるOSと該OSの制御の下で前記CPU上で実行される1以上のアプリケーションとを備えたコンピュータ装置において、前記OSに、CPUの増減を監視し、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信するCPU監視手段を備えることを特徴とする。 A fifth computer apparatus according to the present invention is a computer apparatus comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS. The OS includes CPU monitoring means for monitoring an increase / decrease in CPU and transmitting a CPU number change event to an application when the CPU increases / decreases.
本発明の第6のコンピュータ装置は、第5のコンピュータ装置において、前記アプリケーションは、CPU数変更イベントを受信することにより分散処理数を変更する使用CPU数変更処理を行うことを特徴とする。 According to a sixth computer apparatus of the present invention, in the fifth computer apparatus, the application performs a CPU number change process for changing a distributed process number by receiving a CPU number change event.
本発明の第1のコンピュータ制御方法は、複数のCPUとメモリと前記CPU上で実行されるOSと該OSの制御の下で前記CPU上で実行される1以上のアプリケーションとを備えたコンピュータ装置の制御方法において、前記OSが、CPU負荷状況を監視する第1のステップと、前記OSが、第1の閾値以下にCPU負荷が低下した際にアプリケーションに対し遊休CPU利用可能イベントを送信する第2のステップと、前記アプリケーションが、前記遊休CPU利用可能イベントを受信することにより遊休CPU利用処理を実行する第3のステップと、前記OSが、前記第1の閾値より大きな第2の閾値以上にCPU負荷が上昇した際に前記アプリケーションに対して遊休CPU利用キャンセルイベントを送信する第4のステップと、前記アプリケーションが、前記遊休CPU利用キャンセルイベントを受信することにより前記遊休CPU利用処理の実行を停止する第5のステップとを含むことを特徴とする。 A first computer control method of the present invention is a computer apparatus comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS. In the control method, the OS monitors the CPU load status, and the OS transmits an idle CPU available event to the application when the CPU load drops below a first threshold. 2, a third step in which the application executes idle CPU utilization processing by receiving the idle CPU available event, and the OS exceeds a second threshold greater than the first threshold. A fourth step of transmitting an idle CPU use cancellation event to the application when the CPU load increases; The application is characterized by comprising a fifth step of stopping the execution of the idle CPU usage processing by receiving the idle CPU usage cancel events.
本発明の第2のコンピュータ制御方法は、複数のCPUとメモリと前記CPU上で実行されるOSと該OSの制御の下で前記CPU上で実行される1以上のアプリケーションとを備えたコンピュータ装置の制御方法において、前記OSが、CPUの増減を監視する第1のステップと、前記OSが、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信する第2のステップと、前記アプリケーションが、前記CPU数変更イベントを受信することにより分散処理数を変更する第3のステップとを含むことを特徴とする。 A second computer control method of the present invention is a computer apparatus comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS. In the control method, the OS monitors the CPU increase / decrease, the OS transmits a CPU number change event to the application when the CPU increases / decreases, and the application includes: And a third step of changing the number of distributed processes by receiving the CPU number change event.
本発明の第1のプログラムは、複数のCPUと、メモリと、前記CPU上で実行される1以上のアプリケーションであって、遊休CPU利用可能イベントを受信することにより遊休CPU利用処理を実行し且つ遊休CPU利用キャンセルイベントを受信することにより前記遊休CPU利用処理の実行を停止するアプリケーションとを有するコンピュータを、CPU負荷状況を監視し、第1の閾値以下にCPU負荷が低下した際に前記アプリケーションに対し遊休CPU利用可能イベントを送信し、前記第1の閾値より大きな第2の閾値以上にCPU負荷が上昇した際に前記遊休CPU利用可能イベントを送信したアプリケーションに対して遊休CPU利用キャンセルイベントを送信するCPU監視手段として機能させることを特徴とする。 The first program of the present invention is a plurality of CPUs, a memory, and one or more applications executed on the CPU, and executes an idle CPU utilization process by receiving an idle CPU available event; A computer having an application that stops execution of the idle CPU utilization process by receiving an idle CPU utilization cancellation event is monitored for the CPU load status, and when the CPU load drops below the first threshold, An idle CPU available event is sent to the application that sent the idle CPU available event when the CPU load rises above a second threshold that is greater than the first threshold. It is characterized by functioning as a CPU monitoring means.
本発明の第2のプログラムは、複数のCPUと、メモリと、前記CPU上で実行される1以上のアプリケーションとを有するコンピュータを、CPUの増減を監視し、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信するCPU監視手段として機能させることを特徴とする。 The second program of the present invention monitors a CPU increase / decrease for a computer having a plurality of CPUs, a memory, and one or more applications executed on the CPU. It is made to function as CPU monitoring means which transmits a number change event.
『作用』
本発明にあっては、コンピュータ装置に対するユーザ操作がなくなってCPU負荷が第1の閾値以下に低下すると、そのことがOSのCPU監視手段により検出され、遊休CPUの利用を促すために遊休CPU利用可能イベントがアプリケーションに発行される。その後、ユーザ操作が再開されるなどしてCPU負荷が第2の閾値以上になると、消費電力を抑えるためと本来の処理への影響を軽減するために、遊休CPU利用キャンセルイベントがアプリケーションに発行され、遊休CPU利用処理を停止させる。
"Action"
In the present invention, when there is no user operation on the computer device and the CPU load drops below the first threshold, this is detected by the CPU monitoring means of the OS, and the idle CPU is used to encourage the use of the idle CPU. A possible event is issued to the application. After that, when the CPU load becomes equal to or higher than the second threshold, for example, when a user operation is resumed, an idle CPU usage cancel event is issued to the application in order to reduce power consumption and reduce the influence on the original processing. Then, the idle CPU utilization process is stopped.
またCPUの追加や削除があると、そのことがOSのCPU監視手段により検出され、各アプリケーションにCPU数変更イベントが発行される。これにより、アプリケーションは、変更後のCPU数に合わせて分散処理数を変更するといった処理を適宜実行することが可能となる。 When a CPU is added or deleted, this is detected by the CPU monitoring means of the OS, and a CPU number change event is issued to each application. As a result, the application can appropriately execute a process of changing the number of distributed processes in accordance with the number of CPUs after the change.
本発明によれば、コンピュータ装置のCPU負荷が第1の閾値よりも低い時に、アプリケーションに遊休CPU利用可能イベントを通知して遊休CPU利用処理を促す一方、第2の閾値を超えるとアプリケーションに遊休CPU利用キャンセルイベントを通知して遊休CPU利用処理を停止させるようにしているため、CPUの有効利用と消費電力の抑制とを両立させることが可能となる。 According to the present invention, when the CPU load of the computer device is lower than the first threshold value, an idle CPU available event is notified to the application to prompt the idle CPU utilization process, and when the second threshold value is exceeded, the application is idled. Since the CPU utilization cancellation event is notified and the idle CPU utilization processing is stopped, it is possible to achieve both effective utilization of the CPU and suppression of power consumption.
また本発明によれば、CPU監視手段がCPUの増減を監視し、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信するため、CPUの追加、削除によるCPU数の変更をアプリケーションが速やかに認識することができる。これにより、動的に変化するCPU数に応じて分散処理数(スレッド数)を動的に変化させるようなアプリケーションの開発を容易に行うことが可能となる。 Further, according to the present invention, the CPU monitoring means monitors the CPU increase / decrease, and transmits the CPU number change event to the application when the CPU increases / decreases, so that the application can quickly change the CPU number by adding or deleting CPUs. Can be recognized. As a result, it is possible to easily develop an application that dynamically changes the number of distributed processes (number of threads) according to the number of dynamically changing CPUs.
『第1の実施の形態』
図1を参照すると、本発明の第1の実施の形態にかかるコンピュータ装置100は、複数のCPU101と、メモリ102と、入出力装置103とを備えている。
“First Embodiment”
Referring to FIG. 1, a computer apparatus 100 according to the first embodiment of the present invention includes a plurality of
メモリ102は、複数のCPU101からアクセス可能なRAM等の記憶装置であり、OS111と、1以上のアプリケーションプログラム(以下、単にアプリケーションと記す)112と、遊休CPU利用制御テーブル113と、第1および第2の設定負荷値114および115とを記憶している。
The memory 102 is a storage device such as a RAM that can be accessed from a plurality of
OS111は、マルチプロセッサ用のオペレーティングシステムであり、メモリ管理、ファイル管理およびデバイス管理などの基本的な機能を担うOSカーネル121と、本発明で新たに追加されたCPU監視手段122とから構成される。
The OS 111 is a multiprocessor operating system, and includes an
CPU監視手段122は、CPU101の負荷状況を監視し、第1の設定負荷値114以下にCPU負荷が低下した際にアプリケーション112に対し遊休CPU利用可能イベントを送信する機能を有する。また、第1の設定負荷値114より大きな第2の設定負荷値115以上にCPU負荷が上昇した際に、遊休CPU利用可能イベントを送信したアプリケーション112に対して遊休CPU利用キャンセルイベントを送信する機能を有する。
The
第1の設定負荷値114および第2の設定負荷値115は、コンピュータ装置100の初期設定パラメータの一つとして固定的に記憶されるか、或いは入出力装置103からのユーザ操作によって変更可能なパラメータとしてメモリ102に記憶される。2つの設定負荷値のうち、第1の設定負荷値114は、遊休CPU利用処理を開始させる閾値となるCPU負荷を示し、第2の設定負荷値115は、遊休CPU利用処理を停止させる閾値となるCPU負荷を示す。第2の設定負荷値115の値は、パフォーマンスと消費電力とのバランスにより決定される。例えば、電池で駆動するコンピュータ装置の場合は、消費電力を抑えるために低い値に設定される。第1の設定負荷値114は、第2の設定負荷値115より小さな値に設定される。第1の設定負荷値114と第2の設定負荷値115との差が小さいと、起動された遊休CPU利用処理が直ぐに停止される可能性が高くなる。逆に差が大きいと、遊休CPU利用処理が起動される場面が少なくなるので、両者のバランスを考慮して決定される。
The first
アプリケーション112は、文書ビューワなどのプログラムであり、何れかのCPU101で実行されることにより所定の処理を実行する。アプリケーション112は、I/Oイベント処理手段131と、遊休CPU利用処理手段132と、イベントディスパッチ手段133とから構成される。
The application 112 is a program such as a document viewer, and executes predetermined processing by being executed by any of the
I/Oイベント処理手段131は、自アプリケーション112に対して発行されたI/Oイベントに対応する処理を実行する部分であり、I/Oイベントの種類毎に存在する。 The I / O event processing means 131 is a part that executes processing corresponding to an I / O event issued to the own application 112, and exists for each type of I / O event.
遊休CPU利用処理手段132は、自アプリケーション112に対して遊休CPU利用可能イベントが発行された場合に実行すべき処理(以下、遊休CPU利用処理と記す)を実行する手段である。 The idle CPU usage processing means 132 is a means for executing a process to be executed when an idle CPU available event is issued to the own application 112 (hereinafter referred to as an idle CPU usage process).
イベントディスパッチ手段133は、OS111からイベントを受信し、受信したイベントの種類に応じて各処理手段131、132を制御する手段である。
The
遊休CPU利用制御テーブル113は、遊休CPU利用処理手段132を有するアプリケーション112毎に遊休CPU利用可能イベントの送信状況を記録する記憶部である。
The idle CPU usage control table 113 is a storage unit that records the transmission status of an idle CPU available event for each application 112 having the idle CPU
図2を参照すると、遊休CPU利用制御テーブル113には、アプリケーション識別子と遊休CPU利用可能イベント送信状況の組を記録するエントリが複数設けられている。アプリケーション識別子には、アプリケーション112を一意に識別する文字列が設定される。遊休CPU利用可能イベント送信状況には、「送信済」および「未送信」の何れかが設定される。また、エントリの並びは、遊休CPU利用可能イベントを送信する優先順位を示している。 Referring to FIG. 2, the idle CPU usage control table 113 is provided with a plurality of entries for recording sets of application identifiers and idle CPU available event transmission statuses. In the application identifier, a character string that uniquely identifies the application 112 is set. In the idle CPU available event transmission status, either “transmitted” or “not transmitted” is set. The entry sequence indicates the priority order for transmitting the idle CPU available event.
入出力装置103は、利用者からのデータや指示を受け付けるキーボード、利用者に対して各種のデータを提示するディスプレイなどで構成される。
The input /
次に本実施の形態にかかるコンピュータ装置100の動作を説明する。 Next, the operation of the computer apparatus 100 according to the present embodiment will be described.
コンピュータ装置100の電源が投入され、システムが立ち上がると、OS111のOSカーネル121およびCPU監視手段122が動作を開始する。
When the computer apparatus 100 is turned on and the system is started up, the
CPU監視手段122は、コンピュータ装置100上でアプリケーション112が起動される毎に、起動したアプリケーション112が遊休CPU利用処理手段132を持つタイプのアプリケーションであれば、そのアプリケーション識別子を設定したエントリを遊休CPU利用制御テーブル113の末尾に追加する。このとき当該エントリの遊休CPU利用可能イベント送信状況は「未送信」としておく。
Whenever the application 112 is activated on the computer apparatus 100, the
CPU監視手段122が、遊休CPU利用処理手段132を持つタイプのアプリケーションであるか否かを判断する方法としては、そのタイプのアプリケーション112には起動時にその旨をOS111のCPU監視手段122に通知する機能を持たせ、CPU監視手段122は、通知の有無によってタイプを判断する方法がある。他の方法として、遊休CPU利用処理手段132を持つタイプか否かをアプリケーション属性の一つとして設定し、CPU監視手段122がアプリケーション属性を参照して判断する方法がある。
As a method of determining whether the
起動されたアプリケーション112は、何れか1つ或いは複数のCPU101上で実行される。入出力装置103などからアプリケーション112に対して何らかのI/Oイベントが発生すると、OSカーネル121により、そのI/Oイベントが該当するアプリケーション112へ送信され、イベントディスパッチ手段133により該当するI/Oイベント処理手段131が実行される。これらの動作は従来と同じである。
The activated application 112 is executed on any one or a plurality of
またCPU監視手段122は、コンピュータ装置100の動作中、図3に示される処理を常に実行している。まず、定期的にCPU負荷状況を調査する(ステップS101)。ここで調査するCPU負荷状況は、複数存在する全てのCPU101の負荷を考慮したシステム全体のCPU使用率である。例えば、CPU101が全部で4個あり、その内の3個がCPU使用率0%、残りの1個がCPU使用率100%とすると、システム全体のCPU使用率は25%になる。
Further, the
次に、CPU負荷が第1の設定負荷値よりも低いかどうかを判定する(ステップS102)。CPU負荷が第1の設定負荷値よりも低い場合、ステップS103の処理に進み、そうでない場合はステップS110の処理に進む。 Next, it is determined whether or not the CPU load is lower than the first set load value (step S102). If the CPU load is lower than the first set load value, the process proceeds to step S103, and if not, the process proceeds to step S110.
ステップS103では遊休CPU利用制御テーブル113を参照し、遊休CPU利用可能イベント送信状況が「送信済」になっているアプリケーション112が存在するかどうかを調査する(ステップS104)。遊休CPU利用可能イベントを送信したアプリケーション112が存在しない場合(ステップS104でNO)、ステップS107の処理に進む。他方、遊休CPU利用可能イベントを送信したアプリケーション112が既に存在していた場合(ステップS104でYES)、このアプリケーション112に対して遊休CPU利用キャンセルイベントを送信し(ステップS105)、遊休CPU利用制御テーブル113中の当該アプリケーション112の遊休CPU利用可能イベント送信状況を「未送信」に変更すると共に順番を下げるために当該エントリを最後尾に移動させる(ステップS106)。そして、ステップS107の処理に進む。ステップS105で遊休CPU利用キャンセルイベントを送信する理由は、遊休CPU利用可能イベントを既に或るアプリケーションに送信したのにもかかわらず、CPU負荷が未だ第1の設定負荷値より低いということは、そのアプリケーションによる遊休CPU利用処理でCPUが殆ど利用されていないと見做されるため、その利用をキャンセルして別のアプリケーションに利用させるためである。 In step S103, the idle CPU usage control table 113 is referred to, and it is investigated whether or not there is an application 112 whose idle CPU available event transmission status is “sent” (step S104). If there is no application 112 that has transmitted an idle CPU available event (NO in step S104), the process proceeds to step S107. On the other hand, if there is already an application 112 that has transmitted an idle CPU available event (YES in step S104), an idle CPU use cancel event is sent to this application 112 (step S105), and an idle CPU use control table is sent. The idle CPU available event transmission status of the application 112 in 113 is changed to “unsent” and the entry is moved to the end in order to lower the order (step S106). Then, the process proceeds to step S107. The reason for sending the idle CPU use cancellation event in step S105 is that the CPU load is still lower than the first set load value even though the idle CPU available event has already been sent to a certain application. This is because the idle CPU usage process by the application assumes that the CPU is hardly used, so that the usage is canceled and used by another application.
ステップS107では、遊休CPU利用制御テーブル113の先頭エントリに設定されているアプリケーション識別子を持つアプリケーション112を選択する(ステップS107)。次に、この選択したアプリケーション112に対して遊休CPU利用可能イベントを送信し(ステップS108)、遊休CPU利用制御テーブル113中の当該アプリケーション112の遊休CPU利用可能イベント送信状況を「送信済」に変更する(ステップS109)。そして、一定時間のタイマ待ちを行い(ステップS115)、その後にステップS101に戻ってCPU負荷状況の調査を再度実施する。 In step S107, the application 112 having the application identifier set in the top entry of the idle CPU usage control table 113 is selected (step S107). Next, an idle CPU available event is transmitted to the selected application 112 (step S108), and the idle CPU available event transmission status of the application 112 in the idle CPU usage control table 113 is changed to “sent”. (Step S109). Then, it waits for a predetermined time (step S115), and then returns to step S101 to check the CPU load status again.
ステップS108で遊休CPU利用可能イベントの送信先となったアプリケーション112は、図4に示されるように、送信された遊休CPU利用可能イベントを受信し(ステップS201)、イベントディスパッチ手段133により遊休CPU利用処理手段132を実行する(ステップS202)。これにより、遊休CPU利用処理の処理量に応じてCPU負荷が増大していく。 As shown in FIG. 4, the application 112 that is the destination of the idle CPU available event in step S108 receives the idle CPU available event transmitted (step S201), and the event dispatch means 133 uses the idle CPU. The processing means 132 is executed (step S202). As a result, the CPU load increases in accordance with the amount of idle CPU utilization processing.
一方、ステップS102において、CPU負荷が第1の設定負荷値よりも低くないと判定した場合、CPU負荷が第1の設定負荷値よりも高く設定される第2の設定負荷値より高くなっているかどうかを調査する(ステップS110)。若し、CPU負荷が第2の設定負荷値よりも高くなっていなければ、一定時間のタイマ待ちを行い(ステップS115)、その後にステップS101に戻ってCPU負荷状況の調査を再度実施する。 On the other hand, if it is determined in step S102 that the CPU load is not lower than the first set load value, is the CPU load higher than the second set load value set higher than the first set load value? It is investigated whether or not (step S110). If the CPU load is not higher than the second set load value, the timer waits for a fixed time (step S115), and then the process returns to step S101 to check the CPU load status again.
CPU負荷が第2の設定負荷値よりも高い場合、CPU監視手段122は、遊休CPU利用制御テーブル113を参照し(ステップS111)、遊休CPU利用可能イベント送信状況が「送信済」になっているアプリケーション112が存在するかどうかを調べる(ステップS112)。若し、存在すれば、そのアプリケーション112に対して遊休CPU利用キャンセルイベントを送信し(ステップS113)、遊休CPU利用制御テーブル113中の当該アプリケーション112の遊休CPU利用可能イベント送信状況を「未送信」に変更すると共に順番を下げるために当該エントリを最後尾に移動させる(ステップS114)。そして、一定時間のタイマ待ちを行い(ステップS115)、その後にステップS101に戻ってCPU負荷状況の調査を再度実施する。
When the CPU load is higher than the second set load value, the
ステップS113で遊休CPU利用キャンセルイベントの送信先となったアプリケーション112は、図5に示されるように、送信された遊休CPU利用キャンセルイベントを受信し(ステップS211)、イベントディスパッチ手段133により遊休CPU利用処理手段132の実行を停止する(ステップS212)。これにより、CPU負荷が減少していく。
As shown in FIG. 5, the application 112 that is the destination of the idle CPU usage cancellation event in step S113 receives the idle CPU usage cancellation event transmitted (step S211), and the
図6にCPU負荷の時間的な変化例を示す。図6(a)は、遊休CPU利用処理手段132を有するタイプのアプリケーション112が1つも存在しない場合のCPU負荷の時間的な変化例、つまり従来のコンピュータ装置と同様の状況を示す。ユーザ操作が行われなくなってCPU負荷が第1の設定負荷値より小さくなっても、遊休CPU利用処理が実行されない。このため、CPU負荷は低いまま遷移する。その後、CPU負荷が上昇しているのは、ユーザ操作が再開され、例えばI/Oイベントに応じた処理がアプリケーションで実行されたことによる。 FIG. 6 shows an example of temporal changes in CPU load. FIG. 6A shows an example of a temporal change in CPU load when there is no application 112 of the type having the idle CPU usage processing means 132, that is, the same situation as that of a conventional computer device. Even when the user operation is not performed and the CPU load becomes smaller than the first set load value, the idle CPU utilization process is not executed. For this reason, the CPU load changes with a low level. Thereafter, the CPU load is increased because the user operation is resumed, for example, the processing corresponding to the I / O event is executed by the application.
図6(b)は、遊休CPU利用処理手段132を有するタイプのアプリケーション112が存在する場合のCPU負荷の時間的な変化例を示す。ユーザ操作が行われなくなってCPU負荷が第1の設定負荷値より小さくなった時点で、遊休CPU利用処理手段132を有するタイプのアプリケーション112による遊休CPU利用処理の実行が開始される。このため、CPU負荷が上昇している。そして、図6(b)の例では、第2の設定負荷値より小さなCPU負荷で安定して遷移している。その後、図6(a)の場合と同様に例えばI/Oイベントに応じた処理がアプリケーションで実行されると、その分の負荷が重畳されることによりCPU負荷が第2の設定負荷値を超えるため、遊休CPU利用キャンセルイベントが発行されて、遊休CPU利用処理が停止される。図6(b)の場合、遊休CPU利用処理は、時刻t1から時刻t2までの間で実行されている。
FIG. 6B shows a temporal change example of the CPU load when the type of application 112 having the idle CPU
ところで、遊休CPU利用処理中のCPU負荷が図6(b)に示したように第2の設定負荷値より低い値で収まれば良いが、第2の設定負荷値を超えてしまうと、図6(c)に示すように、第2の設定負荷値を超えた時点で遊休CPU利用キャンセルイベントにより遊休CPU利用処理が停止される。そして、その結果、CPU負荷が下り、第1の設定負荷値より低くなると、再び遊休CPU利用可能イベントが発行されて遊休CPU利用処理が実行され、それに伴ってCPU負荷が上昇し、再び第2の設定負荷値を超えるために遊休CPU利用処理が停止されるといった状況が繰り返される。このような状況に陥っても、多少なりとも遊休CPU利用処理は進行するが、効率は悪い。そこで、遊休CPU利用処理によるCPU負荷の増大量を抑える仕組みを導入するのが望ましい。 By the way, the CPU load during the idle CPU utilization process may be lower than the second set load value as shown in FIG. 6B, but if the second set load value is exceeded, FIG. As shown in (c), the idle CPU utilization process is stopped by an idle CPU utilization cancellation event when the second set load value is exceeded. As a result, when the CPU load decreases and becomes lower than the first set load value, an idle CPU available event is issued again, and the idle CPU use process is executed. The situation where the idle CPU utilization process is stopped to exceed the set load value is repeated. Even in such a situation, the idle CPU utilization process proceeds to some extent, but the efficiency is poor. Therefore, it is desirable to introduce a mechanism for suppressing an increase in CPU load due to idle CPU utilization processing.
遊休CPU利用処理によるCPU負荷の増大量を抑える方法の一例は、遊休CPU利用処理で利用可能なCPUの個数をCPU利用可能イベントでアプリケーションに通知し、アプリケーションがその個数に合わせたスレッド数で遊休CPU利用処理を実行することである。例えば、CPU101が合計n個ある場合、遊休CPU利用処理で利用可能なCPUの個数をm(m<n)個とすると、CPUをm個使えることを遊休CPU利用可能イベントによってCPU監視手段122からアプリケーション112へ通知する。アプリケーション112は、遊休CPU利用処理手段132の遊休CPU利用処理を、利用できるCPU数mと同じ数のスレッドに分割して実行する。
An example of a method for suppressing an increase in CPU load due to idle CPU usage processing is to notify the application of the number of CPUs available for idle CPU usage processing by a CPU available event, and the application is idle with the number of threads matching that number. CPU usage processing is executed. For example, when there are a total of
次に本実施の形態の効果を説明する。 Next, the effect of this embodiment will be described.
本実施の形態によれば、CPUの有効利用と消費電力の抑制とを両立させることができる。その理由は、コンピュータ装置のCPU負荷が設定負荷値よりも低い時に、アプリケーションに遊休CPU利用可能イベントを通知して遊休CPU利用処理を促す一方、設定負荷値を超えるとアプリケーションに遊休CPU利用キャンセルイベントを通知して遊休CPU利用処理を停止させるようにしているためである。 According to the present embodiment, it is possible to achieve both effective use of the CPU and suppression of power consumption. The reason is that when the CPU load of the computer device is lower than the set load value, the idle CPU available event is notified to the application to prompt the idle CPU use processing, and when the set load value is exceeded, the idle CPU use cancel event is sent to the application. This is because the idle CPU utilization process is stopped by notifying the above.
次に、遊休CPU利用処理の具体例について説明する。 Next, a specific example of idle CPU usage processing will be described.
1)具体例1
アプリケーション112は文書ビューワであり、遊休CPU利用処理手段132は、レンダリングの先行処理を行う手段とする。具体的には、ユーザは高い確率で現在表示しているページの前もしくは次のページの表示を要求するため、このレンダリングを遊休CPU利用処理手段132で先行して行う。
1) Specific example 1
The application 112 is a document viewer, and the idle CPU
図7(a)にCPUが4個のコンピュータ装置におけるアプリケーション112の実行状況を示す。第2の設定負荷値は約25%に設定されており、コンピュータ装置のCPUが特に使用されていない状況の時、4個のCPUの25%に相当する1個が使えるという遊休CPU利用可能イベントをCPU監視手段122からアプリケーション112へ送る。アプリケーション112は、送られてきたイベントから、CPUを1個使う範囲で、予測される次の操作結果を実行して出しておき、ユーザの実際の操作が予測と一致した場合にそれを利用する。このため予測成功時には応答にかかる実処理時間を短縮することができる。また、その時のCPU使用率を最大で約25%とすることができる。従って、CPUの有効利用と消費電力の抑制とを両立させることが可能となる。 FIG. 7A shows an execution state of the application 112 in a computer device having four CPUs. The second set load value is set to about 25%, and when the CPU of the computer device is not particularly used, an idle CPU available event that one corresponding to 25% of the four CPUs can be used. Is sent from the CPU monitoring means 122 to the application 112. The application 112 executes and outputs the predicted next operation result within a range where one CPU is used from the sent event, and uses it when the actual operation of the user matches the prediction. . For this reason, when the prediction is successful, the actual processing time required for the response can be shortened. In addition, the CPU usage rate at that time can be about 25% at the maximum. Therefore, it is possible to achieve both effective use of the CPU and suppression of power consumption.
これに対して、図7(b)に示されるように、ユーザが操作を開始した後に全ての処理を行う場合には、4台のCPUをフルに使っても或る程度の処理時間が必要となり、レスポンスが遅くなる。 On the other hand, as shown in FIG. 7B, when all processes are performed after the user starts the operation, a certain amount of processing time is required even when the four CPUs are fully used. And the response is slow.
2)具体例2
他の例としては、他からのリクエストに応じて処理を実行するタイプの機構(例えばグリッドコンピューティング)に参加しているコンピュータ装置において、他からのリクエストに応じた処理を、コンピュータ装置のCPU負荷が設定負荷値よりも低い時に遊休CPU利用処理としてアプリケーション112で実行する例が考えられる。これにより、CPUの有効利用と消費電力の抑制とを両立させることが可能となる。
2) Specific example 2
As another example, in a computer device participating in a type of mechanism (for example, grid computing) that executes a process in response to a request from another, the CPU load of the computer device is changed according to the request from the other device. An example in which the application 112 executes the idle CPU utilization process when is lower than the set load value can be considered. This makes it possible to achieve both effective use of the CPU and suppression of power consumption.
『第2の実施の形態』
図8を参照すると、本発明の第2の実施の形態にかかるコンピュータ装置200は、図1に示した第1の実施の形態にかかるコンピュータ装置100と比較して、アプリケーション112の代わりにアプリケーション212を有し、CPU監視手段122の代わりにCPU監視手段222を有し、さらにCPU装置状態116を有する点で相違する。
“Second Embodiment”
Referring to FIG. 8, a computer apparatus 200 according to the second embodiment of the present invention is different from the computer apparatus 100 according to the first embodiment shown in FIG. In that the CPU monitoring means 222 is provided instead of the CPU monitoring means 122 and the
CPU監視手段222は、CPU監視手段122と同じ機能を有すると共に、さらにCPUの増減を監視し、CPUの増減時にアプリケーション212に対してCPU数変更イベントを送信する機能を有する。CPU数変更イベントでは、活性化状態にある最新のCPU数が通知される。
The
アプリケーション212は、アプリケーション112と同様なI/Oイベント処理手段131、遊休CPU利用処理手段132およびイベントディスパッチ手段133に加えて、使用CPU数変更処理手段134を備えている。
The
使用CPU数変更処理手段134は、CPU数変更イベントにより通知されたCPU数に合わせて、アプリケーション212の処理(例えばI/Oイベント処理手段131で実行する処理)の分散処理数を変更する手段である。 The used CPU number change processing means 134 is a means for changing the number of distributed processes of processing of the application 212 (for example, processing executed by the I / O event processing means 131) in accordance with the number of CPUs notified by the CPU number change event. is there.
CPU装置状態116は、コンピュータ装置200に存在する全てのCPU101の状態(活性化、非活性化など)を記録する記憶部である。
The
次に本実施の形態にかかるコンピュータ装置200の動作を説明する。コンピュータ装置200では、第1の実施の形態で説明したコンピュータ装置100と同じ動作と、本実施の形態特有の動作とが行われる。コンピュータ装置100と同じ動作については、説明が重複するので省略する。以下、本実施の形態特有の動作について説明する。 Next, the operation of the computer apparatus 200 according to the present embodiment will be described. In the computer apparatus 200, the same operation as the computer apparatus 100 described in the first embodiment and an operation peculiar to the present embodiment are performed. The same operations as those of the computer apparatus 100 are not described because they are redundantly described. Hereinafter, operations unique to the present embodiment will be described.
CPU監視手段222は、コンピュータ装置200の動作中、図9に示される処理を常に実行している。まず、定期的にCPU装置状態を調査する(ステップS301)。ここで調査するCPU装置状態とは、コンピュータ装置200に存在する各CPU101が活性化あるいは非活性化しているといった状態である。次に、CPU装置状態116から過去のCPU装置状態を取得し(ステップS302)、前記調査したCPU装置状態と比較することにより、活性化しているCPU数の変化を検出する(ステップS303)。若し、変化がなければ、ステップS306へ進む。変化があった場合、各アプリケーション212に対して、活性化しているCPU数を通知するCPU数変更イベントを送信する(ステップS304)。次に、前記調査したCPU装置状態でCPU装置状態116を更新し(ステップS305)、ステップS306へ進む。
The
ステップS306では、一定時間のタイマ待ち及びハードウェアが変更されたことを通知するイベント待ちを行い、一定時間が経過するか、或いはその前にハードウェア変更イベントがあった場合に、ステップS301に戻ってCPU装置状態の調査を再度実施する。 In step S306, a timer is waited for a certain time and an event notifying that the hardware has been changed. If a certain time has elapsed or a hardware change event has occurred before that, the process returns to step S301. The CPU device status is checked again.
各アプリケーション212は、図10に示されるように、ステップS304でCPU監視手段222から送信されたCPU数変更イベントを受信し(ステップS401)、イベントディスパッチ手段133により使用CPU数変更処理手段134を実行する(ステップS402)。これにより、変更後のCPU数に合わせて、分散処理数が変更され、効率良くCPUを利用することが可能になる。
As shown in FIG. 10, each
図11(a)に、2個のCPUが活性状態にあるときに新たに2個のCPUが追加されたときのCPU利用状況を示す。2個のCPUの追加が発生した時、本実施の形態ではそれがOS111のCPU監視手段222で検出されて、各アプリケーション212にその情報を伝達するシステムイベント(CPU数変更イベント)が送られる。このイベントを受取ったアプリケーション212は、その情報に基づき追加後のCPU数に合わせて分散処理の分割数を変更することにより、追加分のCPUを速やかに有効利用する。
FIG. 11A shows the CPU usage status when two CPUs are newly added when the two CPUs are in the active state. In the present embodiment, when two CPUs are added, this is detected by the
これに対して、CPUの追加に対して何らの処理を行わない場合、図11(b)に示すように、CPU数2個で処理を分散したままになり、追加された2個のCPUを利用することができない。また、各アプリケーションが定期的にCPU数をチェックし、それに合わせて分散処理数を変更する場合、図11(c)に示されるようにCPU数を定期的にチェックする処理が各アプリケーション毎に走行するため、ロスが大きくなる。さらに、予め多数に処理を分散しておき、OSのCPUスケジューリング機能によりCPU数の増減に対応させる方式では、図11(d)に示すように、分散数が実際に使用できるCPU数を超えている時には一つのCPUに複数の分散処理を割り当てるための時分割によるCPUのコンテキストスイッチが発生し、この時にロスが生じてしまう。 On the other hand, when no processing is performed for the addition of CPUs, as shown in FIG. 11B, the processing remains distributed with two CPUs, and the two added CPUs are replaced. It cannot be used. In addition, when each application periodically checks the number of CPUs and changes the number of distributed processes in accordance with that, the process of periodically checking the number of CPUs runs for each application as shown in FIG. Therefore, loss increases. Furthermore, in a method in which a large number of processes are distributed in advance and the number of CPUs is increased or decreased by the CPU scheduling function of the OS, the distribution number exceeds the number of CPUs that can actually be used, as shown in FIG. In such a case, a CPU context switch by time division for assigning a plurality of distributed processes to one CPU occurs, and a loss occurs at this time.
次に本実施の形態の効果を説明する。 Next, the effect of this embodiment will be described.
本実施の形態によれば、第1の実施の形態と同様の効果が得られると共に、CPUの追加、削除によるCPU数の変更をアプリケーションが速やかに認識できる。その理由は、CPU監視手段がCPUの増減を監視し、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信するためである。これにより、動的に変化するCPU数に応じて分散処理数(スレッド数)を動的に変化させるようなアプリケーションの開発を容易に行うことが可能となる。 According to this embodiment, the same effects as those of the first embodiment can be obtained, and an application can quickly recognize a change in the number of CPUs due to addition or deletion of CPUs. The reason is that the CPU monitoring means monitors the increase / decrease in the CPU and transmits a CPU number change event to the application when the CPU increases / decreases. As a result, it is possible to easily develop an application that dynamically changes the number of distributed processes (number of threads) according to the number of dynamically changing CPUs.
100、200…コンピュータ装置
101…CPU
102…メモリ
103…入出力装置
111…OS
112、212…アプリケーション
113…遊休CPU利用制御テーブル
114…第1の設定負荷値
115…第2の設定負荷値
116…CPU装置状態
121…OSカーネル
122、222…CPU監視手段
131…I/Oイベント処理手段
132…遊休CPU利用処理手段
133…イベントディスパッチ手段
134…使用CPU数変更処理手段
100, 200 ...
102 ...
112, 212 ...
Claims (10)
前記メモリに、遊休CPU利用可能イベントを受信することにより遊休CPU利用処理を実行し且つ遊休CPU利用キャンセルイベントを受信することにより前記遊休CPU利用処理の実行を停止するアプリケーションの識別子を記憶する記憶部を備え、
前記OSに、CPU負荷状況を監視し、第1の閾値以下にCPU負荷が低下した際に前記記憶部に識別子が記憶されている何れかのアプリケーションに対し遊休CPU利用可能イベントを送信し、前記第1の閾値より大きな第2の閾値以上にCPU負荷が上昇した際に前記遊休CPU利用可能イベントを送信したアプリケーションに対して遊休CPU利用キャンセルイベントを送信するCPU監視手段を備えることを特徴とするコンピュータ装置。 In a computer apparatus comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS,
A storage unit that stores, in the memory, an identifier of an application that executes an idle CPU use process by receiving an idle CPU available event and stops executing the idle CPU use process by receiving an idle CPU use cancel event With
Monitor the CPU load status to the OS, and send an idle CPU available event to any application whose identifier is stored in the storage unit when the CPU load drops below a first threshold, CPU monitoring means for transmitting an idle CPU use cancellation event to an application that has transmitted the idle CPU available event when the CPU load increases to a second threshold value greater than a first threshold value or more. Computer device.
前記OSに、CPUの増減を監視し、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信するCPU監視手段を備えることを特徴とするコンピュータ装置。 In a computer apparatus comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS,
A computer apparatus comprising: a CPU monitoring unit that monitors an increase or decrease of a CPU and transmits a CPU number change event to an application when the CPU increases or decreases.
前記OSが、CPU負荷状況を監視する第1のステップと、
前記OSが、第1の閾値以下にCPU負荷が低下した際にアプリケーションに対し遊休CPU利用可能イベントを送信する第2のステップと、
前記アプリケーションが、前記遊休CPU利用可能イベントを受信することにより遊休CPU利用処理を実行する第3のステップと、
前記OSが、前記第1の閾値より大きな第2の閾値以上にCPU負荷が上昇した際に前記アプリケーションに対して遊休CPU利用キャンセルイベントを送信する第4のステップと、
前記アプリケーションが、前記遊休CPU利用キャンセルイベントを受信することにより前記遊休CPU利用処理の実行を停止する第5のステップとを含むことを特徴とするコンピュータ制御方法。 In a control method of a computer device comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS,
A first step in which the OS monitors a CPU load state;
A second step in which the OS sends an idle CPU available event to the application when the CPU load drops below a first threshold;
A third step in which the application performs idle CPU utilization processing by receiving the idle CPU available event;
A fourth step in which the OS transmits an idle CPU use cancellation event to the application when the CPU load increases to a second threshold value greater than the first threshold value;
A computer control method comprising: a fifth step in which the application stops execution of the idle CPU utilization process by receiving the idle CPU utilization cancellation event.
前記OSが、CPUの増減を監視する第1のステップと、
前記OSが、CPUの増減時にアプリケーションに対してCPU数変更イベントを送信する第2のステップと、
前記アプリケーションが、前記CPU数変更イベントを受信することにより分散処理数を変更する第3のステップとを含むことを特徴とするコンピュータ制御方法。 In a control method of a computer device comprising a plurality of CPUs, a memory, an OS executed on the CPU, and one or more applications executed on the CPU under the control of the OS,
A first step in which the OS monitors an increase or decrease in CPU;
A second step in which the OS transmits a CPU number change event to the application when the CPU increases or decreases;
And a third step of changing the number of distributed processes by receiving the CPU number change event.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006168281A JP4363417B2 (en) | 2006-06-19 | 2006-06-19 | Computer apparatus and computer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006168281A JP4363417B2 (en) | 2006-06-19 | 2006-06-19 | Computer apparatus and computer control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007334782A true JP2007334782A (en) | 2007-12-27 |
JP4363417B2 JP4363417B2 (en) | 2009-11-11 |
Family
ID=38934179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006168281A Expired - Fee Related JP4363417B2 (en) | 2006-06-19 | 2006-06-19 | Computer apparatus and computer control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4363417B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011134215A (en) * | 2009-12-25 | 2011-07-07 | Taito Corp | Clustering system |
WO2012008621A1 (en) * | 2010-07-16 | 2012-01-19 | 日本電気株式会社 | Index monitoring system, index monitoring method, and program |
JP2012119955A (en) * | 2010-12-01 | 2012-06-21 | Konica Minolta Business Technologies Inc | Print data generation device and print data generation method |
US9058173B2 (en) | 2011-10-25 | 2015-06-16 | Fujitsu Limited | Method for controlling a mobile terminal device by calculating a concurrency based on the calculated CPU utilization for a foreground or background operation executed by the device |
-
2006
- 2006-06-19 JP JP2006168281A patent/JP4363417B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011134215A (en) * | 2009-12-25 | 2011-07-07 | Taito Corp | Clustering system |
WO2012008621A1 (en) * | 2010-07-16 | 2012-01-19 | 日本電気株式会社 | Index monitoring system, index monitoring method, and program |
JP2012119955A (en) * | 2010-12-01 | 2012-06-21 | Konica Minolta Business Technologies Inc | Print data generation device and print data generation method |
US9058173B2 (en) | 2011-10-25 | 2015-06-16 | Fujitsu Limited | Method for controlling a mobile terminal device by calculating a concurrency based on the calculated CPU utilization for a foreground or background operation executed by the device |
Also Published As
Publication number | Publication date |
---|---|
JP4363417B2 (en) | 2009-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5405320B2 (en) | Virtual machine control device, virtual machine control method, and virtual machine control program | |
CN102541659B (en) | Method and device for processing of server service requests | |
JP5433837B2 (en) | Virtual computer system, virtual computer control method, and program | |
US8005956B2 (en) | System for allocating resources in a distributed computing system | |
US20110302587A1 (en) | Information processing device and information processing method | |
JP4747307B2 (en) | Network processing control device, program, and method | |
JP2008225639A (en) | Low power consumption job management method and computer system | |
WO2005026947B1 (en) | Managing processing within computing environments including initiation of virtual machines | |
JP2008129846A (en) | Data processor, data processing method, and program | |
JP2011053995A (en) | Data processing control method and computer system | |
WO2011001712A1 (en) | Method for managing consumed electric power, system for managing consumed electric power, and program | |
JP2008152618A (en) | Job assignment program, method and device | |
US9384050B2 (en) | Scheduling method and scheduling system for multi-core processor system | |
JP4363417B2 (en) | Computer apparatus and computer control method | |
JP2014119918A (en) | Information processor, method for controlling information processor and control program of information processor | |
CN109491780B (en) | Multi-task scheduling method and device | |
CN102637139A (en) | Method, device and single panel for feeding watchdog by embedded system | |
JP2010020743A (en) | Controlling computer system having processor including a plurality of cores | |
JP2008204243A (en) | Job execution control method and system | |
WO2012001776A1 (en) | Multicore system, method of scheduling and scheduling program | |
EP4443291A1 (en) | Cluster management method and device, and computing system | |
JP5345902B2 (en) | Data transmission apparatus, data transmission method, and data transmission program | |
CN114968551B (en) | Process management method and device, electronic equipment and storage medium | |
JP3893136B2 (en) | Embedded computer control program, recording medium recording the program, and embedded system | |
TWI472910B (en) | System resource conserving method and operating system thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090403 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090610 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090610 |
|
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: 20090728 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090810 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |