JP3696901B2 - 負荷分散方法 - Google Patents
負荷分散方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques 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
【産業上の利用分野】
本発明は分散した複数の情報処理装置上で動作するタスクを制御する負荷分散方式に関するものである。
【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記載の負荷分散方法。
- 前記収集ステップでは、各装置が自装置の負荷情報を定期的にメッセージとして他の装置に回覧するようにし、当該メッセージより負荷情報を収集することを特徴とする請求項1または2記載の負荷分散方法。
- 前記収集ステップを、自装置の負荷状態が変化した時点で実行することを特徴とする請求項1または2記載の負荷分散方法。
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)
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)
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 |
-
1994
- 1994-07-19 JP JP16682494A patent/JP3696901B2/ja not_active Expired - Fee Related
-
1995
- 1995-07-14 US US08/502,702 patent/US5692192A/en not_active Expired - Lifetime
- 1995-07-17 DE DE69520988T patent/DE69520988T2/de not_active Expired - Fee Related
- 1995-07-17 EP EP95304960A patent/EP0697654B1/en not_active Expired - Lifetime
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 |