JP3585956B2 - 情報処理装置及びその方法 - Google Patents
情報処理装置及びその方法 Download PDFInfo
- Publication number
- JP3585956B2 JP3585956B2 JP21716094A JP21716094A JP3585956B2 JP 3585956 B2 JP3585956 B2 JP 3585956B2 JP 21716094 A JP21716094 A JP 21716094A JP 21716094 A JP21716094 A JP 21716094A JP 3585956 B2 JP3585956 B2 JP 3585956B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- information processing
- page
- processing apparatus
- information
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
Description
【産業上の利用分野】
本発明は、主に複数台の計算機が高速な通信回線で結合され、各計算機に配置されたメモリ(またはその一部)が全体で単一のメモリ空間を構成し、システム全体でNUMA(Non Uniform Memory Access)型のマルチプロセッサシステムのような形態(ある計算機から見て自計算機に配置されたメモリへのアクセスは高速で、他の計算機に配置されたメモリへのアクセスは速度が落ちるが、全体で単一のメモリ空間を成すためマルチプロセッサシステムとしても捉えることができる形態)で動作可能な情報処理システムに関する。
【0002】
【従来の技術】
従来、LANなどの低速な通信回線で複数台の計算機が結ばれた計算機システムにおいては、ユーザプログラムをプロセスとして生成、起動する際に、生成しようとした計算機上の物理メモリが不足していると、仮想記憶機構を持つOSは、使用率の低い物理ページの内容を自計算機に付随する2次記憶装置または他の計算機などにページアウトすることで、自計算機上に物理ページを確保していた。
【0003】
その場合、たとえ通信回線で結ばれた他の計算機上の物理メモリが空いていても、それを間接的に利用することはできても直接利用することはできなかった。これは、通信回線が低速であったため、他の計算機の物理メモリを直接見せるようなハードウェア構成をとれなかったためである。
【0004】
しかし、近年、光ケーブルなど信頼性もあり計算機の内部バスにある程度近い性能を持つ通信媒体の登場で、物理メモリを直接他の計算機に見せるような構成も可能となりつつあり、各計算機に配置されたメモリ(またはその一部)を全体で単一のメモリ空間として、どの計算機からでも直接アクセス可能にすることができるようなシステムが提案されてきている。このようなシステムの場合、上記のようなページアウトを行なわなくても、他の計算機上のメモリが空いていれば、それを確保して直接利用することが可能となる。
【0005】
【発明が解決しようとしている課題】
しかしながら、プロセスを生成しようとした計算機上の物理メモリが不足していた時に、上記のように他の計算機のページを確保する際に、なんの規則性も持たずに複数台の計算機から闇雲に物理ページを確保していくと、プロセスの実行に必要となるメモリページが複数台の計算機に分散配置されてしまい、このような状態のままプロセスが実行し続けると、システムの処理効率が低下してしまうという問題点があった。
【0006】
これは、プロセスが動作するプロセッサと使用する物理メモリとが同一計算機上の場合であれば、メモリアクセスが高速であるためプロセスの処理速度も速いが、通信回線で結ばれた別の計算機上のものである場合には、メモリアクセスが遅いためプロセスの処理速度も遅くなってしまうからである。
【0007】
そこで、本出願人は、先に出願した特願平5−276370号において、上記の問題点を解消するため、プロセスが生成、起動されて物理ページを確保していく際、プロセスが動作している計算機上にページが確保できなくなると、他の計算機上から確保しようと試みるが、この時、複数台の計算機からばらばらに確保していくのではなく、できるだけひとつの計算機上から確保していくようにする。そして、そのプロセスを現在のままの計算機上で実行させ続けた方が効率がいいか、または他の計算機上で実行された方が効率がいいかを判断し、もし後者であると判断した場合には、その時点で、プロセスの実行に必要なコンテキスト情報を、元の計算機上のOSから効率の良いと判断された計算機上のOSに移動しながら、移動先の計算機上でプロセスを続行させることにより、プロセスの処理効率を向上させる計算機システムを提案した。
【0008】
しかし、このように、コンテキスト情報を移動してプロセスを続行させるというプロセスマイグレーション手法の場合、一般には、プロセスを移動するとプロセスの親子関係が継続できず、また、移動後のプロセスは新たに子プロセスを生成できないなどの、通常のプロセスではなかった制限を受ける場合が多い。これは、OS内部のプロセス管理情報が、移動先OSと移動元OSとで、一貫性を保つのが非常に難しいためである。
【0009】
また、メモリ内容(プログラム、データ、スタック)の転送が必要ないといっても、コンテキスト情報(プロセッサのレジスタ値および使用中のメモリページ配置情報等)の移動は必要で、その量によっては、通信回線への負荷、そして転送処理にかかるプロセッサの負荷も問題となる。
【0010】
本発明は、上記のような様々な問題点を解消するためになされたもので、プロセッサの管理自体を移動するという手法を利用し、該プロセスを現在のままのプロセッサで実行させ続けた方が効率がいいか、または他の計算機のプロセッサの管理を移動してきて実行させた方が効率がいいかを判断し、もし後者であると判断した場合には、効率のよいと判断された計算機のプロセッサの管理を移動してきて該プロセスの実行に割り当てることで、プロセス処理効率を向上できる計算機システムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の課題を解決するため、本発明によれば、独立のメモリを備えた1つ以上の他の情報処理装置と通信回線を介して接続された情報処理装置に、他の情報処理装置の物理メモリの管理情報およびプロセス実行のスケジューリング情報を獲得する情報獲得手段と、該情報獲得手段により獲得された情報に基づいて、実行すべきプロセスに割り当てる物理ページを、いずれの情報処理装置の物理メモリから確保するかを決定する割当てページ決定手段と、該割当てページ決定手段により決定された物理ページを備える情報処理装置から、リモートページを確保するリモートページ確保手段と、実行中のプロセスを実行し続けるのに、他の情報処理装置のプロセッサを自装置の管理下に移動して、該プロセッサに割り当てて実行すべきか否かを判定するプロセッサ移動判定手段と、該プロセッサ移動判定手段により、移動して実行すべきと判定された場合に、移動元情報処理装置から前記プロセッサの管理を移動し、前記プロセスの実行のために割り当てるプロセッサ移動割当て手段とを具える。
【0012】
また、本発明の他の態様によれば、独立のメモリを備えた1つ以上の他の情報処理装置と通信回線を介して接続された情報処理装置における情報処理方法に、他の情報処理装置の物理メモリの管理情報およびプロセス実行のスケジューリング情報を獲得する情報獲得工程と、該情報獲得工程により獲得された情報に基づいて、実行すべきプロセスに割り当てる物理ページを、いずれの情報処理装置の物理メモリから確保するかを決定する割当てページ決定工程と、該割当てページ決定工程により決定された物理ページを備える情報処理装置から、リモートページを確保するリモートページ確保工程と、実行中のプロセスを実行し続けるのに、他の情報処理装置のプロセッサを自装置の管理下に移動して、該プロセッサに割り当てて実行すべきか否かを判定するプロセッサ移動判定工程と、該プロセッサ移動判定工程により、移動して実行すべきと判定された場合に、移動元情報処理装置から前記プロセッサの管理を移動し、前記プロセスの実行のために割り当てるプロセッサ移動割当て工程とを具える。
【0013】
【作用】
本発明においては、プロセスが生成、起動され、オンデマンドで物理ページを確保していく際、プロセスが動作している情報処理装置上にページが確保できなくなると、他の情報処理装置より獲得された、物理メモリの管理情報およびプロセス実行のスケジューリング情報に基づいて、実行すべきプロセスに割り当てる物理ページを、いずれの情報処理装置の物理メモリから確保するかを決定し、決定された物理ページを備える情報処理装置から、リモートページを確保する。そして、実行中のプロセスを実行し続けるのに、他の情報処理装置のプロセッサを自装置の管理下に移動して、該プロセッサに割り当てて実行すべきか否かを判定し、移動して実行すべきと判定された場合に、移動元情報処理装置から前記プロセッサの管理を移動し、前記プロセスの実行のために割り当てる。
【0014】
【実施例】
図1は本発明の一実施例を示す計算機システムの構成を説明するブロック図である。
【0015】
図において、101は光ネットワークなどの高速な通信回線、201、301、401は通信回線101で結ばれた複数台の計算機である。202、302、303、402、403は、前記計算機201、301、401に各々1つ以上備えられたMMU内蔵プロセッサ(CPU)、210、410は、前記計算機201、401に備えられたユーザインタフェースとしてのディスプレイ&キーボード、220、320は、前記計算機201、301に備えられたハードディスク(HD)装置などの2次記憶装置である。
【0016】
ディスプレイ&キーボード210、410や2次記憶装置220、320は計算機に装備されていなくてもかまわない。例えばディスプレイ&キーボードが装備されていない計算機301などは、サーバマシンまたはプロセッサプールとして利用されることになる。
【0017】
102は、各計算機上で動作するOS間での非同期な通信を行なうためのCPU間割込み機構である。
【0018】
230、330、430は、全体でひとつの単一なメモリ空間を成す物理メモリ、240、340、440は、各計算機用のローカルメモリである。ローカルメモリは主にOSなどのために必要となるが、物理メモリ230、330、430の一部で代用可能であるため、あってもなくても本発明の適用の妨げとはならない。また、各プロセッサは物理メモリ230、330、430をアクセス可能に構成されている。ただし、メモリアクセスを行なうプロセッサと同一計算機内部の物理メモリへのアクセスよりも、他の計算機に属する物理メモリへのアクセスの方が、通信回線101が介在するため遅くなる。
【0019】
なお、本実施例において、OS250、350、450は、複数プロセッサのスケジューリング、仮想記憶管理などを行ない、当然どの計算機上の物理メモリがどの物理アドレスになっているか、といったシステム情報を把握しているものとする。このようなOSは、ほぼ同様の機能を持ったものが各計算機上でそれぞれ動作し、互いに協調的に働くような構成をとる。これによって、各計算機の独立性が向上し、システム全体の柔軟性も向上する。
【0020】
各OSは各計算機上のローカルメモリ240、340、440上で動作しても、物理メモリ230、330、430上で動作しても構わない。
【0021】
ただし、OSのデータ領域の一部は、各OSが管理するメモリ管理の情報やプロセスのスケジューリング情報を交換可能にするため、物理メモリ230、330、430上の情報交換領域260、360、460に配置しておく。
【0022】
また、各OSは、自計算機に付随する2次記憶装置からだけでなく、他の計算機に付随する2次記憶装置からも、通信回線101を介してユーザプログラムのローディングができるように構成されている。
【0023】
図1に示すようなシステムにおいて、ユーザプログラムがプロセスとして起動され、例えば計算機201上のプロセッサ202でプロセスが動作を開始すると、OS250の仮想記憶管理機構により、オンデマンドで物理メモリがページとして割り当てられ、必要な内容(データやテキスト)が2次記憶装置などからローディングされる。
【0024】
このときOS250は、物理メモリ230(プロセッサ202にとってアクセスが速い)からページを割り当てようと試みるが、物理メモリ230にフリーなページが不足してくると、物理メモリ330、430から割り当てることになる(プロセスにとってこのようなページをリモートページと呼ぶことにする)。この際、OS250は、自計算機201以外の計算機より、メモリ・スケジューリング情報を獲得して、各計算機のフリーなページ数、プロセッサの負荷状態などを知る。このようなOSによるメモリ・スケジューリング情報の獲得は、各OSが各自持っているそれらの情報を随時情報交換領域260、360、460の決められた場所に反映しておき、それぞれのOSが必要な時にそこを読み出すことで実現できる。
【0025】
これらの情報に基づいて、OS250は、どの物理メモリからページを確保するかを決定する。この割当てページ決定では、理想的には、フリーなページが多く、そしてプロセッサの負荷の小さい計算機上の物理ページが対象となる。
【0026】
しかし、例えば、計算機301はフリーなページは少ないがプロセッサの負荷はは小さい、そして計算機401はフリーなページは多いがプロセッサの負荷が大きい、といった状況の場合は、ページ数と負荷とを変数として経験的に定められた評価関数をもとに決定することとする。とりあえず、最初の段階で必要なのは物理ページなので、ここでは、プロセッサの負荷状態より、フリーなページ数を優先する制御を行なうこととし、計算機401の物理メモリ430からページを獲得する。
【0027】
また、割当てページの決定により、例えば、物理メモリ430からページを確保することが決定すると、OS250は、物理メモリ430からリモートページを確保し、割り当てて、通常のページと同様に必要な内容(データやテキスト)を2次記憶装置などからローディングしてプロセスを続行する。
【0028】
本実施例において、リモートページの確保は、この場合、OS250とOS450の協調動作により実現できる。
【0029】
この場合、まず、OS250は、物理メモリ430から物理ページが必要になったという情報をOS450に伝えるため、情報交換領域260あるいは情報交換領域460へ情報を書き込み、CPU間割込み機構102を用いてOS450を非同期に呼び出し、結果がくるまで待機する。
【0030】
この待機処理中に、他のプロセスにプロセッサを割り当てても構わない。
【0031】
一方、呼び出されたOS450は、OS250からの情報にしたがって物理ページを物理メモリ430から確保し、それがOS250の管理下に入るように内部状態を設定する。そして、確保した物理ページに関する情報(物理アドレスなど)を情報交換領域260か情報交換領域460に書き込み、CPU間割込み機構102を用いてOS250を非同期に呼び出し、物理ページを譲渡する。
【0032】
割込みを受けたOS250は、待ち状態から解放され、確保したリモートページをプロセスの実行用に割り当てる。
【0033】
このようにしてページを確保しながらプロセスが動作し続けると、図2の(a)〜(c)に示すように物理メモリの物理ページ配置状態が遷移していく。
【0034】
以下、図2を参照しながら、本実施例に係る計算機システムにおける物理メモリの物理ページ配置状態について説明する。
【0035】
図2は本実施例に係る計算機システムにおける物理メモリの物理ページ配置状態を説明する図であり、図1と同一のものには同一の符号を付してある。
【0036】
上述したようにして、ページを確保しながらプロセスが動作し続けると、物理メモリ230と物理メモリ430との物理ページ配置が、図2の(a)のような状況から、(b)や(c)のような状況に変化してくる場合がある。
【0037】
特に、図2の(b)に示すように、確保している物理ページの割合が物理メモリ230より物理メモリ430の方が多くなり、かつ計算機401のプロセッサ402、プロセッサ403の負荷が少なければ、プロセッサ202で実行し続けるよりも、プロセッサ402またはプロセッサ403の管理をOS450からOS250に移動し、そのプロセッサでプロセスを実行させた方が効率が良い。
【0038】
また、図2の(c)に示すように、物理ページの割合はほぼ同じでも、プロセッサ202の負荷が、プロセッサ402、プロセッサ403の負荷と比べてかなり高くなってきた状況の場合も同様である。
【0039】
そこで、OS250は、上記のような状況判断を行なう。具体的には、獲得したメモリ・スケジューリング情報により、対象となるプロセスのページの配置情報、およびプロセッサの負荷情報に基づいて、図2の(b)や(c)のような状況、つまりプロセッサを移動すべき状況になったかどうかを判定する。このプロセッサの移動判定処理は、オンデマンドでのページ確保のタイミングで、そしてプロセススケジューリング時やプロセス生成/削除時などのプロセッサの負荷が変化(実行可能状態のプロセス数の変化)するタイミングで起動される。
【0040】
プロセッサの移動判定処理により、プロセッサの移動および移動元の計算機が決定すると、プロセッサの移動割当てが行なわれる。例えば、計算機401が移動元計算機の場合だと、プロセッサ402またはプロセッサ403の管理が、OS450からOS250に移動され、そのプロセッサがプロセスの実行のために割り当てられる。
【0041】
プロセッサの移動、割当ては以下のように実行される。以下では、OS450からOS250に移動されOS250の管理下のプロセスに割り当てられるまでを例として説明する。
【0042】
まず、OS250は、OS450に対してプロセッサの移動要求を発行する。これは、情報交換領域260、あるいは情報交換領域460に要求内容を書き込み、CPU間割込み機構102を用いてOS450を非同期に呼び出すことで実行する。
【0043】
次に、プロセッサ移動要求を受けたOS450は、移動するプロセッサを選ぶ。この時、シンメトリなシステムであればランダムに選んで構わないし、マスタースレーブ型であれば、スレーブプロセッサの中から負荷の軽いものを選べば良い。例えばプロセッサ403が選ばれたとすると、次に、プロセッサ403で動作中のプロセスそして動作予定だったプロセスをプロセッサ402に移管する。
【0044】
すべてのプロセスの移管が終了し、プロセッサがアイドル状態になったら、仮想記憶モードから実記憶モードに切り替え、移動先のOS250の管理するメモリ領域にジャンプできるようにする。最後に、プロセッサ402は、OS250があらかじめ用意したエントリにジャンプする。これによりプロセッサ402はOS250の管理下に移動したことになる。
【0045】
指定しておいたエントリにジャンプしてきたプロセッサ402は、まずページテーブルのベースレジスタに、OS250が管理するページテーブルの値を設定し、仮想記憶モードに切り替え、OS250の仮想記憶空間で動作可能にする。そして、例外ベクタテーブルのベースレジスタも、同様にOS250が管理する例外ベクタテーブルの位置に設定する。ベースレジスタ設定により例外ベクタテーブルの再配置が不可能なプロセッサの場合には、テーブルのジャンプアドレスを書き換えることにより同様の処理が可能である。以上の処理により、プロセッサ402は、完全にOS250の管理下に移動したことになる。
【0046】
次に、指定したプロセスにプロセッサ402を割り当てる。まず、プロセッサ402で実行するプロセスを管理するためのREADYキューを用意する。これは、OS250が起動時に予め作っておいて、プロセッサ402の移動時に割り当ててもいいし、プロセッサ402移動時に作成しても構わない。このREADYキューに前記プロセスをつなぎ、プロセッサ402で実行されるようにする。
【0047】
この処理に先立ち、前記プロセスがプロセッサ202で実行中だった場合には、実行状態(RUNNING状態)を解除し、プロセッサ202での実行待ち状態だった場合には、プロセッサ202用のREADYキューから前記プロセスを外す。最後に、プロセッサ402は、自分のREADYキューにつながれたプロセスを実行状態にして実行していく。1つしかプロセスがなかった場合にはそのプロセスを、複数あった場合には、タイムスライス等の手法を用いて順に実行していく。
【0048】
これにより、複数台の計算機201、301、401が高速な通信回線101で結合され、各計算機に配置された物理メモリ(または一部)230、330、430が全体で単一のメモリ空間を構成し、システム全体でNUMA型のマルチプロセッサシステムのような形態(ある計算機から見て自計算機に配置されたメモリへのアクセスは高速で、他の計算機に配置されたメモリへのアクセスは速度が落ちるが、全体で単一のメモリ空間を成すためマルチプロセッサシステムとしてもとらえることができる形態)で動作可能な計算機システムが構築でき、プロセスが生成、起動されオンデマンドで物理ページを確保していく際に、プロセスが動作している計算機上にページが確保できなくなると、獲得したメモリ・スケジューリング情報に基づいて、どの計算機から物理ページを確保していくかを決定する。
【0049】
そして、その後、プロセスがリモートページを確保しつつ動作し続けている間に、プロセッサの移動判定により、プロセスを現在のままのプロセッサで実行させ続けた方が効率がいいか、または他の計算機のプロセッサの管理を移動してきて実行された方が効率がいいかを判断し、もし後者であると判断した場合には、プロセッサの移動割当てにより、効率がよいと判断された計算機のプロセッサの管理を移動してきて、前記プロセスの実行に割り当てることで、プロセス実行上でなんら制限を受けることがなく、プロセス処理効率を上げることができる。
【0050】
以下、図3に示すフローチャートを参照しながら、本実施例に係る計算機システムにおけるメモリ資源管理処理動作について説明する。
【0051】
図3は、本実施例に係る計算機システムにおけるメモリ資源管理処理手順の一例を示すフローチャートである。ここでは、計算機201上でプロセスが起動された場合を例とする。
【0052】
計算機201上でプロセスが起動されると、新しいページが必要となり(ステップS1)、物理メモリ230からページ割当てが可能かどうかを判定し(ステップS2)、割当て可能な場合には、物理メモリ230からページを割り当て(ステップS4)、ステップ1に戻る。
【0053】
一方、ステップS2の判定でページ割当て不能と判定された場合には、メモリ・スケジューリング情報獲得手段により各計算機の情報を獲得する(ステップS3)。次いで、割当てページ決定手段によりページを確保する物理メモリを決定する(ステップS5)。次いで、リモートページ確保手段により、リモートページを確保して割り当てる(ステップS6)。次いで、プロセッサ移動判定手段により、他の計算機よりプロセッサを移動して割り当てるべきかどうかを判定し、また移動元計算機を決定する(ステップS7)。次いで、移動すべきかどうかを判定して(ステップS8)、NOならばステップ1に戻り、YESならばプロセッサ移動割当て手段により、移動元計算機からプロセッサを移動してきて該プロセスの実行のために割り当て(ステップS9)、ステップ1に戻る。
【0054】
[他の実施例]
上記の実施例では、CPU間割込み機構102を備えて、該CPU間割込み機構102を利用して、リモートページの確保や、プロセッサの移動割当てを実現する場合について説明したが、CPU間割込み機構102がなくてもフラグセンスのポーリング機構により上記処理を行なう構成としても同様の効果が期待できる。
【0055】
例えば、リモートページの確保は、上記の実施例で述べたような状況の場合、OS250とOS450の協調動作により実現でき、その際の非同期な通信にCPU間割込み機構102を利用していた。
【0056】
本実施例では、次のような方式でそれを代行する。割込みを発生する立場にあったOSは、CPU間割込みを発生する代わりに、情報交換領域260か460に設けたフラグ領域のフラグをONとする。
【0057】
一方、CPU間割込みを受ける立場側に対応するOSは、該フラグがONになったかどうかをセンスするルーチンを、デーモンプロセスのような形態で動作させておき、それがONになったことを察知した場合には、CPU間割込みを受けたときの処理と同じ処理を行なうようにする。
【0058】
ただし、OS250やOS450がいつもフラグセンスしているわけにはいかないので、フラグセンスを行なうルーチン(デーモンプロセス)はある間隔(例えば10msec程度)で定期的にセンスするように構成する。
【0059】
また、上記の実施例では、プロセッサの移動判定が、オンデマンドでのページ確保のタイミングで、そしてプロセッサの負荷が変化するタイミングで起動される例をあげていたが、以下のように構成して実現してもよい。
【0060】
すなわち、プロセッサの移動判定およびプロセッサの移動割当てを、OS内部のデーモンプロセスのような形態で実現し、非同期的に判定、移動を行なう。ただし、このデーモンプロセスが他のプロセスの実行を妨げることを避けるため、優先順位を低めに設定しておく方が望ましい。
【0061】
該デーモンプロセスは、各計算機上のOSでそれぞれ動作し、それぞれのOSが管理するプロセス全部を判定対象とする。また、自OS以外のOSが管理するプロセスについて判定するようにしてもよい。この方が次のような場合有効となる。
【0062】
例えば、ある一つの計算機の負荷が大きくて、そのため優先順位が低いデーモンプロセス(プロセッサ移動判定手段)がなかなか動作できないような場合、他の計算機上で動作するデーモンプロセスが代行して判定を行なってくれるようにすることができる。
【0063】
【発明の効果】
以上説明したように、本発明によれば、プロセスが生成、起動され、物理ページを確保していく際に、プロセスが動作している情報処理装置上にページが確保できなくなると、他の情報処理装置より獲得された、物理メモリの管理情報およびプロセス実行のスケジューリング情報に基づいて、実行すべきプロセスに割り当てる物理ページを、いずれの情報処理装置の物理メモリから確保するかを決定し、決定された物理ページを備える情報処理装置から、リモートページを確保する。そして、実行中のプロセスを実行し続けるのに、他の情報処理装置のプロセッサを自装置の管理下に移動して、該プロセッサに割り当てて実行すべきか否かを判定し、移動して実行すべきと判定された場合に、移動元情報処理装置から前記プロセッサの管理を移動し、前記プロセスの実行のために割り当てるようにしたので、プロセス実行上でなんら制限を受けることがなく、プロセス処理効率を上げることができる。そして、いずれかの情報処理装置におけるプロセス実行中に、該プロセス処理を他の情報処理装置に委託しながら並行して実行でき、システム全体のプロセス実行効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の1実施例の情報処理システムの機能構成を示すブロック図である。
【図2】物理メモリの物理ページ配置状態を説明する図である。
【図3】メモリ資源管理の処理手順の一例を示すフローチャートである。
【符号の説明】
101 高速な通信回線
102 CPU間割込み機構
201、301、401 通信回線101で結ばれた複数台の計算機
202、302、303、402 MMU内蔵プロセッサ
210、410 ディスプレイ&キーボード
220、320 ハードディスク装置などの2次記憶装置
230、330、430 全体で単一なメモリ空間をなす物理メモリ
240、340、440 各計算機上のローカルメモリ
250、350、450 各計算機上で動作するOS
260、360、460 情報交換領域
Claims (6)
- 独立のメモリを備えた1つ以上の他の情報処理装置と通信回線を介して接続された情報処理装置であって、
他の情報処理装置の物理メモリの管理情報およびプロセス実行のスケジューリング情報を獲得する情報獲得手段と、
該情報獲得手段により獲得された情報に基づいて、実行すべきプロセスに割り当てる物理ページを、いずれの情報処理装置の物理メモリから確保するかを決定する割当てページ決定手段と、
該割当てページ決定手段により決定された物理ページを備える情報処理装置から、リモートページを確保するリモートページ確保手段と、
実行中のプロセスを実行し続けるのに、他の情報処理装置のプロセッサを自装置の管理下に移動して、該プロセッサに割り当てて実行すべきか否かを判定するプロセッサ移動判定手段と、
該プロセッサ移動判定手段により、移動して実行すべきと判定された場合に、移動元情報処理装置から前記プロセッサの管理を移動し、前記プロセスの実行のために割り当てるプロセッサ移動割当て手段とを具備したことを特徴とする情報処理装置。 - 前記割当ページ決定手段は、フリーなページの多い物理メモリを有する情報処理装置の物理メモリから確保するように決定することを特徴とする請求項1に記載の情報処理装置。
- 前記割当ページ決定手段は、プロセッサの負荷の小さい情報処理装置の物理メモリから確保するように決定することを特徴とする請求項1に記載の情報処理装置。
- 独立のメモリを備えた1つ以上の他の情報処理装置と通信回線を介して接続された情報処理装置における情報処理方法であって、
他の情報処理装置の物理メモリの管理情報およびプロセス実行のスケジューリング情報を獲得する情報獲得工程と、
該情報獲得工程により獲得された情報に基づいて、実行すべきプロセスに割り当てる物理ページを、いずれの情報処理装置の物理メモリから確保するかを決定する割当てページ決定工程と、
該割当てページ決定工程により決定された物理ページを備える情報処理装置から、リモートページを確保するリモートページ確保工程と、
実行中のプロセスを実行し続けるのに、他の情報処理装置のプロセッサを自装置の管理下に移動して、該プロセッサに割り当てて実行すべきか否かを判定するプロセッサ移動判定工程と、
該プロセッサ移動判定工程により、移動して実行すべきと判定された場合に、移動元情報処理装置から前記プロセッサの管理を移動し、前記プロセスの実行のために割り当てるプロセッサ移動割当て工程とを有することを特徴とする情報処理方法。 - 前記割当ページ決定工程は、フリーなページの多い物理メモリを有する情報処理装置の物理メモリから確保するように決定することを特徴とする請求項4に記載の情報処理方法。
- 前記割当ページ決定工程は、プロセッサの負荷の小さい情報処理装置の物理メモリから確保するように決定することを特徴とする請求項4に記載の情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21716094A JP3585956B2 (ja) | 1994-09-12 | 1994-09-12 | 情報処理装置及びその方法 |
US08/520,586 US5884077A (en) | 1994-08-31 | 1995-08-30 | Information processing system and method in which computer with high load borrows processor of computer with low load to execute process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21716094A JP3585956B2 (ja) | 1994-09-12 | 1994-09-12 | 情報処理装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0883255A JPH0883255A (ja) | 1996-03-26 |
JP3585956B2 true JP3585956B2 (ja) | 2004-11-10 |
Family
ID=16699801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21716094A Expired - Fee Related JP3585956B2 (ja) | 1994-08-31 | 1994-09-12 | 情報処理装置及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3585956B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257796A (ja) * | 1992-03-11 | 1993-10-08 | Nec Corp | 分散共有型メモリ管理方式 |
JPH05265844A (ja) * | 1992-03-19 | 1993-10-15 | Fujitsu Ltd | メモリ利用方式 |
JPH07129518A (ja) * | 1993-11-05 | 1995-05-19 | Canon Inc | 計算機システム |
JP3696901B2 (ja) * | 1994-07-19 | 2005-09-21 | キヤノン株式会社 | 負荷分散方法 |
-
1994
- 1994-09-12 JP JP21716094A patent/JP3585956B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0883255A (ja) | 1996-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5884077A (en) | Information processing system and method in which computer with high load borrows processor of computer with low load to execute process | |
US9996401B2 (en) | Task processing method and virtual machine | |
JP3546678B2 (ja) | マルチos構成方法 | |
JP3659062B2 (ja) | 計算機システム | |
US5553291A (en) | Virtual machine control method and virtual machine system | |
JP2005122640A (ja) | サーバシステム及びi/oスロット共有方法。 | |
KR20070090649A (ko) | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 | |
JP2008107966A (ja) | 計算機システム | |
WO2020008757A1 (ja) | 仮想化環境におけるデバイスへのアクセス方法 | |
JP2007280397A (ja) | 複数処理ノードを含むコンピュータ・システムでプログラムをロードする方法、該プログラムを含むコンピュータ可読媒体、及び、並列コンピュータ・システム | |
JPH06243112A (ja) | マルチプロセッサ装置 | |
JP5131269B2 (ja) | マルチプロセッシングシステム | |
US20090187911A1 (en) | Computer device with reserved memory for priority applications | |
CN108845969B (zh) | 适用于不完全对称多处理微控制器的操作控制方法及操作系统 | |
JP4862770B2 (ja) | 仮想計算機システムにおけるメモリ管理方式及びその方法、およびプログラム | |
JPH07129518A (ja) | 計算機システム | |
JP3585956B2 (ja) | 情報処理装置及びその方法 | |
JP2001236237A (ja) | マルチos構成方法 | |
JPH1063525A (ja) | 情報処理装置、情報処理システム及びその制御方法 | |
Swanson et al. | The Design of the Schizophrenic Workstation System. | |
CN108021442A (zh) | 释放物理内存的系统、装置及方法 | |
JP5699665B2 (ja) | サーバ装置、処理実行方法およびプログラム | |
Walters et al. | Enabling interactive jobs in virtualized data centers | |
JPH0877026A (ja) | 情報処理方法とその装置 | |
JP2014191468A (ja) | プロセスの待ち行列を共有する複数のプロセッサを有する計算機、及び、プロセスディスパッチ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040803 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040805 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070813 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080813 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080813 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090813 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090813 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100813 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110813 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |