Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6088197B2 - Management device, bottleneck determination / path control program, and parallel distributed processing system - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2012229383A
Other languages
Japanese (ja)
Other versions
JP2014082650A (en
Inventor
▲民▼錫 黄
▲民▼錫 黄
真也 竹内
真也 竹内
金子 豊
金子  豊
吉則 和泉
吉則 和泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2012229383A priority Critical patent/JP6088197B2/en
Publication of JP2014082650A publication Critical patent/JP2014082650A/en
Application granted granted Critical
Publication of JP6088197B2 publication Critical patent/JP6088197B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 layer 2 network in order to avoid a loop problem due to a broadcast storm. However, this spanning tree protocol makes effective use of bandwidth because it logically blocks redundant paths other than the main one of the multiple paths existing in the layer 2 network until a failure occurs. I can't.

そこで、レイヤ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 layer 2 network (for example, Non-Patent Documents 2 and 3). This TRILL selects the shortest path when the lengths of the plurality of paths are different, and selects a path with a preset algorithm when the lengths of the plurality of paths are the same. As a result, TRILL can distribute the network load and eliminate paths that are blocked and not used.

また、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.

黄他、“処理速度を保証可能な並列分散処理手法の検討”、電子情報通信学会ソサイエティ大会、B-7-60、2011Huang et al., “Examination of parallel and distributed processing methods that guarantee processing speed”, IEICE Society Conference, B-7-60, 2011 IETF RFC5556,“Transparent Interconnection of Lots of Links (TRILL): Problem and Applicability Statement”IETF RFC5556, “Transparent Interconnection of Lots of Links (TRILL): Problem and Applicability Statement” The OpenFlow Switch Consortium(http://www.Openflowswitch.org/)The OpenFlow Switch Consortium (http://www.Openflowswitch.org/) IEEE802.1AB,“Station and Media Access Control Connectivity Discovery”IEEE802.1AB, “Station and Media Access Control Connectivity Discovery”

しかし、従来の並列分散処理システムでは、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 is a schematic diagram of a parallel distributed processing system according to an embodiment of the present invention. 従来のOpenFlowを説明する説明図である。It is explanatory drawing explaining the conventional OpenFlow. 図1の並列分散処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the parallel distributed processing system of FIG. (a)〜(c)は、図1の並列分散処理システムにおける、ネットワークトポロジの変更を説明する説明図である。(A)-(c) is explanatory drawing explaining the change of a network topology in the parallel distributed processing system of FIG. 図1の並列分散処理システムにおける、主要経路を説明する説明図である。It is explanatory drawing explaining the main path | route in the parallel distributed processing system of FIG. 図1の並列分散処理システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the parallel distributed processing system of FIG. 図6のネットワークトポロジの変更判定・経路制御処理のフローチャートである。7 is a flowchart of a network topology change determination / route control process of FIG. 6. 図6の並列プロセス制御処理のフローチャートである。It is a flowchart of the parallel process control process of FIG. 図6のボトルネックの検出・迂回経路制御処理のフローチャートである。7 is a flowchart of bottleneck detection / detour route control processing in FIG. 6.

[並列分散処理システムの概略]
以下、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。
図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 processing device 2, and includes the processing device 2 and a management device 10.
The processing device 2 performs parallel distributed processing according to control from the management device 10 and includes a server (terminal device) 20, a switch 30, and a communication line 40.

管理装置10は、並列分散処理に必要な情報を処理装置2から収集して管理すると共に、処理装置2を制御するものである。具体的には、管理装置10は、後記するネットワークトポロジの変更判定、経路制御、並列プロセス制御、ボトルネックの検出、及び、迂回経路制御といった処理を行う(図6)。   The management device 10 collects and manages information necessary for parallel distributed processing from the processing device 2 and controls the processing device 2. Specifically, the management device 10 performs processing such as network topology change determination, path control, parallel process control, bottleneck detection, and detour path control, which will be described later (FIG. 6).

サーバ20は、送信元端末装置20、情報処理端末装置20、又は、送信先端末装置20のうち、何れかの1以上の役割を担うものである。
送信元端末装置20は、並列分散処理の対象となるデータを蓄積すると共に、蓄積したデータを予め指定されたサイズ(粒度)で分割してパケット化し、情報処理端末装置20に送信するサーバ20である。
情報処理端末装置20は、送信元端末装置20から受信したデータのパケットに情報処理を施して、処理結果を送信先端末装置20に送信するサーバ20である。
送信先端末装置20は、情報処理端末装置20から受信したデータのパケットを所定の順番で配列することでデータを復元し、蓄積するサーバ20である。
The server 20 plays one or more roles of the transmission source terminal device 20 1 , the information processing terminal device 20 2 , or the transmission destination terminal device 20 3 .
Source terminal apparatus 20 1 is adapted to accumulate the data to be parallel distributed processing, divided by the accumulated pre-specified size data (granularity) and packetized, and transmitted to the information processing terminal device 20 2 Server 20.
The information processing terminal device 20 2 is subjected to processing in the packet data received from the transmission source terminal device 20 1, a server 20 transmits the processing result to the destination terminal device 20 3.
Destination terminal apparatus 20 3 restores the data by arranging the packets of data received from the information processing terminal device 20 2 in a predetermined order, a server 20 for storing.

スイッチ30は、サーバ20の間でパケット転送制御を行うものである。本実施形態では、経路制御技術としてOpenFlowを用いるため、スイッチ30は、OpenFlow対応スイッチであることとする。
通信回線40は、例えば、サーバ20及びスイッチ30を接続するLAN(Local Area Network)ケーブルである。
The switch 30 performs packet transfer control between the servers 20. In this embodiment, since OpenFlow is used as the path control technique, the switch 30 is an OpenFlow compatible switch.
The communication line 40 is, for example, a LAN (Local Area Network) cable that connects the server 20 and the switch 30.

<情報処理の一例>
以下、並列分散処理システム1で行われる情報処理の一例について、説明する。
並列分散処理システム1は、例えば、情報処理として、映像データに対し、トランスコーディング等の映像加工処理を行うことができる。すなわち、並列分散処理システム1は、送信元端末装置20に蓄積された映像データを分割してパケット化し、各情報処理端末装置20に送信する。また、並列分散処理システム1は、各情報処理端末装置20が、この映像データのパケットに映像加工処理を並列で施し、映像加工処理が施された映像データのパケットを送信先端末装置20に送信する。そして、並列分散処理システム1は、送信先端末装置20が、映像加工処理が施された映像データのパケットを所定の順番で配列することで映像加工処理済みのデータを復元し、蓄積する。
なお、本発明での情報処理は、映像加工処理に限定されないことは言うまでもない。
<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 terminal device 20 1 is transmitted to the information processing terminal device 20 2. Further, the parallel distributed processing system 1, the information processing terminal device 20 2, subjected to image processing in parallel with the packet of the video data, the transmission destination terminal device a packet of video data image processing has been performed 20 3 Send to. The parallel distributed processing system 1, the transmission destination terminal apparatus 20 3, and restore the image processing processed data by arranging packets of video data image processing is performed in a predetermined order, it accumulates.
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 compatible switch 30 is abbreviated as “switch”.
Further, in FIG. 2, input / output of signals and information associated with path control between the OpenFlow controller 10 and the OpenFlow compatible switch 30 is illustrated by a one-dot chain line.
In the present embodiment, the management apparatus 10 in FIG. 1 corresponds to the OpenFlow controller 10. Further, the switch 30 in FIG. 1 corresponds to the OpenFlow compatible switch 30.

図2に示すように、OpenFlow対応スイッチ30は、従来のネットワークスイッチにおける経路制御とパケット転送制御のうち、パケット転送制御のみを行う。一方、OpenFlowコントローラ10は、OpenFlow対応スイッチ30に対して、経路の集中制御を行う。   As shown in FIG. 2, the OpenFlow compatible switch 30 performs only packet transfer control among path control and packet transfer control in a conventional network switch. On the other hand, the OpenFlow controller 10 performs centralized path control on the OpenFlow compatible switch 30.

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 server 20 that executes the task. Therefore, the output switch port is switched for each flow according to the value of the destination port number.
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 server 20 and the switch 30 by designating the output switch port or rewriting the destination MAC address.
The statistical information is, for example, a data transfer amount (number of bytes) for each flow. Here, the controller 10 can determine the occurrence of a packet loss using the statistical information of the two adjacent switches 30.

マッチングルールとは、入力スイッチポート、送信元/宛先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 switch port number 2, destination port number 10000), and packet C (input switch port number 1, destination port number 10001). Consider the case where there are packets. In this case, if “input switch port = 1” is a matching rule, packets A and C have the same flow. If “destination port number = 10000” is a matching rule, packets A and B have the same flow. As described above, when receiving the packet, the OpenFlow compatible switch executes an action determined in accordance with the matching rule for communication of the packet that matches the matching rule of the stored route information. As a result, in OpenFlow, the path 50 can be controlled for each flow. Further, in OpenFlow, when a packet matches a plurality of matching rules, an action determined corresponding to a matching rule having a high priority is executed.

ここで、フローとプロセスとの関係について、補足する。
前記したように、フローとプロセスとが対応することから、サーバ20で起動したプロセス間でのデータ転送処理が1フローとなる。例えば、送信元端末装置20で起動したプロセスと情報処理端末装置20で起動したプロセスとの間でのデータ転送処理が1フローとなり、情報処理端末装置20で起動したプロセスと送信先端末装置20で起動したプロセスとの間でのデータ転送処理が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 server 20 becomes one flow. For example, the transmission data transfer processing between the processes started in the source terminal device 20 processes started by 1 and the information processing terminal device 20 2 becomes 1 flow, process and the destination terminal which has started in the information processing terminal device 20 2 data transfer processing between the processes started in the device 20 3 is 1 flow.

[管理装置の構成]
図3を参照し、管理装置10の構成について、説明する。
なお、図3では、並列分散処理に必要な情報の入出力を分かり易くするため、管理装置10とサーバ20との間で直接、各情報の入出力を示す矢印を図示したが、実際には、スイッチ30を介して各情報が入出力される。
[Configuration of management device]
The configuration of the management apparatus 10 will be described with reference to FIG.
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 management apparatus 10 and the server 20. Each information is input / output via the switch 30.

図3に示すように、管理装置10は、タスク入力手段110と、情報管理手段120と、情報表示手段130と、並列プロセス計算手段(端末装置決定手段)140と、並列プロセス制御手段(端末装置制御手段)150と、経路計算手段160と、経路制御手段170とを備える。   As shown in FIG. 3, the management device 10 includes a task input unit 110, an information management unit 120, an information display unit 130, a parallel process calculation unit (terminal device determination unit) 140, and a parallel process control unit (terminal device). Control means) 150, route calculation means 160, and route control means 170.

タスク入力手段110は、利用者がタスク情報を入力するものである。例えば、タスク入力手段110は、ウェブブラウザのようなインターフェースを介して、利用者にタスク情報を入力させてもよく、テキストファイルにタスク情報の内容を記述させてもよい。そして、タスク入力手段110は、入力されたタスク情報を、並列プロセス計算手段140に出力する。
利用者とは、例えば、並列分散処理システム1の管理者や使用者のことである。
The task input means 110 is for the user to input task information. For example, the task input unit 110 may allow the user to input task information via an interface such as a web browser, or may describe the contents of the task information in a text file. Then, the task input unit 110 outputs the input task information to the parallel process calculation unit 140.
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 server 20 that executes the task, the number of parallel distributed processing (number of parallelization), the data division size (granularity), parallel A path to data (file) used for distributed processing is included.

例えば、サーバ20の識別情報には、送信元端末装置20としてタスクを実行するサーバ20のIPアドレスと、送信先端末装置20としてタスクを実行するサーバ20のIPアドレスとが含まれる。 For example, the identification information of the server 20 includes the IP address of the server 20 to perform a task as a transmission source terminal device 20 1, and the IP address of the server 20 to perform the task as a destination terminal device 20 3.

また、並列化数には、並列分散処理を行う数、つまり、情報処理端末装置20で起動するプロセスの数が含まれる。例えば、並列化数は、ある映像の色を変える映像加工処理を場合、その映像加工処理を行う情報処理端末装置20で起動されるプロセスの数を示す。 Further, the number of parallelization, the number of performing the parallel distributed processing, i.e., contains the number of processes started by the information processing terminal device 20 2. For example, parallel number, when the image processing for changing the color of certain image, the number of processes that are started by the information processing terminal device 20 2 for the video processing.

なお、プロセスとは、サーバ20の役割に応じた情報処理を実行するプログラムのことであり、後記する並列処理実行手段230により起動される(不図示)。本実施形態では、送信元端末装置20、情報処理端末装置20及び送信先端末装置20の何れの役割であっても、各サーバ20がプロセスを1つだけ起動することとする。 The process is a program that executes information processing according to the role of the server 20, and is started by parallel processing execution means 230 (not shown). In the present embodiment, it is assumed that each server 20 starts only one process regardless of the roles of the transmission source terminal device 20 1 , the information processing terminal device 20 2, and the transmission destination terminal device 20 3 .

情報管理手段120は、並列分散処理に必要な情報を管理(蓄積)するものであり、ネットワークトポロジ検出手段121と、ボトルネック判定手段122と、タスク完了判定手段123と、蓄積手段124とを備える。   The information management unit 120 manages (accumulates) information necessary for parallel and distributed processing, and includes a network topology detection unit 121, a bottleneck determination unit 122, a task completion determination unit 123, and a storage unit 124. .

ネットワークトポロジ検出手段121は、後記する蓄積手段124に蓄積されたノード情報に基づいて、ネットワークトポロジを検出するものである。また、ネットワークトポロジ検出手段121は、検出したネットワークトポロジの差分により、ネットワークトポロジが変更されたか否かを判定する。そして、ネットワークトポロジ検出手段121は、ネットワークトポロジが変更された場合、変更後のネットワークトポロジを示すネットワークトポロジ情報を生成し、蓄積手段124に蓄積する。   The network topology detection unit 121 detects a network topology based on node information stored in the storage unit 124 described later. Further, the network topology detection unit 121 determines whether or not the network topology has been changed based on the difference between the detected network topologies. Then, when the network topology is changed, the network topology detection unit 121 generates network topology information indicating the changed network topology and stores the network topology information in the storage unit 124.

<ネットワークトポロジの変更>
図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 server 20 connected to the switches 30a and 30b is not shown.

ネットワークトポロジとは、処理装置2に含まれるノード(サーバ20及びスイッチ30)の接続形態のことである。
ここで、ノード情報は、サーバ20に接続されたスイッチ30や、スイッチ30に接続されたサーバ20又は他のスイッチ30を示す。このため、ネットワークトポロジ検出手段121は、全ノードのノード情報を用いれば、各ノードに接続された他のノードが分かるため、ノード同士の接続形態を把握することができる。
The network topology is a connection form of nodes (server 20 and switch 30) included in the processing device 2.
Here, the node information indicates the switch 30 connected to the server 20, the server 20 connected to the switch 30, or another switch 30. For this reason, if the node information of all nodes is used, the network topology detecting unit 121 can know the other nodes connected to each node, so that the connection form between the nodes can be grasped.

経路50とは、1以上のスイッチ30及び通信回線40により形成された、2台のサーバ20を接続する通信路のことである。本実施形態では、フロー毎に経路50が設定される。   The path 50 is a communication path formed by one or more switches 30 and the communication line 40 and connecting the two servers 20. In the present embodiment, a path 50 is set for each flow.

図4(a)に示すように、3台のスイッチ30a,30b,30cがネットワーク内に存在することとする。そして、スイッチ30a,30bが通信回線40で接続され、スイッチ30b,30cが別の通信回線40で接続されていることとする。この場合、ネットワークトポロジ検出手段121は、図4(a)のネットワークトポロジを検出し、検出したネットワークトポロジを示すネットワークトポロジ情報を生成し、蓄積手段124に蓄積する。さらに、ネットワークトポロジ検出手段121は、ネットワークトポロジが存在しない状態において、図4(a)のネットワークトポロジを検出したため、ネットワークトポロジが変更されたと判定する。
なお、図4(a)では、スイッチ30a,30bを直接接続する経路50が1本存在することになる。
As shown in FIG. 4A, it is assumed that three switches 30a, 30b, and 30c exist in the network. The switches 30a and 30b are connected by a communication line 40, and the switches 30b and 30c are connected by another communication line 40. In this case, the network topology detection unit 121 detects the network topology shown in FIG. 4A, generates network topology information indicating the detected network topology, and stores it in the storage unit 124. Furthermore, the network topology detection unit 121 determines that the network topology has been changed because the network topology in FIG. 4A is detected in a state where the network topology does not exist.
In FIG. 4 (a), the results in the path 50 1 for connecting switches 30a, 30b are directly present one.

図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を直接接続する経路50と、スイッチ30a,30c,30bの順で経由する経路50との計2本存在がすることになる。
As shown in FIG. 4B, it is assumed that another communication line 40 is added between the switches 30a and 30c to the network topology of FIG. In this case, the network topology detecting unit 121 detects the network topology shown in FIG. 4B and generates network topology information indicating the detected network topology. Then, the network topology detection unit 121 updates the network topology information indicating the network topology of FIG. 4A stored in the storage unit 124 with the network topology information indicating the network topology of FIG. 4B. Furthermore, the network topology detection unit 121 determines that the network topology has been changed because there is a difference between the network topologies of FIGS. 4A and 4B.
Incidentally, in FIG. 4 (b), the path 50 1 for connecting switches 30a, 30b are directly, so that the switch 30a, 30c, a total of two existence of a path 50 2 passing through in the order of 30b to.

図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の順で経由する経路50が1本存在することになる。このように、ネットワークトポロジの変更に従い、通信可能な経路50が変動することになる。
As shown in FIG. 4C, it is assumed that the communication line 40 is deleted between the switches 30a and 30b from the network topology of FIG. 4B. In this case, the network topology detection unit 121 detects the network topology in FIG. 4C and generates network topology information indicating the detected network topology. Then, the network topology detection unit 121 updates the network topology information indicating the network topology of FIG. 4B stored in the storage unit 124 with the network topology information indicating the network topology of FIG. 4C. Further, the network topology detection unit 121 determines that the network topology has been changed because there is a difference between the network topologies of FIGS. 4B and 4C.
In FIG. 4 (c), the results in the switch 30a, 30c, passage 50 2 through which in this order and 30b are present one. As described above, the communicable path 50 varies according to the change in the network topology.

さらに、ネットワークトポロジ検出手段121は、図4(a)〜図4(c)のように、ネットワークトポロジが変更された場合、以下の処理を行う。
ネットワークトポロジ検出手段121は、蓄積手段124に蓄積された経路情報に基づいて、ネットワークトポロジの変更により主要経路の通信回線40が削除されたか否かを判定する。例えば、図4(b)の経路50が主要経路であり、その後、図4(c)のようにスイッチ30a,30bの間で通信回線40が削除された場合を考える。この場合、ネットワークトポロジ検出手段121は、主要経路である経路50に含まれる通信回線40が削除されたため、削除された通信回線40の識別情報を、通信回線削除情報として、経路計算手段160に出力する。
Further, the network topology detection unit 121 performs the following processing when the network topology is changed as shown in FIGS. 4 (a) to 4 (c).
Based on the route information stored in the storage unit 124, the network topology detection unit 121 determines whether the communication line 40 of the main route has been deleted due to a change in the network topology. For example, a path 50 1 major pathway of FIG. 4 (b), then, consider the case where the communication line 40 is deleted between the switch 30a, 30b as shown in FIG. 4 (c). In this case, the network topology detection means 121, since the communication line 40 included in the path 50 1 is the main route is deleted, the identification information of the deleted communication line 40, as the communication circuit deletion information, the route calculation unit 160 Output.

<主要経路の説明>
図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 main route 60 will be specifically described with reference to FIG.
The main route 60 is a route 50 that is most suitable for data transfer among one or more routes 50 (FIG. 4) connecting two servers 20. For example, when two servers 20 are connected by four routes 50, the optimum one route 50 among the four routes 50 becomes the main route 60 (not shown).
The calculation method of the main route 60 will be described in the route calculation means 160.

さらに、図5に示すように、2台のサーバ20が送信元端末装置20の役割を担い、3台のサーバ20が情報処理端末装置20の役割を担い、1台のサーバ20が送信先端末装置20の役割を担う場合を考える。
なお、図5では、サーバ20の間に配置されるスイッチ30の図示を省略した。
Furthermore, as shown in FIG. 5, two servers 20 plays the role of a source terminal device 20 1, three server 20 plays the role of the information processing terminal device 20 2, one server 20 is transmitted consider the case that plays the role of the former terminal device 20 3.
In FIG. 5, illustration of the switch 30 arranged between the servers 20 is omitted.

この場合、2台の送信元端末装置20と、3台の情報処理端末装置20との間では、主要経路60が、両装置の台数とを乗じた6本となる。さらに、3台の情報処理端末装置20と、1台のサーバ20が送信先端末装置20との間では、主要経路60が、両装置の台数とを乗じた3本となる。つまり、図5の例では、主要経路60が合計9本となる。 In this case, the two source terminals 20 1, between the three information processing terminal device 20 2, the main path 60 becomes the six obtained by multiplying the number of both apparatuses. Furthermore, the information processing terminal device 20 2 for three, one server 20 is in between the transmission destination terminal device 20 3, the main path 60 becomes the three obtained by multiplying the number of both apparatuses. That is, in the example of FIG. 5, there are nine main routes 60 in total.

図3に戻り、管理装置10の構成について、説明を続ける。
ボトルネック判定手段122は、後記する転送コネクション情報と、経路情報と、タスク完了情報と、ノード情報と、データ転送量情報とに基づいて、実行中のタスクでボトルネックが発生したか否かを判定するものである。つまり、ボトルネック判定手段122は、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、実行中のタスクでボトルネックが発生したか否かを判定する。
Returning to FIG. 3, the description of the configuration of the management apparatus 10 will be continued.
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 switches 30 based on the data transfer amount information transmitted from the switch 30. When a packet loss is detected, the bottleneck determination unit 122 determines that a bottleneck has occurred in the communication line 40 connected between the switches 30.

通信回線40にボトルネックが発生した場合、ボトルネック判定手段122は、経路情報及びノード情報に基づいて、何れのフローでボトルネックが発生したかを特定する。つまり、ボトルネック判定手段122は、経路情報がフロー毎の主要経路を示し、ノード情報がネットワークトポロジを示すため、ボトルネックが発生した通信回線40を使用しているフロー(つまり、ボトルネックとなるフロー)を特定することができる。   When a bottleneck has occurred in the communication line 40, the bottleneck determination unit 122 identifies in which flow the bottleneck has occurred based on the path information and the node information. That is, the bottleneck determination unit 122 uses the communication line 40 in which the bottleneck has occurred (that is, a bottleneck) because the route information indicates the main route for each flow and the node information indicates the network topology. Flow) can be specified.

ボトルネックとなるフローを特定できた場合、ボトルネック判定手段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 communication line 40 in which the bottleneck has occurred and the identification information of the flow using the communication line 40. The bottleneck information is output to the route calculation unit 160 and is also stored in the storage unit 124.

一方、ボトルネック判定手段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 communication line 40.
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 communication line 40 in which the bottleneck has occurred is not used in the flow, the bottleneck determination unit 122 does not affect the task execution even if the bottleneck is left, and does not perform any processing.

タスク完了判定手段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 server 20. That is, when the task completion information is input, the task completion determination unit 123 determines that the task has been completed. When the task is completed, the task completion determination unit 123 deletes the transfer connection information of the completed task from the storage unit 124.

また、タスク完了判定手段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 storage unit 124. That is, when the transfer connection information is stored in the storage unit 124, the task completion determination unit 123 determines that there is a task being executed. On the other hand, when the transfer connection information is not stored in the storage unit 124, the task completion determination unit 123 determines that there is no task being executed. If there is no task being executed, the task completion determination unit 123 outputs a route calculation instruction to the route calculation unit 160.

蓄積手段124は、並列プロセス制御手段150が生成した転送コネクション情報と、経路計算手段160が生成した経路情報及び迂回経路情報と、ネットワークトポロジ検出手段121が生成したネットワークトポロジ情報と、ボトルネック判定手段122が生成したボトルネック情報とを蓄積するメモリ、ハードディスク等の記憶装置である。   The storage unit 124 includes transfer connection information generated by the parallel process control unit 150, route information and detour route information generated by the route calculation unit 160, network topology information generated by the network topology detection unit 121, and bottleneck determination unit. Reference numeral 122 denotes a storage device such as a memory or a hard disk for storing the bottleneck information generated.

情報表示手段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 information display unit 130 displays network topology information, route information, bottleneck information, and a message on a display (not shown).

並列プロセス計算手段140は、タスク入力手段110から入力されたタスク情報に基づいて、タスクを実行するサーバ20を決定するものである。
例えば、並列プロセス計算手段140は、タスクを実行するサーバ20を、以下のように決定する。
この場合、並列プロセス計算手段140は、タスク情報の識別情報を参照し、送信元端末装置20及び送信先端末装置20を決定する。また、並列プロセス計算手段140は、送信元端末装置20及び送信先端末装置20として決定されなかった残りサーバ20のうち、タスク情報の並列化数と同じ台数のサーバ20を、ラウンドロビンにより、情報処理端末装置20として決定する。
The parallel process calculation unit 140 determines the server 20 that executes the task based on the task information input from the task input unit 110.
For example, the parallel process calculation unit 140 determines the server 20 that executes the task as follows.
In this case, parallel process calculating section 140 refers to the identification information of the task information, determines the transmission source terminal device 20 1 and the transmission destination terminal device 20 3. Also, the parallel process calculating means 140 of the transmission source terminal device 20 1 and the transmission destination terminal device 20 3 remaining server 20 that has not been determined as the server 20 of the same number as the parallel number of task information, a round-robin It is determined as the information processing terminal device 20 2.

そして、並列プロセス計算手段140は、決定したサーバ20の識別情報と、各サーバ20で起動するプロセスの数とを示すサーバ特定情報を、並列プロセス制御手段150に出力する。   Then, the parallel process calculation unit 140 outputs server identification information indicating the determined identification information of the server 20 and the number of processes activated on each server 20 to the parallel process control unit 150.

並列プロセス制御手段150は、並列プロセス計算手段140から入力されたサーバ特定情報に従って、プロセスの起動と、転送コネクションの作成とをサーバ20に命令し、並列分散処理に必要なパラメータを通知するものである。このとき、並列プロセス制御手段150は、プロセス毎に別の宛先ポート番号を付与し、かつ、プロセスを複数起動できるため、データの転送処理や映像加工処理を並列化することができる。
なお、パラメータとは、例えば、映像加工処理におけるトランスコードの有無やビットレートのことである。
The parallel process control unit 150 instructs the server 20 to start a process and create a transfer connection according to the server identification information input from the parallel process calculation unit 140, and notifies parameters necessary for parallel distributed processing. is there. At this time, since the parallel process control means 150 assigns a different destination port number for each process and can start a plurality of processes, data transfer processing and video processing processing can be parallelized.
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 process control unit 150 generates transfer connection information by starting a task in accordance with the server specifying information, and stores the generated transfer connection information in the storage unit 124.
The transfer connection information is, for example, information in which task identification information, server 20 identification information included in the server identification information, flow identification information, and a process port number unique to each flow are associated with each other. .
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 storage unit 124, the route calculation unit 160 calculates the shortest route connecting the servers 20 as the main route for all servers 20 in which a flow occurs. For example, the route calculation means 160 calculates the shortest route in the Dijkstra method as the main route. The route calculation unit 160 generates route information indicating the calculated main route, and outputs the generated route information to the route control unit 170 and stores it in the storage unit 124.

このダイクストラ法は、例えば、参考文献「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 topology detection unit 121, the route calculation unit 160 calculates a new main route based on the network topology information stored in the storage unit 124. This network topology information reflects changes in the network topology. For example, the route calculation means 160 calculates the shortest route in the Dijkstra method as a new main route instead of the main route that used the communication line 40 indicated by the communication line deletion information. The route calculation unit 160 generates route information indicating the calculated new main route, and outputs the generated route information to the route control unit 170 and stores it in the storage unit 124.

<3種類目:迂回経路の計算>
経路計算手段160は、ボトルネック判定手段122からボトルネック情報が入力された場合、転送コネクション情報と、経路情報と、タスク完了情報と、ノード情報とに基づいて、タスクを実行中のプロセスで使用しているフローを迂回可能な迂回経路を計算する。つまり、経路計算手段160は、ネットワークに関する情報だけでなく、プロセスに関する情報も考慮して、迂回経路を計算する。
<Third type: Calculation of detour route>
When the bottleneck information is input from the bottleneck determination unit 122, the route calculation unit 160 is used in the process that is executing the task based on the transfer connection information, the route information, the task completion information, and the node information. The detour route that can detour the current flow is calculated. That is, the route calculation unit 160 calculates a detour route in consideration of not only information related to the network but also information related to the process.

具体的には、経路計算手段160は、転送コネクション情報及びタスク完了情報に基づいて、実行中のタスクが使用しているプロセス及びフローを特定する。つまり、経路計算手段160は、転送コネクション情報がタスクとプロセスとフローとの対応関係を示し、タスク完了情報がタスクの完了又は実行中を示すため、実行中のタスクが使用しているプロセス及びフローを特定することができる。   Specifically, the route calculation unit 160 identifies the process and flow used by the task being executed based on the transfer connection information and the task completion information. That is, the route calculation means 160 indicates that the transfer connection information indicates the correspondence between the task, the process, and the flow, and the task completion information indicates whether the task is completed or being executed. Can be specified.

次に、経路計算手段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 route calculation unit 160 calculates the shortest route in the Dijkstra method as a bypass route using the virtual network topology obtained by removing the communication line 40 indicated by the bottleneck information from the network topology information stored in the storage unit 124. To do.

そして、経路計算手段160は、迂回経路が存在する場合に迂回可能と判定し、迂回経路が存在しない場合に迂回不可能と判定する。例えば、経路計算手段160は、2台のサーバ20の間で1本の経路しか存在せず、その1本の経路でボトルネックが検出された場合、迂回不能と判定する。   Then, the route calculation unit 160 determines that the detour is possible when the detour route exists, and determines that the detour is not possible when the detour route does not exist. For example, when only one route exists between the two servers 20 and a bottleneck is detected on the one route, the route calculation unit 160 determines that the detour is impossible.

迂回可能な場合、経路計算手段160は、計算した迂回経路を示す迂回経路情報を生成し、生成した迂回経路情報を経路制御手段170に出力すると共に、蓄積手段124に蓄積する。
一方、迂回不可能な場合、経路計算手段160は、情報表示手段130を介して、予め設定されたメッセージを利用者に提示する。このメッセージは、並列分散処理システム1の利用者にネットワークリソースの追加を提案するメッセージである。
When the detour is possible, the route calculation unit 160 generates detour route information indicating the calculated detour route, and outputs the generated detour route information to the route control unit 170 and stores it in the storage unit 124.
On the other hand, when the detour is not possible, the route calculation unit 160 presents a preset message to the user via the information display unit 130. This message is a message for proposing addition of a network resource to the user of the parallel distributed processing system 1.

経路制御手段170は、経路計算手段160から入力された経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積するものである。つまり、平常状態では、経路計算手段160は、フローが主要経路を通るように経路制御することになる。   The route control unit 170 transmits the route information input from the route calculation unit 160 to the switch 30 on the main route indicated by the route information and stores it in the storage unit 124. That is, in a normal state, the route calculation unit 160 performs route control so that the flow passes through the main route.

また、経路制御手段170は、経路計算手段160から入力された迂回経路情報を、この迂回経路情報が示す経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積する。ここで、フローを迂回経路に迂回させる際、経路制御手段170は、OpenFlowにおける優先度を高くすることで、迂回経路を通るように経路制御できる。   Further, the route control unit 170 transmits the detour route information input from the route calculation unit 160 to the switch 30 on the route indicated by the detour route information and accumulates it in the accumulation unit 124. Here, when the flow is diverted to the detour path, the path control unit 170 can control the path so as to pass the detour path by increasing the priority in the OpenFlow.

ボトルネックとなっているフローの経路を全て一度に迂回させると、ボトルネックが発生していなかったフローの経路にも、大量の通信がなだれ込み、新たなボトルネックを誘発することがある。これを防止するため、経路制御手段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 route control unit 170 transmits detour route information to the switch for a preset number of flows (for example, one flow).

さらに、経路制御手段170は、迂回経路情報に生存時間を付加して、生存時間が経過すると、迂回経路情報を無効にしてもよい。この場合、経路制御手段170は、迂回前の経路情報を再び使用すると共に、無効になった迂回経路情報を蓄積手段124から削除してもよい。   Further, the route control unit 170 may add the survival time to the detour route information and invalidate the detour route information when the lifetime has elapsed. In this case, the route control unit 170 may use the route information before the detour again and delete the detoured route information that has become invalid from the storage unit 124.

[サーバの構成]
以下、サーバ20の構成について、説明する。
図3に示すように、サーバ20は、命令実行手段210と、情報収集手段220と、並列処理実行手段230と、蓄積手段240とを備える。
命令実行手段210は、管理装置10から命令を受信し、受信した命令を並列処理実行手段230に出力することで、この命令を並列処理実行手段230に実行させるものである。
[Server configuration]
Hereinafter, the configuration of the server 20 will be described.
As shown in FIG. 3, the server 20 includes an instruction execution unit 210, an information collection unit 220, a parallel processing execution unit 230, and a storage unit 240.
The instruction execution unit 210 receives an instruction from the management apparatus 10 and outputs the received instruction to the parallel processing execution unit 230 so that the parallel processing execution unit 230 executes the instruction.

情報収集手段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 information collecting unit 220 transmits the discovered node information together with the identification information of the server 20 to the management apparatus 10.

並列処理実行手段230は、命令実行手段210から入力される命令に従って、並列処理を実行するものである。具体的には、並列処理実行手段230は、この命令に従って、タスクの実行に必要なプロセスを起動し、転送コネクションを作成する。   The parallel processing execution unit 230 executes parallel processing in accordance with the instruction input from the instruction execution unit 210. Specifically, the parallel processing execution unit 230 starts a process necessary for executing the task and creates a transfer connection in accordance with this instruction.

具体的には、並列処理実行手段230は、送信元端末装置20、情報処理端末装置20及び送信先端末装置20の役割に応じたプロセスを起動し、命令を実行する。
例えば、このサーバ20が送信元端末装置20として動作する場合、並列処理実行手段230は、映像データのパケットを送信するプロセスを起動する。そして、並列処理実行手段230は、起動したプロセスにより、蓄積手段240に蓄積されているデータを分割してパケット化し、情報処理端末装置20に送信する。
また、例えば、このサーバ20が情報処理端末装置20として動作する場合、並列処理実行手段230は、映像加工処理を施すプロセスを起動する。そして、並列処理実行手段230は、起動したプロセスにより、送信元端末装置20から受信したデータのパケットに情報処理を施して、処理結果を送信先端末装置20に送信する。
また、例えば、このサーバ20が送信先端末装置20として動作する場合、並列処理実行手段230は、映像加工処理が施された映像データのパケットを受信し、所定の順番で配列して復元するプロセスを起動する。そして、並列処理実行手段230は、起動したプロセスにより、情報処理端末装置20から受信したデータのパケットを、所定の順番で配列することで情報処理済みのデータを復元し、蓄積手段240に蓄積する。
Specifically, the parallel processing execution unit 230 activates a process according to the roles of the transmission source terminal device 20 1 , the information processing terminal device 20 2, and the transmission destination terminal device 20 3 and executes the command.
For example, if the server 20 operates as a transmission source terminal device 20 1, the parallel process execution means 230 starts the process of sending a packet of video data. Then, the parallel process execution unit 230, the process started, packetizes by dividing the data stored in the storage unit 240, to the information processing terminal device 20 2.
Further, for example, if the server 20 operates as the information processing terminal device 20 2, the parallel process execution means 230 starts the process for performing image processing. Then, the parallel process execution unit 230, the process started, is subjected to processing in the packet data received from the transmission source terminal device 20 1, it transmits the processing result to the destination terminal device 20 3.
Further, for example, if the server 20 is operated as the transmission destination terminal device 20 3, the parallel process execution means 230 receives the packet of the video data to the video processing has been performed, to restore arranged in a predetermined order Start the process. Then, the parallel process execution unit 230, the process started, the packet of data received from the information processing terminal device 20 2, restores the information processing data already by arranging in a predetermined order, stored in the storage unit 240 To do.

また、並列処理実行手段230は、予め設定されたタスク完了条件を満たす場合、タスクの完了を示すタスク完了情報を管理装置10に送信する。
このタスク完了条件とは、タスクが完了したことを示す条件である。例えば、タスク完了条件は、このサーバ20が送信先端末装置20として動作する場合、送信先端末装置20が情報処理端末装置20から、情報処理後のデータを全て受信したという条件である。
In addition, the parallel processing execution unit 230 transmits task completion information indicating the completion of the task to the management apparatus 10 when a preset task completion condition is satisfied.
The task completion condition is a condition indicating that the task is completed. For example, task completion conditions, if the server 20 is operated as the transmission destination terminal device 20 3, from the transmission destination terminal device 20 3 is the information processing terminal device 20 2 is the condition that it has received all the data after processing .

蓄積手段240は、並列分散処理の対象となるデータを蓄積するメモリ、ハードディスク等の記憶装置である。   The storage unit 240 is a storage device such as a memory or a hard disk that stores data to be subjected to parallel distributed processing.

[スイッチの構成]
図3に示すように、スイッチ30は、命令実行手段310と、情報収集手段320と、パケット転送手段(データ転送手段)330とを備える。
命令実行手段310は、管理装置10から経路情報を受信し、受信した経路情報に従ってパケット転送手段330にパケットの転送処理を実行させるものである。
[Switch configuration]
As shown in FIG. 3, the switch 30 includes an instruction execution unit 310, an information collection unit 320, and a packet transfer unit (data transfer unit) 330.
The instruction execution unit 310 receives route information from the management apparatus 10 and causes the packet transfer unit 330 to execute packet transfer processing according to the received route information.

情報収集手段320は、OpenFlowの統計情報として、スイッチ30のデータ転送量を収集し、収集したデータ転送量を示すデータ転送量情報を管理装置10に送信するものである。
また、情報収集手段320は、ARPパケットやLLDPパケットの交換により、隣接するノードを発見する。そして、情報収集手段320は、発見したノード情報を、管理装置10に送信する。
The information collection unit 320 collects the data transfer amount of the switch 30 as OpenFlow statistical information, and transmits the data transfer amount information indicating the collected data transfer amount to the management apparatus 10.
Further, the information collecting unit 320 finds adjacent nodes by exchanging ARP packets and LLDP packets. Then, the information collecting unit 320 transmits the discovered node information to the management device 10.

パケット転送手段330は、命令実行手段310から入力された経路情報に従い、受信したデータのパケットを転送するものである。また、パケット転送手段330は、並列分散処理に必要な情報を、管理装置10とサーバ20との間で転送する。   The packet transfer unit 330 transfers the received data packet in accordance with the path information input from the instruction execution unit 310. Further, the packet transfer unit 330 transfers information necessary for parallel and distributed processing between the management apparatus 10 and the server 20.

[並列分散処理システムの動作]
以下、図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 management device 10 uses the node information transmitted from the processing device 2 (the server 20 and the switch 30) to perform a network topology change determination / route control process, and transmits the route information to the processing device 2 (the switch 30). (Step S1).

管理装置10は、入力されたタスク情報に従って、並列プロセス制御処理を行い、命令を処理装置2(サーバ20)に送信する(ステップS2)。
管理装置10は、処理装置2(スイッチ30)から送信されたデータ転送量情報を用いて、ボトルネックの検出・迂回経路制御処理を行い、迂回経路情報を処理装置2(スイッチ30)に送信する(ステップS3)。
The management device 10 performs parallel process control processing according to the input task information, and transmits an instruction to the processing device 2 (server 20) (step S2).
The management device 10 uses the data transfer amount information transmitted from the processing device 2 (switch 30), performs bottleneck detection / detour route control processing, and transmits the detour route information to the processing device 2 (switch 30). (Step S3).

[ネットワークトポロジの変更判定・経路制御処理]
図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 management apparatus 10 collects (receives) node information from the server 20 and the switch 30 by the information management unit 120.
The management apparatus 10 uses the network topology detection unit 121 to detect the network topology based on the node information.
The management apparatus 10 determines whether or not the network topology has been changed by the difference in the detected network topology by the network topology detection unit 121 (step S10).

ネットワークトポロジが変更された場合(ステップS10でYes)、管理装置10は、ステップS11の処理に進む。
管理装置10は、ネットワークトポロジ検出手段121によって、蓄積手段124に蓄積されているネットワークトポロジ情報を、変更後のネットワークトポロジを示すネットワークトポロジ情報で更新する(ステップS11)。
管理装置10は、情報表示手段130によって、ネットワークトポロジ情報、経路情報、及び、ボトルネック情報を利用者に提示する(ステップS12)。
When the network topology is changed (Yes in step S10), the management device 10 proceeds to the process of step S11.
The management apparatus 10 updates the network topology information stored in the storage unit 124 with the network topology information indicating the changed network topology by the network topology detection unit 121 (step S11).
The management apparatus 10 presents network topology information, route information, and bottleneck information to the user by the information display unit 130 (step S12).

管理装置10は、ネットワークトポロジ検出手段121によって、経路情報に基づいて、主要経路上の通信回線40が削除されたか否かを判定する(ステップS13)。
主要経路上の通信回線40が削除された場合(ステップS13でYes)、管理装置10は、ステップS14の処理に進む。
The management apparatus 10 determines whether or not the communication line 40 on the main route has been deleted by the network topology detection unit 121 based on the route information (step S13).
When the communication line 40 on the main route is deleted (Yes in step S13), the management apparatus 10 proceeds to the process of step S14.

管理装置10は、ネットワークトポロジ検出手段121によって、通信回線削除情報を生成すると共に、削除された通信回線40を使用している経路情報を蓄積手段124から削除する。
管理装置10は、経路計算手段160によって、変更後のネットワークトポロジ情報に基づいて、通信回線削除情報が示す通信回線40を使用していた主要経路に代わりに、新たな主要経路を計算し、計算した新たな主要経路を示す経路情報を生成する(ステップS14)。
The management apparatus 10 uses the network topology detection unit 121 to generate communication line deletion information and deletes the route information using the deleted communication line 40 from the storage unit 124.
Based on the changed network topology information, the management device 10 calculates a new main route instead of the main route using the communication line 40 indicated by the communication line deletion information, based on the changed network topology information. Route information indicating the new main route is generated (step S14).

管理装置10は、経路制御手段170によって、ステップS14で生成した経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積する(ステップS15)。   The management apparatus 10 causes the route control unit 170 to transmit the route information generated in step S14 to the switch 30 on the main route indicated by the route information and store the route information in the storage unit 124 (step S15).

管理装置10は、タスク完了判定手段123によって、並列プロセス制御手段150から入力された転送コネクション情報に基づいて、実行中のタスクが有るか無いかを判定する(ステップS16)。   The management apparatus 10 determines whether or not there is a task being executed by the task completion determination unit 123 based on the transfer connection information input from the parallel process control unit 150 (step S16).

実行中のタスクが有る場合(ステップS16でYes)、管理装置10は、ステップS16の処理に戻り、実行中のタスクが終了するのを待つ。これによって、経路制御により、転送中のフローの経路が大幅に変わり、新たなボトルネックの誘発を防止できる。
一方、実行中のタスクが無い場合(ステップS16でNo)、管理装置10は、ステップS17の処理に進む。
When there is a task being executed (Yes in step S16), the management apparatus 10 returns to the process of step S16 and waits for the task being executed to end. As a result, the path control significantly changes the path of the flow being transferred, and can prevent a new bottleneck from being induced.
On the other hand, if there is no task being executed (No in step S16), the management apparatus 10 proceeds to the process of step S17.

管理装置10は、経路計算手段160によって、ネットワークトポロジ情報に基づいて、フローが発生し得る全てのサーバ20について主要経路を計算し、計算した主要経路を示す経路情報を生成する(ステップS17)。   Based on the network topology information, the management device 10 calculates the main route for all servers 20 that can generate a flow, and generates route information indicating the calculated main route (step S17).

管理装置10は、経路制御手段170によって、ステップS17で生成した経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積する(ステップS18)。   The management apparatus 10 causes the route control unit 170 to transmit the route information generated in step S17 to the switch 30 on the main route indicated by the route information and store the route information in the storage unit 124 (step S18).

ネットワークトポロジが変更されていない場合(ステップS10でNo)、又は、ステップS18の後、管理装置10は、ネットワークトポロジの変更判定・経路制御処理を終了する。   If the network topology has not been changed (No in step S10), or after step S18, the management apparatus 10 ends the network topology change determination / path control process.

[並列プロセス制御処理]
図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 servers 20 before the task information is input.

管理装置10は、タスク入力手段110によって、タスク情報が入力され、入力されたタスク情報を並列プロセス計算手段140に出力する(ステップS20)。
管理装置10は、並列プロセス計算手段140によって、タスク情報に基づいて、タスクを実行するサーバ20を決定して、サーバ特定情報を生成する(ステップS21:並列プロセス計算)。
The management apparatus 10 receives the task information from the task input unit 110 and outputs the input task information to the parallel process calculation unit 140 (step S20).
Based on the task information, the management apparatus 10 determines the server 20 that executes the task, and generates server specifying information (step S21: parallel process calculation).

管理装置10は、並列プロセス制御手段150によって、サーバ特定情報に従って、タスク開始により転送コネクション情報を生成すると共に、プロセスの起動と、転送コネクションの作成とをサーバ20に命令する(ステップS22:並列プロセス制御)。
管理装置10は、並列プロセス制御手段150によって、転送コネクション情報を蓄積手段124に蓄積する(ステップS23)。
The management apparatus 10 generates the transfer connection information by starting the task according to the server identification information by the parallel process control means 150 and instructs the server 20 to start the process and create the transfer connection (step S22: parallel process). control).
The management apparatus 10 stores the transfer connection information in the storage unit 124 by the parallel process control unit 150 (step S23).

管理装置10は、タスク完了判定手段123によって、タスクが完了したか否かを判定する(ステップS24)。
タスクが完了していない場合(ステップS24でNo)、管理装置10は、ステップS24の処理に戻る。
The management apparatus 10 determines whether the task is completed by the task completion determination unit 123 (step S24).
If the task has not been completed (No in step S24), the management apparatus 10 returns to the process in step S24.

タスクが完了した場合(ステップS24でYes)、管理装置10は、ステップS25の処理に進む。
管理装置10は、タスク完了判定手段123によって、完了したタスクの転送コネクション情報を、蓄積手段124から削除する(ステップS25)。
When the task is completed (Yes in step S24), the management apparatus 10 proceeds to the process of step S25.
The management apparatus 10 deletes the transfer connection information of the completed task from the storage unit 124 by the task completion determination unit 123 (step S25).

[ボトルネックの検出・迂回経路制御処理]
図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 management apparatus 10 determines whether a bottleneck has occurred in the task being executed by the bottleneck determination unit 122 (step S30).

実行中のタスクでボトルネックが発生した場合(ステップS30でYes)、管理装置10は、ステップS31の処理に進む。
一方、実行中のタスクでボトルネックが発生していない場合(ステップS30でNo)、管理装置10は、ボトルネックの検出・迂回経路制御処理を終了する。
If a bottleneck has occurred in the task being executed (Yes in step S30), the management apparatus 10 proceeds to the process in step S31.
On the other hand, if a bottleneck has not occurred in the task being executed (No in step S30), the management apparatus 10 ends the bottleneck detection / detour path control process.

管理装置10は、ボトルネック判定手段122によって、ボトルネック情報を経路計算手段160に出力する。
管理装置10は、経路計算手段160によって、ボトルネック情報に基づいて迂回経路を計算し、迂回経路の計算結果に基づいて、迂回可能か否かを判定する(ステップS31)。
The management apparatus 10 outputs the bottleneck information to the route calculation unit 160 by the bottleneck determination unit 122.
The management device 10 calculates a bypass route based on the bottleneck information by the route calculation unit 160, and determines whether or not a bypass is possible based on the calculation result of the bypass route (step S31).

迂回可能な場合(ステップS31でYes)、管理装置10は、ステップS32の処理に進む。
管理装置10は、経路計算手段160によって、経路制御手段170に迂回経路情報を出力する。
管理装置10は、経路制御手段170によって、経路情報を、この経路情報が示す主要経路上のスイッチ30に対して送信すると共に、蓄積手段124に蓄積し(ステップS32)、ステップS30の処理に戻る。
When detouring is possible (Yes in step S31), the management apparatus 10 proceeds to the process of step S32.
The management apparatus 10 outputs the detour route information to the route control unit 170 by the route calculation unit 160.
The management device 10 transmits the route information to the switch 30 on the main route indicated by the route information by the route control unit 170 and stores it in the storage unit 124 (step S32), and returns to the process of step S30. .

一方、迂回不可能な場合(ステップS31でNo)、管理装置10は、ステップS33の処理に進む。
管理装置10は、経路計算手段160によって、ネットワークリソースの追加を提案するメッセージを出力し(ステップS33)、ステップS30の処理に戻る。
つまり、管理装置10は、実行中のタスクでボトルネックが発生していないと判定されるまで、ボトルネックの検出・迂回経路制御処理を繰り返す。
On the other hand, when detouring is impossible (No in step S31), the management apparatus 10 proceeds to the process of step S33.
The management device 10 outputs a message for suggesting addition of network resources by the route calculation means 160 (step S33), and returns to the processing of step S30.
That is, the management apparatus 10 repeats the bottleneck detection / detour path control process until it is determined that no bottleneck has occurred in the task being executed.

以上のように、本発明の実施形態に係る管理装置10は、プロセスに関する情報と、ネットワークに関する情報との両方を用いるため、ボトルネックを正確に検出できると共に、新たなボトルネックを誘発させずに経路制御を行うことができる。
また、管理装置10は、主要経路が削除された場合でも、最適な主要経路を計算できるため、新たなボトルネックを誘発させずに経路制御を行うことができる。
また、管理装置10は、メッセージにより、並列分散処理システムの利用者にネットワークリソースの追加を提案することができる。
As described above, since the management apparatus 10 according to the embodiment of the present invention uses both information relating to the process and information relating to the network, the bottleneck can be accurately detected and a new bottleneck is not induced. Route control can be performed.
In addition, since the management apparatus 10 can calculate the optimum main path even when the main path is deleted, the management apparatus 10 can perform path control without inducing a new bottleneck.
Further, the management apparatus 10 can propose addition of network resources to the user of the parallel distributed processing system by a message.

本発明は、実施形態に限定されず、その趣旨を逸脱しない範囲で様々な変形を加えることができる。以下、本発明の変形例について、具体的に説明する。   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 communication line 40 on the main route is deleted as in step S14 (FIG. 7), but the present invention is not limited to this.
For example, the route calculation unit 160 may calculate a plurality of main routes in advance by the route calculation method described in the following reference, and store the route information indicating the calculated main routes in the storage unit 124.
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 route calculation unit 160 may calculate a detour route in advance in step S <b> 17 and store the detour route information indicating the calculated detour route in the storage unit 124.

(変形例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 storage unit 124. Accordingly, the user can easily determine whether there is a bias in the arrangement of network resources or the presence of network resources that can be reduced.

(変形例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が、送信元端末装置20、情報処理端末装置20、又は、送信先端末装置20の何れかの役割を担うものとして説明したが、本発明は、これに限定されない。
つまり、サーバ20は、決まった役割を予め与える必要はない。また、サーバ20は、送信元端末装置20及び送信先端末装置20を兼用するなど、複数の役割を同時に担ってもよい。
(Modification 5)
In the above-described embodiment, the server 20 has been described as playing any role of the transmission source terminal device 20 1 , the information processing terminal device 20 2 , or the transmission destination terminal device 20 3. It is not limited to.
That is, the server 20 does not need to be given a predetermined role in advance. The server 20 is, like also serves as a transmission source terminal device 20 1 and the transmission destination terminal device 20 3, may play multiple roles simultaneously.

(変形例6)
前記した実施形態では、サーバ20又はスイッチ30が定期的にノード情報を送信することとして説明したが、本発明は、これに限定されない。
例えば、サーバ20又はスイッチ30が、隣接ノードが変更されたときにノード情報を送信し、このノード情報に基づいて、ネットワークトポロジ検出手段121が、ネットワークトポロジの変更を判定してもよい。
(Modification 6)
In the above-described embodiment, the server 20 or the switch 30 is described as periodically transmitting node information, but the present invention is not limited to this.
For example, the server 20 or the switch 30 may transmit node information when an adjacent node is changed, and the network topology detection unit 121 may determine the change of the network topology based on this node information.

(変形例7)
前記した実施形態では、経路計算手段160がダイクストラ法で経路計算を行うこととして説明したが、本発明は、これに限定されない。
例えば、経路計算手段160は、利用者が予め設定した通信回線40毎のコスト値に基づいて、最小コストとなる経路を主要経路として計算してもよい。
(Modification 7)
In the above-described embodiment, the route calculation unit 160 is described as performing route calculation by the Dijkstra method, but the present invention is not limited to this.
For example, the route calculation unit 160 may calculate a route having the minimum cost as the main route based on the cost value for each communication line 40 preset by the user.

(変形例8)
並列プロセス計算手段140は、タスクの実行中に、蓄積手段124に蓄積されたプロセス進行情報を元に、並列化数を増減させてもよい。例えば、並列プロセス計算手段140は、予め設定した目標よりプロセス進行状況が遅れている場合に並列化数を増加させ、プロセス進行状況が目標を達成している場合に並列化数を減少させる。この場合、並列プロセス制御手段150は、並列化数の増減に応じて、増減したフローの転送コネクション情報を生成し、蓄積手段124に蓄積する。
この場合、情報収集手段220は、サーバ20でのプロセスの進行状況を収集し、収集したプロセスの進行状況を示すプロセス進行情報を管理装置10に送信する。そして、管理装置10は、サーバ20から送信されたプロセス進行情報を蓄積手段124に蓄積する。
(Modification 8)
The parallel process calculation unit 140 may increase or decrease the parallelization number based on the process progress information stored in the storage unit 124 during the execution of the task. For example, the parallel process calculation unit 140 increases the parallelization number when the process progress status is delayed from a preset target, and decreases the parallelization number when the process progress status has achieved the target. In this case, the parallel process control unit 150 generates transfer connection information of the increased / decreased flow according to the increase / decrease in the number of parallelizations, and accumulates it in the accumulation unit 124.
In this case, the information collection unit 220 collects the progress status of the process in the server 20 and transmits process progress information indicating the progress status of the collected process to the management apparatus 10. Then, the management apparatus 10 stores the process progress information transmitted from the server 20 in the storage unit 124.

1 並列分散処理システム
2 処理装置
10 管理装置
110 タスク入力手段
120 情報管理手段
121 ネットワークトポロジ検出手段
122 ボトルネック判定手段
123 タスク完了判定手段
124 蓄積手段
130 情報表示手段
140 並列プロセス計算手段(端末装置決定手段)
150 並列プロセス制御手段(端末装置制御手段)
160 経路計算手段
170 経路制御手段
20 サーバ(端末装置)
210 命令実行手段
220 情報収集手段
230 並列処理実行手段
240 蓄積手段
20 送信元端末装置
20 情報処理端末装置
20 送信先端末装置
30 スイッチ
310 命令実行手段
320 情報収集手段
330 パケット転送手段(データ転送手段)
40 通信回線
50 経路
60 主要経路
DESCRIPTION OF SYMBOLS 1 Parallel distributed processing system 2 Processing apparatus 10 Management apparatus 110 Task input means 120 Information management means 121 Network topology detection means 122 Bottleneck determination means 123 Task completion determination means 124 Storage means 130 Information display means 140 Parallel process calculation means (Terminal device determination) means)
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 Source terminal device 20 2 Information processing terminal device 20 3 Destination terminal device 30 Switch 310 Command execution means 320 Information collection means 330 Packet transfer means (data Transfer means)
40 communication line 50 route 60 main route

Claims (6)

データを蓄積する端末装置である送信元端末装置と、前記送信元端末装置に蓄積されたデータに所定の情報処理を施す前記端末装置である情報処理端末装置と、前記情報処理端末装置で情報処理が施されたデータを蓄積する前記端末装置である送信先端末装置と、OpenFlowにより前記端末装置の間で前記データを転送するスイッチとを備える並列分散処理システムに用いられ、前記OpenFlowにより前記スイッチに対する経路制御を行うと共に、前記送信元端末装置のデータに前記情報処理端末装置で情報処理を施して前記送信先端末装置に送信するタスクの実行を、少なくとも前記情報処理端末装置が2台以上で並列化されるように前記端末装置に命令する管理装置であって、
前記端末装置及び前記スイッチから、互いに接続された前記スイッチ又は前記端末装置を示すノード情報を受信し、受信した前記ノード情報に基づいて、前記端末装置及び前記スイッチの接続形態であるネットワークトポロジを検出するネットワークトポロジ検出手段と、
前記ネットワークトポロジに基づいて、前記タスクを実行する端末装置で起動するプロセスのポート番号で特定され、かつ、前記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.
前記経路制御手段は、予め設定された数の前記フローについて、前記経路計算手段が生成した迂回経路情報を前記スイッチに送信することを特徴とする請求項1又は請求項2に記載の管理装置。   The management apparatus according to claim 1, wherein the route control unit transmits the detour route information generated by the route calculation unit to the switch for a preset number of the flows. 前記経路計算手段は、前記迂回経路の計算結果に基づいて、前記迂回経路が存在するか否かを判定し、前記迂回経路が存在しない場合、予め設定されたネットワークリソースの追加を提案するメッセージを提示することを特徴とする請求項1から請求項3の何れか一項に記載の管理装置。   The route calculation means determines whether or not the detour route exists based on the calculation result of the detour route. If the detour route does not exist, a message for proposing addition of a preset network resource is displayed. The management apparatus according to claim 1, wherein the management apparatus presents the management apparatus. データを蓄積する端末装置である送信元端末装置と、前記送信元端末装置に蓄積されたデータに所定の情報処理を施す前記端末装置である情報処理端末装置と、前記情報処理端末装置で情報処理が施されたデータを蓄積する前記端末装置である送信先端末装置と、OpenFlowにより前記端末装置の間で前記データを転送するスイッチとを備える並列分散処理システムに用いられ、前記OpenFlowにより前記スイッチに対する経路制御を行うと共に、前記送信元端末装置のデータに前記情報処理端末装置で情報処理を施して前記送信先端末装置に送信するタスクの実行を、少なくとも前記情報処理端末装置が2台以上で並列化されるように前記端末装置に命令するために、コンピュータを、
前記端末装置及び前記スイッチから、互いに接続された前記スイッチ又は前記端末装置を示すノード情報を受信し、受信した前記ノード情報に基づいて、前記端末装置及び前記スイッチの接続形態であるネットワークトポロジを検出するネットワークトポロジ検出手段、
前記ネットワークトポロジに基づいて、前記タスクを実行する端末装置で起動するプロセスのポート番号で特定され、かつ、前記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.
データを蓄積する送信元端末装置、前記送信元端末装置に蓄積されたデータに所定の情報処理を施す情報処理端末装置、又は、前記情報処理端末装置で情報処理が施されたデータを蓄積する送信先端末装置のうち、何れか1以上の役割を担う端末装置と、
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:
JP2012229383A 2012-10-17 2012-10-17 Management device, bottleneck determination / path control program, and parallel distributed processing system Expired - Fee Related JP6088197B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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