JP3696901B2 - 負荷分散方法 - Google Patents

負荷分散方法 Download PDF

Info

Publication number
JP3696901B2
JP3696901B2 JP16682494A JP16682494A JP3696901B2 JP 3696901 B2 JP3696901 B2 JP 3696901B2 JP 16682494 A JP16682494 A JP 16682494A JP 16682494 A JP16682494 A JP 16682494A JP 3696901 B2 JP3696901 B2 JP 3696901B2
Authority
JP
Japan
Prior art keywords
load
information processing
task
distributed
node
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
Application number
JP16682494A
Other languages
English (en)
Other versions
JPH0830472A (ja
Inventor
義明 数藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP16682494A priority Critical patent/JP3696901B2/ja
Priority to US08/502,702 priority patent/US5692192A/en
Priority to EP95304960A priority patent/EP0697654B1/en
Priority to DE69520988T priority patent/DE69520988T2/de
Publication of JPH0830472A publication Critical patent/JPH0830472A/ja
Application granted granted Critical
Publication of JP3696901B2 publication Critical patent/JP3696901B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【産業上の利用分野】
本発明は分散した複数の情報処理装置上で動作するタスクを制御する負荷分散方式に関するものである。
【0002】
【従来の技術】
複数のプロセッサを1台の情報処理装置内にもつマルチプロセッサの情報処理装置上で、それらのプロセッサを有効に活用可能なタスク/スレッドモデルと呼ばれるプログラム形態が提案されている。これは1つのプログラムをスレッドと呼ばれる複数の実行モジュールと、タスクと呼ばれる資源割り当ての単位に分割したモデルである。スレッドはプロセッサ資源の割り当て単位となり、その他の記憶空間資源などはタスクに割り当てられ、タスク内の全てのスレッドに解放されている。このようなタスク/スレッドモデルは、マルチプロセッサの情報処理装置において、プロセッサ資源を効率よく使用するプログラムのためのモデルである。
【0003】
さらに、通常のタスク/スレッドモデルのプログラム上で利用者空間内でコンテキスト切り換えやスレッド生成等を行なうことが可能な利用者レベルスレッドが提案されている。これは通常のタスク/スレッドモデルのスレッドの生成やコンテキスト切り換え等が、オペレーティングシステムカーネル(OSカーネル)へのシステムコールを必要とし速度が低いという欠点を改善するために考えられた物である。複数のコンテキストを持つことが可能で、かつ利用者空間内でスレッド生成やコンテキスト切り換え等が行なえて高速であることが利点である。このような利用者レベルスレッドに対して、従来のOSカーネルに制御されるスレッドをカーネルレベルスレッドと呼ぶ。
【0004】
また、特殊な装置を持たずに従来の主記憶管理装置と情報処理装置間のネットワークを制御することによって、複数の情報処理装置上のタスク間で仮想共有記憶を実現する分散仮想共有記憶方式を用いて、そのタスク内の全仮想記憶空間を共有し、その中で複数のスレッドを動作させる分散タスク/スレッドモデルが提案されている。これは、複数の情報処理装置上の各タスク上の全主記憶を分散仮想共有記憶とし、各タスクが1個以上のスレッドを持った1つの分散したタスクと考えたものである。上述のタスク/スレッドモデルにおけるマルチプロセッサの情報処理装置を、複数の情報処理装置とネットワークによる接続に置き換え、これらの分散した資源を効率よく使用するためのものが、分散タスク/スレッドモデルである。また、分散仮想共有記憶はネットワークを固定長のページデータ転送で主に使用し、高速なネットワークを効率よく使用可能となる。
【0005】
また分散した情報処理装置システムにおいて、各情報処理装置に与えられる負荷が均等ではなく、負荷が集中することを防止するために様々な負荷分散方式が提案されてきた。従来の負荷分散方式では、負荷の高い情報処理装置から負荷の低い情報処理装置に動作中のタスクを移送するタスク・マイグレーションと呼ばれる方法や、負荷の高い情報処理装置上で実行されようとするタスクを負荷の低い情報処理装置で実行する遠隔タスク実行という方法が使用されていた。動作中のタスクを移送してしまうタスク・マイグレーションでは、タスクの状態をすべて完全に異なる情報処理装置に転送してやらなければならない。遠隔タスク実行方式はそのような転送を行なう必要がなく、実行タスク名や実行するための環境や引数など僅かな情報を転送するだけで済むが、一度実行してしまったタスクを移送することができないため、負荷分散の実行を行なえる時点が限られてしまうという欠点がある。
【0006】
【発明が解決しようとしている課題】
上述のタスク・マイグレーション方式や遠隔タスク実行方式などの負荷分散方式において、どちらの方式も移送時期が異なるだけでタスクを完全に他の情報処理装置に転送して動作させるということには変わりがない。これは、分散した各情報処理装置がすべて同じ処理能力を持つ場合に、分散システム全体の負荷が高い時に、その中で特に負荷の高い情報処理装置上のタスクを負荷の低い情報処理装置上に移送する場合には問題はない。分散システム全体の負荷が低く、全情報処理装置数よりも動作タスク数が少ない場合を考える。このとき、たとえそれらタスクの内で多数のスレッドが生成しているタスクがあり、そのタスクの動作している情報処理装置では負荷が高くなっている場合でも、負荷の低い情報処理装置にタスクを転送することは負荷の移動は行なわれても負荷を均等化することは出来ず、もとの情報処理装置の負荷が低くなるだけである。
【0007】
つまり、このように動作するタスクが少ない場合に、このようなタスクを完全に転送して動作させる負荷分散方式では、タスクが割り当てられていない情報処理装置を生み処理能力を無駄にしてしまうという欠点がある。
【0008】
また、各情報処理装置の処理能力が異なっている(各情報処理装置のもつプロセッサ数が異なる場合も含む)ような場合を考える。このとき、各情報処理装置の負荷が均等でなくタスクを移送をしようとする場合に、処理能力の低い情報処理装置上から処理能力の高い情報処理装置への移送は問題がないが、処理能力の高い情報処理装置上から処理能力の低い情報処理装置への移送は次のような問題を生じる。
【0009】
処理能力の高い情報処理装置Aに負荷が集中し、数個のタスクが動作しており、処理能力の低い情報処理装置Bで動作中のタスクが終了し負荷がなくなった場合、A上のタスクのうち何れかをBへ移送する。この後、Aは処理能力が高いために次々とタスクを実行し終わるが、Bへ移送されたタスクはBの処理能力が低いために延々と動作し続ける。このために、移送せずにAで実行しておけば既に実行が終わっているような逆転現象が起ってしまう。
【0010】
この様な現象を避けるためには、Bに移送したタスクを再びAに移送することが考えられるが、遠隔タスク実行方式の場合には一度動作してしまったタスクを移送することは出来ないし、タスク・マイグレーション方式の場合でも再びタスク移送を行なうことは処理効率の低下につながる。また逆にA上で動作しているタスクのうち、負荷が軽くBに移送して処理しても処理時間が短くてBで実行させる意味のあるタスクを選択することが考えられるが、そのようなタスクを動作中に選択することは従来の技術では困難である。このようなことを考慮して、通常では処理能力の低い情報処理装置上に積極的にタスクを移送することは考えられてはいなかった。
【0011】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、複数の情報処理装置をネットワークで接続したシステムで、複数のスレッドを含むタスクを複数の情報処理装置に分散させて分散タスクとして実行する負荷分散方法に、前記複数の情報処理装置の各々が、他の複数の情報処理装置の負荷情報を収集する収集ステップと、収集した前記負荷情報に基づいて、自装置の負荷が他の装置より高ければ、自装置で動作中の分散タスクを負荷の低い他の装置へ拡張し、自装置の負荷が他の装置より低ければ、負荷の高い他の装置で動作中の分散タスクを自装置へ拡張する分散度制御ステップと、前記分散タスクを実行中の複数の情報処理装置内で、高い負荷の情報処理装置上で動作しているスレッドを低い負荷の情報処理装置上に移送する移送ステップとを備えることを特徴とする。
【0012】
【実施例】
以下、図面を参照して本発明の実施例を詳細に説明する。
【0013】
図1は本発明の、分散した情報処理装置を示す図である。各情報処理装置は単独で一般的な情報処理装置として動作することが可能であり、ネットワークによって接続され相互に通信可能である。但し、各情報処理装置が全ての入出力装置を備えている必要はなく、各情報処理装置の処理能力が同じである必要もない。
【0014】
図2に本発明の負荷分散方式の概念図を示す。201が各情報処理装置(以下ノードと呼ぶ)で相互にネットワークによって接続されている。202がオペレーティングシステムのマイクロカーネルであり、タスクの制御、そのノード内の主記憶の制御、カーネルレベルのスレッド制御などを行なう。203が本負荷分散方式を行なう負荷分散サーバであり、各ノード上のサーバが通信しあい協調して負荷分散を行なう。204が複数のノードにまたがる分散タスクである。205が分散タスク内で動作するスレッドである。206が分散タスクの分散仮想共有記憶を実現する分散仮想共有記憶サーバである。
【0015】
図3に本発明の負荷分散方式のフローチャートを示す。
【0016】
本負荷分散方式では、ステップS1で、従来の負荷分散方式と同様に各情報処理装置の負荷情報を収集する。ステップS2では、ステップS1で集めた各情報処理装置の負荷情報が等しいか否か判別し、各情報処理装置の負荷が等しい場合はステップS1の処理に移る。集めた負荷情報から各ノードの負荷が均等でなく、高負荷のノードと低負荷のノードが存在した場合に、ステップS3の処理に移る。ステップS3では、動作中の分散タスクの分散度(分散タスクが動作しているノード数)を制御する。ステップS4では、動作中の分散タスク内のスレッドを高負荷のノードから低負荷のノードヘ移送する処理を行う。
【0017】
分散タスクの分散度の制御には、分散度を大きくすることと、分散度を減らすことの2つの方法がある。分散度を大きくするためには、分散タスクの分散仮想共有記憶空間を他のノード上に拡張し、その上で分散タスク内のスレッドを動作できるようにする。その分散タスクの拡張の概念図を表したのが図4である。
【0018】
また分散度を減らすためには、分散タスクが既に拡張して動作しているノードからスレッドを全て当該分散タスクの存在する他のノードへ移送し、全スレッドを移送したノードから分散仮想共有記憶での共有をやめる。この分散タスクの圧縮の概念図を表したのが図5である。この分散タスクの拡張と圧縮を行なうことで、本負荷分散方式では分散タスクの分散度の制御を行ない、高負荷のノード上で動作している分散タスクを低負荷のノードに拡張し、さらに高負荷のノード上から分散タスクを圧縮し、分散タスク内でスレッドを移送することで負荷分散を行なう。
【0019】
対象とする分散システムによって、この分散タスクの拡張と圧縮のどちらかしか行なわなかったり、両方とも行なうことが考えられる。例えば、タスクを生成した際に、そのタスクで必要となる並列度分のノードに分散タスクを拡張して生成するシステムや、分散タスクの動作中に並列度が上がるとすぐに他のノードに分散タスクを拡張するシステムでは、全ノードの負荷を均等化するために負荷分散サーバが分散タスクを圧縮することが必要である。
【0020】
逆にタスクは自分から分散タスクになり他のノードに分散したり、分散タスクから並列度が上がったからといって、他のノードに拡張したりしないシステムでは、負荷分散サーバが各ノードの負荷を分散させるために分散タスクの拡張を行なう。この場合、分散タスクの圧縮を行なわず各ノードの負荷が一様に高くなった場合には分散タスクの拡張を抑制するだけでも良いが、分散タスクの圧縮も行なうようにすればより負荷分散の効果が上がる。
【0021】
図3のフローチャートでは負荷情報の収集が負荷分散と同じ流れで示されているが、図6のように別の流れで行なうことも可能である。図6のステップS1からステップS4は図3のステップS1からステップS4と同じ処理を行っているので、ここでは説明を省略し、ステップS5からステップS7について説明する。ステップS6では、ステップS1で収集した各情報処理装置の負荷情報を記録するか、負荷情報を負荷分散スレッドに通知する処理を行う。ステップS7では一定時間待機して、ステップS1の処理に戻る。ステップS5では、前記収集された負荷情報をチェックする。次のステップS2からステップS4は図3のステップS2からステップS4の処理を実行する。即ち、収集した負荷情報は負荷分散を行なうスレッドと負荷情報の収集を行なうスレッドの両方が参照可能な記憶装置に記録することや、収集した負荷情報をメッセージなどによって転送する方法などがある。
【0022】
(第2の実施例)
上記の実施例では、負荷分散を行なうサーバが集中して意志決定を可能な場合を述べたが、本実施例では分散して自律的に負荷分散を行なう場合について述べる。
【0023】
図7に本実施例の負荷分散方式のフローチャートを示す。
【0024】
ステップS71では、各負荷分散サーバは自ノードの負荷についての情報を監視し、自ノードの負荷が低下したり、負荷が上昇した場合にはステップS72の処理に移る。負荷分散を行なおうとする。ステップS71で負荷が変化していないと判断された場合は、ステップS71の処理に戻る。ステップS72では、他の情報処理装置の負荷情報を収集する。ステップS73では、自情報処理装置の負荷情報が、ステップS72で収集した他の情報処理装置の負荷情報より高いと判断された場合は、ステップS75の処理に移る。ステップS75で動作中の分散タスクがないと判断された場合は、ステップS76の処理に移り、ステップS76では、低負荷のノードへ分散タスクを拡張する処理を行う。ステップS74で、自情報処理装置の負荷情報が、ステップS72で収集した他の情報処理装置の負荷情報より低いと判断された場合は、ステップS77の処理に移る。ステップS77では動作中の分散タスクあるか否か判断し、なければステップS78で、高負荷のノードから分散タスクを拡張する。ステップS76とステップS78の処理の実行後ステップS79に移る。ステップS79では、分散タスク内のスレッドを高負荷のノードから低負荷のノードに移送する。
【0025】
本実施例では、各負荷分散サーバは基本的に自ノードの負荷についての情報を監視し、自ノードの負荷が低下したり、負荷が上昇した場合に負荷分散を行なおうとする。負荷分散を行なうか行なわないかの決定は、自ノードの負荷に対して閾値を設けておく方法がある。閾値は一つである必要はなく2つ持っておくことも可能である。この場合、上下の閾値について現在の負荷と比較して、上の閾値より負荷が上がった場合には自ノードの負荷をさげようとし、下の閾値より負荷が下がった場合には自ノードの負荷を上げようとして、負荷分散を計る。
【0026】
自ノードの負荷を下げるためには、他のノードの負荷情報を収集して自ノードよりも負荷の低いノードを探す。そして、自ノード上に動作中の分散タスクが存在し、その分散タスクが自ノードより負荷の低いノードに拡張していたならば、その分散タスク内のスレッドを自ノードから負荷の低いノードに移送する。
【0027】
また、自ノードで分散タスクが動作していなかったり、分散タスクはあるが自ノードよりも負荷の高いノードに拡張している場合には、自ノードで動作しているタスクや分散タスクを負荷の低いノードに拡張してから、その低いノードへスレッドを移送する。このような方法で自ノードの負荷を他のノードへと分散できる。
【0028】
この自ノードの負荷を他のノードに分散する場合には、自ノードのタスクを拡張するだけでなく、動作中の分散タスクで負荷の低いノードに拡張しているものを、そのノードへ自ノードから分散タスクを圧縮してしまうことも考えられる。この場合は、システム全体の負荷が高い場合に分散タスクが拡張ばかりでなく圧縮されるので、分散仮想共有記憶を保持するための処理の負荷が減少し、ネットワークによるメッセージ転送が減少し、システム全体の処理能力は上がる。
【0029】
逆に自ノードの負荷が低下し、自ノードの負荷を上げようとする場合には、他のノードの負荷情報を収集して自ノードよりも負荷の高いノードを探す。そして自ノードの負荷を下げる場合と同様に、分散タスクを負荷の高いノードから拡張や負荷の低いノードへの分散タスクの圧縮をして、スレッドを負荷の高いノードから移送してくることによって負荷の分散が計れる。
【0030】
さらに本実施例では負荷分散を行なおうとして必要になった時にはじめて他のノードの負荷情報を収集する方式を説明したが、定期的に自ノードの負荷情報を他のノードに伝達することによって、負荷情報を収集する方式も考えられる。
【0031】
(第3の実施例)
以上の実施例では高い負荷のノードから低い負荷のノードへスレッドの移送を行なっていたが、分散タスク上で利用者レベルのスレッドの管理機構を用いることによって利用者レベルスレッドをコンテキストスイッチングを利用してノード移動を可能とし、それでスレッド移送を行なわずに分散タスク内の負荷を移動することが可能である。この場合には図8のように、分散タスク内の負荷の低いノード上にカーネルレベルスレッドを生成し、負荷の高いノード上で動作している利用者レベルスレッドに移動要求を出して、移動したあとに負荷の高いノード上のカーネルレベルスレッドを停止することで負荷分散が行なえる。
【0032】
また、利用者レベルスレッドの管理機構が空きカーネルレベルスレッドを自動的に探して割り当てる方式の場合には、利用者レベルスレッドに移動要求を出す必要もなくなる。この場合は分散タスクに割り当てるカーネルレベルスレッドの数をノード毎に制御することによって負荷分散が行なえることになる。さらに、ある分散タスクのひとつのノードに割り当てるカーネルレベルスレッド数を零にすると決めた場合に、分散タスクの圧縮を行なえば良い。この場合の負荷分散方式の流れ図を図9に示す。図9のステップS71からステップS78までの処理は、図7のステップS71からステップS78の処理と同じであるので、ここでは説明を省略する。自ノードの負荷が他ノード負荷より低いと判断された場合は、ステップS80の処理に移り、ステップS80では自ノード上のカーネルスレッドを増やす処理を実行する。自ノードの負荷が他ノード負荷より高いと判断された場合は、自ノード上のカーネルスレッドを減らす処理を実行する。
【0033】
【発明の効果】
以上説明したように、本発明によれば、複数の情報処理装置をネットワークで接続したシステムで、複数のスレッドを含むタスクを複数の情報処理装置に分散させて分散タスクとして実行する際に、複数の情報処理装置の各々が、他の装置の負荷情報を収集し、収集した負荷情報に基づいて自装置の負荷が他の装置より高ければ、自装置で動作中の分散タスクを負荷の低い他の装置へ拡張し、自装置の負荷が他の装置より低ければ、負荷の高い他の装置で動作中の分散タスクを自装置へ拡張して、分散タスクを実行中の複数の情報処理装置内で、高い負荷の情報処理装置上で動作しているスレッドを低い負荷の情報処理装置上に移送するようにしたので、複数のスレッドを含むタスクを複数の情報処理装置に分散させて分散タスクとして実行中に、複数の情報処理装置上の負荷が分散され、システム全体としての処理能力を充分に活用することが可能となる。
【0034】
また、各装置の負荷情報を定期的にメッセージとして回覧することで、効率的な負荷情報を収集することができる。また、自装置の負荷状態が変化し、実際に分散タスクの拡張やスレッドの移送を行なわなければならない状態になってはじめて、他の情報処理装置の負荷情報を収集することで、効率的な負荷情報の収集が行える。
【図面の簡単な説明】
【図1】本発明の負荷分散方式を用いる分散した情報処理装置の構成図である。
【図2】本発明の負荷分散方式の概念図である。
【図3】本発明の負荷分散方式のフローチャートである。
【図4】分散タスクの拡張と圧縮について示した図である。
【図5】分散タスクの拡張と圧縮について示した図である。
【図6】負荷情報の収集を別のスレッドで行なう場合のフローチャートである。
【図7】負荷分散を分散したノード上で自律して行なう場合のフローチャートである。
【図8】カーネルレベルスレッドと利用者レベルスレッドの関係を示す図である。
【図9】利用者レベルスレッドの移動を用いた場合の負荷分散方式のフローチャートである。
【符号の説明】
101 情報処理装置
102 ネットワーク
201 情報処理装置
202 マイクロカーネル
203 負荷分散サーバ
204 分散タスク
205 スレッド
206 分散仮想共有記憶サーバ

Claims (4)

  1. 複数の情報処理装置をネットワークで接続したシステムで、複数のスレッドを含むタスクを複数の情報処理装置に分散させて分散タスクとして実行する負荷分散方法において、
    前記複数の情報処理装置の各々が、他の複数の情報処理装置の負荷情報を収集する収集ステップと、
    収集した前記負荷情報に基づいて、自装置の負荷が他の装置より高ければ、自装置で動作中の分散タスクを負荷の低い他の装置へ拡張し、自装置の負荷が他の装置より低ければ、負荷の高い他の装置で動作中の分散タスクを自装置へ拡張する分散度制御ステップと、
    前記分散タスクを実行中の複数の情報処理装置内で、高い負荷の情報処理装置上で動作しているスレッドを低い負荷の情報処理装置上に移送する移送ステップと
    を有することを特徴とする負荷分散方法。
  2. 前記分散度制御ステップでは、更に、収集した前記負荷情報に基づいて、装置上で動作している分散タスク負荷の低い装置拡張されていれば、当該分散タスクを当該負荷の低い装置へ圧縮し、自装置上で動作している分散タスクが負荷の高い装置へ拡張されていれば、当該分散タスクを自装置へ圧縮することを特徴とする請求項1記載の負荷分散方法。
  3. 前記収集ステップでは、各装置が自装置の負荷情報を定期的にメッセージとして他の装置に回覧するようにし、当該メッセージより負荷情報を収集することを特徴とする請求項または記載の負荷分散方法。
  4. 前記収集ステップを、自装置の負荷状態が変化した時点で実行することを特徴とする請求項または記載の負荷分散方法。
JP16682494A 1994-07-19 1994-07-19 負荷分散方法 Expired - Fee Related JP3696901B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP16682494A JP3696901B2 (ja) 1994-07-19 1994-07-19 負荷分散方法
US08/502,702 US5692192A (en) 1994-07-19 1995-07-14 Load distribution method and system for distributed threaded task operation in network information processing apparatuses with virtual shared memory
EP95304960A EP0697654B1 (en) 1994-07-19 1995-07-17 Load distribution method and system
DE69520988T DE69520988T2 (de) 1994-07-19 1995-07-17 Lastverteilungsverfahren und -system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16682494A JP3696901B2 (ja) 1994-07-19 1994-07-19 負荷分散方法

Publications (2)

Publication Number Publication Date
JPH0830472A JPH0830472A (ja) 1996-02-02
JP3696901B2 true JP3696901B2 (ja) 2005-09-21

Family

ID=15838352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16682494A Expired - Fee Related JP3696901B2 (ja) 1994-07-19 1994-07-19 負荷分散方法

Country Status (4)

Country Link
US (1) US5692192A (ja)
EP (1) EP0697654B1 (ja)
JP (1) JP3696901B2 (ja)
DE (1) DE69520988T2 (ja)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4429469A1 (de) * 1994-08-19 1996-02-22 Licentia Gmbh Verfahren zur Leitwegsteuerung
JP3585956B2 (ja) * 1994-09-12 2004-11-10 キヤノン株式会社 情報処理装置及びその方法
US5884077A (en) * 1994-08-31 1999-03-16 Canon Kabushiki Kaisha Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
JP3862293B2 (ja) * 1994-08-31 2006-12-27 キヤノン株式会社 情報処理方法とその装置
JP3591883B2 (ja) * 1994-09-01 2004-11-24 キヤノン株式会社 計算機及びそのシステム及びその制御方法
US5765157A (en) * 1996-06-05 1998-06-09 Sun Microsystems, Inc. Computer system and method for executing threads of execution with reduced run-time memory space requirements
US5859898A (en) * 1996-09-17 1999-01-12 Nynex Science & Technology Messaging architecture supporting digital and analog media
US6119145A (en) * 1997-02-28 2000-09-12 Oracle Corporation Multithreaded client application storing a separate context for each transaction thus allowing threads to resume transactions started by other client threads
US6535878B1 (en) * 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
JP3883647B2 (ja) * 1997-06-10 2007-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体
US6675195B1 (en) * 1997-06-11 2004-01-06 Oracle International Corporation Method and apparatus for reducing inefficiencies caused by sending multiple commands to a server
US6003066A (en) * 1997-08-14 1999-12-14 International Business Machines Corporation System for distributing a plurality of threads associated with a process initiating by one data processing station among data processing stations
JP4000223B2 (ja) * 1997-09-24 2007-10-31 富士通株式会社 情報検索方法,情報検索システムおよび同システム用検索管理装置
US6185662B1 (en) * 1997-12-22 2001-02-06 Nortel Networks Corporation High availability asynchronous computer system
US6243107B1 (en) 1998-08-10 2001-06-05 3D Labs Inc., Ltd. Optimization of a graphics processor system when rendering images
US6622155B1 (en) 1998-11-24 2003-09-16 Sun Microsystems, Inc. Distributed monitor concurrency control
US7216348B1 (en) * 1999-01-05 2007-05-08 Net2Phone, Inc. Method and apparatus for dynamically balancing call flow workloads in a telecommunications system
JP3250729B2 (ja) * 1999-01-22 2002-01-28 日本電気株式会社 プログラム実行装置及びそのプロセス移動方法並びにプロセス移動制御プログラムを格納した記憶媒体
JP2000242609A (ja) * 1999-02-23 2000-09-08 Nippon Telegr & Teleph Corp <Ntt> 分散オブジェクト動的配置制御方法及び装置
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6842899B2 (en) 1999-12-21 2005-01-11 Lockheed Martin Corporation Apparatus and method for resource negotiations among autonomous agents
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US20030014507A1 (en) * 2001-03-13 2003-01-16 International Business Machines Corporation Method and system for providing performance analysis for clusters
US20030033345A1 (en) * 2002-06-27 2003-02-13 Keefer Christopher E. Thread-based methods and systems for using the idle processing power of one or more networked computers to solve complex scientific problems
US7594233B2 (en) * 2002-06-28 2009-09-22 Hewlett-Packard Development Company, L.P. Processing thread launching using volunteer information
US7093258B1 (en) * 2002-07-30 2006-08-15 Unisys Corporation Method and system for managing distribution of computer-executable program threads between central processing units in a multi-central processing unit computer system
US7389506B1 (en) * 2002-07-30 2008-06-17 Unisys Corporation Selecting processor configuration based on thread usage in a multiprocessor system
US7043729B2 (en) * 2002-08-08 2006-05-09 Phoenix Technologies Ltd. Reducing interrupt latency while polling
US20040055001A1 (en) * 2002-09-16 2004-03-18 Islam Farhad Fuad Method and apparatus for computational load sharing in a multiprocessor architecture
US7096470B2 (en) * 2002-09-19 2006-08-22 International Business Machines Corporation Method and apparatus for implementing thread replacement for optimal performance in a two-tiered multithreading structure
US7181744B2 (en) * 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US7231638B2 (en) 2002-12-03 2007-06-12 International Business Machines Corporation Memory sharing in a distributed data processing system using modified address space to create extended address space for copying data
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
JP4012517B2 (ja) 2003-04-29 2007-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想計算機環境におけるロックの管理
US7251815B2 (en) * 2003-04-29 2007-07-31 International Business Machines Corporation Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle
US8104043B2 (en) * 2003-11-24 2012-01-24 Microsoft Corporation System and method for dynamic cooperative distributed execution of computer tasks without a centralized controller
US7380039B2 (en) 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US20050240380A1 (en) * 2004-03-31 2005-10-27 Jones Kenneth D Reducing context memory requirements in a multi-tasking system
JP4086813B2 (ja) * 2004-06-09 2008-05-14 キヤノン株式会社 ネットワークプリントシステム及びネットワークプリントシステムにおけるグリッド網構築方法
WO2006026721A2 (en) * 2004-08-31 2006-03-09 Internetwork, Inc. Dynamically programmable embedded agents
US20060045019A1 (en) * 2004-09-01 2006-03-02 Patzschke Till I Network testing agent with integrated microkernel operating system
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US8589944B2 (en) * 2005-03-16 2013-11-19 Ricoh Production Print Solutions Method and system for task mapping to iteratively improve task assignment in a heterogeneous computing system
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
GB0519597D0 (en) * 2005-09-26 2005-11-02 Imagination Tech Ltd Scalable multi-threaded media processing architecture
US7860968B2 (en) 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
US8005879B2 (en) 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
US8156208B2 (en) * 2005-11-21 2012-04-10 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items
US8489700B2 (en) * 2005-11-30 2013-07-16 International Business Machines Corporation Analysis of nodal affinity behavior
US8108863B2 (en) 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
US7496667B2 (en) * 2006-01-31 2009-02-24 International Business Machines Corporation Decentralized application placement for web application middleware
US8522341B2 (en) 2006-03-31 2013-08-27 Sap Ag Active intervention in service-to-device mapping for smart items
US7890568B2 (en) 2006-04-28 2011-02-15 Sap Ag Service-to-device mapping for smart items using a genetic algorithm
US8296408B2 (en) 2006-05-12 2012-10-23 Sap Ag Distributing relocatable services in middleware for smart items
US8065411B2 (en) 2006-05-31 2011-11-22 Sap Ag System monitor for networks of nodes
US8131838B2 (en) 2006-05-31 2012-03-06 Sap Ag Modular monitor service for smart item monitoring
US8296413B2 (en) 2006-05-31 2012-10-23 Sap Ag Device registration in a hierarchical monitor service
US8396788B2 (en) 2006-07-31 2013-03-12 Sap Ag Cost-based deployment of components in smart item environments
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
WO2008136075A1 (ja) * 2007-04-20 2008-11-13 Fujitsu Limited ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US10268741B2 (en) * 2007-08-03 2019-04-23 International Business Machines Corporation Multi-nodal compression techniques for an in-memory database
US8527622B2 (en) 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
US7844620B2 (en) * 2007-11-16 2010-11-30 International Business Machines Corporation Real time data replication for query execution in a massively parallel computer
US8095512B2 (en) * 2007-11-19 2012-01-10 International Business Machines Corporation Managing database resources used for optimizing query execution on a parallel computer system
WO2010035480A1 (ja) * 2008-09-26 2010-04-01 日本電気株式会社 分散処理システム、分散処理方法およびプログラム
EP2581830A4 (en) * 2010-06-10 2017-01-11 Fujitsu Limited Multi-core processor system, method of power control, and power control program
WO2012066633A1 (ja) * 2010-11-16 2012-05-24 富士通株式会社 通信装置、負荷分散方法、および記録媒体
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
JP5880542B2 (ja) * 2011-03-16 2016-03-09 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
JP2013090072A (ja) 2011-10-17 2013-05-13 Hitachi Ltd サービス提供システム
US9417907B1 (en) * 2012-05-23 2016-08-16 Emc Corporation Impact management of system tasks
US8930956B2 (en) * 2012-08-08 2015-01-06 International Business Machines Corporation Utilizing a kernel administration hardware thread of a multi-threaded, multi-core compute node of a parallel computer
JP2014102691A (ja) * 2012-11-20 2014-06-05 Toshiba Corp 情報処理装置、通信機能を持つカメラ、および情報処理方法
CN103274266A (zh) * 2013-01-11 2013-09-04 株洲时代新材料科技股份有限公司 一种数控纤维缠绕机及其应用
CN103440165B (zh) * 2013-08-30 2016-04-27 西安电子科技大学 一种面向个人的任务分派与处理方法
US11200058B2 (en) 2014-05-07 2021-12-14 Qualcomm Incorporated Dynamic load balancing of hardware threads in clustered processor cores using shared hardware resources, and related circuits, methods, and computer-readable media
JP5872669B2 (ja) * 2014-12-01 2016-03-01 株式会社日立製作所 サーバ装置群およびネットワークシステム
US9524193B1 (en) * 2015-09-09 2016-12-20 Ca, Inc. Transparent virtualized operating system
US10386904B2 (en) * 2016-03-31 2019-08-20 Qualcomm Incorporated Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks
US11443186B2 (en) 2019-10-03 2022-09-13 Wipro Limited Method and system for executing processes in operating systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US5287508A (en) * 1992-04-07 1994-02-15 Sun Microsystems, Inc. Method and apparatus for efficient scheduling in a multiprocessor system
US5396614A (en) * 1992-06-25 1995-03-07 Sun Microsystems, Inc. Method and apparatus for a secure protocol for virtual memory managers that use memory objects
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server

Also Published As

Publication number Publication date
DE69520988D1 (de) 2001-06-28
US5692192A (en) 1997-11-25
EP0697654B1 (en) 2001-05-23
DE69520988T2 (de) 2001-10-25
JPH0830472A (ja) 1996-02-02
EP0697654A1 (en) 1996-02-21

Similar Documents

Publication Publication Date Title
JP3696901B2 (ja) 負荷分散方法
Wided et al. Load balancing with Job Migration Algorithm for improving performance on grid computing: Experimental Results
CN108900626B (zh) 一种云环境下数据存储方法、装置及系统
CN110677305A (zh) 一种云计算环境下的自动伸缩方法和系统
JPH09269903A (ja) プロセス管理方式
Setia et al. Processor scheduling on multiprogrammed, distributed memory parallel computers
Wan et al. A batch scheduler for the Intel Paragon with a non-contiguous node allocation algorithm
Malik Dynamic load balancing in a network of workstations
CN112860396A (zh) 一种基于分布式深度学习的gpu调度方法及系统
Qin et al. Dynamic load balancing for I/O-and memory-intensive workload in clusters using a feedback control mechanism
Fu et al. Optimizing data locality by executor allocation in spark computing environment
JPS6077259A (ja) 負荷分散方式
Denning Equipment configuration in balanced computer systems
Tziritas et al. Server consolidation in cloud computing
Cai et al. A simulation study of dynamic load balancing for network-based parallel processing
Carriero et al. Adaptive parallelism on multiprocessors: Preliminary experience with Piranha on the CM-5
Bozyigit History-driven dynamic load balancing for recurring applications on networks of workstations
Pollak A hierarchical load balancing environment for parallel and distributed supercomputer
Pirani et al. A comparative review of CPU scheduling algorithms
CN114598706B (zh) 基于Serverless函数的存储系统弹性伸缩方法
JPH09179834A (ja) 並列システムにおけるプロセスのスケジューリング方法
Joshi et al. Mechanism for implementation of load balancing using process migration
WO2022057754A1 (zh) 内存控制方法和装置
US7953816B2 (en) Virtual memory technique for efficiently solving connected problems in a distributed environment
JP2003131894A (ja) コンピュータ環境の資源管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

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: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050701

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: 20080708

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees