JP7070710B2 - 分散処理支援装置、分散処理支援方法およびプログラム - Google Patents
分散処理支援装置、分散処理支援方法およびプログラム Download PDFInfo
- Publication number
- JP7070710B2 JP7070710B2 JP2020561200A JP2020561200A JP7070710B2 JP 7070710 B2 JP7070710 B2 JP 7070710B2 JP 2020561200 A JP2020561200 A JP 2020561200A JP 2020561200 A JP2020561200 A JP 2020561200A JP 7070710 B2 JP7070710 B2 JP 7070710B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- arrangement pattern
- logics
- pattern
- source code
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5044—Allocation 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 hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0133—Traffic data processing for classifying traffic situation
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
- G08G1/0141—Measuring and analyzing of parameters relative to traffic conditions for specific applications for traffic information dissemination
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
- G08G1/0145—Measuring and analyzing of parameters relative to traffic conditions for specific applications for active traffic flow control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
(構成)
(システムの構成)
図1は、この発明の一実施形態に係る分散処理支援装置を含むシステムの一例を示す概略構成図である。
このシステムは、データの収集元または入力元装置としての端末デバイス群TD1~TDi(以下、まとめて「端末デバイスTD」とも言う)およびセンサ群SS1~SSj(以下、まとめて「センサSS」とも言う)と、これらの装置からネットワークNWを介してデータを取得可能な複数のクラウドサーバCSV1~CSVn(以下、まとめて「クラウドサーバCSV」とも言う)と、端末デバイスTDおよびセンサSSとクラウドサーバCSVとの間に配置された複数のエッジサーバESV1~ESVm(以下、まとめて「エッジサーバESV」とも言う)と、これら種々の装置とネットワークNWを介して通信可能な、一実施形態に係る分散処理支援装置1とを備えている。
分散処理支援装置1は、通信インタフェースユニット10と、処理ユニット20と、記憶ユニット30とを備えている。
次に、以上のように構成された分散処理支援装置1による情報処理動作を説明する。図3はその処理手順と処理内容を示すフローチャートである。
分散処理支援装置1は、ステップS1により、アプリケーションの分散配置を決定する処理を開始するためのトリガの有無を監視している。この状態で、例えばアプリケーション開発者またはシステム管理者等が管理用端末(図示せず)を通じて分散配置決定の開始要求を入力し、この開始要求をトリガとして受け取ると、分散処理支援装置1は以下の処理を実行する。
分散処理支援装置1は、ステップS2において、処理ユニット20の制御の下、ソースコード取得部21により、例えばネットワークNWを介してアプリケーション管理サーバ(図示せず)から、分散処理の対象であるアプリケーションのソースコードを取得する。ソースコード取得部21は、取得したソースコードをソースコード分割部22に渡すとともに、当該ソースコードまたは当該アプリケーションに関する情報をアプリケーション情報記憶部31に記憶させることができる。アプリケーションに関する情報には、アプリケーションのソースコードに含まれる関数の処理順序や、アプリケーションへの入力データおよび入力元マシン、アプリケーションからの出力データおよび出力先マシンに関する情報が含まれる。なお、アプリケーションのソースコードを、アプリケーション開発者またはシステム管理者が使用する管理用端末から取得するようにしてもよい。
次いで分散処理支援装置1は、ステップS3において、処理ユニット20の制御の下、ソースコード分割部22により、分割ルール記憶部32にあらかじめ記憶された分割ルールをもとに、取得されたソースコード中の分割可能なロジック(例えば、関数、クラスなど)を識別し、ソースコードを複数のロジックに分割する。
次いで分散処理支援装置1は、ステップS4において、処理ユニット20の制御の下、配置パターン候補抽出部23により、最適である可能性のある配置パターンを配置パターンの候補として抽出する処理を行う。以下、この処理について詳細に説明する。
対象アプリケーションにおけるロジックの処理順序やデータの入出力先マシンの情報が定まっており、かつアプリケーションの処理時間短縮やマシン間の通信量の削減を目的とする場合、明らかに最適ではない配置パターンが存在する。
図4は、一実施形態に係る分散処理支援装置1による処理フローのイメージを示す略図である。ここでは、ロジック(関数)の処理順およびデータの入力用のマシンと出力用のマシンとが決まっており、かつマシンZ、マシンY、マシンXの順に計算能力が高い(すなわち、マシンX,Y,Zの中では、マシンZが最も計算能力が高く、マシンXが最も計算能力が低い)という前提で説明する。
ある配置パターンにおいて、関数の処理順にマシン間を有向辺で結んだグラフ(以下、「処理フローグラフ」と言う)が、以下のグラフG1またはG2のいずれとも合致しない場合、その配置パターンは最適な配置ではない。
(G1)データを入力する関数が配置されているマシン(データ入力元マシン)と、データを出力する関数が配置されているマシン(データ出力先マシン)とが異なる場合:データ入力元マシンを始点、データ出力先マシンを終点として、配置先候補マシンを計算能力が低い順に1回以下通る最短有向道群
(G2)データ入力元マシンとデータ出力先マシンが同じ場合:配置先候補マシンを計算能力が低い順に1回以下通る最短有向閉路群
ここで、ロジックの処理順序、ならびにデータ入力元マシンおよびデータ出力先マシンが決まっており、かつアプリケーションの処理時間短縮や通信量削減を目的とする環境において、上記グラフG1またはG2のいずれとも合致しない配置パターンが最適ではないことの証明について以下で説明する。
データ入力元マシンを始点、データ出力先マシンを終点として、配置先候補マシンを計算能力が低い順に1回以下通る最短有向道群または最短有向閉路群のいずれとも合致しない処理フローグラフを持つ配置パターンAが最適解であると仮定する。図6は、このような配置パターンAの一例を示す。
図6に示した配置パターンAにおいて、実際にロジックが配置されているマシンの集合をMとする。配置パターンAの処理フローグラフは、最短有向道・閉路群のいずれにも合致しないため、集合Mに含まれるマシンを節点とする最短有向道・閉路群とは逆向きの有向辺eを1つ以上持つ。この有向辺eに沿ってデータを送信するロジックをla、データを受信するロジックをlbとする。また、laが配置されているマシン(すなわちeの始点に当たるマシン)をma、lbが配置されているマシン(すなわちeの終点に当たるマシン)をmbとする。
図8は、一実施形態に係る分散処理支援装置1で用いられる、最適解の可能性がある配置パターンを抽出するためのアルゴリズムの一例として、アルゴリズム1を示す。
図9は、図8に示したアルゴリズム1内で使用される記号の説明を示す。
(g1):(main),(A,B,C)
(g2):(main,A),(B,C)
(g3):(main,A,B),(C)
(g4):(main),(A),(B,C)
(g5):(main,A),(B),(C)
(g6):(main),(A,B),(C)
配置パターンとして以下の6通りが得られる。
(p1):(X,Z),((main),(A,B,C))
・・・mainをマシンXに、A,B,CをマシンZに配置
(p2):(X,Z),((main,A),(B,C))
・・・main,AをマシンXに、B,CをマシンZに配置
(p3):(X,Z),((main,A,B),(C))
・・・main,A,BをマシンXに、CをマシンZに配置
(p4):(X,Y,Z),((main),(A),(B,C))
mainをマシンXに、AをマシンYに、B,CをマシンZに配置
(p5):(X,Y,Z),((main,A),(B),(C))
main,AをマシンXに、BをマシンYに、CをマシンZに配置
(p6):(X,Y,Z),((main),(A,B),(C))
mainをマシンXに、A,BをマシンYに、CをマシンZに配置
以上のように配置パターンの候補が抽出されたら、続いて分散処理支援装置1は、図3のステップS5において、処理ユニット20の制御の下、最適パターン決定部24のアプリ性能計測部241により、抽出された配置パターンの候補の各々について分散アプリケーションを動作させたときのアプリケーション性能を計測または算出する。一実施形態では、アプリ性能計測部241は、アプリケーション性能として、当該アプリケーションの全処理が終了するまでに要する時間、マシン(情報処理装置)間のトラヒック量、およびマシン間のネットワーク遅延のうちの少なくとも1つを計測または算出する。
以上で説明した技術の有効性を確認するために、以下の環境を想定したシミュレーション実験を行った。
・配置先候補マシンは5台で、入力元マシンは最も計算能力が低いマシン、出力先マシンは最も計算能力が高いマシンとする。
・分割・配置対象のアプリケーションは、2~10個の関数を持つアプリケーションで、各関数は順番に呼び出されるものとする。入力処理が含まれる関数はデータフローグラフの根に当たる関数で、出力処理が含まれる関数はデータフローグラフの葉に当たる関数である。
・各関数の処理時間は、計算能力が高いマシンに配置されるほど短くなるようにランダムに設定する。関数間の通信量はランダムに設定し、マシン間の通信遅延は、通信量が多いほど大きくなるように設定する。
(指標1)配置パターン数:各関数と配置先候補マシンとの組み合わせ数
(指標2)精度:配置パターンの中に最適解が含まれる割合。含まれる場合を1、含まれない場合を0とする。
以上詳述したように、この発明の一実施形態では、アプリケーションのソースコードが取得され、該ソースコードが複数のロジックへと分割され、アプリケーションにおけるこれら複数のロジックの処理順序と複数の情報処理装置の動作環境に関する情報とに基づいて、情報処理装置のいずれかに複数のロジックを分散配置するときの配置パターンの候補が抽出される。そして、この抽出された候補の中から、分散アプリケーションの各ロジックを配置するための最適な配置パターンが決定される。
なお、この発明は上記実施形態に限定されるものではない。
例えば、上記実施形態では、分散アプリケーションの配置先としてマシンX,マシンY,マシンZを挙げて説明した。特に上記実施形態では、マシンXがスマートフォンなどの端末デバイスTDであり、マシンYがエッジサーバESVであり、マシンZがクラウドサーバCSVである例を挙げて説明したが、これに限定されるものではない。例えば、分散アプリケーションの配置先のマシンX,マシンY,マシンZすべてを、クラウドサーバCSV、エッジサーバESV、またはスマートフォンとすることも可能であり、さらに分散アプリケーションの配置先のマシンX,マシンY,マシンZをクラウドサーバCSV、エッジサーバESV、およびスマートフォンのうちの2つにすることも可能である。
10…通信インタフェースユニット
20…処理ユニット
30…記憶ユニット
21…ソースコード取得部
22…ソースコード分割部
23…配置パターン候補抽出部
24…最適パターン決定部
241…アプリ性能計測部
242…最適パターン選出部
31…アプリケーション情報記憶部
32…分割ルール記憶部
33…動作環境情報記憶部
Claims (7)
- 複数の情報処理装置によるアプリケーションの分散処理を支援する分散処理支援装置であって、
前記アプリケーションのソースコードを取得するソースコード取得部と、
前記ソースコードを複数のロジックに分割するソースコード分割部と、
前記アプリケーションにおける前記複数のロジックの処理順序と、前記複数の情報処理装置の動作環境に関する情報とに基づいて、前記複数の情報処理装置のいずれかに前記複数のロジックを分散配置するときの当該複数のロジックの配置パターンの候補を抽出する、候補抽出部と、
前記抽出された配置パターンの候補の中から最適な配置パターンを決定する、最適パターン決定部とを具備し、
前記候補抽出部は、前記複数の情報処理装置をノードとし、前記アプリケーションにおける前記複数のロジックの処理順序を特定する有向辺を経路とした有向グラフを用いて、非最短経路の配置パターンを除外することによって、前記配置パターンの候補を抽出する、分散処理支援装置。 - 複数の情報処理装置によるアプリケーションの分散処理を支援する分散処理支援装置であって、
前記アプリケーションのソースコードを取得するソースコード取得部と、
前記ソースコードを複数のロジックに分割するソースコード分割部と、
前記アプリケーションにおける前記複数のロジックの処理順序と、前記複数の情報処理装置の動作環境に関する情報とに基づいて、前記複数の情報処理装置のいずれかに前記複数のロジックを分散配置するときの当該複数のロジックの配置パターンの候補を抽出する、候補抽出部と、
前記抽出された配置パターンの候補の中から最適な配置パターンを決定する、最適パターン決定部とを具備し、
前記候補抽出部は、前記複数の情報処理装置を計算能力が低いものから高いものへと順に並べたものをノードとし、前記アプリケーションにおける前記複数のロジックの処理順序を特定する有向辺を経路とした有向グラフを用いて、最短経路の配置パターンを前記配置パターンの候補として抽出する、分散処理支援装置。 - 前記最適パターン決定部は、
前記抽出された配置パターンの候補の各々について前記アプリケーションを動作させたときの全処理に係るアプリケーション性能を計測する、性能計測部と、
前記アプリケーションの性能の計測結果に基づいて前記配置パターンの候補の中から最良の性能をもたらす配置パターンを選出する、最適パターン選出部とを備える、請求項1または2に記載の分散処理支援装置。 - 前記性能計測部は、
前記アプリケーション性能として、全処理が終了するまでに要する時間、前記情報処理装置間のトラヒック量、および前記情報処理装置間のネットワーク遅延のうちの少なくとも1つを計測する、請求項3に記載の分散処理支援装置。 - 複数の情報処理装置によるアプリケーションの分散処理を支援する分散処理支援装置が実行する、分散処理支援方法であって、
前記アプリケーションのソースコードを取得する過程と、
前記ソースコードを複数のロジックに分割する過程と、
前記アプリケーションにおける前記複数のロジックの処理順序と、前記複数の情報処理装置の動作環境に関する情報とに基づいて、前記複数の情報処理装置のいずれかに前記複数のロジックを分散配置するときの当該複数のロジックの配置パターンの候補を抽出する過程と、
前記抽出された配置パターンの候補の中から最適な配置パターンを決定する過程とを具し、
前記抽出する過程は、前記複数の情報処理装置をノードとし、前記アプリケーションにおける前記複数のロジックの処理順序を特定する有向辺を経路とした有向グラフを用いて、非最短経路の配置パターンを除外することによって、前記配置パターンの候補を抽出する、分散処理支援方法。 - 複数の情報処理装置によるアプリケーションの分散処理を支援する分散処理支援装置が実行する、分散処理支援方法であって、
前記アプリケーションのソースコードを取得する過程と、
前記ソースコードを複数のロジックに分割する過程と、
前記アプリケーションにおける前記複数のロジックの処理順序と、前記複数の情報処理装置の動作環境に関する情報とに基づいて、前記複数の情報処理装置のいずれかに前記複数のロジックを分散配置するときの当該複数のロジックの配置パターンの候補を抽出する過程と、
前記抽出された配置パターンの候補の中から最適な配置パターンを決定する過程とを具し、
前記抽出する過程は、前記複数の情報処理装置を計算能力が低いものから高いものへと順に並べたものをノードとし、前記アプリケーションにおける前記複数のロジックの処理順序を特定する有向辺を経路とした有向グラフを用いて、最短経路の配置パターンを前記配置パターンの候補として抽出する、分散処理支援方法。 - 請求項1乃至請求項4のいずれか一項に記載の装置の各部による処理をプロセッサに実行させるプログラム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018240059 | 2018-12-21 | ||
| JP2018240059 | 2018-12-21 | ||
| PCT/JP2019/043067 WO2020129432A1 (ja) | 2018-12-21 | 2019-11-01 | 分散処理支援装置、分散処理支援方法およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2020129432A1 JPWO2020129432A1 (ja) | 2021-09-09 |
| JP7070710B2 true JP7070710B2 (ja) | 2022-05-18 |
Family
ID=71101193
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020561200A Active JP7070710B2 (ja) | 2018-12-21 | 2019-11-01 | 分散処理支援装置、分散処理支援方法およびプログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US12131196B2 (ja) |
| EP (1) | EP3901762B1 (ja) |
| JP (1) | JP7070710B2 (ja) |
| CN (1) | CN113227965B (ja) |
| WO (1) | WO2020129432A1 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022138232A1 (ja) * | 2020-12-23 | 2022-06-30 | ソニーグループ株式会社 | 通信装置、通信方法、および通信システム |
| CN119167983B (zh) * | 2024-09-24 | 2025-04-08 | 哈尔滨工业大学 | 面向多出口神经网络高效能推理的出口选择与分区部署策略生成方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005173788A (ja) | 2003-12-09 | 2005-06-30 | Ibm Japan Ltd | オートノミック・コンピューティングシステム、実行環境制御方法及びプログラム |
| JP2017143365A (ja) | 2016-02-09 | 2017-08-17 | 日本電信電話株式会社 | アプリケーション配備システム及び方法 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0675786A (ja) | 1992-08-26 | 1994-03-18 | Hitachi Ltd | タスクスケジュリング方法 |
| EP2585911A4 (en) * | 2010-06-22 | 2014-07-16 | Hewlett Packard Development Co | METHOD AND SYSTEM FOR DETERMINING APPLICATION OF APPLICATIONS |
| US9323619B2 (en) * | 2013-03-15 | 2016-04-26 | International Business Machines Corporation | Deploying parallel data integration applications to distributed computing environments |
| US9477511B2 (en) * | 2013-08-14 | 2016-10-25 | International Business Machines Corporation | Task-based modeling for parallel data integration |
| WO2016092677A1 (ja) * | 2014-12-11 | 2016-06-16 | 株式会社日立製作所 | モジュール分割支援装置、方法、及びプログラム |
| US9542219B1 (en) * | 2015-12-17 | 2017-01-10 | International Business Machines Corporation | Automatic analysis based scheduling of jobs to appropriate cloud resources |
| US10565016B2 (en) * | 2016-09-20 | 2020-02-18 | International Business Machines Corporation | Time frame bounded execution of computational algorithms |
| US10567248B2 (en) * | 2016-11-29 | 2020-02-18 | Intel Corporation | Distributed assignment of video analytics tasks in cloud computing environments to reduce bandwidth utilization |
| US11461669B2 (en) * | 2018-10-19 | 2022-10-04 | CA Software Österreich GmbH | Runtime prediction for a job of a workflow |
-
2019
- 2019-11-01 US US17/414,834 patent/US12131196B2/en active Active
- 2019-11-01 CN CN201980085250.0A patent/CN113227965B/zh active Active
- 2019-11-01 JP JP2020561200A patent/JP7070710B2/ja active Active
- 2019-11-01 WO PCT/JP2019/043067 patent/WO2020129432A1/ja not_active Ceased
- 2019-11-01 EP EP19899991.4A patent/EP3901762B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005173788A (ja) | 2003-12-09 | 2005-06-30 | Ibm Japan Ltd | オートノミック・コンピューティングシステム、実行環境制御方法及びプログラム |
| JP2017143365A (ja) | 2016-02-09 | 2017-08-17 | 日本電信電話株式会社 | アプリケーション配備システム及び方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113227965B (zh) | 2024-04-02 |
| US20220068126A1 (en) | 2022-03-03 |
| EP3901762A4 (en) | 2022-09-07 |
| JPWO2020129432A1 (ja) | 2021-09-09 |
| CN113227965A (zh) | 2021-08-06 |
| WO2020129432A1 (ja) | 2020-06-25 |
| EP3901762A1 (en) | 2021-10-27 |
| US12131196B2 (en) | 2024-10-29 |
| EP3901762B1 (en) | 2023-08-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Sahu et al. | A survey on application mapping strategies for network-on-chip design | |
| Yakoubi et al. | LICOD: A Leader-driven algorithm for community detection in complex networks | |
| Arfat et al. | Parallel shortest path graph computations of United States road network data on apache spark | |
| US9501509B2 (en) | Throwaway spatial index structure for dynamic point data | |
| JP7070710B2 (ja) | 分散処理支援装置、分散処理支援方法およびプログラム | |
| US9934325B2 (en) | Method and apparatus for distributing graph data in distributed computing environment | |
| Chen et al. | Design and implementation of an intelligent system for tourist routes recommendation based on Hadoop | |
| KR20140088069A (ko) | 하이퍼큐브 네트워크에서 데이터 전송을 최적화하기 | |
| Nirmal et al. | Issues of K means clustering while migrating to map reduce paradigm with big data: A survey | |
| Aksoy et al. | Optimization of real-time wireless sensor based big data with deep autoencoder network: a tourism sector application with distributed computing | |
| Zhou et al. | Complementing travel itinerary recommendation using location-based social networks | |
| Ostrowski | An approximation of betweenness centrality for social networks | |
| Alivand et al. | Choice set generation for modeling scenic route choice behavior with geographic information systems | |
| Priya et al. | Distributed processing of location based spatial query through vantage point transformation | |
| Zhao et al. | Fast and scalable analysis of massive social graphs | |
| Lin et al. | Performance evaluation of cluster algorithms for Big Data analysis on cloud | |
| Chowdhury et al. | An efficient MapReduce-based adaptive K-means clustering for large dataset | |
| Tang et al. | Supporting continuous skyline queries in dynamically weighted road networks | |
| Song et al. | Nslpa: A node similarity based label propagation algorithm for real-time community detection | |
| Kuikka | A General method for detecting community structures in complex networks | |
| Selvaraj et al. | Global Manager-A Service Broker In An Integrated Cloud Computing, Edge Computing & IoT Environment. | |
| Kumar et al. | Classification in a Distributed System-A Study of Random Forest in the Hadoop MapReduce Framework | |
| Sohail et al. | AI Enabled Smart IoT Data Platform | |
| Silambarasan et al. | Artificial bee colony with map reducing technique for solving resource problems in clouds | |
| Jaouadi et al. | An Overview on Reducing Social Networks’ Size |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201208 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220104 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220121 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220221 |
|
| 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: 20220405 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220418 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7070710 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |