JP2007188212A - Multiprocessor, and program for making computer execute control method of multiprocessor - Google Patents

Multiprocessor, and program for making computer execute control method of multiprocessor Download PDF

Info

Publication number
JP2007188212A
JP2007188212A JP2006004655A JP2006004655A JP2007188212A JP 2007188212 A JP2007188212 A JP 2007188212A JP 2006004655 A JP2006004655 A JP 2006004655A JP 2006004655 A JP2006004655 A JP 2006004655A JP 2007188212 A JP2007188212 A JP 2007188212A
Authority
JP
Japan
Prior art keywords
load
multiprocessor
unit
operating system
operating systems
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.)
Withdrawn
Application number
JP2006004655A
Other languages
Japanese (ja)
Inventor
Mitsunari Todoroki
晃成 轟
Katsuya Tanaka
克哉 田中
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006004655A priority Critical patent/JP2007188212A/en
Publication of JP2007188212A publication Critical patent/JP2007188212A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multiprocessor for achieving a high processing efficiency by adjusting loads imposed on each operating system (OS) according to processing status. <P>SOLUTION: In a multiprocessor where a plurality of operating systems (OSs) respectively operate a plurality of unit processors, an OS-A and an OS-B determine the loads imposed on their own OSs from a standby task of a ready queue 303, and if it is determined that the loads imposed on the own OSs are large, adjusts the number of unit processors to be managed among the plurality of OSs to adjust the loads imposed on the own OSs. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、複数のプロセッサを組合わせて構成されるマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムに係り、特に複数のプロセッサを複数のOSを使って動作させるマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムに関する。   The present invention relates to a multiprocessor configured by combining a plurality of processors and a program for causing a computer to execute a control method of the multiprocessor, and more particularly to a multiprocessor and a multiprocessor that operate a plurality of processors using a plurality of OSs. The present invention relates to a program for causing a computer to execute a processor control method.

特定の用途に用いられるソフトウェアとハードウェアとを組合わせた構成は、組み込みシステムと呼ばれている。近年では、組込みシステムにマルチ形式のプロセッサであるマルチプロセッサやマルチスレッドプロセッサが採用されることも多い。マルチ形式のプロセッサ(以降マルチプロセッサと記す)の採用は、装置の低クロック化や応答性の向上に有利である。また、特に携帯型の装置では、消費電力を低減することにも有利であるためマルチプロセッサの採用の要請が強い。   A configuration in which software and hardware used for a specific application are combined is called an embedded system. In recent years, multiprocessors and multithread processors, which are multi-format processors, are often employed in embedded systems. The use of a multi-type processor (hereinafter referred to as a multiprocessor) is advantageous in reducing the clock of the device and improving the responsiveness. In particular, portable devices are advantageous in reducing power consumption, and there is a strong demand for adopting a multiprocessor.

ところで、新たに開発したソフトウェアが正常に動作するか否かの判断に時間及びコストがかかる。このため、ソフトウェアの分野では、使用した結果実績のあるプロセッサのソフトウェアが流用可能であるならば、これを流用することが望ましいとされている。したがって、組込みシステムをマルチプロセッサ化する場合、先に使用されていたシングルプロセッサのソフトウェアを流用する要求がある。   By the way, it takes time and cost to determine whether or not newly developed software operates normally. For this reason, in the field of software, if it is possible to divert processor software that has been used as a result, it is desirable to divert it. Therefore, when an embedded system is made into a multiprocessor, there is a demand for diverting the previously used single processor software.

シングルプロセッサのソフトウェアをマルチプロセッサに流用する従来技術として、例えば、特許文献1がある。特許文献1の発明は、μITRON(登録商標)をベースにしたシングルプロセッサ用のオペレーティングシステム(OS:Operating System)をマルチプロセッサに移植するものである。
ただし、特許文献1の発明は、マルチプロセッサのシステムをSMP(Symmetric Multi Processor)型のみのプロセッサで構築すると、シングルプロセッサの資産であるアプリケーションの移植作業の作業量が膨大になるという欠点がある。また、既に開発済みのアプリケーションを複数動作させる場合、マルチプロセッサ向けに統合作業を行うよりも、複数のOSを動作させて対応することが考えられる。
特開平8−297581号公報
For example, Japanese Patent Application Laid-Open No. 2004-133867 discloses a conventional technique for diverting single processor software to a multiprocessor. The invention of Patent Document 1 is to port a single processor operating system (OS) based on μITRON (registered trademark) to a multiprocessor.
However, the invention of Patent Document 1 has a drawback that when a multiprocessor system is constructed with only an SMP (Symmetric Multi Processor) type processor, the amount of work for porting an application, which is an asset of a single processor, becomes enormous. In addition, when a plurality of applications that have already been developed are operated, it is conceivable that a plurality of OSs are operated instead of performing an integration operation for a multiprocessor.
JP-A-8-2977581

マルチプロセッサにおいて複数のOSを使用する場合、複数のOSの各々が複数のプロセッサを分担して制御することになる。各OSが制御するプロセッサ及び数は、OSが起動した時点でOSに認識され、以降再起動するまで変化しない。
しかしながら、マルチプロセッサでは、各プロセッサに割り当てられる処理量が常に均等であるとは限らない。このため、複数OSを使用するマルチプロセッサにあっては、1つのOSに処理が集中した場合、このOSの処理が滞ってマルチプロセッサ全体の稼動に影響がでるおそれがある。
When a plurality of OSs are used in a multiprocessor, each of the plurality of OSs shares and controls a plurality of processors. The processor and the number controlled by each OS are recognized by the OS when the OS starts and do not change until the OS is restarted thereafter.
However, in a multiprocessor, the amount of processing allocated to each processor is not always equal. For this reason, in a multiprocessor using a plurality of OSs, when processing is concentrated on one OS, the processing of this OS may be delayed and the operation of the entire multiprocessor may be affected.

本発明は、このような点に鑑みてなされたものであり、複数のプロセッサを複数のOSが各々分担して制御する場合、処理の状況に応じて各OSにかかる負荷を調整することができ、処理効率の高いマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムを提供することを目的とする。   The present invention has been made in view of the above points. When a plurality of processors are controlled by a plurality of OSs, the load on each OS can be adjusted according to the processing status. Another object of the present invention is to provide a program for causing a computer to execute a multiprocessor having high processing efficiency and a control method for the multiprocessor.

以上の課題を解決するため、本発明のマルチプロセッサは、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサであって、前記複数のオペレーティングシステムの各々にかかる負荷を判定する負荷判定手段と、前記負荷判定手段によって少なくとも一のオペレーティングシステムにかかる負荷が大きいと判断された場合、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々にかかる負荷を調整する負荷調整手段と、を備えることを特徴とする。   In order to solve the above problems, a multiprocessor according to the present invention is a multiprocessor including a plurality of operating systems and a plurality of unit processors that are operated by the plurality of operating systems. A load determining unit that determines a load applied to each of the plurality of operating systems, and a load applied to each of at least some of the plurality of operating systems when the load determining unit determines that the load applied to at least one operating system is large. And a load adjusting means for adjusting.

このような発明によれば、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサにおいて、複数のオペレーティングシステムの各々にかかる負荷を判定し、少なくとも一のオペレーティングシステムにかかる負荷が大きい場合、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々にかかる負荷を調整し、このオペレーティングシステムの負荷を軽減することができる。
このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することができ、処理効率の高いマルチプロセッサを提供することができる。
According to such an invention, in a multiprocessor including a plurality of operating systems and a plurality of unit processors that are operated by the plurality of operating systems, the load applied to each of the plurality of operating systems is determined, and at least one When the load on the operating system is large, the load on each of at least some of the plurality of operating systems can be adjusted to reduce the load on the operating system.
Therefore, the present invention can adjust the load applied to each OS according to the processing status, and can provide a multiprocessor with high processing efficiency.

また、本発明のマルチプロセッサは、前記負荷判定手段が、複数のオペレーティングシステムのうちの1つにかかる負荷についてのみ大きいか否か判定し、前記負荷調整手段は、前記負荷判定手段による判定の結果に基づいて該オペレーティングシステムに対する他のオペレーティングシステムによる負荷の調整の要求に対応することを特徴とする。
このような構成によれば、本実施形態は、負荷判定手段が、各OSにおいてこのOSの負荷の判定及び調整を実行することによって複数のOS間で負荷の調整を行うことができる。このため、複数のOS間における負荷の判定及び調整を比較的簡易に行うことができる。
The multiprocessor according to the present invention determines whether or not the load determination unit is large only for a load applied to one of a plurality of operating systems, and the load adjustment unit is a result of determination by the load determination unit. In response to a request for load adjustment by another operating system based on the operating system.
According to such a configuration, in the present embodiment, the load determination unit can perform load adjustment among a plurality of OSs by executing determination and adjustment of the load of the OS in each OS. For this reason, it is possible to relatively easily determine and adjust the load among a plurality of OSs.

また、本発明のマルチプロセッサは、前記負荷判定手段が、一のオペレーティングシステムが担当して実行する処理の数によって一のオペレーティングシステムにかかる負荷を判定することを特徴とする。
このような発明によれば、各オペレーティングシステムにかかる負荷を比較的簡易に、かつ正確に判定することができる。
The multiprocessor according to the present invention is characterized in that the load determining means determines the load applied to one operating system based on the number of processes executed by the one operating system.
According to such an invention, the load on each operating system can be determined relatively easily and accurately.

また、本発明のマルチプロセッサは、一のオペレーティングシステムが担当して実行する処理をタスクとして管理するスケジュール手段を備え、前記負荷判定手段は、前記スケジュール手段によって管理されるタスクを単位にして一のオペレーティングシステムにかかる負荷を判断することを特徴とする。
このような発明によれば、オペレーティングシステムにかかる負荷を処理の種別によらず正確にかつ簡易に判定することができる。
The multiprocessor according to the present invention further includes scheduling means for managing processing executed and executed by one operating system as a task, and the load determination means is configured to execute one task for each task managed by the scheduling means. It is characterized by determining the load on the operating system.
According to such an invention, the load applied to the operating system can be accurately and easily determined regardless of the type of processing.

また、本発明のマルチプロセッサは、前記負荷調整手段が、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々が担当して動作させる単位プロセッサの数を調整することによってオペレーティングシステムの各々にかかる負荷を調整することを特徴とする。   In the multiprocessor according to the present invention, the load adjusting unit adjusts the number of unit processors to be operated by each of at least some of the plurality of operating systems. It is characterized by adjusting the load.

このような発明によれば、オペレーティングシステムが処理をするのに使用できる単位プロセッサの数を増減するという比較的簡単な方法によってオペレーティングシステムの負荷を調整することができる。このため、本発明は、比較的簡易な制御でありながら確実にマルチプロセッサ上で動作する複数のオペレーティングシステムの負荷を調整することができる。   According to such an invention, the operating system load can be adjusted by a relatively simple method of increasing or decreasing the number of unit processors that can be used by the operating system for processing. Therefore, according to the present invention, it is possible to adjust the loads of a plurality of operating systems that operate on the multiprocessor with certainty while performing relatively simple control.

また、本発明のマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムは、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムであって、前記複数のオペレーティングシステムの各々おいて、該オペレーティングシステムにかかる負荷を判定する負荷判定ステップと、前記負荷判定ステップにおいてオペレーティングシステムにかかる負荷が大きいと判断された場合、他のオペレーティングシステムとの間で該オペレーティングシステムが担当する単位プロセッサの数を調整する負荷調整ステップと、を含むことを特徴とする。   Further, a program for causing a computer to execute the multiprocessor control method of the present invention is a computer program that includes a plurality of operating systems and a plurality of unit processors that are operated by the plurality of operating systems. In each of the plurality of operating systems, a load determination step for determining a load applied to the operating system, and a load applied to the operating system in the load determination step is determined to be large A load adjusting step of adjusting the number of unit processors that the operating system is in charge of with another operating system.

このような発明によれば、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサにおいて、複数のオペレーティングシステムの各々において、該オペレーティングシステムかかる負荷を判定し、オペレーティングシステ間でオペレーティングシステムの各々にかかる負荷を調整し、このオペレーティングシステムの負荷を軽減することができる。   According to such an invention, in a multiprocessor including a plurality of operating systems and a plurality of unit processors that are operated by the plurality of operating systems, the load on the operating systems is determined in each of the plurality of operating systems. In addition, it is possible to reduce the load on the operating system by adjusting the load on each of the operating systems between the operating systems.

このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することによって高い処理効率を得るマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムを提供することができる。   For this reason, the present invention can provide a program for causing a computer to execute a multiprocessor and a control method for the multiprocessor that obtain high processing efficiency by adjusting the load on each OS according to the processing status. .

以下、図を参照して本発明に係るマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムの一実施の形態を説明する。
図1は、本発明の一実施形態のマルチプロセッサの構成を説明するための図である。本実施形態のマルチプロセッサは、複数のプロセッサ(プロセッサを構成するプロセッサであるため単位プロセッサと記す)P0、P1、P2、P3と、メモリ103とを備えている。メモリ103は、単位プロセッサP0〜P3を動作させる複数のOS(オペレーティングシステム:Operating System)A、Bを保存している。また、メモリ103の少なくとも一部は、単位プロセッサP0〜P3によって共有される共有メモリ101である。
An embodiment of a program for causing a computer to execute a multiprocessor and a multiprocessor control method according to the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram for explaining the configuration of a multiprocessor according to an embodiment of the present invention. The multiprocessor of this embodiment includes a plurality of processors (denoted as unit processors because they are processors constituting the processor) P0, P1, P2, P3, and a memory 103. The memory 103 stores a plurality of OSs (Operating Systems) A and B that operate the unit processors P0 to P3. At least a part of the memory 103 is a shared memory 101 shared by the unit processors P0 to P3.

図2ないし4は、本実施形態のマルチプロセッサの構成及びOSの負荷調整の動作を説明するための図である。特に図2は、本実施形態のマルチプロセッサの負荷調整の開始動作を示し、図3は負荷調整の完了、図4は完了した負荷調整を再度調整前の状態に戻す動作を示している。
図2に示したように、本実施形態のマルチプロセッサは、複数のOS−A及びOS−Bと、複数のOS−A、Bが分担して動作させる複数の単位プロセッサP0〜P3を備えている。図2に示した例では、OS−Aが単位プロセッサP0、単位プロセッサP1を担当して動作させ(以下管理すると記す)、OS−Bが単位プロセッサP2、単位プロセッサP3を管理している。
2 to 4 are diagrams for explaining the configuration of the multiprocessor and the load adjustment operation of the OS according to the present embodiment. In particular, FIG. 2 shows the load adjustment start operation of the multiprocessor of this embodiment, FIG. 3 shows the completion of load adjustment, and FIG. 4 shows the operation of returning the completed load adjustment to the state before adjustment again.
As shown in FIG. 2, the multiprocessor of this embodiment includes a plurality of OS-A and OS-B, and a plurality of unit processors P0 to P3 that are operated by the plurality of OS-A and B. Yes. In the example shown in FIG. 2, the OS-A is responsible for operating the unit processor P0 and the unit processor P1 (hereinafter referred to as management), and the OS-B manages the unit processor P2 and the unit processor P3.

また、OS−A、OS−Bは、いずれも担当するプロセッサで処理されるタスクのスケジュールを管理するためのOS管理テーブル203を備えている。OS管理テーブル203は、タスクを実行の順序にしたがって記録するレディキュー204を作成する。レディキュー204におけるタスクの実行順序は、タスクの切替え等の発生によって変更され得る。レディキュー204におけるタスクの実行順序の変更を再スケジューリングとも記す。   Each of OS-A and OS-B includes an OS management table 203 for managing a schedule of tasks processed by a processor in charge. The OS management table 203 creates a ready queue 204 that records tasks in the order of execution. The execution order of tasks in the ready queue 204 can be changed by the occurrence of task switching or the like. Changing the task execution order in the ready queue 204 is also referred to as rescheduling.

スケジューラ201a、201bは、レディキュー204に基づいてタスクの実行順序を制御するプログラムであって、本実施形態ではレディキュー204にあるタスクの数から自OSにかかる負荷を判定する構成としても機能するものとする。負荷の判定は、1つのOSが管理するプログラムの処理の数によって行われる。本実施形態では、処理の数をタスクと呼ばれるプログラムの処理単位を単位にして定義する。   The schedulers 201a and 201b are programs that control the execution order of tasks based on the ready queue 204. In this embodiment, the schedulers 201a and 201b also function as a configuration for determining the load on the own OS from the number of tasks in the ready queue 204. Shall. The determination of the load is performed based on the number of program processes managed by one OS. In this embodiment, the number of processes is defined in units of processing units of programs called tasks.

OS−A、OS−Bは、自OSのスケジューラ201a、201bに基づいて一のOS(自OSである)にかかる負荷が大きいと判断された場合、複数のOSのうち少なくとも一部のOSの各々にかかる負荷を調整する。本実施形態は、複数のOSのうち少なくとも一部のオペレーティングシステムの各々が担当して動作させる単位プロセッサの数を加減して調整することにより負荷の調整を実行する。なお、各OSが現在管理している単位プロセッサの数は、OS管理テーブル203のプロセッサ数記録部205に保存されている。   When it is determined that the load on one OS (the own OS) is large based on the schedulers 201a and 201b of the own OS, the OS-A and the OS-B have at least some of the plurality of OSs. Adjust the load on each. In the present embodiment, the load is adjusted by adjusting the number of unit processors that are operated by each of at least some of the plurality of operating systems. Note that the number of unit processors currently managed by each OS is stored in the processor number recording unit 205 of the OS management table 203.

以上の構成において、OS−A、OS−Bは、複数のOSの各々にかかる負荷を判定する負荷判定手段として機能する。また、OS−A、OS−Bは、自OSにかかる負荷を調整する負荷調整手段として機能する。なお、本実施形態は、OS−A、OS−Bが、1つのOSにかかる負荷についてのみ大きいか否か判定し、判定の結果に基づいて自OSに対する他のオペレーティングシステムによる負荷の調整の要求に対応する。
このような構成によれば、本実施形態は、各OSが自OSの負荷の判定及び調整を実行することができる。このため、複数のOS間における負荷の判定及び調整を比較的簡易に行うことができる。
In the above configuration, OS-A and OS-B function as a load determination unit that determines a load applied to each of a plurality of OSs. OS-A and OS-B function as load adjusting means for adjusting the load applied to the own OS. In this embodiment, it is determined whether OS-A and OS-B are large only for a load on one OS, and a request for adjusting the load by another operating system on the own OS based on the determination result. Corresponding to
According to such a configuration, in this embodiment, each OS can execute determination and adjustment of the load of the own OS. For this reason, it is possible to relatively easily determine and adjust the load among a plurality of OSs.

以上述べた構成は、以下のように動作する。すなわち、マルチプロセッサが起動することにより、マルチプロセッサに保存されているOS−A、OS−Bがそれぞれ起動する。OS−A、OS−Bは、起動直後に初期化され、このときに自OSが動作を担当すべき単位プロセッサの数を取得する。取得された単位プロセッサの数は、各OSのOS管理テーブル203において管理される。   The configuration described above operates as follows. That is, when the multiprocessor is activated, OS-A and OS-B stored in the multiprocessor are activated. OS-A and OS-B are initialized immediately after startup, and acquire the number of unit processors that the OS should take charge of at this time. The acquired number of unit processors is managed in the OS management table 203 of each OS.

マルチプロセッサの動作中、スケジューラ201は、レディキュー204として実行が予定されているタスクの数に基づいて自OSにかかる負荷の高低を判定する。この判定は、例えば、レディキュー204で実行が予定されているタスクの数が所定の数より多いか否かによって実現できる。
所定のタスク数は、予めOS管理テーブル203に設定しておくものであってもよいし、OS−A、OS−Bが初期化されるたびに設定されるものであってもよい。また、初期化の際、所定のタスク数を、OS−A、OS−Bが初期化時に管理している単位プロセッサの数によって変化することも考えられる。
During the operation of the multiprocessor, the scheduler 201 determines whether the load on the own OS is high or low based on the number of tasks scheduled to be executed as the ready queue 204. This determination can be realized by, for example, whether or not the number of tasks scheduled to be executed in the ready queue 204 is greater than a predetermined number.
The predetermined number of tasks may be set in advance in the OS management table 203, or may be set every time OS-A and OS-B are initialized. In addition, at the time of initialization, the predetermined number of tasks may be changed depending on the number of unit processors managed by OS-A and OS-B at the time of initialization.

例えば、OS−Bにおいてレディキュー204に記録されたタスクが所定の数になった場合、スケジューラ201bがOS−Bにかかる負荷が大きくなったと判断する。このような場合、スケジューラ201bは、OS−Aに対してOS−Aが使用できる単位プロセッサの増加を要求する。
単位プロセッサ増加の要求は、例えば、OS−Bが単位プロセッサを要求すること、OS−Bが現在使用している単位プロセッサの数、自OSの識別情報等を共有メモリ101に書き込むことによって実現することができる。OS−Aは、共用メモリ101を参照し、OS−Bが単位プロセッサの増加を要求していることを認識できる。
For example, when the number of tasks recorded in the ready queue 204 in OS-B reaches a predetermined number, the scheduler 201b determines that the load on OS-B has increased. In such a case, the scheduler 201b requests the OS-A to increase the number of unit processors that can be used by the OS-A.
The request to increase the unit processor is realized by, for example, requesting the unit processor by the OS-B, writing the number of unit processors currently used by the OS-B, identification information of the own OS, and the like in the shared memory 101. be able to. OS-A refers to the shared memory 101 and can recognize that OS-B requests an increase in unit processors.

OS−Aは、OS−Bの要求を受付けるか否か判定する(この判定を受付判定とも記す)。受付判定は、例えば、OS−Aの負荷をOS−Aのレディキュー204のタスク数等から判断することによって実現することができる。そして、OS−Bの負荷と比べ、OS−Aにかかる負荷が軽いと判断した場合にのみ要求を受付けるようにしてもよい。
受付判定において、OS−AがOS−Bの要求を受付けると判定した場合(A)、図3に示すように、スケジューラ201aは、OS−Aが管理しているプロセッサ数記録部205に記録されているプロセッサ数を1つ減じる。そして、減じた単位プロセッサがスリープあるいはコンテキストスイッチしたタイミングでさらにタスクを割り当てないようOS−Aがスケジューリングする。
OS-A determines whether to accept the request from OS-B (this determination is also referred to as an acceptance determination). The acceptance determination can be realized, for example, by determining the load of the OS-A from the number of tasks in the ready queue 204 of the OS-A. The request may be received only when it is determined that the load on OS-A is lighter than the load on OS-B.
When it is determined in the acceptance determination that OS-A accepts the request from OS-B (A), as shown in FIG. 3, the scheduler 201a is recorded in the processor count recording unit 205 managed by OS-A. Decrease the number of existing processors by one. Then, the OS-A schedules so that no more tasks are allocated at the timing when the reduced unit processor sleeps or context switches.

なお、受付判定において、OS−Aは、自OSにかかる負荷が大きい(OS−Aにおいてレディキューのタスクが所定の数以上)と判定した場合にはOS−Bの単位プロセッサの要求に応じない。このような本実施形態は、各OSが個別に自OSにのみかかる負荷を判定する。そして、判定の結果に基づいて自OSに対する他のOSによる負荷の調整の要求に対応することにより複数のOS間で負荷を調整することができる。   In the acceptance determination, OS-A does not respond to the request of the OS-B unit processor when determining that the load on the own OS is large (the number of ready queue tasks in OS-A is a predetermined number or more). . In this embodiment, each OS individually determines a load applied only to the own OS. Then, the load can be adjusted among a plurality of OSs by responding to a request for adjusting the load by another OS based on the determination result.

また、OS−Bは、プロセッサ数記録部205に記録されているプロセッサ数を1つ増加する。そして、増加した単位プロセッサに対し、レディキュー204に記録されているタスクを割り当てるようスケジューリングしなおす。以上の処理により、OS−AからOS−Bへの単位プロセッサの移動が完了する。
さらに、本実施形態のマルチプロセッサは、OSにかかる負荷が軽くなった場合、いったん増加させた単位プロセッサを移動前に管理されていたOSに戻すこともできる。OSの負荷が軽くなったか否かの判断は、例えば、次のようにして実行することができる。
The OS-B increases the number of processors recorded in the processor number recording unit 205 by one. Then, scheduling is performed so that the task recorded in the ready queue 204 is assigned to the increased unit processor. With the above processing, the movement of the unit processor from OS-A to OS-B is completed.
Furthermore, the multiprocessor of this embodiment can return the unit processor once increased to the OS managed before the movement when the load on the OS becomes light. The determination as to whether or not the load on the OS has been reduced can be executed as follows, for example.

すなわち、本実施形態では、OS−Bにおいて、スケジューラ201bがレディキュー204において単位プロセッサの割当を待つ状態(待機状態)のタスクがない状態が継続した時間を計時する。そして、計時された時間が所定の時間に達した場合、OS−Bにかかる負荷が軽減されたと判断する。さらに、本実施形態では、OS−Bが起動時に管理していた単位プロセッサの数と現在管理している単位プロセッサの数とを比較する。   That is, in the present embodiment, in OS-B, the scheduler 201b measures the time during which there is no task waiting for unit processor assignment (standby state) in the ready queue 204. When the measured time reaches a predetermined time, it is determined that the load on OS-B has been reduced. Furthermore, in the present embodiment, the number of unit processors managed by OS-B at the time of startup is compared with the number of unit processors currently managed.

比較の結果、現在管理されている単位プロセッサの数が起動時に管理していた単位プロセッサの数よりも多い場合には、本実施形態では、OS−BがOS−Aに要求した単位プロセッサをOS−Aに返すものとする。
また、OS−Bにかかる負荷の軽減、単位プロセッサの返却は、レディキュー204のタスクの数が所定の数より少なくなった場合に行ってもよい。この場合、所定のタスク数は、予めOS管理テーブル203に設定しておくものであってもよいし、OS−A、OS−Bが初期化されるたびに設定されるものであってもよい。また、初期化の際、所定のタスク数を、OS−A、OS−Bが初期化時に管理している単位プロセッサの数によって変化することも考えられる。
As a result of comparison, if the number of unit processors currently managed is larger than the number of unit processors managed at the time of startup, in this embodiment, the unit processor requested by OS-B to OS-A is the OS. -Return to A.
Further, the load on OS-B and the return of the unit processor may be performed when the number of tasks in the ready queue 204 becomes smaller than a predetermined number. In this case, the predetermined number of tasks may be set in advance in the OS management table 203, or may be set every time OS-A and OS-B are initialized. . In addition, at the time of initialization, it may be considered that the predetermined number of tasks changes depending on the number of unit processors managed by OS-A and OS-B at the time of initialization.

例えば、OS−Bにおいてレディキュー204に記録されたタスクが所定の数以下になった場合、スケジューラ201bがOS−Bにかかる負荷が軽くなったと判断する。このような場合、スケジューラ201bは、OS−Aに対してOS−Aに要求した単位プロセッサを返却することを通知する。
単位プロセッサ返却の通知は、例えば、OS−Bが単位プロセッサを返却すること、OS−Bが現在使用している単位プロセッサの数、自OSの識別情報等を共有メモリ101に書き込むことによって実現することができる。OS−Aは、共用メモリ101を参照し、OS−Bから単位プロセッサの返却通知があったことを認識できる。
For example, when the number of tasks recorded in the ready queue 204 in OS-B falls below a predetermined number, the scheduler 201b determines that the load on OS-B has become lighter. In such a case, the scheduler 201b notifies the OS-A that the unit processor requested to the OS-A is returned.
The unit processor return notification is realized by, for example, returning the unit processor by the OS-B, writing the number of unit processors currently used by the OS-B, identification information of the own OS, and the like in the shared memory 101. be able to. The OS-A refers to the shared memory 101 and can recognize that the return notification of the unit processor has been received from the OS-B.

OS−Aは、受付判定において、OS−AがOS−Bの単位プロセッサ返却を受付けると判定した場合、図4に示すように、スケジューラ201bは、OS−Aに増加を要求して現在自OSが管理している単位プロセッサに対し、この単位プロセッサがスリープあるいはコンテキストスイッチしたタイミングでさらにタスクを割り当てないようスケジューリングする。またOS−Aは、プロセッサ数記録部205に記録されているプロセッサ数を1つ減じる。   When the OS-A determines in the acceptance determination that the OS-A accepts the OS-B unit processor return, as shown in FIG. 4, the scheduler 201b requests the OS-A to increase the current OS. Scheduling is performed so that no more tasks are assigned to the unit processor managed by the unit processor when the unit processor sleeps or context switches. The OS-A decrements the number of processors recorded in the processor number recording unit 205 by one.

一方、OS−Aは、プロセッサ数記録部205に記録されているプロセッサ数を1つ増加する。そして、増加した単位プロセッサに対し、レディキュー204に記録されているタスクを割り当てるようスケジューリングしなおす。以上の処理により、OS−BからOS−Aへの単位プロセッサの返却が完了する。   On the other hand, the OS-A increases the number of processors recorded in the processor number recording unit 205 by one. Then, scheduling is performed so that the task recorded in the ready queue 204 is assigned to the increased unit processor. With the above processing, the return of the unit processor from OS-B to OS-A is completed.

図5及び図6は、以上述べた本実施形態のマルチプロセッサで実行される制御方法をコンピュータに実行させるためのプログラムを説明するためのフローチャートである。OS(OS−AまたはOS−Bのいずれであってもよい)は、起動時に初期化され(S501)、実行状態になってイベントの発生に備えて待機する(S502)。なお、図5のフローチャートでいうイベントは、OS内部の要求を抽象化した概念である。   5 and 6 are flowcharts for explaining a program for causing a computer to execute the control method executed by the multiprocessor of the present embodiment described above. The OS (which may be either OS-A or OS-B) is initialized at startup (S501), enters an execution state, and waits for the occurrence of an event (S502). The event referred to in the flowchart of FIG. 5 is a concept that abstracts an internal request of the OS.

OSは、イベント発生すると、発生したイベントの内容を判定する(S503)。そして、この判定の結果得られたイベントの内容に応じて動作する。先ず、発生したイベントがプロセッサの追加を通知するものであった場合(S504:Yes)、OSは、プロセッサ数記録部205に保存されている単位プロセッサの数を1つ加算する(S505)。そして、スケジューラにスケジューリングを要求する(S506)。なお、スケジューリングの要求は、定期的にも実行されている。   When an event occurs, the OS determines the content of the event that has occurred (S503). And it operates according to the contents of the event obtained as a result of this determination. First, when the event that has occurred is a notification of addition of a processor (S504: Yes), the OS adds one to the number of unit processors stored in the processor number recording unit 205 (S505). Then, the scheduler is requested for scheduling (S506). Note that the scheduling request is also periodically executed.

また、OSは、イベントがスケジューリング要求であると判定した場合(S507:Yes)、レディキュー204にあるタスクを取り出して自OSが管理している複数の単位プロセッサの各々に割り当てる(S508)。次に、単位プロセッサの切り離し(一のOSによって管理されていた単位プロセッサをこのOSによる管理対象から除外する)の要求が通知されたか、または単位プロセッサの切り離しを要求する処理の実行中であるかを判断する(S509)。ステップS509の判断において、切り離し要求、切り離し要求の処理の実行中のいずれかであった場合(S509:Yes)、要求に沿って単位プロセッサを切り離す。そして、単位プロセッサを切り離したことを、切り離しを要求したOSに通知する(S510)。   If the OS determines that the event is a scheduling request (S507: Yes), the OS takes out the task in the ready queue 204 and assigns it to each of the plurality of unit processors managed by the own OS (S508). Next, whether a request for detaching a unit processor (excluding a unit processor managed by one OS from a management target by this OS) has been notified, or is a process requesting detachment of a unit processor being executed? Is determined (S509). If it is determined in step S509 that either the disconnection request or the processing of the disconnection request is being executed (S509: Yes), the unit processor is disconnected according to the request. Then, the OS that requested the disconnection is notified that the unit processor has been disconnected (S510).

また、発生したイベントが、レディキュー204に所定の数(X個)以上の待機状態のタスクがあることを示すものである場合(S511:Yes)、OSは、他のOSに単位プロセッサを要求する(S512)。
また、OSは、図6に示したように、レディキュー204において待機しているタスクがない状態が継続しているか否か判断する(S601)。そして、自OSが現在管理している単位プロセッサの数が起動時に管理していた単位プロセッサの数より多いか否か判断する(S602)。判断の結果、現在管理している単位プロセッサの数の方が多い場合(S602:Yes)、自OSが管理している単位プロセッサを切り離し、この単位プロセッサを要求したOSに移動(返却)する(S603)。
When the event that has occurred indicates that there are a predetermined number (X) or more of waiting tasks in the ready queue 204 (S511: Yes), the OS requests a unit processor from another OS. (S512).
Further, as shown in FIG. 6, the OS determines whether or not there is a state in which no task is waiting in the ready queue 204 (S601). Then, it is determined whether or not the number of unit processors currently managed by the own OS is larger than the number of unit processors managed at the time of startup (S602). If the number of unit processors currently managed is larger as a result of the determination (S602: Yes), the unit processor managed by the own OS is disconnected and moved (returned) to the OS that requested the unit processor ( S603).

なお、本実施形態では、ステップS602において、OSによって管理されている単位プロセッサの増加がないと判断された場合(S602:No)、単位プロセッサの返却は行わないものとする。
さらに、OSは、単位プロセッサの切り離し、または単位プロセッサの要求のイベントが発生したか否か判断する(S604)。OSは、切り離し要求、単位プロセッサの要求いずれがなされた場合にも、自OSの負荷が軽いか否か判断する(S605)。ステップS605の判断は、例えば、レディキュー204おける待機状態のタスクの数等によって実現できる。ステップS605において、自OSの負荷が軽くないと判断された場合(S605:No)、OSは再び実行状態に戻る。
In this embodiment, when it is determined in step S602 that there is no increase in unit processors managed by the OS (S602: No), the unit processors are not returned.
Further, the OS determines whether or not a unit processor disconnection or a unit processor request event has occurred (S604). The OS determines whether the load on the own OS is light regardless of whether a disconnection request or a unit processor request is made (S605). The determination in step S605 can be realized by, for example, the number of standby tasks in the ready queue 204. If it is determined in step S605 that the load on the own OS is not light (S605: No), the OS returns to the execution state again.

このような動作により、本実施形態は、単位プロセッサが要求された場合であっても、OSは、自OSにかかる負荷が大きい場合には他のOSに単位プロセッサを提供することはない。また、OSは、自OSにかかる負荷が大きい場合に単位プロセッサを返却することがない。
ステップS605において、負荷が軽いと判断された場合、OSは、プロセッサ数記録部205に保存されている単位プロセッサの数を1つ減じる(S606)。そして、スケジューラに対してスケジューリングを要求する(S607)。
なお、以上の動作において、各イベントの発生の判断においてイベントが発生していないと判断された場合(S504,S507,S509,S511,S602,S604:No)、再度実行状態に戻ってイベントの判定を繰り返す。
With this operation, in this embodiment, even when a unit processor is requested, the OS does not provide the unit processor to another OS when the load on the own OS is large. Further, the OS does not return the unit processor when the load on the own OS is large.
If it is determined in step S605 that the load is light, the OS reduces the number of unit processors stored in the processor number recording unit 205 by one (S606). Then, the scheduler is requested for scheduling (S607).
In the above operation, when it is determined that no event has occurred in the determination of the occurrence of each event (S504, S507, S509, S511, S602, S604: No), the process returns to the execution state again to determine the event. repeat.

以上述べた本実施形態によれば、複数のOSが分担して単位プロセッサP0〜P3を動作させるマルチプロセッサにおいて、複数のOSの各々において、このOSかかる負荷を判定し、判定の結果から、OS間でOSの各々にかかる負荷を調整することができる。
このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することができ、負荷の大きいOSにはより多くの単位プロセッサを割り当てて処理効率の高いマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムを提供することができる。
According to the present embodiment described above, in a multiprocessor in which a plurality of OSs share and operate the unit processors P0 to P3, the load on the OS is determined in each of the plurality of OSs, and the OS results from the determination result. The load on each of the OSs can be adjusted in between.
Therefore, according to the present invention, the load on each OS can be adjusted according to the processing status, and a multiprocessor control method with high processing efficiency can be achieved by assigning more unit processors to the OS with a large load. A program for executing the program can be provided.

なお、図5、図6のフローチャートで示した本実施形態のマルチプロセッサの制御方法をコンピュータに実行させるプログラム(本実施形態ではOS)は、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フロッピー(登録商標)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、本実施形態のマルチプロセッサの制御方法をコンピュータに実行させるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。   A program (OS in this embodiment) that causes a computer to execute the multiprocessor control method of the present embodiment shown in the flowcharts of FIGS. 5 and 6 is a file in an installable format or an executable format in a CD- The program is provided by being recorded on a computer-readable recording medium such as a ROM, a floppy (registered trademark) disk (FD), or a DVD. Further, a program for causing a computer to execute the multiprocessor control method of the present embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network.

さらに、以上述べた本実施形態のマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムは、コンピュータで読み取り可能なROM、フラッシュメモリ、メモリカード、USB接続型フラッシュメモリ等のメモリデバイスに記録されて提供してもよい。   Furthermore, a program for causing a computer to execute the multiprocessor control method of the present embodiment described above is recorded in a memory device such as a ROM, flash memory, memory card, or USB-connected flash memory that can be read by a computer. May be provided.

本発明の一実施形態のマルチプロセッサの構成を説明するための図である。It is a figure for demonstrating the structure of the multiprocessor of one Embodiment of this invention. 本発明の一実施形態のマルチプロセッサの負荷調整の開始動作を説明するための図である。It is a figure for demonstrating the start operation | movement of the load adjustment of the multiprocessor of one Embodiment of this invention. 本発明の一実施形態のマルチプロセッサの負荷調整の完了動作を説明するための図である。It is a figure for demonstrating the completion operation | movement of the load adjustment of the multiprocessor of one Embodiment of this invention. 本発明の一実施形態のマルチプロセッサにおいて完了した負荷調整を再度調整前の状態に戻す動作を説明するための図である。It is a figure for demonstrating the operation | movement which returns the load adjustment completed in the multiprocessor of one Embodiment of this invention to the state before adjustment again. 本発明の一実施形態のマルチプロセッサで実行される制御方法をコンピュータに実行させるためのプログラムを説明するためのフローチャートである。It is a flowchart for demonstrating the program for making a computer perform the control method performed with the multiprocessor of one Embodiment of this invention. 本発明の一実施形態のマルチプロセッサで実行される制御方法をコンピュータに実行させるためのプログラムを説明するための他のフローチャートである。It is another flowchart for demonstrating the program for making a computer perform the control method performed with the multiprocessor of one Embodiment of this invention.

符号の説明Explanation of symbols

101 共用メモリ、103 メモリ、201a、201b スケジューラ、203 OS管理テーブル、204 レディキュー、205 プロセッサ数記録部、P0,P1,P2,P3 単位プロセッサ 101 shared memory, 103 memory, 201a, 201b scheduler, 203 OS management table, 204 ready queue, 205 processor number recording unit, P0, P1, P2, P3 unit processor

Claims (6)

複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサであって、
前記複数のオペレーティングシステムの各々にかかる負荷を判定する負荷判定手段と、
前記負荷判定手段によって少なくとも一のオペレーティングシステムにかかる負荷が大きいと判断された場合、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々にかかる負荷を調整する負荷調整手段と、
を備えることを特徴とするマルチプロセッサ。
A multiprocessor comprising a plurality of operating systems and a plurality of unit processors that are operated by the operating systems in a shared manner,
Load determining means for determining a load applied to each of the plurality of operating systems;
A load adjusting unit that adjusts a load applied to each of at least some of the plurality of operating systems when the load determining unit determines that the load applied to at least one operating system is large;
A multiprocessor characterized by comprising:
前記負荷判定手段は、複数のオペレーティングシステムのうちの1つにかかる負荷についてのみ大きいか否か判定し、前記負荷調整手段は、前記負荷判定手段による判定の結果に基づいて該オペレーティングシステムに対する他のオペレーティングシステムによる負荷の調整の要求に対応することを特徴とする請求項1に記載のマルチプロセッサ。   The load determination unit determines whether the load applied to only one of a plurality of operating systems is large or not, and the load adjustment unit determines whether another load on the operating system is based on a determination result by the load determination unit. The multiprocessor according to claim 1, wherein the multiprocessor corresponds to a load adjustment request by an operating system. 前記負荷判定手段は、一のオペレーティングシステムが担当して実行する処理の数によって一のオペレーティングシステムにかかる負荷を判定することを特徴とする請求項1または2に記載のマルチプロセッサ。   3. The multiprocessor according to claim 1, wherein the load determination unit determines a load applied to one operating system based on a number of processes executed by the one operating system. 一のオペレーティングシステムが担当して実行する処理をタスクとして管理するスケジュール手段を備え、前記負荷判定手段は、前記スケジュール手段によって管理されるタスクを単位にして一のオペレーティングシステムにかかる負荷を判断することを特徴とする請求項3に記載のマルチプロセッサ。   A scheduling unit that manages processing executed by one operating system as a task; and the load determination unit determines a load applied to the one operating system in units of tasks managed by the scheduling unit. The multiprocessor according to claim 3. 前記負荷調整手段は、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々が担当して動作させる単位プロセッサの数を調整することによってオペレーティングシステムの各々にかかる負荷を調整することを特徴とする請求項1から4のいずれか1項に記載のマルチプロセッサ。   The load adjusting means adjusts the load applied to each of the operating systems by adjusting the number of unit processors to be operated by at least some of the operating systems. The multiprocessor according to any one of claims 1 to 4. 複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムであって、
前記複数のオペレーティングシステムの各々おいて、該オペレーティングシステムにかかる負荷を判定する負荷判定ステップと、
前記負荷判定ステップにおいてオペレーティングシステムにかかる負荷が大きいと判断された場合、他のオペレーティングシステムとの間で該オペレーティングシステムが担当する単位プロセッサの数を調整する負荷調整ステップと、
を含むことを特徴とするマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute a control method of a multiprocessor including a plurality of operating systems and a plurality of unit processors that are operated by the plurality of operating systems.
In each of the plurality of operating systems, a load determination step of determining a load applied to the operating system;
A load adjustment step of adjusting the number of unit processors in charge of the operating system with another operating system when it is determined that the load applied to the operating system is large in the load determination step;
A program for causing a computer to execute a multiprocessor control method comprising:
JP2006004655A 2006-01-12 2006-01-12 Multiprocessor, and program for making computer execute control method of multiprocessor Withdrawn JP2007188212A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006004655A JP2007188212A (en) 2006-01-12 2006-01-12 Multiprocessor, and program for making computer execute control method of multiprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006004655A JP2007188212A (en) 2006-01-12 2006-01-12 Multiprocessor, and program for making computer execute control method of multiprocessor

Publications (1)

Publication Number Publication Date
JP2007188212A true JP2007188212A (en) 2007-07-26

Family

ID=38343351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006004655A Withdrawn JP2007188212A (en) 2006-01-12 2006-01-12 Multiprocessor, and program for making computer execute control method of multiprocessor

Country Status (1)

Country Link
JP (1) JP2007188212A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079908A (en) * 2008-09-26 2010-04-08 Samsung Electronics Co Ltd Memory management apparatus and its method
DE112009001700T5 (en) 2008-07-22 2011-06-01 Toyota Jidosha Kabushiki Kaisha Multicore system, on-board electronic control unit and task switching method
JP2013037290A (en) * 2011-08-10 2013-02-21 Canon Inc Information processing system, information processing method, and program
US8555289B2 (en) 2010-03-16 2013-10-08 Samsung Electronics Co., Ltd. System and method for dynamically managing tasks for data parallel processing on multi-core system
JP2014515526A (en) * 2011-06-01 2014-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Resource allocation for multiple resources for dual operating systems
US9342365B2 (en) 2012-03-15 2016-05-17 Samsung Electronics Co., Ltd. Multi-core system for balancing tasks by simultaneously comparing at least three core loads in parallel

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (en) * 2000-12-28 2002-07-19 Hitachi Ltd Virtual computer system for performing dynamic resource distribution

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (en) * 2000-12-28 2002-07-19 Hitachi Ltd Virtual computer system for performing dynamic resource distribution

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009001700T5 (en) 2008-07-22 2011-06-01 Toyota Jidosha Kabushiki Kaisha Multicore system, on-board electronic control unit and task switching method
US8856196B2 (en) 2008-07-22 2014-10-07 Toyota Jidosha Kabushiki Kaisha System and method for transferring tasks in a multi-core processor based on trial execution and core node
DE112009001700B4 (en) 2008-07-22 2019-02-07 Toyota Jidosha Kabushiki Kaisha Multicore system, on-board electronic control unit and task switching method
JP2010079908A (en) * 2008-09-26 2010-04-08 Samsung Electronics Co Ltd Memory management apparatus and its method
US9250968B2 (en) 2008-09-26 2016-02-02 Samsung Electronics Co., Ltd. Method and memory manager for managing a memory in a multi-processing environment
US8555289B2 (en) 2010-03-16 2013-10-08 Samsung Electronics Co., Ltd. System and method for dynamically managing tasks for data parallel processing on multi-core system
JP2014515526A (en) * 2011-06-01 2014-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Resource allocation for multiple resources for dual operating systems
US9396027B2 (en) 2011-06-01 2016-07-19 International Business Machines Corporation Resource allocation for a plurality of resources for a dual activity system
JP2013037290A (en) * 2011-08-10 2013-02-21 Canon Inc Information processing system, information processing method, and program
US9342365B2 (en) 2012-03-15 2016-05-17 Samsung Electronics Co., Ltd. Multi-core system for balancing tasks by simultaneously comparing at least three core loads in parallel

Similar Documents

Publication Publication Date Title
JP4370336B2 (en) Low power consumption job management method and computer system
US7979861B2 (en) Multi-processor system and program for causing computer to execute controlling method of multi-processor system
KR101686010B1 (en) Apparatus for fair scheduling of synchronization in realtime multi-core systems and method of the same
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US7941643B2 (en) Multi-thread processor with multiple program counters
WO2017179537A1 (en) Software update control device, software update control system, software update control method, and recording medium having software update control program stored thereon
JP2007188212A (en) Multiprocessor, and program for making computer execute control method of multiprocessor
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
WO2008062647A1 (en) Multiprocessor system, system configuration method in multiprocessor system, and program thereof
WO2020091916A1 (en) Resource conservation for containerized systems
US20140115601A1 (en) Data processing method and data processing system
US10523746B2 (en) Coexistence of a synchronous architecture and an asynchronous architecture in a server
US9336049B2 (en) Method, system, and program for scheduling jobs in a computing system
JP5549189B2 (en) Virtual machine management apparatus, virtual machine management method, and virtual machine management program
KR20200032253A (en) Method and apparatus for managing scheduling of services during boot-up
JP2008204243A (en) Job execution control method and system
CN111158875B (en) Multi-module-based multi-task processing method, device and system
JP2008225641A (en) Computer system, interrupt control method and program
JP4325466B2 (en) Task execution system
EP3276489B1 (en) Parallel processing system
WO2024024102A1 (en) Computer system, task scheduler device, pending process awakening method, and program
US11403138B2 (en) Method and electronic device for handling relative priority based scheduling procedure
CN110888675B (en) Hardware system and electronic device
JP4877317B2 (en) Information processing apparatus and interrupt control method
US10419532B2 (en) Asynchronous connection handling in a multi-threaded server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081001

A131 Notification of reasons for refusal

Effective date: 20111101

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20111222

Free format text: JAPANESE INTERMEDIATE CODE: A523

A131 Notification of reasons for refusal

Effective date: 20120626

Free format text: JAPANESE INTERMEDIATE CODE: A131

A761 Written withdrawal of application

Effective date: 20120718

Free format text: JAPANESE INTERMEDIATE CODE: A761