JP6088197B2 - Management device, bottleneck determination / path control program, and parallel distributed processing system - Google Patents
Management device, bottleneck determination / path control program, and parallel distributed processing system Download PDFInfo
- Publication number
- JP6088197B2 JP6088197B2 JP2012229383A JP2012229383A JP6088197B2 JP 6088197 B2 JP6088197 B2 JP 6088197B2 JP 2012229383 A JP2012229383 A JP 2012229383A JP 2012229383 A JP2012229383 A JP 2012229383A JP 6088197 B2 JP6088197 B2 JP 6088197B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- terminal device
- route
- task
- network topology
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、OpenFlowにより経路制御を行うと共に、端末装置が2台以上で並列化されるようにタスクを実行する管理装置、ボトルネック判定・経路制御プログラム、及び、並列分散処理システムに関する。 The present invention relates to a management apparatus, a bottleneck determination / path control program, and a parallel distributed processing system that perform a path control by OpenFlow and execute a task so that two or more terminal apparatuses are parallelized.
高精細な映像の加工処理など、大量のデータ処理の高速化のためには、専用で高価な計算装置やネットワーク装置が必要とされていた。だが近年、これら装置の高性能化、低廉化が進み、一般的なIA(Intel Architecture)サーバ(つまり、PC:(Personal Computer)サーバ)と、イーサネット(登録商標)機器とを用いた並列分散処理により、データ処理の高速化が可能となりつつある。 In order to speed up a large amount of data processing such as high-definition video processing, dedicated and expensive computing devices and network devices have been required. However, in recent years, these devices have been improved in performance and cost, and parallel distributed processing using a general IA (Intel Architecture) server (that is, PC: (Personal Computer) server) and Ethernet (registered trademark) equipment. As a result, it is possible to increase the speed of data processing.
従来の並列分散処理システムは、サーバの数を増やすことで処理速度を向上させる一方、多数のサーバを集約して処理することにより、サーバ間トラヒックでネットワークが輻輳することがある(例えば、非特許文献1)。そのため、従来の並列分散処理システムは、サーバの数を増やしたり、サーバの性能を向上させたりしても、ネットワークがボトルネックになり、処理速度が上がらない場合がある。 While the conventional parallel distributed processing system improves the processing speed by increasing the number of servers, the network may be congested by inter-server traffic by consolidating and processing many servers (for example, non-patent) Reference 1). For this reason, in the conventional parallel distributed processing system, even if the number of servers is increased or the server performance is improved, the network may become a bottleneck and the processing speed may not increase.
ここで、従来の並列分散処理システムは、イーサネット機器を用いると、比較的、安価にネットワークを構築することができる。このイーサネット機器を用いた場合、レイヤ2ネットワークでは、ブロードキャストストームによるループ問題を回避するため、スパニングツリープロトコルを利用することが多い。しかし、このスパニングツリープロトコルは、レイヤ2ネットワークに存在する複数の経路のうち、主となる一つの経路以外の冗長な経路を、障害が発生するまで論理的にブロックするため、帯域を有効活用することができない。
Here, the conventional parallel distributed processing system can construct a network at a relatively low cost by using an Ethernet device. When this Ethernet device is used, a spanning tree protocol is often used in a
そこで、レイヤ2ネットワークにおいて、複数の経路を有効活用できる方式として、TRILLやOpenFlowが提案されている(例えば、非特許文献2,3)。このTRILLは、複数の経路で長さが異なるときは最短経路を選択し、複数の経路で長さが同じときは予め設定されたアルゴリズムで経路を選択する。これによって、TRILLは、ネットワーク負荷を分散すると共に、ブロックして使わない経路を無くすことができる。
Therefore, TRILL and OpenFlow have been proposed as methods that can effectively use a plurality of routes in a
また、OpenFlowでは、従来のネットワークスイッチで行っていた経路制御及びパケット転送制御のうち、パケット転送制御のみをOpenFlow対応スイッチで行い、経路制御をOpenFlowコントローラで行う。このとき、OpenFlowでは、予め設定されたアルゴリズムにより、フロー単位で経路を変えることができる。
なお、フローとは、入力スイッチポート(物理ポート)、送信元/宛先MACアドレス、送信元/宛先IPアドレス、送信元/宛先ポート番号等の識別子を任意に組み合わせたものである。
In OpenFlow, of the path control and packet transfer control performed by the conventional network switch, only the packet transfer control is performed by the OpenFlow compatible switch, and the path control is performed by the OpenFlow controller. At this time, in OpenFlow, a route can be changed in units of flows by a preset algorithm.
A flow is an arbitrary combination of identifiers such as an input switch port (physical port), a source / destination MAC address, a source / destination IP address, and a source / destination port number.
さらに、OpenFlowコントローラは、OpenFlow対応スイッチとの間でLLDP(Link Layer Discovery Protocol)パケットを交換することで、ネットワークトポロジを検出することができる(例えば、非特許文献4)。このLLDPは、隣接ノードを発見するためのプロトコルであり、ネットワーク上の隣接ノードに対し、自装置に関する情報を通知すると共に、他装置に関する情報を取得するものである。 Furthermore, the OpenFlow controller can detect the network topology by exchanging Link Layer Discovery Protocol (LLDP) packets with the OpenFlow compatible switch (for example, Non-Patent Document 4). This LLDP is a protocol for discovering neighboring nodes, and notifies neighboring nodes on the network of information related to the own device and obtains information related to other devices.
しかし、従来の並列分散処理システムでは、OpenFlow等の経路制御技術を適用しても、ネットワークに関する情報しか考慮しないため、実行中のタスクに関係したボトルネックを正確に検出できない。さらに、従来の並列分散処理システムでは、ネットワークに関する情報しか考慮しないため、ボトルネックを回避するための経路制御が、実行中のタスクで使用している他のフローに影響を与え、新たなボトルネックを誘発することがある。 However, in a conventional parallel distributed processing system, even when a path control technique such as OpenFlow is applied, only information related to the network is considered, so that a bottleneck related to the task being executed cannot be detected accurately. In addition, since the conventional parallel distributed processing system only considers information about the network, path control to avoid bottlenecks affects other flows used in the task being executed, creating a new bottleneck. May be induced.
そこで、本発明は、実行中のタスクに関係したボトルネックを正確に検出し、新たなボトルネックを誘発しない管理装置、ボトルネック判定・経路制御プログラム、及び、並列分散処理システムを提供することを課題とする。 Therefore, the present invention provides a management device, a bottleneck determination / path control program, and a parallel distributed processing system that accurately detect a bottleneck related to a task being executed and do not induce a new bottleneck. Let it be an issue.
前記した課題を解決するため、本願第1発明に係る管理装置は、データを蓄積する端末装置である送信元端末装置と、送信元端末装置に蓄積されたデータに所定の情報処理を施す端末装置である情報処理端末装置と、情報処理端末装置で情報処理が施されたデータを蓄積する端末装置である送信先端末装置と、OpenFlowにより端末装置の間で前記データを転送するスイッチとを備える並列分散処理システムに用いられ、OpenFlowによりスイッチに対する経路制御を行うと共に、送信元端末装置のデータに情報処理端末装置で情報処理を施して送信先端末装置に送信するタスクの実行を、少なくとも情報処理端末装置が2台以上で並列化されるように端末装置に命令する管理装置であって、ネットワークトポロジ検出手段と、経路計算手段と、経路制御手段と、タスク入力手段と、端末装置決定手段と、端末装置制御手段と、ボトルネック判定手段と、を備えることを特徴とする。 In order to solve the above-described problem, a management device according to the first invention of the present application includes a transmission source terminal device that is a terminal device that accumulates data, and a terminal device that performs predetermined information processing on data accumulated in the transmission source terminal device A parallel processing unit comprising: an information processing terminal device, a transmission destination terminal device that is a terminal device that stores data processed by the information processing terminal device, and a switch that transfers the data between the terminal devices by OpenFlow. At least an information processing terminal that executes a task that is used in a distributed processing system, performs path control for a switch by OpenFlow, performs information processing on the data of the transmission source terminal device by the information processing terminal device, and transmits the data to the transmission destination terminal device A management device that instructs a terminal device to be parallelized by two or more devices, the network topology detecting means; To a road calculating means, a routing means, and the task input unit, and the terminal device determining unit, a terminal apparatus control unit, and bottlenecks determining means, comprising: a.
かかる構成によれば、管理装置は、ネットワークトポロジ検出手段によって、端末装置から、端末装置に接続されたスイッチを示すノード情報を受信すると共に、スイッチから、スイッチに接続された端末装置又は他のスイッチを示すノード情報を受信し、端末装置及びスイッチから受信したノード情報に基づいて、端末装置及びスイッチの接続形態であるネットワークトポロジを検出する。 According to such a configuration, the management device receives, from the terminal device, node information indicating the switch connected to the terminal device by the network topology detection unit, and from the switch, the terminal device or other switch connected to the switch Is detected, and based on the node information received from the terminal device and the switch, a network topology which is a connection form of the terminal device and the switch is detected.
また、管理装置は、経路計算手段によって、ネットワークトポロジに基づいて、タスクを実行する端末装置で起動するプロセスのポート番号で特定され、かつ、OpenFlowの経路制御単位であるフロー毎に、端末装置の間を結ぶ最短経路又は最小コスト経路を主要経路として計算し、計算した主要経路を示す経路情報を生成する。 In addition, the management device, for each flow that is specified by the port number of the process activated by the terminal device that executes the task by the route calculation unit and that is a unit of the OpenFlow route control, is based on the network topology. A shortest path or a minimum cost path connecting the two is calculated as a main path, and path information indicating the calculated main path is generated.
また、管理装置は、経路制御手段によって、経路計算手段で生成した経路情報をスイッチに送信する。そして、管理装置は、タスク入力手段によって、タスクを実行する端末装置の識別情報が含まれるタスク情報を入力する。さらに、管理装置は、端末装置決定手段によって、タスク情報に基づいて、タスクを実行する端末装置を決定する。 In addition, the management device transmits the route information generated by the route calculation unit to the switch by the route control unit. And a management apparatus inputs the task information containing the identification information of the terminal device which performs a task by a task input means. Furthermore, the management device determines the terminal device that executes the task based on the task information by the terminal device determination means.
また、管理装置は、端末装置制御手段によって、端末装置決定手段で決定された端末装置の識別情報と、フロー毎に固有のプロセスのポート番号とを対応付けた転送コネクション情報を生成し、プロセスの起動と、転送コネクションの作成とを端末装置に命令する。 In addition, the management device generates transfer connection information in which the terminal device control unit associates the terminal device identification information determined by the terminal device determination unit with the port number of the process unique to each flow, and Command the terminal device to start up and create a transfer connection.
また、管理装置は、ボトルネック判定手段によって、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、実行中のタスクでボトルネックが発生したか否かを判定する。
プロセスに関する情報とは、転送コネクション情報及びタスク完了情報のことである。
ネットワークに関する情報とは、経路情報、ノード情報及びデータ転送量情報のことである。
In addition, the management apparatus determines whether or not a bottleneck has occurred in the task being executed by using the bottleneck determination unit in consideration of not only information regarding the network but also information regarding the process.
Information related to the process is transfer connection information and task completion information.
The information regarding the network is path information, node information, and data transfer amount information.
また、管理装置は、経路計算手段によって、実行中のタスクでボトルネックが発生していると判定された場合、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、タスクを実行中のプロセスで使用しているフローの迂回経路を計算して、計算した迂回経路を示す迂回経路情報を生成する。 In addition, when it is determined by the route calculation means that a bottleneck has occurred in the task being executed, the management device considers not only information related to the network but also information related to the process, and the process executing the task The detour route of the flow used in is calculated, and detour route information indicating the calculated detour route is generated.
また、本願第2発明に係る管理装置は、ネットワークトポロジ検出手段が、ネットワークトポロジの差分により、ネットワークトポロジが変更されたか否かを判定し、ネットワークトポロジが変更された場合、経路情報に基づいて、主要経路が削除されたか否かを判定し、経路計算手段が、主要経路が削除された場合、変更されたネットワークトポロジに基づいて、削除された主要経路の代わりとなる主要経路を計算することを特徴とする。
かかる構成によれば、管理装置は、主要経路が削除された場合でも、最適な主要経路を計算することができる。
Further, in the management device according to the second invention of the present application, the network topology detection means determines whether or not the network topology has been changed based on the difference in network topology, and when the network topology is changed, based on the path information, It is determined whether or not the main route has been deleted, and when the main route is deleted, the route calculation means calculates a main route that substitutes for the deleted main route based on the changed network topology. Features.
According to this configuration, the management apparatus can calculate the optimum main route even when the main route is deleted.
また、本願第3発明に係る管理装置は、経路制御手段が、予め設定された数のフローについて、迂回経路情報をスイッチに送信することを特徴とする。
かかる構成によれば、管理装置は、ボトルネックとなっているフローの経路を全て一度に迂回させて、ボトルネックが発生していなかったフローの経路にも、大量の通信がなだれ込み、新たなボトルネックが誘発することを防止できる。
The management device according to the third invention of the present application is characterized in that the route control means transmits detour route information to the switch for a preset number of flows.
According to this configuration, the management device bypasses all the flow paths that are bottlenecks at once, and a large amount of communication is avaliated into the flow paths in which the bottleneck has not occurred. The bottleneck can be prevented from being induced.
また、本願第4発明に係る管理装置は、経路計算手段が、迂回経路の計算結果に基づいて、迂回経路が存在するか否かを判定し、迂回経路が存在しない場合、予め設定されたネットワークリソースの追加を提案するメッセージを提示することを特徴とする。
かかる構成によれば、管理装置は、迂回経路が存在しない場合、並列分散処理システムの利用者にネットワークリソースの追加を提案することができる。
Further, in the management device according to the fourth invention of the present application, the route calculation means determines whether or not a bypass route exists based on the calculation result of the bypass route. It is characterized by presenting a message proposing the addition of resources.
According to such a configuration, the management device can propose addition of network resources to the user of the parallel distributed processing system when there is no detour path.
また、前記した課題を解決するため、本願第5発明に係る並列分散処理システムは、データを蓄積する送信元端末装置、送信元端末装置に蓄積されたデータに所定の情報処理を施す情報処理端末装置、又は、情報処理端末装置で情報処理が施されたデータを蓄積する送信先端末装置のうち、何れか1以上の役割を担う端末装置と、OpenFlowにより端末装置の間で前記データを転送するスイッチと、本願第1発明に係る管理装置と、を備えることを特徴とする。 In order to solve the above-described problem, a parallel distributed processing system according to the fifth invention of the present application is a transmission source terminal device that accumulates data, and an information processing terminal that performs predetermined information processing on the data accumulated in the transmission source terminal device The data is transferred between the terminal device that plays one or more roles among the device or the destination terminal device that stores the data processed by the information processing terminal device, and the terminal device using OpenFlow. A switch and a management device according to the first aspect of the present invention are provided.
かかる構成によれば、並列分散処理システムは、管理装置によって、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、実行中のタスクでボトルネックが発生したか否かを判定する。 According to such a configuration, the parallel distributed processing system determines whether or not a bottleneck has occurred in the task being executed by the management apparatus in consideration of not only information related to the network but also information related to the process.
また、並列分散処理システムは、管理装置によって、実行中のタスクでボトルネックが発生していると判定された場合、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、タスクを実行中のプロセスで使用しているフローの迂回経路を計算して、計算した迂回経路を示す迂回経路情報を生成する。 In addition, when the parallel distributed processing system determines that a bottleneck has occurred in the task being executed by the management device, the task is being executed in consideration of not only information related to the network but also information related to the process. A detour route of the flow used in the process is calculated, and detour route information indicating the calculated detour route is generated.
なお、本願第1発明に係る管理装置は、コンピュータが備えるCPU、メモリ、ハードディスクなどのハードウェア資源を、ネットワークトポロジ検出手段、経路計算手段、経路制御手段、タスク入力手段、端末装置決定手段、端末装置制御手段、ボトルネック判定手段として機能させるためのボトルネック判定・経路制御プログラムによって実現することもできる(本願第6発明)。このプログラムは、通信回線を介して配布してもよく、CD−ROMやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。 The management device according to the first invention of the present application uses hardware resources such as a CPU, a memory, and a hard disk provided in a computer as network topology detection means, route calculation means, route control means, task input means, terminal device determination means, and terminal. It can also be realized by a bottleneck determination / route control program for functioning as device control means and bottleneck determination means (the sixth invention of the present application). This program may be distributed through a communication line, or may be distributed by writing in a recording medium such as a CD-ROM or a flash memory.
本発明によれば、以下のような優れた効果を奏する。
本願第1,5,6発明によれば、プロセスに関する情報と、ネットワークに関する情報との両方を用いるため、ボトルネックを正確に検出できると共に、新たなボトルネックを発生させずに経路制御を行うことができる。
本願第2発明によれば、主要経路が削除された場合でも、最適な主要経路を計算できるため、新たなボトルネックを発生させずに経路制御を行うことができる。
According to the present invention, the following excellent effects can be obtained.
According to the first, fifth, and sixth inventions of the present application, both the information on the process and the information on the network are used, so that the bottleneck can be accurately detected and the path control is performed without generating a new bottleneck. Can do.
According to the second invention of the present application, even when the main route is deleted, the optimum main route can be calculated, so that the route control can be performed without generating a new bottleneck.
本願第3発明によれば、ボトルネックが発生していないフローの経路に、大量の通信トラフィックがなだれ込むことを防止できるため、新たなボトルネックの発生を抑制することができる。
本願第4発明によれば、迂回経路が存在しない場合、並列分散処理システムの利用者にネットワークリソースの追加を提案することができる。
According to the third invention of the present application, it is possible to prevent a large amount of communication traffic from flowing into the path of a flow in which no bottleneck has occurred, and thus it is possible to suppress the occurrence of a new bottleneck.
According to the fourth aspect of the present invention, when there is no detour path, it is possible to propose addition of network resources to the user of the parallel distributed processing system.
[並列分散処理システムの概略]
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。
図1を参照し、本発明の実施形態に係る並列分散処理システム1の概略について、説明する。
[Outline of parallel distributed processing system]
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings as appropriate.
With reference to FIG. 1, the outline of the parallel distributed processing system 1 which concerns on embodiment of this invention is demonstrated.
並列分散処理システム1は、処理装置2を使用してデータの並列分散処理を行うものであり、処理装置2と、管理装置10とを備える。
処理装置2は、管理装置10からの制御に応じて並列分散処理を行うものであり、サーバ(端末装置)20と、スイッチ30と、通信回線40とを備える。
The parallel distributed processing system 1 performs parallel distributed processing of data using the
The
管理装置10は、並列分散処理に必要な情報を処理装置2から収集して管理すると共に、処理装置2を制御するものである。具体的には、管理装置10は、後記するネットワークトポロジの変更判定、経路制御、並列プロセス制御、ボトルネックの検出、及び、迂回経路制御といった処理を行う(図6)。
The
サーバ20は、送信元端末装置201、情報処理端末装置202、又は、送信先端末装置203のうち、何れかの1以上の役割を担うものである。
送信元端末装置201は、並列分散処理の対象となるデータを蓄積すると共に、蓄積したデータを予め指定されたサイズ(粒度)で分割してパケット化し、情報処理端末装置202に送信するサーバ20である。
情報処理端末装置202は、送信元端末装置201から受信したデータのパケットに情報処理を施して、処理結果を送信先端末装置203に送信するサーバ20である。
送信先端末装置203は、情報処理端末装置202から受信したデータのパケットを所定の順番で配列することでデータを復元し、蓄積するサーバ20である。
The
The information
スイッチ30は、サーバ20の間でパケット転送制御を行うものである。本実施形態では、経路制御技術としてOpenFlowを用いるため、スイッチ30は、OpenFlow対応スイッチであることとする。
通信回線40は、例えば、サーバ20及びスイッチ30を接続するLAN(Local Area Network)ケーブルである。
The
The
<情報処理の一例>
以下、並列分散処理システム1で行われる情報処理の一例について、説明する。
並列分散処理システム1は、例えば、情報処理として、映像データに対し、トランスコーディング等の映像加工処理を行うことができる。すなわち、並列分散処理システム1は、送信元端末装置201に蓄積された映像データを分割してパケット化し、各情報処理端末装置202に送信する。また、並列分散処理システム1は、各情報処理端末装置202が、この映像データのパケットに映像加工処理を並列で施し、映像加工処理が施された映像データのパケットを送信先端末装置203に送信する。そして、並列分散処理システム1は、送信先端末装置203が、映像加工処理が施された映像データのパケットを所定の順番で配列することで映像加工処理済みのデータを復元し、蓄積する。
なお、本発明での情報処理は、映像加工処理に限定されないことは言うまでもない。
<Example of information processing>
Hereinafter, an example of information processing performed in the parallel distributed processing system 1 will be described.
For example, the parallel distributed processing system 1 can perform video processing such as transcoding on video data as information processing. That is, the parallel distributed processing system 1 packetizes by dividing the image data stored in the transmission source
Needless to say, the information processing in the present invention is not limited to video processing.
<OpenFlowの説明>
図2を参照し、並列分散処理システム1で用いるOpenFlowについて、具体的に説明する。
なお、図2では、OpenFlowコントローラを「コントローラ」と略記し、OpenFlow対応スイッチ30を「スイッチ」と略記した。
また、図2では、OpenFlowコントローラ10とOpenFlow対応スイッチ30との間において、経路制御に伴う信号及び情報の入出力を、一点鎖線で図示した。
本実施形態では、図1の管理装置10が、OpenFlowコントローラ10に相当する。また、図1のスイッチ30がOpenFlow対応スイッチ30に相当する。
<Description of OpenFlow>
The OpenFlow used in the parallel distributed processing system 1 will be specifically described with reference to FIG.
In FIG. 2, the OpenFlow controller is abbreviated as “controller”, and the OpenFlow
Further, in FIG. 2, input / output of signals and information associated with path control between the
In the present embodiment, the
図2に示すように、OpenFlow対応スイッチ30は、従来のネットワークスイッチにおける経路制御とパケット転送制御のうち、パケット転送制御のみを行う。一方、OpenFlowコントローラ10は、OpenFlow対応スイッチ30に対して、経路の集中制御を行う。
As shown in FIG. 2, the OpenFlow
OpenFlowでは、フローが経路制御単位であり、各フローに、アクションと、統計情報と、マッチングルールという概念が適用されている。
本実施形態では、宛先ポート番号で識別される一つのデータ転送処理がフローである。言い換えるなら、各フローは、タスクを実行するサーバ20で起動するプロセスのポート番号(宛先ポート番号)で特定できる。従って、宛先ポート番号の値により、出力するスイッチポートを、フロー毎に切り換えることとする。
アクションとは、マッチングルール毎に予め設定された処理定義のことである。例えば、アクションでは、出力するスイッチポートの指定や宛先MACアドレスの書き換えによって、サーバ20とスイッチ30との間で直接経路を設定することができる。
統計情報は、例えば、フロー毎のデータ転送量(バイト数)である。ここで、コントローラ10は、隣接する2つのスイッチ30の統計情報を用いて、パケットロスの発生を判定できる。
In OpenFlow, a flow is a path control unit, and the concept of action, statistical information, and matching rule is applied to each flow.
In this embodiment, one data transfer process identified by the destination port number is a flow. In other words, each flow can be identified by the port number (destination port number) of the process activated by the
An action is a process definition set in advance for each matching rule. For example, in the action, a direct route can be set between the
The statistical information is, for example, a data transfer amount (number of bytes) for each flow. Here, the
マッチングルールとは、入力スイッチポート、送信元/宛先MAC(Media Access Control)アドレス、送信元/宛先IP(Internet Protocol)アドレス、送信元/宛先ポート番号等の識別情報により、フローを識別する規則である。ここで、パケットA(入力スイッチポート番号1、宛先ポート番号10000)、パケットB(入力スイッチポート番号2、宛先ポート番号10000)、パケットC(入力スイッチポート番号1、宛先ポート番号10001)という3つのパケットがある場合を考える。この場合、“入力スイッチポート=1”がマッチングルールであれば、パケットA,Cが同一フローとなる。また、“宛先ポート番号=10000”がマッチングルールであれば、パケットA,Bが同一フローとなる。このように、OpenFlow対応スイッチは、パケットを受信すると、保存している経路情報のマッチングルールに一致するパケットの通信について、マッチングルールに対応して定められたアクションを実行する。その結果、OpenFlowでは、フロー毎に経路50を制御することができる。さらに、OpenFlowでは、あるパケットが複数のマッチングルールに一致する場合、優先度が高いマッチングルールに対応して定められたアクションを実行する。
The matching rule is a rule for identifying a flow based on identification information such as an input switch port, a source / destination MAC (Media Access Control) address, a source / destination IP (Internet Protocol) address, and a source / destination port number. is there. Here, there are three packet A (input switch port number 1, destination port number 10000), packet B (input
ここで、フローとプロセスとの関係について、補足する。
前記したように、フローとプロセスとが対応することから、サーバ20で起動したプロセス間でのデータ転送処理が1フローとなる。例えば、送信元端末装置201で起動したプロセスと情報処理端末装置202で起動したプロセスとの間でのデータ転送処理が1フローとなり、情報処理端末装置202で起動したプロセスと送信先端末装置203で起動したプロセスとの間でのデータ転送処理が1フローとなる。
Here, it supplements about the relationship between a flow and a process.
As described above, since the flow and the process correspond to each other, the data transfer process between the processes activated by the
[管理装置の構成]
図3を参照し、管理装置10の構成について、説明する。
なお、図3では、並列分散処理に必要な情報の入出力を分かり易くするため、管理装置10とサーバ20との間で直接、各情報の入出力を示す矢印を図示したが、実際には、スイッチ30を介して各情報が入出力される。
[Configuration of management device]
The configuration of the
In FIG. 3, in order to make the input / output of information necessary for parallel distributed processing easy to understand, arrows indicating input / output of each information are illustrated directly between the
図3に示すように、管理装置10は、タスク入力手段110と、情報管理手段120と、情報表示手段130と、並列プロセス計算手段(端末装置決定手段)140と、並列プロセス制御手段(端末装置制御手段)150と、経路計算手段160と、経路制御手段170とを備える。
As shown in FIG. 3, the
タスク入力手段110は、利用者がタスク情報を入力するものである。例えば、タスク入力手段110は、ウェブブラウザのようなインターフェースを介して、利用者にタスク情報を入力させてもよく、テキストファイルにタスク情報の内容を記述させてもよい。そして、タスク入力手段110は、入力されたタスク情報を、並列プロセス計算手段140に出力する。
利用者とは、例えば、並列分散処理システム1の管理者や使用者のことである。
The task input means 110 is for the user to input task information. For example, the
A user is, for example, an administrator or a user of the parallel distributed processing system 1.
タスク情報とは、並列分散処理に必要な情報であり、例えば、タスクを実行するサーバ20の識別情報と、並列分散処理を行う数(並列化数)と、データの分割サイズ(粒度)、並列分散処理に用いるデータ(ファイル)へのパスが含まれる。
The task information is information necessary for parallel distributed processing. For example, the identification information of the
例えば、サーバ20の識別情報には、送信元端末装置201としてタスクを実行するサーバ20のIPアドレスと、送信先端末装置203としてタスクを実行するサーバ20のIPアドレスとが含まれる。
For example, the identification information of the
また、並列化数には、並列分散処理を行う数、つまり、情報処理端末装置202で起動するプロセスの数が含まれる。例えば、並列化数は、ある映像の色を変える映像加工処理を場合、その映像加工処理を行う情報処理端末装置202で起動されるプロセスの数を示す。
Further, the number of parallelization, the number of performing the parallel distributed processing, i.e., contains the number of processes started by the information
なお、プロセスとは、サーバ20の役割に応じた情報処理を実行するプログラムのことであり、後記する並列処理実行手段230により起動される(不図示)。本実施形態では、送信元端末装置201、情報処理端末装置202及び送信先端末装置203の何れの役割であっても、各サーバ20がプロセスを1つだけ起動することとする。
The process is a program that executes information processing according to the role of the
情報管理手段120は、並列分散処理に必要な情報を管理(蓄積)するものであり、ネットワークトポロジ検出手段121と、ボトルネック判定手段122と、タスク完了判定手段123と、蓄積手段124とを備える。
The
ネットワークトポロジ検出手段121は、後記する蓄積手段124に蓄積されたノード情報に基づいて、ネットワークトポロジを検出するものである。また、ネットワークトポロジ検出手段121は、検出したネットワークトポロジの差分により、ネットワークトポロジが変更されたか否かを判定する。そして、ネットワークトポロジ検出手段121は、ネットワークトポロジが変更された場合、変更後のネットワークトポロジを示すネットワークトポロジ情報を生成し、蓄積手段124に蓄積する。
The network
<ネットワークトポロジの変更>
図4を参照し、ネットワークトポロジの変更について、具体的に説明する(適宜図3参照)。
なお、図4では、スイッチ30a,30bに接続されたサーバ20の図示を省略した。
<Change of network topology>
With reference to FIG. 4, the change of the network topology will be specifically described (see FIG. 3 as appropriate).
In FIG. 4, the
ネットワークトポロジとは、処理装置2に含まれるノード(サーバ20及びスイッチ30)の接続形態のことである。
ここで、ノード情報は、サーバ20に接続されたスイッチ30や、スイッチ30に接続されたサーバ20又は他のスイッチ30を示す。このため、ネットワークトポロジ検出手段121は、全ノードのノード情報を用いれば、各ノードに接続された他のノードが分かるため、ノード同士の接続形態を把握することができる。
The network topology is a connection form of nodes (
Here, the node information indicates the
経路50とは、1以上のスイッチ30及び通信回線40により形成された、2台のサーバ20を接続する通信路のことである。本実施形態では、フロー毎に経路50が設定される。
The
図4(a)に示すように、3台のスイッチ30a,30b,30cがネットワーク内に存在することとする。そして、スイッチ30a,30bが通信回線40で接続され、スイッチ30b,30cが別の通信回線40で接続されていることとする。この場合、ネットワークトポロジ検出手段121は、図4(a)のネットワークトポロジを検出し、検出したネットワークトポロジを示すネットワークトポロジ情報を生成し、蓄積手段124に蓄積する。さらに、ネットワークトポロジ検出手段121は、ネットワークトポロジが存在しない状態において、図4(a)のネットワークトポロジを検出したため、ネットワークトポロジが変更されたと判定する。
なお、図4(a)では、スイッチ30a,30bを直接接続する経路501が1本存在することになる。
As shown in FIG. 4A, it is assumed that three
In FIG. 4 (a), the results in the
図4(b)に示すように、図4(a)のネットワークトポロジに、スイッチ30a,30cの間に別の通信回線40を追加したこととする。この場合、ネットワークトポロジ検出手段121は、図4(b)のネットワークトポロジを検出し、検出したネットワークトポロジを示すネットワークトポロジ情報を生成する。そして、ネットワークトポロジ検出手段121は、蓄積手段124に蓄積されている図4(a)のネットワークトポロジを示すネットワークトポロジ情報を、図4(b)のネットワークトポロジを示すネットワークトポロジ情報で更新する。さらに、ネットワークトポロジ検出手段121は、図4(a)及び図4(b)のネットワークトポロジに差分があるため、ネットワークトポロジが変更されたと判定する。
なお、図4(b)では、スイッチ30a,30bを直接接続する経路501と、スイッチ30a,30c,30bの順で経由する経路502との計2本存在がすることになる。
As shown in FIG. 4B, it is assumed that another
Incidentally, in FIG. 4 (b), the
図4(c)に示すように、図4(b)のネットワークトポロジから、スイッチ30a,30bの間で通信回線40を削除したこととする。この場合、ネットワークトポロジ検出手段121は、図4(c)のネットワークトポロジを検出し、検出したネットワークトポロジを示すネットワークトポロジ情報を生成する。そして、ネットワークトポロジ検出手段121は、蓄積手段124に蓄積されている図4(b)のネットワークトポロジを示すネットワークトポロジ情報を、図4(c)のネットワークトポロジを示すネットワークトポロジ情報で更新する。さらに、ネットワークトポロジ検出手段121は、図4(b)及び図4(c)のネットワークトポロジに差分があるため、ネットワークトポロジが変更されたと判定する。
なお、図4(c)では、スイッチ30a,30c,30bの順で経由する経路502が1本存在することになる。このように、ネットワークトポロジの変更に従い、通信可能な経路50が変動することになる。
As shown in FIG. 4C, it is assumed that the
In FIG. 4 (c), the results in the
さらに、ネットワークトポロジ検出手段121は、図4(a)〜図4(c)のように、ネットワークトポロジが変更された場合、以下の処理を行う。
ネットワークトポロジ検出手段121は、蓄積手段124に蓄積された経路情報に基づいて、ネットワークトポロジの変更により主要経路の通信回線40が削除されたか否かを判定する。例えば、図4(b)の経路501が主要経路であり、その後、図4(c)のようにスイッチ30a,30bの間で通信回線40が削除された場合を考える。この場合、ネットワークトポロジ検出手段121は、主要経路である経路501に含まれる通信回線40が削除されたため、削除された通信回線40の識別情報を、通信回線削除情報として、経路計算手段160に出力する。
Further, the network
Based on the route information stored in the
<主要経路の説明>
図5を参照し、主要経路60について、具体的に説明する。
主要経路60とは、2台のサーバ20を接続する1以上の経路50(図4)のうち、テータ転送に最適な経路50のことである。例えば、2台のサーバ20が4本の経路50で接続されている場合、4本の経路50のうち、最適な1本の経路50が、主要経路60となる(不図示)。
なお、主要経路60の計算手法は、経路計算手段160で説明する。
<Description of main routes>
The
The
The calculation method of the
さらに、図5に示すように、2台のサーバ20が送信元端末装置201の役割を担い、3台のサーバ20が情報処理端末装置202の役割を担い、1台のサーバ20が送信先端末装置203の役割を担う場合を考える。
なお、図5では、サーバ20の間に配置されるスイッチ30の図示を省略した。
Furthermore, as shown in FIG. 5, two
In FIG. 5, illustration of the
この場合、2台の送信元端末装置201と、3台の情報処理端末装置202との間では、主要経路60が、両装置の台数とを乗じた6本となる。さらに、3台の情報処理端末装置202と、1台のサーバ20が送信先端末装置203との間では、主要経路60が、両装置の台数とを乗じた3本となる。つまり、図5の例では、主要経路60が合計9本となる。
In this case, the two
図3に戻り、管理装置10の構成について、説明を続ける。
ボトルネック判定手段122は、後記する転送コネクション情報と、経路情報と、タスク完了情報と、ノード情報と、データ転送量情報とに基づいて、実行中のタスクでボトルネックが発生したか否かを判定するものである。つまり、ボトルネック判定手段122は、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、実行中のタスクでボトルネックが発生したか否かを判定する。
Returning to FIG. 3, the description of the configuration of the
The bottleneck determination means 122 determines whether or not a bottleneck has occurred in the task being executed based on transfer connection information, route information, task completion information, node information, and data transfer amount information described later. Judgment. In other words, the bottleneck determination unit 122 determines whether or not a bottleneck has occurred in the task being executed in consideration of not only information regarding the network but also information regarding the process.
<ボトルネックの判定>
ボトルネックの判定について、具体的に説明する。
具体的には、ボトルネック判定手段122は、スイッチ30から送信されたデータ転送量情報に基づいて、2台のスイッチ30の間で発生したパケットロスを検出する。そして、ボトルネック判定手段122は、パケットロスが検出された場合、それらスイッチ30の間に接続された通信回線40にボトルネックが発生したと判定する。
<Determination of bottleneck>
The bottleneck determination will be specifically described.
Specifically, the bottleneck determination unit 122 detects a packet loss that has occurred between the two
通信回線40にボトルネックが発生した場合、ボトルネック判定手段122は、経路情報及びノード情報に基づいて、何れのフローでボトルネックが発生したかを特定する。つまり、ボトルネック判定手段122は、経路情報がフロー毎の主要経路を示し、ノード情報がネットワークトポロジを示すため、ボトルネックが発生した通信回線40を使用しているフロー(つまり、ボトルネックとなるフロー)を特定することができる。
When a bottleneck has occurred in the
ボトルネックとなるフローを特定できた場合、ボトルネック判定手段122は、転送コネクション情報及びタスク完了情報に基づいて、実行中のタスクでボトルネックが発生したか否かを判定する。つまり、ボトルネック判定手段122は、転送コネクション情報がタスクとプロセスとフローとの対応関係を示し、タスク完了情報がタスクの完了又は実行中を示すため、ボトルネックとなるフローを使用している実行中のタスクを特定することができる。 When the bottleneck flow can be identified, the bottleneck determination unit 122 determines whether a bottleneck has occurred in the task being executed based on the transfer connection information and the task completion information. In other words, the bottleneck determination unit 122 uses the flow that becomes the bottleneck because the transfer connection information indicates the correspondence between the task, the process, and the flow, and the task completion information indicates completion or execution of the task. You can identify the tasks inside.
ここで、ボトルネック判定手段122は、実行中のタスクでボトルネックが発生した場合、ボトルネックが発生した通信回線40の識別情報と、その通信回線40を使用しているフローの識別情報とを、ボトルネック情報として、経路計算手段160に出力すると共に、蓄積手段124に蓄積する。
Here, when a bottleneck occurs in the task being executed, the bottleneck determination unit 122 obtains the identification information of the
一方、ボトルネック判定手段122は、通信回線40にボトルネックが発生していない場合、何の処理も行わない。
さらに、ボトルネックとなるフローを特定できない場合、又は、実行中のタスクでボトルネックが発生していない場合もある。この場合も、ボトルネック判定手段122は、ボトルネックが発生した通信回線40がフローで使用されていないため、ボトルネックを放置してもタスクの実行に影響がなく、何の処理も行わない。
On the other hand, the bottleneck determination unit 122 does not perform any processing when the bottleneck does not occur in the
Furthermore, there is a case where a flow that becomes a bottleneck cannot be identified, or a bottleneck does not occur in a task being executed. Also in this case, since the
タスク完了判定手段123は、サーバ20から入力されたタスク完了情報に基づいて、タスクが完了したか否かを判定するものである。つまり、タスク完了判定手段123は、タスク完了情報が入力された場合、そのタスクが完了したと判定する。そして、タスクが完了した場合、タスク完了判定手段123は、完了したタスクの転送コネクション情報を、蓄積手段124から削除する。
The task completion determination unit 123 determines whether the task has been completed based on the task completion information input from the
また、タスク完了判定手段123は、蓄積手段124に蓄積された転送コネクション情報に基づいて、実行中のタスクが有るか無いかを判定する。つまり、タスク完了判定手段123は、蓄積手段124に転送コネクション情報が蓄積されている場合、実行中のタスクが有ると判定する。一方、タスク完了判定手段123は、蓄積手段124に転送コネクション情報が蓄積されていない場合、実行中のタスクが無いと判定する。そして、実行中のタスクが無い場合、タスク完了判定手段123は、経路計算指示を経路計算手段160に出力する。
The task completion determination unit 123 determines whether there is a task being executed based on the transfer connection information stored in the
蓄積手段124は、並列プロセス制御手段150が生成した転送コネクション情報と、経路計算手段160が生成した経路情報及び迂回経路情報と、ネットワークトポロジ検出手段121が生成したネットワークトポロジ情報と、ボトルネック判定手段122が生成したボトルネック情報とを蓄積するメモリ、ハードディスク等の記憶装置である。
The
情報表示手段130は、蓄積手段124に蓄積されたネットワークトポロジ情報、経路情報、及び、ボトルネック情報を、利用者に提示するものである。また、情報表示手段130は、経路計算手段160から入力されたメッセージを利用者に提示する。例えば、情報表示手段130は、ネットワークトポロジ情報、経路情報、ボトルネック情報及びメッセージを、図示を省略したディスプレイに表示する。
The information display means 130 presents the network topology information, path information, and bottleneck information stored in the storage means 124 to the user. The information display means 130 presents the message input from the route calculation means 160 to the user. For example, the
並列プロセス計算手段140は、タスク入力手段110から入力されたタスク情報に基づいて、タスクを実行するサーバ20を決定するものである。
例えば、並列プロセス計算手段140は、タスクを実行するサーバ20を、以下のように決定する。
この場合、並列プロセス計算手段140は、タスク情報の識別情報を参照し、送信元端末装置201及び送信先端末装置203を決定する。また、並列プロセス計算手段140は、送信元端末装置201及び送信先端末装置203として決定されなかった残りサーバ20のうち、タスク情報の並列化数と同じ台数のサーバ20を、ラウンドロビンにより、情報処理端末装置202として決定する。
The parallel
For example, the parallel
In this case, parallel
そして、並列プロセス計算手段140は、決定したサーバ20の識別情報と、各サーバ20で起動するプロセスの数とを示すサーバ特定情報を、並列プロセス制御手段150に出力する。
Then, the parallel
並列プロセス制御手段150は、並列プロセス計算手段140から入力されたサーバ特定情報に従って、プロセスの起動と、転送コネクションの作成とをサーバ20に命令し、並列分散処理に必要なパラメータを通知するものである。このとき、並列プロセス制御手段150は、プロセス毎に別の宛先ポート番号を付与し、かつ、プロセスを複数起動できるため、データの転送処理や映像加工処理を並列化することができる。
なお、パラメータとは、例えば、映像加工処理におけるトランスコードの有無やビットレートのことである。
The parallel
The parameters are, for example, the presence / absence of transcoding and the bit rate in video processing.
また、並列プロセス制御手段150は、前記したサーバ特定情報に従って、タスク開始により転送コネクション情報を生成し、生成した転送コネクション情報を蓄積手段124に蓄積する。
転送コネクション情報とは、例えば、タスクの識別情報と、サーバ特定情報に含まれるサーバ20の識別情報と、フローの識別情報と、フロー毎に固有のプロセスのポート番号とを対応付けた情報である。
例えば、タスクの識別情報と、並列分散処理システム1で固有に付けられたタスクのID(IDentification)である。
また、例えば、フローの識別情報とは、並列分散処理システム1で固有に付けられたフローのIDである。
Further, the parallel
The transfer connection information is, for example, information in which task identification information,
For example, task identification information and task ID (IDentification) uniquely assigned in the parallel distributed processing system 1.
For example, the flow identification information is a flow ID uniquely assigned in the parallel distributed processing system 1.
経路計算手段160は、経路を計算するものである。
本実施形態では、経路計算手段160は、全ての主要経路の計算(図7のステップS17)と、削除された主要経路の代わりとなる新たな主要経路の計算(図7のステップS14)と、迂回経路の計算(図9のステップS31)という、3種類の経路計算を行う。以下、3種類の経路計算について、順に説明する。
The route calculation means 160 calculates a route.
In the present embodiment, the route calculation means 160 calculates all the main routes (step S17 in FIG. 7), calculates a new main route that replaces the deleted main route (step S14 in FIG. 7), Three types of route calculation are performed: calculation of a detour route (step S31 in FIG. 9). Hereinafter, three types of route calculation will be described in order.
<1種類目:全ての主要経路の計算>
経路計算手段160は、蓄積手段124に蓄積されているネットワークトポロジ情報に基づいて、フローが発生する全てのサーバ20について、これらサーバ20の間を結ぶ最短経路を主要経路として計算する。例えば、経路計算手段160は、ダイクストラ法での最短経路を主要経路として計算する。そして、経路計算手段160は、計算した主要経路を示す経路情報を生成し、生成した経路情報を経路制御手段170に出力すると共に、蓄積手段124に蓄積する。
<First type: Calculation of all major routes>
Based on the network topology information stored in the
このダイクストラ法は、例えば、参考文献「E.W.Dijkstra, ”A note on two problems in connexion with graphs”, Numerische Mathematik, (1959), Volume 1, Number 1,pp.269-271」に記載されている。 This Dijkstra method is described, for example, in the reference document “E.W.
<2種類目:新たな主要経路の計算>
経路計算手段160は、ネットワークトポロジ検出手段121から通信回線削除情報が入力された場合、蓄積手段124に蓄積されているネットワークトポロジ情報に基づいて、新たな主要経路を計算する。このネットワークトポロジ情報は、ネットワークトポロジの変更が反映されている。例えば、経路計算手段160は、通信回線削除情報が示す通信回線40を使用していた主要経路に代わりに、ダイクストラ法での最短経路を新たな主要経路として計算する。そして、経路計算手段160は、計算した新たな主要経路を示す経路情報を生成し、生成した経路情報を経路制御手段170に出力すると共に、蓄積手段124に蓄積する。
<Second type: Calculation of new main route>
When the communication line deletion information is input from the network
<3種類目:迂回経路の計算>
経路計算手段160は、ボトルネック判定手段122からボトルネック情報が入力された場合、転送コネクション情報と、経路情報と、タスク完了情報と、ノード情報とに基づいて、タスクを実行中のプロセスで使用しているフローを迂回可能な迂回経路を計算する。つまり、経路計算手段160は、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、迂回経路を計算する。
<Third type: Calculation of detour route>
When the bottleneck information is input from the bottleneck determination unit 122, the
具体的には、経路計算手段160は、転送コネクション情報及びタスク完了情報に基づいて、実行中のタスクが使用しているプロセス及びフローを特定する。つまり、経路計算手段160は、転送コネクション情報がタスクとプロセスとフローとの対応関係を示し、タスク完了情報がタスクの完了又は実行中を示すため、実行中のタスクが使用しているプロセス及びフローを特定することができる。
Specifically, the
次に、経路計算手段160は、経路情報及びノード情報に基づいて、実行中のタスクが使用しているフローや、重要度の高いタスク(例えば、ストリーム処理タスク)に影響を与えないように迂回経路を計算する。例えば、経路計算手段160は、蓄積手段124に蓄積されているネットワークトポロジ情報から、ボトルネック情報が示す通信回線40を除いた仮想ネットワークトポロジを用いて、ダイクストラ法での最短経路を迂回経路として計算する。
Next, the route calculation means 160 makes a detour based on the route information and the node information so as not to affect the flow used by the task being executed or a task with high importance (for example, a stream processing task). Calculate the route. For example, the
そして、経路計算手段160は、迂回経路が存在する場合に迂回可能と判定し、迂回経路が存在しない場合に迂回不可能と判定する。例えば、経路計算手段160は、2台のサーバ20の間で1本の経路しか存在せず、その1本の経路でボトルネックが検出された場合、迂回不能と判定する。
Then, the
迂回可能な場合、経路計算手段160は、計算した迂回経路を示す迂回経路情報を生成し、生成した迂回経路情報を経路制御手段170に出力すると共に、蓄積手段124に蓄積する。
一方、迂回不可能な場合、経路計算手段160は、情報表示手段130を介して、予め設定されたメッセージを利用者に提示する。このメッセージは、並列分散処理システム1の利用者にネットワークリソースの追加を提案するメッセージである。
When the detour is possible, the
On the other hand, when the detour is not possible, the
経路制御手段170は、経路計算手段160から入力された経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積するものである。つまり、平常状態では、経路計算手段160は、フローが主要経路を通るように経路制御することになる。
The
また、経路制御手段170は、経路計算手段160から入力された迂回経路情報を、この迂回経路情報が示す経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積する。ここで、フローを迂回経路に迂回させる際、経路制御手段170は、OpenFlowにおける優先度を高くすることで、迂回経路を通るように経路制御できる。
Further, the
ボトルネックとなっているフローの経路を全て一度に迂回させると、ボトルネックが発生していなかったフローの経路にも、大量の通信がなだれ込み、新たなボトルネックを誘発することがある。これを防止するため、経路制御手段170は、予め設定された数のフロー(例えば、1個のフロー)について、迂回経路情報をスイッチに送信する。
If all of the flow paths that are bottlenecks are detoured at once, a large amount of communication may be drowned into the flow paths in which the bottleneck has not occurred, and a new bottleneck may be induced. In order to prevent this, the
さらに、経路制御手段170は、迂回経路情報に生存時間を付加して、生存時間が経過すると、迂回経路情報を無効にしてもよい。この場合、経路制御手段170は、迂回前の経路情報を再び使用すると共に、無効になった迂回経路情報を蓄積手段124から削除してもよい。
Further, the
[サーバの構成]
以下、サーバ20の構成について、説明する。
図3に示すように、サーバ20は、命令実行手段210と、情報収集手段220と、並列処理実行手段230と、蓄積手段240とを備える。
命令実行手段210は、管理装置10から命令を受信し、受信した命令を並列処理実行手段230に出力することで、この命令を並列処理実行手段230に実行させるものである。
[Server configuration]
Hereinafter, the configuration of the
As shown in FIG. 3, the
The
情報収集手段220は、ARP(Address Resolution Protocol)パケットやLLDPパケットの交換により、隣接するノードを発見するものである。そして、情報収集手段220は、発見したノード情報を、サーバ20の識別情報と共に、管理装置10に送信する。
The information collecting means 220 finds adjacent nodes by exchanging ARP (Address Resolution Protocol) packets and LLDP packets. Then, the
並列処理実行手段230は、命令実行手段210から入力される命令に従って、並列処理を実行するものである。具体的には、並列処理実行手段230は、この命令に従って、タスクの実行に必要なプロセスを起動し、転送コネクションを作成する。
The parallel
具体的には、並列処理実行手段230は、送信元端末装置201、情報処理端末装置202及び送信先端末装置203の役割に応じたプロセスを起動し、命令を実行する。
例えば、このサーバ20が送信元端末装置201として動作する場合、並列処理実行手段230は、映像データのパケットを送信するプロセスを起動する。そして、並列処理実行手段230は、起動したプロセスにより、蓄積手段240に蓄積されているデータを分割してパケット化し、情報処理端末装置202に送信する。
また、例えば、このサーバ20が情報処理端末装置202として動作する場合、並列処理実行手段230は、映像加工処理を施すプロセスを起動する。そして、並列処理実行手段230は、起動したプロセスにより、送信元端末装置201から受信したデータのパケットに情報処理を施して、処理結果を送信先端末装置203に送信する。
また、例えば、このサーバ20が送信先端末装置203として動作する場合、並列処理実行手段230は、映像加工処理が施された映像データのパケットを受信し、所定の順番で配列して復元するプロセスを起動する。そして、並列処理実行手段230は、起動したプロセスにより、情報処理端末装置202から受信したデータのパケットを、所定の順番で配列することで情報処理済みのデータを復元し、蓄積手段240に蓄積する。
Specifically, the parallel
For example, if the
Further, for example, if the
Further, for example, if the
また、並列処理実行手段230は、予め設定されたタスク完了条件を満たす場合、タスクの完了を示すタスク完了情報を管理装置10に送信する。
このタスク完了条件とは、タスクが完了したことを示す条件である。例えば、タスク完了条件は、このサーバ20が送信先端末装置203として動作する場合、送信先端末装置203が情報処理端末装置202から、情報処理後のデータを全て受信したという条件である。
In addition, the parallel
The task completion condition is a condition indicating that the task is completed. For example, task completion conditions, if the
蓄積手段240は、並列分散処理の対象となるデータを蓄積するメモリ、ハードディスク等の記憶装置である。
The
[スイッチの構成]
図3に示すように、スイッチ30は、命令実行手段310と、情報収集手段320と、パケット転送手段(データ転送手段)330とを備える。
命令実行手段310は、管理装置10から経路情報を受信し、受信した経路情報に従ってパケット転送手段330にパケットの転送処理を実行させるものである。
[Switch configuration]
As shown in FIG. 3, the
The
情報収集手段320は、OpenFlowの統計情報として、スイッチ30のデータ転送量を収集し、収集したデータ転送量を示すデータ転送量情報を管理装置10に送信するものである。
また、情報収集手段320は、ARPパケットやLLDPパケットの交換により、隣接するノードを発見する。そして、情報収集手段320は、発見したノード情報を、管理装置10に送信する。
The
Further, the
パケット転送手段330は、命令実行手段310から入力された経路情報に従い、受信したデータのパケットを転送するものである。また、パケット転送手段330は、並列分散処理に必要な情報を、管理装置10とサーバ20との間で転送する。
The
[並列分散処理システムの動作]
以下、図6を参照し、並列分散処理システム1の動作について、説明する(適宜図3参照)。
管理装置10は、処理装置2(サーバ20及びスイッチ30)から送信されたノード情報を用いて、ネットワークトポロジの変更判定・経路制御処理を行い、経路情報を処理装置2(スイッチ30)に送信する(ステップS1)。
[Operation of parallel distributed processing system]
Hereinafter, the operation of the parallel distributed processing system 1 will be described with reference to FIG. 6 (see FIG. 3 as appropriate).
The
管理装置10は、入力されたタスク情報に従って、並列プロセス制御処理を行い、命令を処理装置2(サーバ20)に送信する(ステップS2)。
管理装置10は、処理装置2(スイッチ30)から送信されたデータ転送量情報を用いて、ボトルネックの検出・迂回経路制御処理を行い、迂回経路情報を処理装置2(スイッチ30)に送信する(ステップS3)。
The
The
[ネットワークトポロジの変更判定・経路制御処理]
図7を参照して、ネットワークトポロジの変更判定・経路制御処理について、具体的に説明する(適宜図3参照)。
[Network topology change judgment / route control processing]
With reference to FIG. 7, the network topology change determination / path control processing will be specifically described (see FIG. 3 as appropriate).
管理装置10は、情報管理手段120によって、サーバ20及びスイッチ30から、ノード情報を収集(受信)する。
管理装置10は、ネットワークトポロジ検出手段121によって、ノード情報に基づいて、ネットワークトポロジを検出する。
管理装置10は、ネットワークトポロジ検出手段121によって、検出したネットワークトポロジの差分により、ネットワークトポロジが変更されたか否かを判定する(ステップS10)。
The
The
The
ネットワークトポロジが変更された場合(ステップS10でYes)、管理装置10は、ステップS11の処理に進む。
管理装置10は、ネットワークトポロジ検出手段121によって、蓄積手段124に蓄積されているネットワークトポロジ情報を、変更後のネットワークトポロジを示すネットワークトポロジ情報で更新する(ステップS11)。
管理装置10は、情報表示手段130によって、ネットワークトポロジ情報、経路情報、及び、ボトルネック情報を利用者に提示する(ステップS12)。
When the network topology is changed (Yes in step S10), the
The
The
管理装置10は、ネットワークトポロジ検出手段121によって、経路情報に基づいて、主要経路上の通信回線40が削除されたか否かを判定する(ステップS13)。
主要経路上の通信回線40が削除された場合(ステップS13でYes)、管理装置10は、ステップS14の処理に進む。
The
When the
管理装置10は、ネットワークトポロジ検出手段121によって、通信回線削除情報を生成すると共に、削除された通信回線40を使用している経路情報を蓄積手段124から削除する。
管理装置10は、経路計算手段160によって、変更後のネットワークトポロジ情報に基づいて、通信回線削除情報が示す通信回線40を使用していた主要経路に代わりに、新たな主要経路を計算し、計算した新たな主要経路を示す経路情報を生成する(ステップS14)。
The
Based on the changed network topology information, the
管理装置10は、経路制御手段170によって、ステップS14で生成した経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積する(ステップS15)。
The
管理装置10は、タスク完了判定手段123によって、並列プロセス制御手段150から入力された転送コネクション情報に基づいて、実行中のタスクが有るか無いかを判定する(ステップS16)。
The
実行中のタスクが有る場合(ステップS16でYes)、管理装置10は、ステップS16の処理に戻り、実行中のタスクが終了するのを待つ。これによって、経路制御により、転送中のフローの経路が大幅に変わり、新たなボトルネックの誘発を防止できる。
一方、実行中のタスクが無い場合(ステップS16でNo)、管理装置10は、ステップS17の処理に進む。
When there is a task being executed (Yes in step S16), the
On the other hand, if there is no task being executed (No in step S16), the
管理装置10は、経路計算手段160によって、ネットワークトポロジ情報に基づいて、フローが発生し得る全てのサーバ20について主要経路を計算し、計算した主要経路を示す経路情報を生成する(ステップS17)。
Based on the network topology information, the
管理装置10は、経路制御手段170によって、ステップS17で生成した経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積する(ステップS18)。
The
ネットワークトポロジが変更されていない場合(ステップS10でNo)、又は、ステップS18の後、管理装置10は、ネットワークトポロジの変更判定・経路制御処理を終了する。
If the network topology has not been changed (No in step S10), or after step S18, the
[並列プロセス制御処理]
図8を参照して、並列プロセス制御処理について、具体的に説明する(適宜図3参照)。
この図8では、タスク情報の入力前に、各サーバ20の間で主要経路の計算と経路制御とが完了していることとする。
[Parallel process control processing]
The parallel process control processing will be specifically described with reference to FIG. 8 (see FIG. 3 as appropriate).
In FIG. 8, it is assumed that the calculation of the main route and the route control are completed between the
管理装置10は、タスク入力手段110によって、タスク情報が入力され、入力されたタスク情報を並列プロセス計算手段140に出力する(ステップS20)。
管理装置10は、並列プロセス計算手段140によって、タスク情報に基づいて、タスクを実行するサーバ20を決定して、サーバ特定情報を生成する(ステップS21:並列プロセス計算)。
The
Based on the task information, the
管理装置10は、並列プロセス制御手段150によって、サーバ特定情報に従って、タスク開始により転送コネクション情報を生成すると共に、プロセスの起動と、転送コネクションの作成とをサーバ20に命令する(ステップS22:並列プロセス制御)。
管理装置10は、並列プロセス制御手段150によって、転送コネクション情報を蓄積手段124に蓄積する(ステップS23)。
The
The
管理装置10は、タスク完了判定手段123によって、タスクが完了したか否かを判定する(ステップS24)。
タスクが完了していない場合(ステップS24でNo)、管理装置10は、ステップS24の処理に戻る。
The
If the task has not been completed (No in step S24), the
タスクが完了した場合(ステップS24でYes)、管理装置10は、ステップS25の処理に進む。
管理装置10は、タスク完了判定手段123によって、完了したタスクの転送コネクション情報を、蓄積手段124から削除する(ステップS25)。
When the task is completed (Yes in step S24), the
The
[ボトルネックの検出・迂回経路制御処理]
図9を参照して、ボトルネックの検出・迂回経路制御について、具体的に説明する(適宜図3参照)。
管理装置10は、ボトルネック判定手段122によって、実行中のタスクでボトルネックが発生したか否かを判定する(ステップS30)。
[Bottleneck detection and detour route control processing]
With reference to FIG. 9, the bottleneck detection / detour route control will be specifically described (see FIG. 3 as appropriate).
The
実行中のタスクでボトルネックが発生した場合(ステップS30でYes)、管理装置10は、ステップS31の処理に進む。
一方、実行中のタスクでボトルネックが発生していない場合(ステップS30でNo)、管理装置10は、ボトルネックの検出・迂回経路制御処理を終了する。
If a bottleneck has occurred in the task being executed (Yes in step S30), the
On the other hand, if a bottleneck has not occurred in the task being executed (No in step S30), the
管理装置10は、ボトルネック判定手段122によって、ボトルネック情報を経路計算手段160に出力する。
管理装置10は、経路計算手段160によって、ボトルネック情報に基づいて迂回経路を計算し、迂回経路の計算結果に基づいて、迂回可能か否かを判定する(ステップS31)。
The
The
迂回可能な場合(ステップS31でYes)、管理装置10は、ステップS32の処理に進む。
管理装置10は、経路計算手段160によって、経路制御手段170に迂回経路情報を出力する。
管理装置10は、経路制御手段170によって、経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積し(ステップS32)、ステップS30の処理に戻る。
When detouring is possible (Yes in step S31), the
The
The
一方、迂回不可能な場合(ステップS31でNo)、管理装置10は、ステップS33の処理に進む。
管理装置10は、経路計算手段160によって、ネットワークリソースの追加を提案するメッセージを出力し(ステップS33)、ステップS30の処理に戻る。
つまり、管理装置10は、実行中のタスクでボトルネックが発生していないと判定されるまで、ボトルネックの検出・迂回経路制御処理を繰り返す。
On the other hand, when detouring is impossible (No in step S31), the
The
That is, the
以上のように、本発明の実施形態に係る管理装置10は、プロセスに関する情報と、ネットワークに関する情報との両方を用いるため、ボトルネックを正確に検出できると共に、新たなボトルネックを誘発させずに経路制御を行うことができる。
また、管理装置10は、主要経路が削除された場合でも、最適な主要経路を計算できるため、新たなボトルネックを誘発させずに経路制御を行うことができる。
また、管理装置10は、メッセージにより、並列分散処理システムの利用者にネットワークリソースの追加を提案することができる。
As described above, since the
In addition, since the
Further, the
本発明は、実施形態に限定されず、その趣旨を逸脱しない範囲で様々な変形を加えることができる。以下、本発明の変形例について、具体的に説明する。 The present invention is not limited to the embodiments, and various modifications can be made without departing from the spirit of the present invention. Hereinafter, the modification of this invention is demonstrated concretely.
(変形例1)
前記した実施形態では、ステップS14(図7)のように、主要経路上の通信回線40が削除されたときに、新たな主要経路を計算しているが、本発明は、これに限定されない。
例えば、経路計算手段160は、下記参考文献に記載の経路計算手法により、事前に複数の主要経路を計算し、計算した主要経路を示す経路情報を、蓄積手段124に蓄積させてもよい。
参考文献:J.Y.Yen.,”Finding the K shortest loopless paths in a network.”,Management Science, 17:712-716, 1971
(Modification 1)
In the embodiment described above, a new main route is calculated when the
For example, the
Reference: JYYen., “Finding the K shortest loopless paths in a network.”, Management Science, 17: 712-716, 1971
(変形例2)
前記した実施形態では、ステップS31(図9)のように、ボトルネックの検出後、迂回経路を計算しているが、本発明は、これに限定されない。
例えば、経路計算手段160は、ステップS17で事前に迂回経路を計算し、計算した迂回経路を示す迂回経路情報を、蓄積手段124に蓄積してもよい。
(Modification 2)
In the above-described embodiment, the bypass route is calculated after the bottleneck is detected as in step S31 (FIG. 9), but the present invention is not limited to this.
For example, the
(変形例3)
前記した実施形態では、ネットワークトポロジを表示するとしているが、本発明は、これに限定されない。
例えば、蓄積手段124に蓄積されている情報を用いて、プロセス毎のフローをネットワークトポロジに関連付けて表示してもよい。これによって、利用者は、ネットワークリソースの配置の偏りや、削減可能なネットワークリソースの有無を、容易に判断することができる。
(Modification 3)
In the above-described embodiment, the network topology is displayed, but the present invention is not limited to this.
For example, the flow for each process may be displayed in association with the network topology using information stored in the
(変形例4)
前記した実施形態では、宛先ポート番号をマッチングルールとして用いることとしたが、このマッチングルールは、OpenFlowで利用可能であれば、宛先ポート番号に限定されない。
(Modification 4)
In the above-described embodiment, the destination port number is used as the matching rule. However, this matching rule is not limited to the destination port number as long as it can be used in OpenFlow.
(変形例5)
前記した実施形態では、サーバ20が、送信元端末装置201、情報処理端末装置202、又は、送信先端末装置203の何れかの役割を担うものとして説明したが、本発明は、これに限定されない。
つまり、サーバ20は、決まった役割を予め与える必要はない。また、サーバ20は、送信元端末装置201及び送信先端末装置203を兼用するなど、複数の役割を同時に担ってもよい。
(Modification 5)
In the above-described embodiment, the
That is, the
(変形例6)
前記した実施形態では、サーバ20又はスイッチ30が定期的にノード情報を送信することとして説明したが、本発明は、これに限定されない。
例えば、サーバ20又はスイッチ30が、隣接ノードが変更されたときにノード情報を送信し、このノード情報に基づいて、ネットワークトポロジ検出手段121が、ネットワークトポロジの変更を判定してもよい。
(Modification 6)
In the above-described embodiment, the
For example, the
(変形例7)
前記した実施形態では、経路計算手段160がダイクストラ法で経路計算を行うこととして説明したが、本発明は、これに限定されない。
例えば、経路計算手段160は、利用者が予め設定した通信回線40毎のコスト値に基づいて、最小コストとなる経路を主要経路として計算してもよい。
(Modification 7)
In the above-described embodiment, the
For example, the
(変形例8)
並列プロセス計算手段140は、タスクの実行中に、蓄積手段124に蓄積されたプロセス進行情報を元に、並列化数を増減させてもよい。例えば、並列プロセス計算手段140は、予め設定した目標よりプロセス進行状況が遅れている場合に並列化数を増加させ、プロセス進行状況が目標を達成している場合に並列化数を減少させる。この場合、並列プロセス制御手段150は、並列化数の増減に応じて、増減したフローの転送コネクション情報を生成し、蓄積手段124に蓄積する。
この場合、情報収集手段220は、サーバ20でのプロセスの進行状況を収集し、収集したプロセスの進行状況を示すプロセス進行情報を管理装置10に送信する。そして、管理装置10は、サーバ20から送信されたプロセス進行情報を蓄積手段124に蓄積する。
(Modification 8)
The parallel
In this case, the
1 並列分散処理システム
2 処理装置
10 管理装置
110 タスク入力手段
120 情報管理手段
121 ネットワークトポロジ検出手段
122 ボトルネック判定手段
123 タスク完了判定手段
124 蓄積手段
130 情報表示手段
140 並列プロセス計算手段(端末装置決定手段)
150 並列プロセス制御手段(端末装置制御手段)
160 経路計算手段
170 経路制御手段
20 サーバ(端末装置)
210 命令実行手段
220 情報収集手段
230 並列処理実行手段
240 蓄積手段
201 送信元端末装置
202 情報処理端末装置
203 送信先端末装置
30 スイッチ
310 命令実行手段
320 情報収集手段
330 パケット転送手段(データ転送手段)
40 通信回線
50 経路
60 主要経路
DESCRIPTION OF SYMBOLS 1 Parallel distributed
150 Parallel process control means (terminal device control means)
160 Route calculation means 170 Route control means 20 Server (terminal device)
210 Command execution means 220 Information collection means 230 Parallel processing execution means 240 Storage means 20 1
40
Claims (6)
前記端末装置及び前記スイッチから、互いに接続された前記スイッチ又は前記端末装置を示すノード情報を受信し、受信した前記ノード情報に基づいて、前記端末装置及び前記スイッチの接続形態であるネットワークトポロジを検出するネットワークトポロジ検出手段と、
前記ネットワークトポロジに基づいて、前記タスクを実行する端末装置で起動するプロセスのポート番号で特定され、かつ、前記OpenFlowの経路制御単位であるフロー毎に、前記端末装置の間を結ぶ最短経路又は最小コスト経路を主要経路として計算し、計算した当該主要経路を示す経路情報を生成する経路計算手段と、
前記経路計算手段で生成した経路情報を前記スイッチに送信する経路制御手段と、
前記タスクを実行する端末装置の識別情報が含まれるタスク情報を入力するタスク入力手段と、
前記タスク情報に基づいて、前記タスクを実行する端末装置を決定する端末装置決定手段と、
前記端末装置決定手段で決定された端末装置の識別情報と、前記フロー毎に固有のプロセスのポート番号とを対応付けた転送コネクション情報を生成し、前記プロセスの起動と、転送コネクションの作成とを前記端末装置に命令する端末装置制御手段と、
前記転送コネクション情報と、前記経路情報と、前記端末装置から送信されたタスク完了情報と、前記ノード情報と、前記スイッチから送信されたデータ転送量情報とに基づいて、実行中の前記タスクでボトルネックが発生したか否かを判定するボトルネック判定手段と、を備え、
前記経路計算手段は、
前記実行中のタスクでボトルネックが発生した場合、前記転送コネクション情報と、前記経路情報と、前記タスク完了情報と、前記ノード情報とに基づいて、前記タスクを実行中のプロセスで使用しているフローの迂回経路を計算して、計算した当該迂回経路を示す迂回経路情報を生成することを特徴とする管理装置。 A transmission source terminal device that is a terminal device that stores data, an information processing terminal device that is a terminal device that performs predetermined information processing on data stored in the transmission source terminal device, and information processing by the information processing terminal device Is used in a parallel distributed processing system including a destination terminal device that is the terminal device that stores the data subjected to processing, and a switch that transfers the data between the terminal devices by OpenFlow. In addition to performing path control, at least two information processing terminal devices perform parallel execution of a task that performs data processing on the data of the transmission source terminal device by the information processing terminal device and transmits the data to the transmission destination terminal device. A management device that commands the terminal device to be
From the terminal device and the switch, it receives the node information indicating the connected the switch or the terminal device with each other, based on the received node information, wherein the terminal apparatus and detects the network topology is a topology of the switch Network topology detection means for
Based on the network topology, the shortest path or the minimum path connecting the terminal devices is specified for each flow that is specified by the port number of the process started by the terminal device that executes the task and is a path control unit of the OpenFlow. A route calculation means for calculating a cost route as a main route and generating route information indicating the calculated main route;
Route control means for transmitting the route information generated by the route calculation means to the switch;
Task input means for inputting task information including identification information of a terminal device that executes the task;
Terminal device determining means for determining a terminal device to execute the task based on the task information;
And identification information of the terminal apparatus determined by the terminal device determining unit, and generates a transfer connection information that associates a port number of the specific process for each of the flow, and activation of the process, the creation of transfer connection Terminal device control means for instructing the terminal device
Based on the transfer connection information, the route information, the task completion information transmitted from the terminal device , the node information, and the data transfer amount information transmitted from the switch , the bottle in the task being executed Bottleneck determination means for determining whether or not a neck has occurred,
The route calculation means includes
When a bottleneck occurs in the task being executed, the task is used in the process executing the task based on the transfer connection information, the route information, the task completion information, and the node information. A management device that calculates a detour route of a flow and generates detour route information indicating the calculated detour route.
前記ネットワークトポロジの差分により、前記ネットワークトポロジが変更されたか否かを判定し、前記ネットワークトポロジが変更された場合、前記経路情報に基づいて、前記主要経路が削除されたか否かを判定し、
前記経路計算手段は、
前記主要経路が削除された場合、変更された前記ネットワークトポロジに基づいて、削除された前記主要経路の代わりとなる主要経路を計算することを特徴とする請求項1に記載の管理装置。 The network topology detection means includes
It is determined whether the network topology has been changed based on the difference in the network topology.If the network topology has been changed, it is determined whether the main route has been deleted based on the route information.
The route calculation means includes
The management apparatus according to claim 1, wherein when the main route is deleted, a main route that substitutes for the deleted main route is calculated based on the changed network topology.
前記端末装置及び前記スイッチから、互いに接続された前記スイッチ又は前記端末装置を示すノード情報を受信し、受信した前記ノード情報に基づいて、前記端末装置及び前記スイッチの接続形態であるネットワークトポロジを検出するネットワークトポロジ検出手段、
前記ネットワークトポロジに基づいて、前記タスクを実行する端末装置で起動するプロセスのポート番号で特定され、かつ、前記OpenFlowの経路制御単位であるフロー毎に、前記端末装置の間を結ぶ最短経路又は最小コスト経路を主要経路として計算し、計算した当該主要経路を示す経路情報を生成する経路計算手段、
前記経路計算手段で生成した経路情報を前記スイッチに送信する経路制御手段、
前記タスクを実行する端末装置の識別情報が含まれるタスク情報を入力するタスク入力手段、
前記タスク情報に基づいて、前記タスクを実行する端末装置を決定する端末装置決定手段、
前記端末装置決定手段で決定された端末装置の識別情報と、前記フロー毎に固有のプロセスのポート番号とを対応付けた転送コネクション情報を生成し、前記プロセスの起動と、転送コネクションの作成とを前記端末装置に命令する端末装置制御手段、
前記転送コネクション情報と、前記経路情報と、前記端末装置から送信されたタスク完了情報と、前記ノード情報と、前記スイッチから送信されたデータ転送量情報とに基づいて、実行中の前記タスクでボトルネックが発生したか否かを判定するボトルネック判定手段、として機能させ、
前記経路計算手段は、
前記実行中のタスクでボトルネックが発生した場合、前記転送コネクション情報と、前記経路情報と、前記タスク完了情報と、前記ノード情報とに基づいて、前記タスクを実行中のプロセスで使用しているフローの迂回経路を計算して、計算した当該迂回経路を示す迂回経路情報を生成することを特徴とするボトルネック判定・経路制御プログラム。 A transmission source terminal device that is a terminal device that stores data, an information processing terminal device that is a terminal device that performs predetermined information processing on data stored in the transmission source terminal device, and information processing by the information processing terminal device Is used in a parallel distributed processing system including a destination terminal device that is the terminal device that stores the data subjected to processing, and a switch that transfers the data between the terminal devices by OpenFlow. In addition to performing path control, at least two information processing terminal devices perform parallel execution of a task that performs data processing on the data of the transmission source terminal device by the information processing terminal device and transmits the data to the transmission destination terminal device. In order to instruct the terminal device to be
From the terminal device and the switch, it receives the node information indicating the connected the switch or the terminal device with each other, based on the received node information, wherein the terminal apparatus and detects the network topology is a topology of the switch Network topology detection means,
Based on the network topology, the shortest path or the minimum path connecting the terminal devices is specified for each flow that is specified by the port number of the process started by the terminal device that executes the task and is a path control unit of the OpenFlow. A route calculation means for calculating a cost route as a main route and generating route information indicating the calculated main route;
Route control means for transmitting the route information generated by the route calculation means to the switch;
Task input means for inputting task information including identification information of a terminal device that executes the task;
Terminal device determining means for determining a terminal device for executing the task based on the task information;
And identification information of the terminal apparatus determined by the terminal device determining unit, and generates a transfer connection information that associates a port number of the specific process for each of the flow, and activation of the process, the creation of transfer connection Terminal device control means for instructing the terminal device,
Based on the transfer connection information, the route information, the task completion information transmitted from the terminal device , the node information, and the data transfer amount information transmitted from the switch , the bottle in the task being executed Function as a bottleneck determination means for determining whether or not a neck has occurred,
The route calculation means includes
When a bottleneck occurs in the task being executed, the task is used in the process executing the task based on the transfer connection information, the route information, the task completion information, and the node information. A bottleneck determination / route control program characterized by calculating a detour route of a flow and generating detour route information indicating the calculated detour route.
OpenFlowにより前記端末装置の間で前記データを転送するスイッチと
請求項1に記載の管理装置と、
を備えることを特徴とする並列分散処理システム。 A transmission source terminal device that stores data, an information processing terminal device that performs predetermined information processing on the data stored in the transmission source terminal device, or a transmission that stores data processed by the information processing terminal device A terminal device that plays one or more roles among the destination terminal devices,
A switch that transfers the data between the terminal devices by OpenFlow, and the management device according to claim 1,
A parallel distributed processing system comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012229383A JP6088197B2 (en) | 2012-10-17 | 2012-10-17 | Management device, bottleneck determination / path control program, and parallel distributed processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012229383A JP6088197B2 (en) | 2012-10-17 | 2012-10-17 | Management device, bottleneck determination / path control program, and parallel distributed processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014082650A JP2014082650A (en) | 2014-05-08 |
| JP6088197B2 true JP6088197B2 (en) | 2017-03-01 |
Family
ID=50786455
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012229383A Expired - Fee Related JP6088197B2 (en) | 2012-10-17 | 2012-10-17 | Management device, bottleneck determination / path control program, and parallel distributed processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6088197B2 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06119420A (en) * | 1992-10-06 | 1994-04-28 | Hitachi Ltd | Editing system |
| JP2001237889A (en) * | 2000-02-25 | 2001-08-31 | Nippon Telegr & Teleph Corp <Ntt> | Detour path control method and apparatus in data communication network |
| JP5515649B2 (en) * | 2009-11-06 | 2014-06-11 | 日本電気株式会社 | COMMUNICATION SYSTEM, ROUTE CONTROL DEVICE, ROUTE CONTROL METHOD, AND ROUTE CONTROL PROGRAM |
| JP2012023582A (en) * | 2010-07-15 | 2012-02-02 | Hitachi Ltd | Packet relay device equipped with convergence control, convergence control method, and network system |
-
2012
- 2012-10-17 JP JP2012229383A patent/JP6088197B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014082650A (en) | 2014-05-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3619896B1 (en) | Mechanism and apparatus for path protection when using compressed segment routing label stacks | |
| US9077640B2 (en) | Method and system of congestion control in a mobile virtual network | |
| JP5850068B2 (en) | Control device, communication system, communication method, and program | |
| CN104521192B (en) | Technology for the flooding optimization of the link-state protocol in network topology structure | |
| US8456982B2 (en) | System and method for fast network restoration | |
| US9705704B2 (en) | Method and system of forming a mobile virtual network | |
| JPWO2011118585A1 (en) | Information system, control device, virtual network management method and program | |
| CN104054304A (en) | Computer system, controller, switch, communication method, and recording medium storing network management program | |
| CN108476170B (en) | Method and Device for Bidirectional Constrained Path Search | |
| US20130182605A1 (en) | Method and system for providing a mobile virtual router | |
| EP3076611B1 (en) | Communication system, communication method, network information combination apparatus, and network information combination program | |
| US9094342B2 (en) | Method and system for sharing router resources via a mobile virtual router | |
| US10237202B2 (en) | Network control device, network control method, and recording medium for program | |
| CN115706673B (en) | Intelligent streaming state synchronization improves the availability and performance of redundant network security devices. | |
| EP4672707A1 (en) | METHOD AND DEVICE FOR HANDLING CONNECTION FAULTS, STORAGE MEDIUM AND PROGRAM PRODUCT | |
| US20160301595A1 (en) | Communication system, communication method, network information combination apparatus, processing rule conversion method, and processing rule conversion program | |
| JP5682620B2 (en) | Route selection method, information processing apparatus, network system, and route selection program | |
| JP2017059885A (en) | Controller and route resetting method | |
| JP2013187656A (en) | Network control system, path management server, and network control method and program for distributed type cloud infrastructure | |
| CN110086715A (en) | Network path calculation method, device and system | |
| JP5870995B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMPUTER, NODE CONTROL METHOD AND PROGRAM | |
| JP6650287B2 (en) | Communication path control device, communication path control method, and communication path control program | |
| JP6088197B2 (en) | Management device, bottleneck determination / path control program, and parallel distributed processing system | |
| JP5945254B2 (en) | Network control system and network control method | |
| Lin et al. | D 2 ENDIST-FM: Flow migration in routing of OpenFlow-based cloud networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140328 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150901 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160714 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160726 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160816 |
|
| 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: 20170110 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170203 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6088197 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |