JP2007188212A - マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム - Google Patents
マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
【解決手段】 複数のオペレーティングシステム(OS)が分担して複数の単位プロセッサを動作させるマルチプロセッサにおいて、OS−A、OS−Bが、自OSにかかる負荷をレディキュー303の待機状態のタスクによって判定し、自OSにかかる負荷が大きいと判断された場合、複数のOS間で管理する単位プロセッサの数を調整し、自OSにかかる負荷を調整する。
【選択図】図2
Description
ただし、特許文献1の発明は、マルチプロセッサのシステムをSMP(Symmetric Multi Processor)型のみのプロセッサで構築すると、シングルプロセッサの資産であるアプリケーションの移植作業の作業量が膨大になるという欠点がある。また、既に開発済みのアプリケーションを複数動作させる場合、マルチプロセッサ向けに統合作業を行うよりも、複数のOSを動作させて対応することが考えられる。
しかしながら、マルチプロセッサでは、各プロセッサに割り当てられる処理量が常に均等であるとは限らない。このため、複数OSを使用するマルチプロセッサにあっては、1つのOSに処理が集中した場合、このOSの処理が滞ってマルチプロセッサ全体の稼動に影響がでるおそれがある。
このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することができ、処理効率の高いマルチプロセッサを提供することができる。
このような構成によれば、本実施形態は、負荷判定手段が、各OSにおいてこのOSの負荷の判定及び調整を実行することによって複数のOS間で負荷の調整を行うことができる。このため、複数のOS間における負荷の判定及び調整を比較的簡易に行うことができる。
このような発明によれば、各オペレーティングシステムにかかる負荷を比較的簡易に、かつ正確に判定することができる。
このような発明によれば、オペレーティングシステムにかかる負荷を処理の種別によらず正確にかつ簡易に判定することができる。
図1は、本発明の一実施形態のマルチプロセッサの構成を説明するための図である。本実施形態のマルチプロセッサは、複数のプロセッサ(プロセッサを構成するプロセッサであるため単位プロセッサと記す)P0、P1、P2、P3と、メモリ103とを備えている。メモリ103は、単位プロセッサP0〜P3を動作させる複数のOS(オペレーティングシステム:Operating System)A、Bを保存している。また、メモリ103の少なくとも一部は、単位プロセッサP0〜P3によって共有される共有メモリ101である。
図2に示したように、本実施形態のマルチプロセッサは、複数のOS−A及びOS−Bと、複数のOS−A、Bが分担して動作させる複数の単位プロセッサP0〜P3を備えている。図2に示した例では、OS−Aが単位プロセッサP0、単位プロセッサP1を担当して動作させ(以下管理すると記す)、OS−Bが単位プロセッサP2、単位プロセッサP3を管理している。
このような構成によれば、本実施形態は、各OSが自OSの負荷の判定及び調整を実行することができる。このため、複数のOS間における負荷の判定及び調整を比較的簡易に行うことができる。
所定のタスク数は、予めOS管理テーブル203に設定しておくものであってもよいし、OS−A、OS−Bが初期化されるたびに設定されるものであってもよい。また、初期化の際、所定のタスク数を、OS−A、OS−Bが初期化時に管理している単位プロセッサの数によって変化することも考えられる。
単位プロセッサ増加の要求は、例えば、OS−Bが単位プロセッサを要求すること、OS−Bが現在使用している単位プロセッサの数、自OSの識別情報等を共有メモリ101に書き込むことによって実現することができる。OS−Aは、共用メモリ101を参照し、OS−Bが単位プロセッサの増加を要求していることを認識できる。
受付判定において、OS−AがOS−Bの要求を受付けると判定した場合(A)、図3に示すように、スケジューラ201aは、OS−Aが管理しているプロセッサ数記録部205に記録されているプロセッサ数を1つ減じる。そして、減じた単位プロセッサがスリープあるいはコンテキストスイッチしたタイミングでさらにタスクを割り当てないようOS−Aがスケジューリングする。
さらに、本実施形態のマルチプロセッサは、OSにかかる負荷が軽くなった場合、いったん増加させた単位プロセッサを移動前に管理されていたOSに戻すこともできる。OSの負荷が軽くなったか否かの判断は、例えば、次のようにして実行することができる。
また、OS−Bにかかる負荷の軽減、単位プロセッサの返却は、レディキュー204のタスクの数が所定の数より少なくなった場合に行ってもよい。この場合、所定のタスク数は、予めOS管理テーブル203に設定しておくものであってもよいし、OS−A、OS−Bが初期化されるたびに設定されるものであってもよい。また、初期化の際、所定のタスク数を、OS−A、OS−Bが初期化時に管理している単位プロセッサの数によって変化することも考えられる。
単位プロセッサ返却の通知は、例えば、OS−Bが単位プロセッサを返却すること、OS−Bが現在使用している単位プロセッサの数、自OSの識別情報等を共有メモリ101に書き込むことによって実現することができる。OS−Aは、共用メモリ101を参照し、OS−Bから単位プロセッサの返却通知があったことを認識できる。
また、OSは、図6に示したように、レディキュー204において待機しているタスクがない状態が継続しているか否か判断する(S601)。そして、自OSが現在管理している単位プロセッサの数が起動時に管理していた単位プロセッサの数より多いか否か判断する(S602)。判断の結果、現在管理している単位プロセッサの数の方が多い場合(S602:Yes)、自OSが管理している単位プロセッサを切り離し、この単位プロセッサを要求したOSに移動(返却)する(S603)。
さらに、OSは、単位プロセッサの切り離し、または単位プロセッサの要求のイベントが発生したか否か判断する(S604)。OSは、切り離し要求、単位プロセッサの要求いずれがなされた場合にも、自OSの負荷が軽いか否か判断する(S605)。ステップS605の判断は、例えば、レディキュー204おける待機状態のタスクの数等によって実現できる。ステップS605において、自OSの負荷が軽くないと判断された場合(S605:No)、OSは再び実行状態に戻る。
ステップS605において、負荷が軽いと判断された場合、OSは、プロセッサ数記録部205に保存されている単位プロセッサの数を1つ減じる(S606)。そして、スケジューラに対してスケジューリングを要求する(S607)。
なお、以上の動作において、各イベントの発生の判断においてイベントが発生していないと判断された場合(S504,S507,S509,S511,S602,S604:No)、再度実行状態に戻ってイベントの判定を繰り返す。
このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することができ、負荷の大きいOSにはより多くの単位プロセッサを割り当てて処理効率の高いマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムを提供することができる。
Claims (6)
- 複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサであって、
前記複数のオペレーティングシステムの各々にかかる負荷を判定する負荷判定手段と、
前記負荷判定手段によって少なくとも一のオペレーティングシステムにかかる負荷が大きいと判断された場合、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々にかかる負荷を調整する負荷調整手段と、
を備えることを特徴とするマルチプロセッサ。 - 前記負荷判定手段は、複数のオペレーティングシステムのうちの1つにかかる負荷についてのみ大きいか否か判定し、前記負荷調整手段は、前記負荷判定手段による判定の結果に基づいて該オペレーティングシステムに対する他のオペレーティングシステムによる負荷の調整の要求に対応することを特徴とする請求項1に記載のマルチプロセッサ。
- 前記負荷判定手段は、一のオペレーティングシステムが担当して実行する処理の数によって一のオペレーティングシステムにかかる負荷を判定することを特徴とする請求項1または2に記載のマルチプロセッサ。
- 一のオペレーティングシステムが担当して実行する処理をタスクとして管理するスケジュール手段を備え、前記負荷判定手段は、前記スケジュール手段によって管理されるタスクを単位にして一のオペレーティングシステムにかかる負荷を判断することを特徴とする請求項3に記載のマルチプロセッサ。
- 前記負荷調整手段は、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々が担当して動作させる単位プロセッサの数を調整することによってオペレーティングシステムの各々にかかる負荷を調整することを特徴とする請求項1から4のいずれか1項に記載のマルチプロセッサ。
- 複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムであって、
前記複数のオペレーティングシステムの各々おいて、該オペレーティングシステムにかかる負荷を判定する負荷判定ステップと、
前記負荷判定ステップにおいてオペレーティングシステムにかかる負荷が大きいと判断された場合、他のオペレーティングシステムとの間で該オペレーティングシステムが担当する単位プロセッサの数を調整する負荷調整ステップと、
を含むことを特徴とするマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006004655A JP2007188212A (ja) | 2006-01-12 | 2006-01-12 | マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006004655A JP2007188212A (ja) | 2006-01-12 | 2006-01-12 | マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007188212A true JP2007188212A (ja) | 2007-07-26 |
Family
ID=38343351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006004655A Withdrawn JP2007188212A (ja) | 2006-01-12 | 2006-01-12 | マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007188212A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079908A (ja) * | 2008-09-26 | 2010-04-08 | Samsung Electronics Co Ltd | メモリ管理装置及びその方法 |
DE112009001700T5 (de) | 2008-07-22 | 2011-06-01 | Toyota Jidosha Kabushiki Kaisha | Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren |
JP2013037290A (ja) * | 2011-08-10 | 2013-02-21 | Canon Inc | 情報処理システム、情報処理方法、及びプログラム |
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 (ja) * | 2011-06-01 | 2014-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | デュアル動作システムに対する複数のリソースのためのリソース割り当て |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
-
2006
- 2006-01-12 JP JP2006004655A patent/JP2007188212A/ja not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112009001700T5 (de) | 2008-07-22 | 2011-06-01 | Toyota Jidosha Kabushiki Kaisha | Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren |
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 (de) | 2008-07-22 | 2019-02-07 | Toyota Jidosha Kabushiki Kaisha | Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren |
JP2010079908A (ja) * | 2008-09-26 | 2010-04-08 | Samsung Electronics Co Ltd | メモリ管理装置及びその方法 |
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 (ja) * | 2011-06-01 | 2014-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | デュアル動作システムに対する複数のリソースのためのリソース割り当て |
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 (ja) * | 2011-08-10 | 2013-02-21 | Canon Inc | 情報処理システム、情報処理方法、及びプログラム |
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 (ja) | 低消費電力ジョブ管理方法及び計算機システム | |
US7979861B2 (en) | Multi-processor system and program for causing computer to execute controlling method of multi-processor system | |
KR101686010B1 (ko) | 실시간 멀티코어 시스템의 동기화 스케쥴링 장치 및 방법 | |
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 | |
JP2013186745A (ja) | 処理システム及びプログラム | |
US7941643B2 (en) | Multi-thread processor with multiple program counters | |
WO2017179537A1 (ja) | ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体 | |
JP2007188212A (ja) | マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム | |
JP2007041720A (ja) | ジョブステップ実行プログラムおよびジョブステップ実行方法 | |
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 | |
JP2008123157A (ja) | プロセッサ及び割込み制御方法 | |
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 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム | |
JP3953449B2 (ja) | タスク管理プログラムおよびタスク制御装置 | |
JP2008204243A (ja) | ジョブ実行制御方法およびシステム | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及*** | |
CN116048756A (zh) | 一种队列调度方法、装置及相关设备 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
US20070186213A1 (en) | Task execution system | |
WO2024024102A1 (ja) | 計算機システム、タスクスケジューラ装置、待ちプロセス起床方法およびプログラム | |
US11403138B2 (en) | Method and electronic device for handling relative priority based scheduling procedure |
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 |