JP2022074864A - 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム - Google Patents

情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム Download PDF

Info

Publication number
JP2022074864A
JP2022074864A JP2020185269A JP2020185269A JP2022074864A JP 2022074864 A JP2022074864 A JP 2022074864A JP 2020185269 A JP2020185269 A JP 2020185269A JP 2020185269 A JP2020185269 A JP 2020185269A JP 2022074864 A JP2022074864 A JP 2022074864A
Authority
JP
Japan
Prior art keywords
data
processing
node
transfer
time
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.)
Pending
Application number
JP2020185269A
Other languages
English (en)
Inventor
健一 長末
Kenichi Nagasue
健人 一角
Kento Ikkaku
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020185269A priority Critical patent/JP2022074864A/ja
Priority to EP21192514.4A priority patent/EP3995956A1/en
Priority to US17/464,900 priority patent/US20220138009A1/en
Publication of JP2022074864A publication Critical patent/JP2022074864A/ja
Pending 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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Figure 2022074864000001
【課題】データ処理を引き継ぐ処理ノードに転送されるデータの過不足を低減する。
【解決手段】それぞれ、バッファと、該バッファに保持されたデータを処理する処理部とを含む複数の処理ノードを管理する情報処理装置は、データ処理中の処理ノードのリソース負荷が所定量に到達する到達予測時刻における前記バッファ内の処理済みデータと未処理データとの境界を予測する予測部と、前記予測部の予測に基づいて、未処理データを処理順が遅い側から前記境界に向けて、データ処理を引き継ぐ他の処理ノードに転送する転送制御部とを有する。
【選択図】図2

Description

本発明は、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラムに関する。
データ処理システム上に複数のアプリケーションの実行環境を構築する手法として、仮想マシン技術またはコンテナ技術が知られている。また、仮想マシンを停止させることなく他の物理マシンに移動するライブマイグレーション技術が知られている。
例えば、仮想マシンの障害に伴うライブマイグレーション中に、送信コンテナから送信する試験パケット数と受信コンテナで受信する試験パケット数との差を求め、仮想マシンのサービスの中断時間を評価する手法が提案されている(例えば、特許文献1参照)。また、データを転送元から転送先に転送する場合に、転送元と転送先の先頭アドレスの大小関係に応じて、開始アドレスまたは終了アドレスから転送を開始することで、データの上書きを抑止する手法が提案されている(例えば、特許文献2参照)。
特開2017-167822号公報 特開2007-164552号公報
例えば、端末の近くに処理ノードを分散して配置するエッジコンピューティング手法において、各処理ノードのリソースは、クラウド等に比べて小規模であるため、データ処理の実行中にリソース不足に陥る場合がある。リソース不足が予測される場合、データ処理の実行中に、リソースに空きがある他の処理ノードに処理対象のデータを転送し、処理ノードを切り替えることで、リソース不足により処理性能が低下することが抑制される。
しかしながら、リソースの変動傾向の予測が外れると、処理ノードの切り替え時刻までに転送されるデータの一部が移行元の処理ノードで処理済みとなる無駄が発生する。あるいは、切り替え時刻までに移行先の処理ノードで処理するデータの転送が完了しないデータ不足が発生する。
1つの側面では、本発明は、データ処理を引き継ぐ処理ノードに転送されるデータの過不足を低減することを目的とする。
一つの観点によれば、情報処理装置は、それぞれ、バッファと、該バッファに保持されたデータを処理する処理部とを含む複数の処理ノードを管理する情報処理装置において、データ処理中の処理ノードのリソース負荷が所定量に到達する到達予測時刻における前記バッファ内の処理済みデータと未処理データとの境界を予測する予測部と、前記予測部の予測に基づいて、未処理データを処理順が遅い側から前記境界に向けて、データ処理を引き継ぐ他の処理ノードに転送する転送制御部とを有する。
1つの側面では、本発明は、データ処理を引き継ぐ処理ノードに転送されるデータの過不足を低減することができる。
一実施形態におけるデータ処理システムの一例を示すブロック図である。 図1のデータ処理システムの動作の一例を示す説明図である。 別の実施形態におけるデータ処理システムの一例を示すブロック図である。 図3のデータ処理システムの動作の一例を示す説明図である。 図3のデータ処理システムの動作の別の例を示す説明図である。 図3のデータ処理システムの動作のさらなる別の例を示す説明図である。 図3の代表ノードの動作の一例を示すフロー図である。 図7のステップS100の処理の一例を示すフロー図である。 図8のステップS200の処理の一例を示すフロー図である。 図3の代表ノードとエッジノードとの間でのデータ転送に使用されるAPIの一例を示す説明図である。
以下、図面を用いて実施形態が説明される。
図1は一実施形態におけるデータ処理システムの一例を示す。図1に示すデータ処理システム10は、データDTを処理する複数の処理ノード20(20a、20b)と、ネットワークNWを介して処理ノード20に接続される管理ノード30とを有する。例えば、データ処理システム10は、エッジコンピューティングを実現するために構築される。各処理ノード20は、エッジノードとして機能し、管理ノード30は、情報処理装置の一例であり、どの処理ノード20でデータ処理を実行させるかを管理する代表ノードとして機能する。
各処理ノード20(20a、20b)は、バッファ22(22a、22b)および処理部24(24a、24b)を有する。バッファ22aは、データ処理システム10の外部から入力されるデータDTを保持する。各処理部24は、処理ノード20内のバッファ22に保持されたデータDTの処理を、例えば、バッファ22に格納されたデータDTから順に実行する。
管理ノード30は、予測部32および転送制御部34を有する。予測部32および転送制御部34は、管理ノード30に搭載されるCPU等のプロセッサが制御プログラムを実行することで実現される。予測部32は、データ処理を実行中の処理ノード20のリソース負荷が所定量に到達する時刻を予測する。以下では、処理ノード20のリソース負荷が所定量に到達すると予測される時刻は、到達予測時刻と称する。
また、予測部32は、データ処理を実行中の処理ノード20のバッファ22において、データ処理が終わった処理済みデータと、データ処理が終わっていない未処理データとの到達予測時刻での境界を予測する。ここで、バッファ22には、データが処理する順に格納される。"境界"は、到達予測時刻でのバッファ22内における処理済みデータのうち、最も遅く処理されるデータの格納位置である。換言すれば、"境界"は、到達予測時刻でのバッファ22内における未処理データのうち、最も早く処理されるデータの格納位置である。
転送制御部34は、予測部32の予測に基づいて、到達予測時刻にバッファ22に保持されている未処理データを、データ処理の処理順が遅い側から境界まで、データ処理を引き継ぐ他の処理ノード20に転送する。以下では、データ処理を引き継ぐ他の処理ノード20は、引き継ぎノード20とも称する。例えば、転送制御部34は、データ処理を実行中の処理ノード20のバッファ22に保持されている未処理データの転送開始位置を、予測部32による予測時から到達予測時刻までに引継ぎノード20に転送可能なデータ量に基づいて決定する。
なお、データ処理を引き継ぐ引き継ぎノード20のリソース負荷は、データ処理を実行中の処理ノード20のリソース負荷より小さいことが好ましい。このため、管理ノード30は、データ処理中の処理ノード20のリソース負荷より小さいリソース負荷の処理ノード20を、引き継ぎノード20として選択する。これにより、引き継ぎノード20によるデータ処理効率を、引き継ぎ前にデータ処理を実行する処理ノード20によるデータ処理効率より高くすることができ、データ処理を破綻させることなく継続することができる。リソース負荷は、例えば、処理部24に搭載される図示しないCPU(Central Processing Unit)等のプロセッサの使用率、メモリの使用率、およびネットワークNWの使用帯域に応じて決められる。
図2は、図1のデータ処理システム10の動作の一例を示す。例えば、図2に示す動作は、管理ノード30に搭載されるCPU等のプロセッサが実行する制御プログラムにより実現される。すなわち、図2は、データ処理システム10の制御方法の一例およびデータ処理システム10の制御プログラムの一例を示す。図2では、処理ノード20aが、データ処理を実行中のデータの転送元の処理ノードであるとし、処理ノード20bが、処理ノード20aからデータ処理を引き継ぐデータの転送先の処理ノード(引継ぎノード)であるとする。
管理ノード30は、時刻T0において、処理ノード20aのデータ処理に使用するリソース量が初期の割り当て量を超えるため、リソース量(プロセッサの使用率およびメモリの使用率の少なくともいずれか)の割り当てを増加する。リソース量の割り当てを増加するか否かは、予測部32により予測されてもよい。
次に、予測部32は、時刻T1において、処理ノード20aのリソース使用量が増加傾向にあり、時刻T2で、予め設定された閾値に到達することを予測する。この場合、予測部32は、バッファ22a内のデータのうち、時刻T2において処理ノード20aにより処理済みになるデータと未処理のデータとの境界を予測する。
転送制御部34は、予測部32による予測に基づいて、予測部32が閾値の到達を予測した時刻T1から到達予測時刻T2までの間に、処理ノード20aから処理ノード20bに転送可能なデータ量を、ネットワークNWの帯域等に基づいて算出する。転送制御部34は、予測部32が予測した境界から算出した転送可能なデータ量だけ離れた位置をデータの転送開始位置に決定する。
図2において"処理するデータ"に示す矩形は、バッファ22aが保持するデータ量を示し、バッファ22aに格納されるデータは、図2の下から順に積み上げられ、下から順に処理されるとする。すなわち、矩形で示されるバッファ22a内のデータは、下側ほど処理順が早く、上側ほど処理順が遅いことを示す。
そして、転送制御部34は、下向きの太い矢印で示すように、転送開始位置から境界に向け(すなわち、処理順が遅い側から)、ネットワークNWを介して処理ノード20bにデータを順次転送する。図2の例では、予測部32の予測が的中し、処理ノード20aでの処理済みデータは、時刻T2において境界まで達する。管理ノード30は、時刻T2において、処理ノード20aにデータの処理を停止させ、データ処理を実行するノードを処理ノード20aから処理ノード20bに切り替える。
データ転送を処理順が遅い側から実行することで、例えば、処理ノード20aによるデータの処理効率が上がった場合に、処理ノード20aで処理済みとなるデータが処理ノード20bに転送されることを抑止することができる。例えば、到達予測時刻T2より前に境界までの処理が完了した場合、処理ノード20aは、境界より処理順が遅い(図2の境界より上側)データの処理を、到達予測時刻T2に到達するまで実行する。この場合、処理ノード20bへのデータの転送を途中で停止することで、処理済みのデータの無駄な転送を抑止することができ、ネットワークNWの帯域を節約することができる。到達予測時刻T2より前に境界までの処理が完了する例については、図6で説明する。
また、時刻T1から時刻T2までに転送可能なデータ量に基づいて、転送開始位置を決定することで、処理順が遅いデータから順に転送する場合にも、処理ノード20bは、処理ノード20aの処理に引き続いて未処理データの処理を実行することができる。これにより、時刻T2において、処理ノード20bは、未処理データの転送完了を待つことなく、処理を開始することができ、データ処理システム10の処理性能の低下を抑止することができる。
時刻T2において、処理ノード20bのバッファ22bには、転送開始位置から境界までのデータが転送済みである。このため、処理ノード20bは、時刻T2において処理ノード20aによるデータ処理を引き継いだ直後からデータ処理を継続して実行することができる。例えば、処理ノード20bのリソース使用量の上限である閾値は、処理ノード20aの閾値より大きいため、処理ノード20bは、余裕を持ってデータ処理を実行することができる。従って、データ処理を破綻させることなく継続して実行することができる。
転送制御部34は、時刻T2において、上向きの太い矢印で示すように、転送開始位置のデータより処理順が遅いデータ(格納順が新しいデータ)を、処理順が早い順(格納順が古い順)に処理ノード20bのバッファ22bに転送する処理を開始する。時刻T2以降にバッファ22aからバッファ22bに転送されるデータは、時刻T1において、転送開始位置より処理順が遅いデータと、時刻T1から時刻T2までの間に、バッファ22aに新たに格納されたデータとを含む。
時刻T2以降、処理順が早い側からデータを転送することで、処理部24bが処理するデータの転送が遅れて転送の待ち時間が発生する可能性を低くすることができ、データ処理が遅れる可能性を低くすることができる。
以上、図1および図2に示す実施形態では、転送制御部34は、データ処理を引き継ぐ処理ノード20bへのデータ転送を処理順が遅い側から実行する。これにより、処理ノード20aの処理効率が上がった場合に処理ノード20aで処理済みとなるデータが処理ノード20bに転送されることを抑止することができる。この結果、処理ノード20bへのデータの無駄な転送を抑止することができ、ネットワークNWの帯域を節約することができる。
転送制御部34は、時刻T1から時刻T2までに転送可能なデータ量に基づいて、転送開始位置を決定する。このため、処理順が遅いデータから順に転送する場合にも、処理ノード20bは、時刻T2において処理ノード20aで処理されていない未処理データを、処理ノード20aの処理に引き続いて処理を実行することができる。換言すれば、処理順が遅いデータから順に転送する場合にも、時刻T2において、処理ノード20bは、未処理データの転送完了を待つことなく、処理を開始することができ、データ処理システム10の処理性能の低下を抑止することができる。
時刻T2以降、処理順が早い側からデータを転送することで、処理部24bが処理するデータの転送が遅れて転送の待ち時間が発生する可能性を低くすることができ、データ処理が遅れる可能性を低くすることができる。データ処理を実行中の処理ノード20aのリソース負荷よりリソース負荷が小さい処理ノード20bにデータ処理を引き継がせることで、データ処理を破綻させることなく継続することができる。
このように、この実施形態では、無駄なデータ転送を抑止することでネットワークNWの帯域を増やすことなく、かつ、実行中の処理を止めることなく、処理の移行元の処理ノード20から処理の移行先の処理ノード20にデータを転送することができる。
図3は、別の実施形態におけるデータ処理システムの一例を示す。図1および図2に示す要素と同様な要素については、詳細な説明は省略する。図3に示すデータ処理システム100は、データDT(DTa、DTb、DTc)を処理する複数のエッジノード200(200a、200b、200c、200d)と、ネットワークNWを介してエッジノード200に接続される代表ノード300を有する。
例えば、代表ノード300は、クラウドサーバであり、複数のエッジノード200を制御してエッジコンピューティングを実現する。エッジノード200は、データを処理する処理ノードの一例であり、代表ノード300は、エッジノード200を管理するノードであり、別の実施形態における情報処理装置の一例である。なお、特に限定されないが、エッジノード200間でのデータの移動は、オーケストレータの一種であるKubernetesを利用して実行されてもよい。この場合、エッジノード200は、例えば、代表ノード300に管理される物理サーバが実行するOS(Operating System)上で動作するコンテナでもよい。
各エッジノード200は、データ受信部210、データ保持部220、データ処理部230およびリソース監視部240を有する。データ保持部220は、バッファの一例であり、データ処理部230は、処理ノードの一例である。データ受信部210は、データ生成部400(400a、400bまたは400c)から出力されるデータDT(DTa、DTbまたはDTc)を受信し、受信したデータDTをデータ保持部220に格納する。例えば、データ生成部400は、カメラ、センサまたはマイクロフォン等のリアルタイムでデータDTを逐次生成する装置に含まれる。データ生成部400がビデオカメラの場合、データ量が相対的に大きい動画データと、データ量が相対的に小さい静止画データとが、切り替えながら出力されてもよい。また、データ生成部400は、物品等の製造過程を監視するために、製造工場のラインに複数台が設けられてもよい。
データ保持部220は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等のストレージであり、データ受信部210が受信したデータDTが格納される。なお、データ生成部400は、生成したデータDTを圧縮して各エッジノード200に送信してもよい。
データ処理部230は、データ保持部220に保持されたデータDTを古い順(データ生成部400によるデータDTの生成順)に処理し、処理結果(処理後のデータ)を図示しないデータ管理装置に出力する。処理後のデータは、代表ノード300に転送されてもよい。また、処理後のデータは、データ保持部220に一時的に保持されてもよく、各エッジノード200が有する図示しないバッファメモリに一時的に保持されてもよい。
さらに、データ処理部230は、データDTを圧縮する処理を実行し、圧縮したデータDTを図示しないデータ管理装置に出力してもよい。図3では、エッジノード200は、2つのデータ保持部220を有するが、データ処理部230の数および性能は、データ生成部400から出力されるデータ量およびデータ処理の負荷量に応じて決定される。
リソース監視部240は、エッジノード200内のリソース使用量(リソース負荷)等のリソース状態を監視する。例えば、リソース監視部240は、データ処理部230のリソース使用量を監視し、代表ノード300からの問い合わせに応じてリソース使用量を代表ノードに通知する。
例えば、エッジノード200dの処理性能は、エッジノード200a、200b、200cの処理性能に比べて高い。そして、エッジノード200dは、リソース使用量が閾値を超えると予測されたエッジノード200a、200bまたは200cが実行する処理を代行する代行ノードとして機能されてもよい。なお、エッジノード200dは、代行ノードの機能に加えて、図示しない他のデータ生成部が生成するデータを処理する機能を有してもよい。
なお、各エッジノード200は、リソース使用量に余裕がある場合、リソース使用量が閾値を超えた他のエッジノード200の処理を代行する代行ノードとして機能されてもよい。例えば、ビデオ映像をデータDTとして出力するデータ生成部400に接続されたエッジノード200は、映像に含まれる処理対象(人や自動車)の数が増加した場合に、データ処理の負荷が増加する。そして、処理対象の数が増加に伴ってリソース使用量が閾値を超えることが予想される場合、リソース使用量に余裕がある他のエッジノード200(例えば、200d)に処理が切り替えられる。なお、リソース使用量が閾値を超えるか否かの予測は、以下で説明する代表ノード300により実行される。
代表ノード300は、処理位置制御部310、処理位置管理部320、データ管理部330、データ制御部340およびノード監視部350を有する。処理位置制御部310、処理位置管理部320、データ管理部330、データ制御部340およびノード監視部350は、代表ノード300に搭載されるCPU等のプロセッサが制御プログラムを実行することで実現される。
処理位置制御部310は、データ生成部400が生成したデータDTの処理を、どのエッジノード200に実行させるかを制御する。このために、処理位置制御部310は、各エッジノード200のリソース使用量(リソース負荷)の変化を予測し、リソース使用量が閾値を超えると予測した場合、データを処理するエッジノード200の切り替え制御を実行する。処理位置制御部310は、エッジノード200の制御の状態を処理位置管理部320に通知する。処理位置制御部310の動作については、図8で説明する。
処理位置管理部320は、処理位置制御部310によるエッジノード200の切り替え制御に基づいて、データ生成部400が生成したデータDTの処理を、どのエッジノード200が処理しているかを管理する。
データ管理部330は、各エッジノード200が保持するデータDTのサイズ、データDTの生成時刻、データDTの種類、データDTを生成したデータ生成部400の識別情報等を、エッジノード200毎に管理する。データ管理部330は、管理している情報をデータ制御部340に通知する。
データ制御部340は、処理位置制御部310がエッジノード200の切り替えを決定した場合、処理を実行中のエッジノード200から処理を引き継ぐエッジノード200へのデータの移動を制御する。データ制御部340は、移動したデータの情報をデータ管理部330に通知する。例えば、データ制御部340は、処理を引き継ぐエッジノード200に無駄なデータが転送されることを抑止する制御を実行する。また、データ制御部340は、処理を引き継ぐエッジノード200が、処理の引継ぎ後、直ちにデータ処理を開始できるように、データの転送順の制御を実行する。データ制御部340の動作については、図9で説明する。
ノード監視部350は、各エッジノード200のリソース監視部240が取得したデータ処理部230の負荷量等に基づいて、各エッジノード200のリソース使用量を監視し、監視したリソース使用量を処理位置制御部310に通知する。
図4は、図3のデータ処理システム100の動作の一例を示す。図2と同様の動作については、詳細な説明は省略する。図4の始まりにおいて、データ生成部400が生成したデータの処理は、エッジノード200aにより実行されているとする。
図4において、網掛けの矩形で示すデータは、未処理であることを示す。細い斜線の矩形で示すデータは、データの転送元であるエッジノード200aで処理済みであることを示す。白抜きの矩形で示すデータは、データの転送先であるエッジノード200dに転送済みであることを示す。太い斜線の矩形で示すデータは、エッジノード200dで処理済みであることを示す。なお、各種パターンで示す矩形は、図4の右上の"転送先のエッジノードに入力"で示すデータを除いて、エッジノード200aのデータ保持部220に保持されるデータを示し、下側ほど格納順が古い(処理順が早い)。
時刻T10において、代表ノード300の処理位置制御部310は、ノード監視部350からの情報に基づいて、データを処理中のエッジノード200aの負荷が増加すること、およびリソース使用量が時刻T20で不足することを予測する(図4(a))。時刻T10での予測は、最初の予測の一例であり、前回の予測の一例である。なお、データを処理するためのリソースの割り当ては上限まで行われているとする。また、処理位置制御部310は、時刻T20での処理済みデータと未処理データとの境界を予測する。時刻T20は、エッジノード200aの使用リソース量が閾値に到達すると予測される到達予測時刻である。
そして、処理位置制御部310は、エッジノード200aの代わりにデータ処理を実行可能な他のエッジノード200を検索する。例えば、処理位置制御部310は、エッジノード200aからデータ処理を引き継いで実行可能なリソース量がエッジノード200dに割り当てられていると判断し、エッジノード200dでの処理の引き継ぎを決定し、データ制御部340に通知する。
データ制御部340は、時刻T10において、時刻T10から時刻T20までにエッジノード200aからエッジノード200bに転送可能なデータ量を、ネットワークNWの帯域等に基づいて算出する。そして、データ制御部340は、算出した転送可能なデータ量と、時刻T20での処理済みデータと未処理データとの境界とに基づいて、エッジノード200aからエッジノード200bに転送するデータの転送開始位置を決定する(図4(b))。
ここで、転送開始位置は、転送可能なデータのうち処理順が最も遅いデータの位置に設定される。そして、データ制御部340は、時刻T10において、エッジノード200aからエッジノード200bへのデータの転送を転送開始位置から開始する。時刻T10に示す太い矢印は、時刻T20までにエッジノード200bに転送されるデータの転送順(転送方向)と、転送可能なデータ量とを示す(図4(c))。処理位置制御部310による境界の予測に基づいて、エッジノード200aからエッジノード200bにデータを転送するデータ制御部340は、転送制御部の一例である。
時間の経過とともに、エッジノード200a(転送元)の処理済みデータが増加し、エッジノード200bへの転送済みデータが増加する(図4(d))。また、データ生成部400が生成したデータは、時刻T20までエッジノード200aのデータ保持部220に格納されるため、未処理データが順次増加する(図4(e))。
次に、時刻T12において、データ制御部340は、時刻T20での処理済みデータと未処理データとの境界を再予測する。時刻T20での処理済みデータと未処理データとの境界の再予測は、時刻T20が到来するまで所定の頻度(例えば、1秒間)で繰り返し実行される。これにより、時刻T20での境界の予測値を、エッジノード200aでのデータの処理速度の変化に追従して調整することができ、無駄なデータ転送および時刻T20での未転送のデータの発生等のデータの過不足を低減することができる。
なお、この実施形態では、境界の再予測は、データ制御部340が実行するが、処理位置制御部310によって実行され、予測結果がデータ制御部340に通知されてもよい。境界を予測する処理位置制御部310および境界を再予測するデータ制御部340は、予測部の一例である。
図4に示す例では、データ制御部340が再予測した境界は、時刻T10において処理位置制御部310が予測した境界と一致する(図4(f))。このため、データ制御部340は、エッジノード200aからエッジノード200aへのデータの転送を継続する。
時刻T20が到来し、エッジノード200aによるデータ処理が、予測した境界まで完了し、エッジノード200bへのデータの転送が、予測した境界まで完了する。すなわち、転送開始位置から境界までのデータの転送が完了する(図4(g))。そして、時刻T20において、処理位置制御部310は、エッジノード200bに、エッジノード200aから転送されたデータの処理を開始させる。すなわち、データを処理するエッジノード200の切り替えが行われる(図4(h))。これにより、時刻T20以降、太い斜線の矩形で示すように、エッジノード200bでのデータ処理が進行する(図4(i))。
データ制御部340は、時刻T20において、エッジノード200aのデータ保持部220に保持されている残りのデータのエッジノード200bへの転送を開始する。この際、データ制御部340は、太い矢印で示すように、処理順が早いデータから順に転送する(図4(j))。これにより、例えば、エッジノード200bでのデータの処理速度が、データの転送速度より速い場合にも、処理するデータのエッジノード200bへの転送が間に合わず、エッジノード200bでの処理が停止する不具合を抑止することができる。
時刻T20において、エッジノード200aに接続されていたデータ生成部400は、エッジノード200bに接続される。このため、時刻T20以降、データ生成部400が生成したデータDTは、エッジノード200bに入力され、エッジノード200bのデータ保持部220に格納される。
なお、リソース使用量に基づいて処理済みデータと未処理データとの境界を予測するタイミング(時刻T10)は、データを処理しているエッジノード200毎に所定の周期で現れる。例えば、所定の周期は、時刻T10から時刻T20までの時間間隔に等しくてもよい。このため、処理位置制御部310は、データが転送されたエッジノード200bでの処理が時刻T20に開始されてから上記所定の周期が経過後、エッジノード200bでの処理済みデータと未処理データとの境界を予測する。そして、代表ノード300は、図4で説明した動作と同様の動作をエッジノード200bに対して実行する。
図5は、図3のデータ処理システム100の動作の別の例を示す。図4と同様の動作については、詳細な説明は省略する。処理位置制御部310が時刻T10で予測する時刻T20、時刻T20での処理済みデータと未処理データとの境界、時刻T10での転送開始位置、および時刻T10でのデータの転送方向は、図4と同じである。図5では、処理位置制御部310が時刻T10に予測したよりも、エッジノード200aでの処理の進行が遅く、時刻T20での未処理データが増加する(図5(a))。換言すれば、処理済みデータが時刻T10での当初の予測より減少する。
時刻T12において、データ制御部340は、時刻T20での処理済みデータと未処理データとの境界を再予測する。図5に示す例では、エッジノード200aでの処理の進行が遅いため、データ制御部340が予測した境界は、時刻T10において処理位置制御部310が予測した境界よりも図5の下側になる(図5(b))。
時刻T10で予測された境界と時刻T12で再予測された境界との間に位置するデータは、時刻T10の予測では、エッジノード200aが時刻T20までに処理するデータである。しかしながら、エッジノード200aでの処理の進行が遅いため、時刻T12での再予測では、2つの境界間のデータは、エッジノード200bにより時刻T20以降で処理されるデータとなる。
エッジノード200aで処理されないデータの無駄な転送を抑止するため、データ制御部340は、転送開始位置から開始したデータの転送を中断する(図5(c))。中断により転送されないデータは、時刻T10に太い破線で示す。そして、時刻T12において、データ制御部340は、太い下向きの矢印で示すように、時刻T20までに転送可能なデータを処理順が遅い側から再予測した境界までのエッジノード200aへのデータの転送を開始する(図5(d))。
境界の再予測によりエッジノード200aでの処理速度が低下したと判定された場合、実行中のデータ転送を中断し、再予測された境界に向けて処理順が遅いデータからデータを転送する。これにより、時刻T20において、処理を引き継いだエッジノード200bが処理するデータが転送されておらず、処理の開始が遅れることを抑止することができる。すなわち、データ処理システム100の処理性能が低下することを抑止することができる。
また、再予測された境界に向けて処理順が遅いデータからデータを転送することで、時刻T20までにエッジノード200aで処理されるデータが、エッジノード200bに転送される無駄を抑止することができる。例えば、時刻T20以前での次の再予測(不図示)での境界が、エッジノード200aでの処理速度が向上することで、時刻T12で再予測した境界よりも上側になる場合、時刻T12から開始したエッジノード200bへのデータの転送を中断することができる。これにより、時刻T20までにエッジノード200aで処理されるデータが、エッジノード200bに転送される無駄を抑止することができる。
これに対して、時刻T12で予測した境界から時刻T10で再予測した境界まで、処理順が早い側からデータを転送する場合、無駄なデータが転送される場合がある。例えば、時刻T20以前での次の再予測(不図示)での境界が、時刻T12で再予測した境界よりも図5の上側になる場合、時刻T12までにエッジノード200aでの処理が完了するデータがエッジノード200bに転送されてしまう。
図5の動作に戻り、データ制御部340は、時刻T20において、太い矢印で示すように、時刻T12で転送を中断したデータを含むデータのエッジノード200aからエッジノード200bへの転送を再開する(図5(e))。これにより、転送を中断したデータがエッジノード200bに転送されない不具合を抑止することできる。
この際、データ制御部340は、処理順が早い側からデータを転送する。すなわち、データの転送方向は、時刻T10において転送開始位置から転送を開始したデータの転送方向と逆向きになる。エッジノード200の切り替え後、処理順が早い側からデータを転送することで、処理するデータが転送されておらず、処理が開始できない不具合が発生する可能性を低くすることができる。例えば、エッジノード200bでのデータの処理速度がデータの転送速度より速く、処理するデータのエッジノード200bへの転送が間に合わない場合、エッジノード200bでの処理が待たされるため、処理効率が低下するおそれがある。この結果、リアルタイムでの処理が必要な場合にも、リアルタイム性が維持されないおそれがある。
処理位置制御部310は、時刻T20において図4と同様に、エッジノード200bに、エッジノード200aから転送されたデータの処理を開始させる。すなわち、データを処理するエッジノード200の切り替えが行われる(図5(f))。エッジノード200aに接続されていたデータ生成部400は、エッジノード200bに接続される。このため、時刻T20以降、データ生成部400が生成したデータDTは、エッジノード200bに入力され、エッジノード200bのデータ保持部220に格納される。
時刻T30において、転送開始位置から時刻T10で予測した境界までのデータのエッジノード200bへの転送が完了する(図5(g))。この後、データ制御部340は、時刻T3に太い上向きの矢印で示すように、エッジノード200aのデータ保持部220が保持している、転送開始位置に対して処理順が遅いデータのエッジノード200bへの転送を開始する(図5(h))。データの転送は、処理順が早いデータから転送される。このため、エッジノード200bに転送されていないデータ領域まで処理が進行し、処理が停止する不具合が発生する可能性を、処理順が遅い側からデータを転送する場合比べて低くすることができる。
図6は、図3のデータ処理システム100の動作のさらなる別の例を示す。図4および図5と同様の動作については、詳細な説明は省略する。処理位置制御部310が時刻T10で予測する時刻T20、時刻T20での処理済みデータと未処理データとの境界、時刻T10での転送開始位置、および時刻T10でのデータの転送方向は、図4と同じである。図6では、処理位置制御部310が時刻T10に予測したよりも、エッジノード200aでの処理の進行が早く、時刻T20での処理済みデータが多くなる(図6(a))。
時刻T12において、データ制御部340は、時刻T20での処理済みデータと未処理データとの境界を再予測する。図6に示す例では、エッジノード200aでの処理の進行が早いため、データ制御部340が予測した境界は、時刻T10において処理位置制御部310が予測した境界よりも図6の上側になる(図6(b))。
例えば、時刻T12での再予測では、時刻T10で予測された境界と時刻T12で再予測された境界との間のデータを含むデータは、時刻T20で処理済みとなる。エッジノード200bで処理されないデータの無駄な転送を抑止するため、データ制御部340は、転送開始位置から時刻T12で再予測された境界までのデータの転送を停止する(図6(c))。これにより、ネットワークNWの帯域が無駄なデータの転送に使用されることを抑止することができる。
時刻T12以降、データ制御部340は、転送開始位置から処理順が遅い側に向けて、エッジノード200aからエッジノード200bにデータを転送する(図6(d))。これにより、図4および図5と同様に、エッジノード200bでのデータの処理速度が、データの転送速度より速い場合にも、処理するデータのエッジノード200bへの転送が間に合わず、エッジノード200bでの処理が停止する不具合を抑止することができる。
そして、図4および図5と同様に、時刻T20において、エッジノード200aに接続されていたデータ生成部400は、エッジノード200bに接続される。このため、時刻T20以降、データ生成部400が生成したデータは、エッジノード200bに入力され、エッジノード200bのデータ保持部220に格納される。
時刻T20において、処理位置制御部310は、エッジノード200bに、エッジノード200aから転送されたデータの処理を開始させる。すなわち、データを処理するエッジノード200の切り替えが行われる(図6(e))。
図7は、図3の代表ノード300の動作の一例を示す。例えば、図7から図9に示す動作は、代表ノード300に搭載されるCPU等のプロセッサが実行する制御プログラムにより実現される。すなわち、図7から図9は、データ処理システム100の制御方法の一例およびデータ処理システム100の制御プログラムの一例を示す。
代表ノード300は、各データ処理を実行するエッジノード200の数に対応してそれぞれステップ100を実行する。例えば、データ処理は、図4から図6と同様にエッジノード200単位で実行される。ここで、エッジノード200は、例えば、物理サーバが実行するOS(Operating System)上で動作するコンテナに対応する。
ステップS100において、代表ノード300は、データ処理を実行するエッジノード200のリソース使用量を監視し、データ処理の実行を他のエッジノード200に切り替えるか否か判定する。そして、代表ノード300は、切り替えを決定した場合、切り替え処理を実行する。ステップS100での処理の例は、図8および図9に示す。
エッジノード200の切り替えの判定と切り替え処理とを実行した代表ノード300は、ステップS150において、監視周期(例えば、10秒)に到達するまでスリープし、監視周期に到達した場合、ステップS100をエッジノード200毎に実行する。
図8は、図7のステップS100の処理の一例を示す。図8に示す処理は、代表ノード300の処理位置制御部310により実行される。なお、図7で説明したように、ステップS100は、データ処理の実行単位であるエッジノード200毎に実行されるため、以下では、着目する1つのエッジノード200の切り替え判定および切り替え処理について説明する。
まず、ステップS102において、処理位置制御部310は、ノード監視部350からエッジノード200のリソースの使用状況を取得する。次に、ステップS104において、処理位置制御部310は、ノード監視部350から取得した情報に基づいて、リソース使用量が増加傾向にあるか否かを判定する。ここで、リソース使用量は、CPUの使用率およびメモリの使用率を含む。
リソース使用量が増加傾向にある場合、処理位置制御部310は、エッジノード200の切り替えの要否を判定するため、ステップS106を実行する。リソース使用量が増加傾向にない場合、エッジノード200を切り替えなくてよいため、処理位置制御部310は、図8に示す処理を終了する。
ステップS106において、処理位置制御部310は、次のタイムスロット(例えば、1分後)でのエッジノード200のリソース使用量をリソース毎に予測する。次に、ステップS108において、処理位置制御部310は、予測したリソース使用量が、エッジノード200に現在割り当てているリソース量を超えるか否かを、リソース毎に判定する。処理位置制御部310は、リソースのいずれかにおいて、リソース使用量の予測値が、現在割り当てているリソース量を超える場合、ステップS110を実行する。また、処理位置制御部310は、すべてのリソースにおいて、ソース使用量の予測値が、現在割り当てているリソース量以下の場合、図8に示す処理を終了する。
ステップS110において、処理位置制御部310は、エッジノード200において、リソース量の不足が予測されるリソースに空きがあるか否か判定する。処理位置制御部310は、リソースに空きがある場合、ステップS112を実行し、リソースに空きがない場合、ステップS114を実行する。
例えば、処理位置制御部310は、リソース使用量の予測値が、現在割り当てているリソース量を超えるリソースの各々において、空いているリソース量を割り当てることで、予測したリソース量の超過が解消される場合、ステップS112を実行する。また、処理位置制御部310は、リソース使用量の予測値が、現在割り当てているリソース量を超えるリソースの少なくともいずれかにおいて、空いているリソース量を割り当てても、予測したリソース量の超過が解消されない場合、ステップS114を実行する。
ステップS112において、処理位置制御部310は、リソース使用量の予測値が、現在割り当てているリソース量を超えるリソースの各々について、割り当てるリソース量を増加し、図8に示す処理を終了する。割り当てるリソース量の変更は、処理位置制御部310からの指示に基づいて、各エッジノード200のリソース量を管理するリソース量管理部(不図示)により実行されてもよい。
ステップS114において、処理位置制御部310は、データ処理を実行するエッジノード200を、リソース量に余裕がある他のエッジノード200に切り替える時刻(例えば、図4から図6の時刻T20)を予測する。すなわち、処理位置制御部310は、データ処理を実行中のエッジノード200のリソース使用量が不足する時刻を予測する。
次に、ステップS116において、処理位置制御部310は、データ処理を実行中のエッジノード200に代えてデータ処理を代行するエッジノード200を決定する。処理位置制御部310は、代行を決定したエッジノード200の情報を処理位置管理部320に通知する。例えば、データ処理を代行するエッジノード200のリソース負荷は、データ処理を実行中のエッジノード200のリソース負荷より小さいことが好ましい。
次に、ステップS200において、処理位置制御部310は、データ処理を実行中のエッジノード200からデータ処理を代行するエッジノード200にデータを移動(転送)する移動処理を、データ制御部340に実行させる。ステップS200の例は、図9で説明する。
ステップS200の実行後、ステップS120において、処理位置制御部310は、データの転送先のエッジノード200にデータ処理を開始させる。また、処理位置制御部310は、データの転送元のエッジノード200でのデータ処理を停止させる。なお、データの転送先のエッジノード200でのデータ処理が開始された後にも、データの転送元のエッジノード200に保持された未処理のデータがなくなるまで、データの転送は継続される。
次に、ステップS122において、処理位置制御部310は、データ生成部400が生成する新規のデータの転送先を、データの転送元のエッジノード200からデータの転送先のエッジノード200に切り替え、図8に示す処理を終了する。
図9は、図8のステップS200の処理の一例を示す。図9に示す処理は、代表ノード300のデータ制御部340により実行される。なお、データ制御部340は、データ転送の状況をデータ管理部330に通知してもよい。
まず、ステップS202において、データ制御部340は、図8のステップS114で処理位置制御部310が予測した切り替え時刻までに転送可能なデータ量をネットワークNWの帯域等に基づいて算出する。すなわち、データ制御部340は、切り替え時刻までに、図4から図6で処理位置制御部310が予測した境界から転送可能なデータ量を算出する。そして、データ制御部340は、算出した転送可能なデータ量に基づいて、図4から図6で説明した転送開始位置を決定し、転送開始位置からデータの転送を開始する。
ステップS202の後に実行されるステップS204、S206、S208、S210、S212は、データの転送(移動)が完了するまで繰り返し実行される。ステップS204において、データ制御部340は、例えば、データ転送に使用するデータポインタ等に基づいて、データ転送の進行状況を取得する。
次に、ステップS206において、データ制御部340は、処理位置制御部310が予測したエッジノード200の切り替え時刻での処理済みデータと未処理データとの境界まで、データを転送したか否かを判定する。データ制御部340は、境界までデータを転送した場合、ステップS214を実行し、境界までデータを転送していない場合、ステップS208を実行する。
ステップS208において、データ制御部340は、次のタイムスロットに到達したか否かを判定する。例えば、図4から図6に示す例では、次のタイムスロットは、時刻T12である。データ制御部340は、次のタイムスロットに到達した場合、再予測を実行するためにステップS210を実行し、次のタイムスロットに到達していない場合、ステップS204を実行する。
ステップS210において、データ制御部340は、処理位置制御部310が予測したエッジノード200の切り替え時刻に境界までのデータ処理が完了するか否かを判定する。データ制御部340は、切り替え時刻に境界までのデータ処理が完了する場合、データの転送を継続し、切り替え時刻に境界までのデータ処理が完了しない場合、ステップS212を実行する。ここで、図4および図6に示す動作が、切り替え時刻に境界までのデータ処理が完了する場合に対応し、図5に示す動作が、切り替え時刻に境界までのデータ処理が完了しない場合に対応する。
ステップS212において、データ制御部340は、転送開始位置からのデータの転送を中断し、新たな転送開始位置を決定し、データの転送を開始する。例えば、データ制御部340は、図5(d)に示すように、処理位置制御部310が予測した境界から新たに再予測した境界に向けて、データを転送する。データ制御部340は、ステップS212の後、ステップS204を実行する。
ステップS214において、データ制御部340は、処理位置制御部310が予測したエッジノード200の切り替え時刻までデータを転送した後、未転送のデータが転送元のエッジノード200にあるか否かを判定する。データ制御部340は、未転送のデータが転送元のエッジノード200にある場合、ステップS216を実行し、未転送のデータが転送元のエッジノード200にない場合、図9に示す処理を終了する。
ステップS216において、データ制御部340は、転送元のエッジノード200から転送先のエッジノード200に、未転送のデータの転送を開始し、図9に示す処理を終了する。なお、図4から図6で説明したように、未転送のデータの転送は、データを処理するエッジノード200が切り替えられた後も、転送が完了するまで継続される。
図10は、図3の代表ノード300と各エッジノード200との間でのデータ転送に使用されるAPI(Application Programming Interface)の一例を示す。例えば、APIとして、データ転送指示、移動予測情報およびデータ移動完了通知がある。
データ転送指示は、代表ノード300からデータの移動元のエッジノード200に対して発行される。データ転送指示は、処理位置制御部310がエッジノード200の切り替え時刻を予測した初回に一度だけ発行され、それ以降、データ制御部340が再予測に基づいて転送を制御する。例えば、データは、データ生成部400からエッジノード200のデータ保持部220にアドレスが小さい順に格納される。データ保持部220に格納されたデータを処理順が遅い側から転送する場合、転送開始位置のアドレス>転送完了位置のアドレスとなる。
移動予測情報は、代表ノード300からデータの移動元のエッジノード200に、転送するデータを指示するために、エッジノード200の切り替えの予測時刻の変化に基づいて発行される。移動予測情報は、データ転送中に定期的に実行される。
データ移動完了通知は、データの移動元のエッジノード200およびデータの移動先のエッジノード200から代表ノード300に、データ転送の完了を通知するときに発行される。
以上、図3から図10に示す実施形態においても、図1および図2に示す実施形態と同様の効果を得ることができる。例えば、データ処理を実行中のエッジノード200のリソース使用量が所定の時刻T20において不足すると予測された場合、データ処理を引き継ぐエッジノード200へのデータ転送を処理順が遅い側から実行する。これにより、データ処理を引き継ぐエッジノード200に無駄なデータが転送されることを抑止することができ、ネットワークNWの帯域を節約することができる。
境界を予測した時刻T10からエッジノード200を切り替える時刻T20までに転送可能なデータ量に基づいて、転送開始位置を決定する。これにより、切り替え時刻T20において、データ処理を停止させることなく引き継ぐことができ、データ処理システム100の処理性能の低下を抑止することができる。したがって、無駄なデータ転送を抑止することでネットワークNWの帯域を増やすことなく、かつ、実行中の処理を止めることなく、処理の移行元のエッジノード200から処理の移行先のエッジノード200にデータを転送することができる。
さらに、図3から図10に示す実施形態では、境界の再予測により未処理データが増加すると判定された場合、転送開始位置から実行しているデータの転送を中断し、再予測した境界に向けて時刻T20までに転送可能なデータを処理が遅い順に転送する。これにより、エッジノード200aでの処理速度がその後上がった場合、時刻T12から開始したデータの転送を中断することができ、処理済みのデータがエッジノード200bに転送される無駄を抑止することができる。
境界の再予測によりエッジノード200aでの処理速度が低下したと判定された場合、実行中のデータ転送を中断し、再予測された境界に向けてデータを転送することで、エッジノード200bによる処理の開始が遅れることを抑止することができる。これにより、データ処理システム100の処理性能が低下することを抑止することができる。また、再予測された境界に向けて処理順が遅いデータからデータを転送することで、時刻T20までにエッジノード200aで処理されるデータが、エッジノード200bに転送される無駄を抑止することができる。
時刻T20において、転送を中断したデータを含むデータのエッジノード200bへの転送を再開することで、転送を中断したデータがエッジノード200bに転送されない不具合を抑止することできる。この際、処理順が早い側からデータを転送することで、処理するデータが転送されておらず、処理が開始できない不具合が発生する可能性を低くすることができる。
境界の再予測によりエッジノード200aでの処理速度が向上したと判定された場合、転送開始位置から再予測された境界までのデータの転送を停止することでネットワークNWの帯域が無駄なデータの転送に使用されることを抑止することができる。
境界の再予測を所定の頻度で繰り返し実行することで、境界の予測値を、エッジノード200aでのデータの処理速度の変化に追従して調整することができ、無駄なデータ転送および時刻T20での未転送のデータの発生等のデータの過不足を低減することができる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
10 データ処理システム
20(20a、20b) 処理ノード
22(22a、22b) バッファ
24(24a、24b) 処理部
30 管理ノード
32 予測部
34 転送制御部
100 データ処理システム
200(200a、200b、200c、200d) エッジノード
210 データ受信部
220 データ保持部
230 データ処理部
240 リソース監視部
300 代表ノード
310 処理位置制御部
320 処理位置管理部
330 データ管理部
340 データ制御部
350 ノード監視部
400(400a、400b、400c) データ生成部
DT(DTa、DTb、DTc) データ
NW ネットワーク

Claims (10)

  1. それぞれ、バッファと、該バッファに保持されたデータを処理する処理部とを含む複数の処理ノードを管理する情報処理装置において、
    データ処理中の処理ノードのリソース負荷が所定量に到達する到達予測時刻における前記バッファ内の処理済みデータと未処理データとの境界を予測する予測部と、
    前記予測部の予測に基づいて、未処理データを処理順が遅い側から前記境界に向けて、データ処理を引き継ぐ他の処理ノードに転送する転送制御部と
    を有する情報処理装置。
  2. 前記転送制御部は、前記バッファの、前記境界から前記到達予測時刻までに転送可能なデータ量だけ処理順が遅い側から前記未処理データを前記他の処理ノードに転送する、
    請求項1に記載の情報処理装置。
  3. 前記予測部は、前記データ処理中の処理ノードから前記他の処理ノードにデータを転送中に前記境界を再予測し、
    前記転送制御部は、前記到達予測時刻における未処理データが前回の予測より増加すると前記予測部が再予測した場合、処理順が遅い側から前記境界に向けての未処理データの転送を中断し、前記バッファの、再予測された境界から、前記到達予測時刻までに転送可能なデータ量だけ処理順が遅い側から前記未処理データを前記他の処理ノードに転送する
    請求項1または請求項2に記載の情報処理装置。
  4. 前記転送制御部は、前記到達予測時刻までに転送可能な未処理データの前記他の処理ノードへの転送が完了後、転送を中断した未処理データを処理順が早い側から前記他の処理ノードに転送する
    請求項3に記載の情報処理装置。
  5. 前記転送制御部は、前記到達予測時刻における未処理データが前回の予測より減少すると前記予測部が再予測した場合、処理順が遅い側から再予測された境界まで未処理データを転送した後、最初の予測で決定したデータの転送開始位置より処理順が遅いデータの転送を開始する
    請求項2ないし請求項4のいずれか1項に記載の情報処理装置。
  6. 前記予測部は、前記データ処理中の処理ノードから前記他の処理ノードにデータを転送中に、所定の頻度で前記境界を再予測する
    請求項2ないし請求項5のいずれか1項に記載の情報処理装置。
  7. 前記転送制御部は、前記予測部の予測に基づいて転送する未処理データの転送開始位置を、前記予測部による予測時から前記到達予測時刻までに前記他の処理ノードに転送可能なデータ量に基づいて決定する
    請求項1ないし請求項6の何れか1項に記載の情報処理装置。
  8. 前記管理ノードは、データ処理中の処理ノードのリソース負荷よりリソース負荷が小さい処理ノードを、データ処理を引き継ぐ前記他の処理ノードとして選択する
    請求項1ないし請求項7の何れか1項に記載の情報処理装置。
  9. それぞれ、バッファと、該バッファに保持されたデータを処理する処理部とを含む複数の処理ノードを管理する情報処理装置の制御方法であって、
    データ処理中の処理ノードのリソース負荷が所定量に到達する到達予測時刻における前記バッファ内の処理済みデータと未処理データとの境界を予測し、
    予測に基づいて、未処理データを処理順が遅い側から前記境界に向けて、データ処理を引き継ぐ他の処理ノードに転送する
    情報処理装置の制御方法。
  10. それぞれ、バッファと、該バッファに保持されたデータを処理する処理部とを含む複数の処理ノードを管理する情報処理装置の制御プログラムであって、
    前記管理ノードに、
    データ処理中の処理ノードのリソース負荷が所定量に到達する到達予測時刻における前記バッファ内の処理済みデータと未処理データとの境界を予測し、
    予測に基づいて、未処理データを処理順が遅い側から前記境界に向けて、データ処理を引き継ぐ他の処理ノードに転送する
    処理を実行させる制御プログラム。
JP2020185269A 2020-11-05 2020-11-05 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム Pending JP2022074864A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020185269A JP2022074864A (ja) 2020-11-05 2020-11-05 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
EP21192514.4A EP3995956A1 (en) 2020-11-05 2021-08-23 Information processing apparatus, method of controlling information processing apparatus, and program for controlling information processing apparatus
US17/464,900 US20220138009A1 (en) 2020-11-05 2021-09-02 Information processing apparatus, method of controlling information processing apparatus, and program for controlling information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020185269A JP2022074864A (ja) 2020-11-05 2020-11-05 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム

Publications (1)

Publication Number Publication Date
JP2022074864A true JP2022074864A (ja) 2022-05-18

Family

ID=77447757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020185269A Pending JP2022074864A (ja) 2020-11-05 2020-11-05 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム

Country Status (3)

Country Link
US (1) US20220138009A1 (ja)
EP (1) EP3995956A1 (ja)
JP (1) JP2022074864A (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164552A (ja) 2005-12-15 2007-06-28 Konica Minolta Business Technologies Inc メモリ制御装置およびデータ転送方法
JP4900784B2 (ja) * 2006-04-13 2012-03-21 株式会社日立製作所 ストレージシステム及びストレージシステムのデータ移行方法
JP5900088B2 (ja) * 2012-03-27 2016-04-06 富士通株式会社 並列計算機、並列計算機の制御方法及び制御プログラム
JP6487359B2 (ja) 2016-03-16 2019-03-20 Kddi株式会社 ネットワークサービス評価システム
CN110704542A (zh) * 2019-10-15 2020-01-17 南京莱斯网信技术研究院有限公司 一种基于节点负载的数据动态分区系统

Also Published As

Publication number Publication date
EP3995956A1 (en) 2022-05-11
US20220138009A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
US10592298B2 (en) Method for distributing load in a multi-core system
US10715448B2 (en) System and/or method for predictive resource management in file transfer servers
CN106933669B (zh) 用于数据处理的装置和方法
US20160098292A1 (en) Job scheduling using expected server performance information
US20130061220A1 (en) Method for on-demand inter-cloud load provisioning for transient bursts of computing needs
US8510742B2 (en) Job allocation program for allocating jobs to each computer without intensively managing load state of each computer
US7676610B2 (en) Device and method for optimization of target host device process handling according to the status and the priority of the target host device process
US20060161641A1 (en) Computer-readable recording medium, relay control method, and relay control apparatus
US11436054B1 (en) Directing queries to nodes of a cluster of a container orchestration platform distributed across a host system and a hardware accelerator of the host system
JP2007018282A (ja) プロセス制御システム及びその制御方法
WO2020100581A1 (ja) 評価装置、評価方法および評価プログラム
WO2020238989A1 (zh) 一种调度任务处理实体的方法及装置
JP6631710B2 (ja) 仮想化管理プログラム、仮想化管理装置および仮想化管理方法
EP3306866A1 (en) Message processing method, device and system
CN115617497B (zh) 线程处理方法、调度组件、监测组件、服务器和存储介质
JP2020160775A (ja) コンテナ起動ホスト選択装置、コンテナ起動ホスト選択システム、コンテナ起動ホスト選択方法及びプログラム
US10540202B1 (en) Transient sharing of available SAN compute capability
JP2022074864A (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
JP6488910B2 (ja) 制御方法、制御プログラム、及び情報処理装置
US11700299B2 (en) Information processing apparatus, information processing system, non-transitory computer-readable medium, and information processing method
JP2011145833A (ja) データ分散管理システム及びデータ分散管理方法
CN111158782A (zh) 一种基于DPDK技术的Nginx配置热更新系统和方法
US10877800B2 (en) Method, apparatus and computer-readable medium for application scheduling
JPH11237993A (ja) タスクの優先度制御方法およびタスクの優先度制御装置
US20230281052A1 (en) Distributing workloads to hardware accelerators during transient workload spikes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240416