JP2012022578A - 情報処理方法、装置及びプログラム - Google Patents

情報処理方法、装置及びプログラム Download PDF

Info

Publication number
JP2012022578A
JP2012022578A JP2010161044A JP2010161044A JP2012022578A JP 2012022578 A JP2012022578 A JP 2012022578A JP 2010161044 A JP2010161044 A JP 2010161044A JP 2010161044 A JP2010161044 A JP 2010161044A JP 2012022578 A JP2012022578 A JP 2012022578A
Authority
JP
Japan
Prior art keywords
computer
identifier
computers
network
communication path
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.)
Granted
Application number
JP2010161044A
Other languages
English (en)
Other versions
JP5540963B2 (ja
Inventor
Akira Naruse
彰 成瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010161044A priority Critical patent/JP5540963B2/ja
Priority to US13/181,837 priority patent/US8775637B2/en
Publication of JP2012022578A publication Critical patent/JP2012022578A/ja
Application granted granted Critical
Publication of JP5540963B2 publication Critical patent/JP5540963B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17362Indirect interconnection networks hierarchical topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

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

Abstract

【課題】マルチパスネットワークにおけるリンク競合を回避する。
【解決手段】本方法は、中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得するステップと、複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、上記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で通信経路が分散するように使用すべきネットワーク識別子を特定する特定ステップとを含む。
【選択図】図8

Description

本技術は、中継装置が2階層以上にまたがるマルチパスネットワークに関する。
近年、HPC(High Performance Computing)システムとして、多数のコンピュータを高速ネットワークで接続することで構築されるクラスタシステムが広く用いられている。このクラスタシステムで並列処理プログラムを実行する場合には、並列処理プログラムのための並列プロセスを複数のコンピュータに分散して起動させる。そのため、並列プロセス間でデータ交換を行う場合には、コンピュータ間で通信を行うことになる。従って、コンピュータ間通信の性能が、クラスタシステムに影響を及ぼす。
コンピュータ間通信の性能を向上させるためには、例えばInfiniBandやMyrinet等の高性能ネットワークや、この高性能ネットワークを使いこなす通信ライブラリの影響を考慮する。クラスタシステム上では、MPI(Message Passing Interface)と呼ばれる通信API(Application Program Interface)で記述された並列処理プログラムが実行されることが多い。そのため、MPI仕様に基づく様々な通信ライブラリが提供されている。
例えば図1に示すように、プロセス0乃至N−1が、N個のコンピュータ上に分散して起動された場合、並列処理プログラムで規定されている計算処理の合間に、データ交換のためのプロセス間通信が行われることが多い。図1では起動された全てのプロセス間で通信を行う例を示しているが、特定のプロセス間で一対一通信を行う場合もある。プロセス間通信ではMPIライブラリの該当モジュールを呼び出して通信を行うことになる。
並列処理プログラムにおけるプロセス間通信のパターンはプログラム次第であり多種多様である。その中でも、図1に示したように起動された全ての並列プロセス間でデータ交換を行う通信パターンである全対全(All−to−All)は、着目される通信パターンの1つとされている。そこで、MPI仕様でも、MPI_Alltoall()という関数で全対全通信を実現することが求められている。全対全通信を実現するアルゴリズムは様々存在するが、比較的データサイズが大きく且つネットワークの帯域幅で性能が律速されるケースでは、リング(Ring)アルゴリズムが使われることが多い。
リングアルゴリズムについて図2A乃至図2Hを用いて説明する。図2Aに示すように、プロセス0からプロセス7までの8つのプロセスが起動された場合を考える。このような場合、まず、図2Bに示すように、各プロセスは、プロセス番号が1つ前のプロセスからデータを受信し、プロセス番号が1つ後のプロセスへデータを送信する。なお、プロセス番号「7」の後のプロセスはプロセス番号「0」のプロセスであり、プロセス番号「0」の前のプロセスはプロセス番号「7」のプロセスとする。
そして、図2Cに示すように、各プロセスは、プロセス番号が2つ前のプロセスからデータを受信し、プロセス番号が2つ後のプロセスへデータを送信する。さらに、図2Dに示すように、各プロセスは、プロセス番号が3つ前のプロセスからデータを受信し、プロセス番号が3つ後のプロセスへデータを送信する。また、図2Eに示すように、各プロセスは、プロセス番号が4つ前のプロセスからデータを受信し、プロセス番号が4つ後のプロセスへデータを送信する。さらに、図2Fに示すように、各プロセスは、プロセス番号が5つ前のプロセスからデータを受信し、プロセス番号が5つ後のプロセスへデータを送信する。また、図2Gに示すように、各プロセスは、プロセス番号が6つ前のプロセスからデータを受信し、プロセス番号が6つ後のプロセスへデータを送信する。さらに、図2Hに示すように、各プロセスは、プロセス番号が7つ前のプロセスからデータを受信し、プロセス番号が7つ後のプロセスへデータを送信する。
リングアルゴリズムを採用する場合には、以下で述べるような問題のあるネットワーク構成でなければ、効率よく全対全通信を行うことができる。
次に、ネットワーク構成について考察する。図3に示すように、使用されるコンピュータの数が少ない場合には、1つのネットワークスイッチSW(以下、スイッチと略する)によってそれらのコンピュータを接続することができる。すなわち、8つのコンピュータが1つのスイッチに接続されており、各コンピュータに1つのプロセスが起動されている。このような場合にはクロスバー接続と等価であり、起動されているプロセス間で全対全通信を行っても、ネットワークリンクの競合が発生することはない。
一方、使用されるコンピュータの数が1つのスイッチで接続可能な数を超えると、スイッチを多段にして用いることになる。シンプルな多段スイッチ構成のネットワークは図4に示すようなツリー(Tree)ネットワークである。図4では、説明の都合上、コンピュータの数及び起動されるプロセスの数は図3の例と同じであるが、スイッチSWのポート数が8未満であるものとしている。また、図2Eにおいてプロセス0乃至3がデータを送信している場面における通信状態を示している。スイッチを2段にして上位スイッチの数を最小である「1」に抑えているため、上位スイッチと下位スイッチとの間のリンクの帯域が不足している。よって、8つのプロセスで全対全通信を行おうとすると、図4で丸で示したように、上位スイッチと下位スイッチとの間のリンクで競合が発生して、スループットが低下する。
そのため、ネットワーク性能を重視する場合には、ファットツリー(FatTree)ネットワークを採用する場合が多い。図5の例では、上位スイッチを4つに増加させ、下位スイッチから上位スイッチへのリンク(アップリンクとも呼ぶ)の数を、下位スイッチからコンピュータへのリンク(ダウンリンクとも呼ぶ)の数に一致させている。そして、プロセス「0」及び「4」が起動されているコンピュータへのデータ送信は上位スイッチ「A」を経由するように設定する。また、プロセス「1」及び「5」が起動されているコンピュータへのデータ送信は上位スイッチ「B」を経由するように設定する。さらに、プロセス「2」及び「6」が起動されているコンピュータへのデータ送信は上位スイッチ「C」を経由するように設定する。また、プロセス「3」及び「7」が起動されているコンピュータへのデータ送信は上位スイッチ「D」を経由するように設定する。このようにして、図2Eにおいてプロセス0乃至3が起動されているコンピュータがデータを送信している場面における通信状態は図5に示すように、リンク競合なしで通信が行われている。
しかし、上で述べたInfiniBandのようなパケット転送経路を動的に変更できないネットワーク(すなわち静的ルーティングネットワーク)では、上位スイッチと下位スイッチ間の特定のリンクに通信が集中することがある。図6は、その一例を示したものである。図6の例では16台のコンピュータが、上位スイッチ4台と下位スイッチ4台のファットツリーネットワークに接続されている。このようなシステムにおいては、各コンピュータの稼働状況などに応じてコンピュータが選択されて、この選択コンピュータにおいてプロセスが起動される。しかしながら、選択コンピュータが送信するパケットが経由する上位スイッチには偏りが生じてしまう可能性がある。
図6の例では、プロセス「0」「4」「6」「7」が起動されたコンピュータへのデータ送信は上位スイッチ「A」を経由するように設定されている。プロセス「1」「5」が起動されたコンピュータへのデータ送信は上位スイッチ「B」を経由するように設定されている。プロセス「2」が起動されたコンピュータへのデータ送信は上位スイッチ「C」を経由するように設定されている。プロセス「3」が起動されたコンピュータへのデータ送信は上位スイッチ「D」を経由するように設定されている。そうすると、図2Eにおいてプロセス0乃至3が起動されているコンピュータがデータを送信している場面における通信状態は図6に示すように、プロセス「1」が起動されたコンピュータからプロセス「5」が起動されたコンピュータへのデータ通信以外は、上位スイッチ「A」へのアップリングが用いられるので、丸で示したようにリンク競合が発生してしまっている。
このように、ファットツリーネットワークを採用した場合においても、特定のリンクに通信負荷が集中して、通信性能が低下するという状況が生じ得る。これは、InfiniBandのような静的ルーティングネットワークを採用する場合に生じ得る。すなわち、図7に示すように、ネットワークにおいてルーティングに用いられるネットワーク識別子(InifiniBandではLIDと呼ぶ)が1つだけコンピュータに割り当てられ、各スイッチではこのネットワーク識別子とパケット転送先ポートとの対応付けが固定的である場合に問題となる。具体的には、最も左のコンピュータのLIDは「1」となっており、このコンピュータ宛のパケットは、上位スイッチ「A」を経由することが固定的である。同様に、最も右のコンピュータのLIDは「16」となっており、このコンピュータ宛のパケットは、上位スイッチ「D」を経由することが固定的である。
さらに、上でも述べたように、並列プロセスを起動するコンピュータの選択は、コンピュータに割り当てられているLIDとの関係を考慮せずに行われているため、データ送信時の通信経路(具体的には、データ送信時に経由する上位スイッチ)に偏りが生じてしまう場合がある。
なお、リンク競合が発生しやすい例として上では全対全通信を一例として説明したが、図6に示したようなコンピュータが選択されてプロセスが起動されてしまうと、そのほかの場面(例えば一対一通信を複数のプロセス組み合わせで同時に行う場合など)でも上位スイッチ「A」を経由するようなデータ通信が発生しやすくなり、結果としてリンク競合が発生する可能性も増加している。
通信経路を動的に変更するような技術は存在しているが、静的ルーティングネットワークにおける上で述べたような問題に着目している従来技術は存在していない。
特開2009−20797号公報 特開2006−146391号公報 特開平11−66024号公報
本技術の目的は、一側面においては、中継装置が2階層以上にまたがるマルチパスネットワークにおけるリンク競合を回避するための技術を提供することである。
本方法は、(A)中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得するステップと、(B)複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、上記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で通信経路が分散するように使用すべきネットワーク識別子を特定する特定ステップとを含む。
中継装置が2階層以上にまたがるマルチパスネットワークにおけるリンク競合を回避できるようになる。
図1は、プロセス間通信を説明するための図である。 図2Aは、リングアルゴリズムを説明するための図である。 図2Bは、リングアルゴリズムを説明するための図である。 図2Cは、リングアルゴリズムを説明するための図である。 図2Dは、リングアルゴリズムを説明するための図である。 図2Eは、リングアルゴリズムを説明するための図である。 図2Fは、リングアルゴリズムを説明するための図である。 図2Gは、リングアルゴリズムを説明するための図である。 図2Hは、リングアルゴリズムを説明するための図である。 図3は、ネットワーク構成の一例を示す図である。 図4は、ネットワーク構成の一例を示す図である。 図5は、ファットツリーネットワークにおける全対全通信を説明するための図である。 図6は、ファットツリーネットワークにおいてリンク競合が発生する場合の例を示す図である。 図7は、InfiniBandによる多段マルチパスネットワークの一例を示す図である。 図8は、実施の形態における多段マルチパスネットワークの一例を示す図である。 図9は、LIDファイルの一例を示す図である。 図10は、実施の形態におけるシステムの一例を示す図である。 図11は、システムの動作を説明するための図である。 図12は、ホストファイルの一例を示す図である。 図13は、システムの動作を説明するための図である。 図14は、対応表の一例を示す図である。 図15は、並列プロセスが起動されたコンピュータの構成を説明するための図である。 図16は、並列プロセスが起動されたコンピュータの動作を説明するための図である。 図17は、初期処理部の動作を説明するための図である。 図18は、LIDとプロセス識別子との対応付けデータの一例を示す図である。 図19は、リンク競合が発生しないことを示すケースを示す図である。 図20は、リンク競合が発生しないことを示すケースを示す図である。 図21は、他の実施の形態におけるシステムの一例を示す図である。 図22は、他の実施の形態におけるシステムの動作を説明するための図である。 図23は、コンピュータの機能ブロック図である。 図24は、情報処理装置の機能ブロック図である。
本技術の一実施の形態に係る多段マルチパスネットワーク(すなわち、中継装置が2階層以上にまたがるマルチパスネットワーク)の例を図8に示す。図8では、4つの上位スイッチと、4つの下位スイッチとで、16台のコンピュータcomp00乃至comp15を接続する例を示している。下位スイッチE乃至Hのそれぞれは、上位スイッチA乃至Dに接続されている。すなわち、ある下位スイッチから他の下位スイッチへの通信経路は4重化されている。具体的には、上位スイッチAを経由する通信経路、上位スイッチBを経由する通信経路、上位スイッチCを経由する通信経路、及び上位スイッチDを経由する通信経路が存在する。本実施の形態では、各コンピュータには、このような4つの通信経路に対応して4つのネットワーク識別子(以下では、InfiniBandについて説明するものとしてLIDと呼ぶことにする)が予め割り当てられている。
具体的には図8において各コンピュータcomp00乃至comp15の下に、割り当てられたLID及び通信経路(ここでは上位スイッチの識別子)とが示されている。例えば、コンピュータcomp00には、上位スイッチAを経由する通信経路についてのLID「1」と、上位スイッチBを経由する通信経路についてのLID「2」と、上位スイッチCを経由する通信経路についてのLID「3」と、上位スイッチDを経由する通信経路についてのLID「4」とが割り当てられている。また、コンピュータcomp15には、上位スイッチAを経由する通信経路についてのLID「61」と、上位スイッチBを経由する通信経路についてのLID「62」と、上位スイッチCを経由する通信経路についてのLID「63」と、上位スイッチDを経由する通信経路についてのLID「64」とが割り当てられている。
各コンピュータは、以下で述べるように、いずれかのLIDを用いて並列プロセス間の通信を行う。
上位スイッチ及び下位スイッチの各々は、これらの各LIDについて対応する出力ポート番号を特定できるようになっている。このような多段マルチパスネットワークにおいて送信されるパケットのヘッダには、宛先コンピュータのLIDが設定されており、各スイッチでは、このLIDから、受信パケットをいずれの出力ポートに転送すべきかを特定できるようになっている。
例えば、下位スイッチEが、宛先コンピュータのLIDが「17」となっているパケットを受信した場合には、当該パケットを上位スイッチAに転送する。同じように、下位スイッチEが、宛先コンピュータのLIDが「18」となっているパケットを受信した場合には、当該パケットを上位スイッチBに転送する。また、下位スイッチEが、宛先コンピュータのLIDが「19」となっているパケットを受信した場合には、当該パケットを上位スイッチCに転送する。さらに、下位スイッチEが、宛先コンピュータのLIDが「20」となっているパケットを受信した場合には、当該パケットを上位スイッチDに転送する。このようなパケットは、全てコンピュータcomp04宛のパケットであるが、上で述べたように経由する上位スイッチは異なっている。
本実施の形態では、このような設定を表すLIDファイルを、各コンピュータ又は後に述べる共有ストレージに保持するものとする。図8に示した設定に対応するLIDファイルの一例を図9に示す。図9の例では、LIDファイルには、第1行にLIDファイルである旨のデータが含まれ、第2行に上位スイッチの数Nu=「4」(すなわち、通信経路の数)が含まれている。この上位スイッチの数Nuについては、後に述べる処理で用いられる。第3行目以降に、各コンピュータの識別子と、割り当てられている4つのLIDとの対応付けが含まれている。本実施の形態では、左から、上位スイッチAを経由する通信経路についてのLID、上位スイッチBを経由する通信経路についてのLID、上位スイッチCを経由する通信経路についてのLID、上位スイッチDを経由する通信経路についてのLIDが並べられている。このような並べ方に限定されるものではないが、各コンピュータについて、同じ並べ方を採用する。
次に、図10を用いて、図8に示した多段マルチパスネットワークを含むシステムの構成例を説明する。図10においては、図8に示した上位スイッチA乃至D及び下位スイッチE乃至Hは明示していないが、コンピュータcomp00乃至comp15が接続されているネットワーク10に含まれているものとする。このネットワーク10には、スケジューリングサーバ11と、起動サーバ12と、ネットワーク10に接続されているコンピュータにより用いられる共有ストレージ13とが接続されている。
スケジューリングサーバ11は、コンピュータcomp00乃至comp15の稼働状況を把握し、次に起動すべき並列プロセス及び当該並列プロセスの起動先のコンピュータを決定し、当該並列プロセスを起動するように起動サーバ12に指示する。起動サーバ12は、スケジューリングサーバ11からの指示に応じて、並列プロセスを、指定されたコンピュータ上に起動する。
図10では、起動サーバ12は、スケジューリングサーバ11とは別のコンピュータとして示されているが、スケジューリングサーバ11と物理的に同じサーバである場合もある。さらに、以下で述べるホストファイル(Hostfile)に記載されている先頭のコンピュータが起動サーバとして動作する場合もある。
以下では、図10に示したようなシステムにおいて、4台のコンピュータに、4つの並列プロセスを起動する場合について説明する。本実施の形態では、並列プロセスはそれぞれ別のコンピュータ上に起動されるものとする。
このような具体例について図11乃至図20を用いて図10に示したシステムの動作を説明する。まず、スケジューリングサーバ11は、コンピュータcomp00乃至comp15の稼働状況から、使用するコンピュータを選択する(ステップ(1))。例えば、コンピュータcomp00、comp05、comp10及びcomp12を選択する。そして、スケジューリングサーバ11は、選択されたコンピュータの識別子(例えばコンピュータ名)を列挙したホストファイル(Hostfile)を生成し、共有ストレージ13に格納する(ステップ(2))。ホストファイルは、例えば図12に示すようなファイルである。図12で示すように、ステップ(1)で選択された4つのコンピュータの識別子が含まれる。
そして、スケジューリングサーバ11は、起動サーバ12に対して、ホストファイルに列挙されているコンピュータ上に並列プロセスを起動するように指示する(ステップ(3))。ホストファイルについて、共有ストレージ13の格納場所を指定するようにしても良いし、実際にホストファイルを送信するようにしても良い。
その後、図13の処理に移行して、起動サーバ12は、例えば共有ストレージ13に格納されているホストファイルを取得し(ステップ(4))、ホストファイルに定義されている起動先のコンピュータcomp00、comp05、comp10及びcomp12を特定する(ステップ(5))。そして、起動サーバ12は、起動先のコンピュータcomp00、comp05、comp10及びcomp12上に、並列プロセスを起動する(ステップ(6))。この際、起動サーバ12は、同一のジョブについて起動されたプロセスの識別子と当該プロセスが起動された起動先コンピュータの識別子とを対応付ける対応表を生成し、共有ストレージ13に格納して格納場所を通知するか、対応表を起動先コンピュータに送信する。起動先コンピュータには、さらにそのコンピュータ上で起動されるプロセスの識別子も通知する。
図14に、対応表の一例を示す。図14の例では、プロセス識別子(Proc0,Proc1,Proc2,Proc3。但し、「Proc」部分は分かりやすくするための添え字であり、0乃至3が識別子であるとする。)に対応付けて起動先コンピュータの識別子(comp00,comp05,comp10,comp12)が対応付けられている。プロセス識別子については、本実施の形態では、0乃至3といった連続する整数値であるものとする。
次に、図15乃至図20を用いて、起動先コンピュータについて説明する。図15は、起動先コンピュータ100の機能構成を模式的に示した図であり、起動サーバ12によって、起動先コンピュータ100では、動的に並列プロセス110が起動される。この並列プロセス110の処理に関連するデータについてはデータ格納領域130に格納される。また、起動先コンピュータ100には通信ライブラリ120も用意されている。通信ライブラリ120は、例えばMPI仕様に従ったライブラリであり、MPI_Initモジュールに相当する初期処理部121と、MPI_AlltoAllモジュールに相当する全対全通信部123とを含む。並列プロセス110は、初期処理部121を呼び出してプロセス間通信を行うための初期処理を実施させ、全対全通信を行う場合には全対全通信部123を呼び出して同じジョブについて起動された全ての並列プロセス間で全対全通信を行わせる。通信ライブラリ120の初期処理部121及び全対全通信部123は、場合によってはデータ格納領域130に格納されているデータを用いて処理を行う。なお、通信ライブラリ120には、他のモジュールも含まれるが、ここでは本実施の形態に関係するもののみを示している。
起動サーバ12は、上で述べたように、同一のジョブについて起動されたプロセスの識別子と当該プロセスが起動された起動先コンピュータの識別子とを対応付ける対応表と、その起動先コンピュータに起動したプロセスの識別子とを通知するが、これらのデータについては例えばデータ格納領域130に格納される。なお、上で述べたように、対応表については共有ストレージ13に格納される場合もあり、その場合にはデータ格納領域130には格納場所のデータが格納される場合もある。
図16及び図17を用いて、具体的な処理について説明する。まず、起動された並列プロセス110は、通信ライブラリ120の初期処理部121を呼び出す(図16:ステップS1)。初期処理部121は、呼び出されると、図17に示すような処理を実施する。
初期処理部121は、対応表を取得する(図17:ステップS11)。データ格納領域130に対応表が格納されている場合には、当該データ格納領域130から読み込み、共有ストレージ13に対応表が格納されている場合には、共有ストレージ13から取得する。
また、初期処理部121は、LIDファイル(図9)に定義されている、上位スイッチの個数Nuを取得する(ステップS13)。LIDファイルは、各コンピュータが保持している場合もあれば、共有ストレージ13に格納されている場合もある。従って、初期処理部121は、例えばデータ格納領域130又は自コンピュータの何らかの記憶装置に保持されているLIDファイルから、上位スイッチの個数Nuを読み出す。または、ネットワーク10を介して共有ストレージ13に格納されているLIDファイルにアクセスして、当該LIDファイルから最上位スイッチの個数Nuを読み出す。ステップS13で、共有ストレージ13からLIDファイル全てを読み込むようにしても良い。
次に、初期処理部121は、プロセスの識別子のカウンタiを0に初期化する(ステップS15)。そして、初期処理部121は、ステップS11で取得した対応表からi番目のコンピュータの識別子を読み出す(ステップS17)。図14の例では、i=0であればcomp00が得られる。また、初期処理部121は、読み出したコンピュータの識別子に対応付けられているLIDを、LIDファイルから取得する(ステップS19)。ステップS13と同じで、LIDファイルの保持場所から取得する。上でも述べたように各コンピュータには4つのLIDが対応付けられているので、4つのLIDを読み出す。当然通信経路(すなわち上位スイッチ)の数分LIDがLIDファイルに登録されているので、全て読み出す。例えば、comp00に対応付けられているLIDは、「1」「2」「3」「4」である。
その後、初期処理部121は、iの、上位スイッチの個数Nuについての剰余(=i mod Nu)の順番におけるLIDを、i番目のプロセスのLIDとして特定する(ステップS21)。i=0でNu=4とすると、剰余は0であるから、最初のLID=「1」が特定される。
そして、初期処理部121は、iが、対応表から特定される(プロセス数−1)以上となったか判断する(ステップS23)。この条件を満たしていない場合には、初期処理部121は、iを1インクリメントする(ステップS25)。そしてステップS17に戻る。
プロセスの識別子i=1となると、対応するコンピュータの識別子comp05が特定される。そして、コンピュータの識別子comp05に対応付けられているLID「21」「22」「23」「24」が得られる。「1」の、Nu=4の剰余は「1」であるから、2番目のLID「22」が特定される。以下、同様に処理すれば、プロセスの識別子i=2については、LIDが「43」と特定される。さらに、プロセスの識別子i=3については、LIDが「52」と特定される。例えば、このようなプロセス識別子とLIDとの対応付けデータ(図18)については、例えばデータ格納領域130に格納される。コンピュータの識別子とLIDとの対応付けデータを生成するようにしてもよい。対応表があれば、いずれの場合にも、プロセス識別子と起動先コンピュータの識別子とLIDとの対応関係を特定できる。さらに、対応表に、特定されたLIDを登録するようにしても良い。
以上のような処理は、各起動先コンピュータで並列して実施されることになる。
そうすると、初期処理部121は、ステップS21で特定されたLIDで、プロセス間の通信コネクションを構築する(ステップS27)。この処理自体は、従来と同じであるからこれ以上述べない。
このような処理を行うことによって、他の起動先コンピュータの並列プロセスと通信する準備が完了したことになる。
そうすると、図16の処理の説明に戻って、並列プロセス110は、プログラムに従って、ステップS27で構築された通信コネクションを用いてプロセス間通信を行う(ステップS3)。このプロセス間通信は、例えば全対全通信部123による全対全通信の場合もあるが、一対一通信である場合もある。ステップS3は、並列プロセス110の処理が完了するまで行われる。
このようにプロセスの識別子又はコンピュータの識別子とLIDとの対応付けを用いることによって、通信経路に偏りが発生しないので、データ通信時に上位スイッチと下位スイッチのリンクにリンク衝突が発生しないようになる。すなわち、LID「1」は上位スイッチAを経由する通信経路に対応し、LID「22」は上位スイッチBを経由する通信経路に対応し、LID「43」は上位スイッチCを経由する通信経路に対応し、LID「52」は上位スイッチDを経由する通信経路に対応する。このように通信経路が重複していないため、リングアルゴリズムを用いた全対全通信を行う場合にもリンク競合が発生しない。
上で述べた例では、ステップS21で、通信経路に含まれる上位スイッチがサイクリックになるように、各プロセス(又はコンピュータ)にLIDを割り当てたが、他の方法で上位スイッチが分散するようにLIDを割り当てるようにしても良い。
なお、上で述べた具体例ではプロセスの数が4つで少ないため、効果がわかりにくいが、例えば図6と同じような多段マルチパスネットワークを採用して、図6と同じコンピュータに8つのプロセスを起動した場合を図19を用いて説明する。図19に示すように、8つのプロセスが起動されたコンピュータには、左から順番に、上位スイッチA、B、C、D、A、B、C、Dといったようにサイクリックに通信経路を変化させて対応するLIDを割り当てている。従って、図6と同じように図2Eにおいてプロセス0乃至3が起動されているコンピュータがデータを送信している場面における通信状態において、リンク競合は発生していない。
たとえ、プロセスが起動されるコンピュータが変更されても同様である。例えば図20に示すように、図19とは異なるコンピュータでプロセスが起動されたとしても、プロセスが起動されたコンピュータには、図19と同じようにサイクリックで、通信経路を変化させて対応するLIDが割り当てられる。従って、図6と同じように図2Eにおいてプロセス0乃至3が起動されているコンピュータがデータを送信している場面における通信状態において、リンク競合は発生していない。
以上述べたように、通信経路を動的に変更できないような多段マルチパスネットワークにおいても、各コンピュータに対して通信経路毎のLIDを割り当てておき、プロセスの起動先コンピュータに対して通信経路が分散するようにLIDを選択すれば、リンク競合を避けることができるようになる。すなわち、プロセス間通信が高速に行われるようになり、並列処理の処理時間を短縮することができるようになる。
なお、上で述べた例ではMPI_Initに相当する初期処理部121が自ら各プロセスが起動されたコンピュータのLIDを特定していたが、例えば図21に示すようなシステムを採用して、LID管理コンピュータ14によって集中的にLIDを特定するようにしても良い。LID管理コンピュータ14は、起動サーバ12やスケジューリングサーバ11と一体となっている場合もある。さらに、起動サーバ12と同じように、プロセス識別子が最小のプロセスが起動されたコンピュータが、LID管理コンピュータ14のように動作する場合もある。
図21のシステムでは、共有ストレージ13の代わりにLID管理コンピュータ14がネットワーク10に接続されている。LID管理コンピュータ14は、データ格納部141を有している。データ格納部141には、LIDファイル(図9)が格納されている。また、起動サーバ12が対応表をLID管理コンピュータ14に通知する場合には、対応表もデータ格納部141に格納されることもある。
次に、このようなLID管理コンピュータ14を導入した場合の動作例を図22を用いて説明する。並列プロセス110が起動されて初期処理部121が呼び出された後、初期処理部121は、LID決定要求をLID管理コンピュータ14に送信する(ステップS31)。LID決定要求は、例えば対応表を含む。対応表が、起動サーバ12からLID管理コンピュータ14に通知済みであれば、例えば対応表の識別情報をLID決定要求に含むようにすればよい。
LID管理コンピュータ14は、起動先コンピュータからLID決定要求を受信すると(ステップS33)、LID決定処理を実施する(ステップS35)。LID決定処理は、図17の処理フローにおけるステップS11乃至S25までの処理である。なお、対応表のデータを並列プロセスの起動先コンピュータ(選択コンピュータとも呼ぶ)から受信する場合には、当該受信がステップS11の取得に相当する。
LID管理コンピュータ14は、LID決定処理で特定された、プロセス識別子又はコンピュータ識別子若しくはその両方とLIDとの組み合わせを、LID決定要求の要求元コンピュータに送信する(ステップS37)。起動先コンピュータの初期処理部121は、LID管理コンピュータ14からプロセス識別子又はコンピュータ識別子若しくはその両方とLIDとの組み合わせのデータを受信し、例えばデータ格納領域130に格納する(ステップS39)。そして、初期処理部121は、図17のステップS27と同じように、受信したデータを用いて、起動プロセス間の通信コネクションを構築する(ステップS41)。
このようにすれば、初期処理部121の処理負荷が軽減される。
なお、起動サーバ12の機能を有するコンピュータが、リクエストベースではなく、図17のステップS11乃至S25の処理を、プロセスを起動する前などに実施して、図18に示すようなデータと対応表などと共に各起動先コンピュータに通知するようにしても良い。この場合、起動サーバ12による対応表の生成が対応表の取得に相当する。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図17の処理フローは一例であって、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実施するようにしても良い。例えば、ステップS11乃至S15については順番を入れ替えたりしても良い。
なお、上で述べたコンピュータ100、起動サーバ12及びスケジューリングサーバ11は、コンピュータ装置であって、図23に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
初期処理部121及び全対全通信部123を含む通信ライブラリ120は、CPU2503により実行される。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る方法は、(A)中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動される選択コンピュータの識別子と並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得するステップと、(B)複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、上記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で通信経路が分散するように使用すべきネットワーク識別子を特定する特定ステップとを含む。
このようにすれば、上記のようなマルチパスネットワークにおいて全対全通信を行う場合でもリンク競合を回避することができるようになる。なお、この方法を実行するコンピュータは、上記のようなマルチパスネットワークに接続された複数のコンピュータであってもよいし、他のコンピュータの場合もある。
また、上記方法は、特定されたネットワーク識別子を用いて並列プロセス間のコネクションを構築するステップをさらに含むようにしても良い。例えば、並列プロセスの起動後初期処理として上記方法を実行する場合には、このようにコネクションを予め構築することで、実際のプロセス間通信を早期に開始することができ、全体としての処理時間を短縮することができるようになる。
なお、上で述べた通信経路が、上記マルチパスネットワークにおいて経由する最上位スイッチで特定される場合もある。例えば2段のマルチパスネットワークにおいては、経由する最上位スイッチが通信経路を表すようになる。
さらに、並列プロセスの識別子の各々に、並列プロセスの起動個数の連続する整数値のいずれかが割り当てられ、ネットワーク識別子が、複数のコンピュータに含まれるコンピュータ毎に、対応する通信経路の所定の順番に並べられている場合もある。このような場合、上で述べた特定ステップは、並列プロセスの識別子である整数値の、通信経路の数についての剰余の順番におけるネットワーク識別子を特定するステップを含むようにしてもよい。このようにすれば簡単にネットワーク識別子を特定することができる。
また、本実施の形態に係る情報処理装置(図24:500)は、(A)中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動される選択コンピュータの識別子と並列プロセスの識別子との組み合わせを複数含む対応付けデータ(図24:530)を取得する取得部(図24:510)と、(B)複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、上記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で通信経路が分散するように使用すべきネットワーク識別子を特定する特定処理部(図24:520)とを有する。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と前記並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得するステップと、
前記複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、前記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、前記対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で前記通信経路が分散するように使用すべきネットワーク識別子を特定する特定ステップと、
を、前記コンピュータ又は前記マルチパスネットワークに接続されている管理コンピュータに実行させるプログラム。
(付記2)
特定された前記ネットワーク識別子を用いて前記並列プロセス間のコネクションを構築するステップ
をさらに実行させる付記1記載のプログラム。
(付記3)
前記通信経路が、前記マルチパスネットワークにおいて経由する最上位スイッチで特定される
付記1又は2記載のプログラム。
(付記4)
前記並列プロセスの識別子の各々に、前記並列プロセスの起動個数の連続する整数値のいずれかが割り当てられており、
前記ネットワーク識別子が、前記複数のコンピュータに含まれるコンピュータ毎に、対応する通信経路の所定の順番に並べられており、
前記特定ステップが、
前記並列プロセスの識別子である整数値の、前記通信経路の数についての剰余の順番におけるネットワーク識別子を特定するステップ
を含む付記1乃至3のいずれか1つ記載のプログラム。
(付記5)
中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と前記並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得する取得部と、
前記複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、前記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、前記対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で前記通信経路が分散するように使用すべきネットワーク識別子を特定する特定処理部と、
を有する情報処理装置。
(付記6)
中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と前記並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得するステップと、
前記複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、前記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、前記対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で前記通信経路が分散するように使用すべきネットワーク識別子を特定する特定ステップと、
を含み、前記コンピュータ又は前記多段マルチパスネットワークに接続される管理コンピュータにより実行される情報処理方法。
10 ネットワーク 11 スケジューリングサーバ
12 起動サーバ 13 共有ストレージ
14 LID管理コンピュータ

Claims (6)

  1. 中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と前記並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得するステップと、
    前記複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、前記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、前記対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で前記通信経路が分散するように使用すべきネットワーク識別子を特定する特定ステップと、
    を、前記コンピュータ又は前記マルチパスネットワークに接続されている管理コンピュータに実行させるプログラム。
  2. 特定された前記ネットワーク識別子を用いて前記並列プロセス間のコネクションを構築するステップ
    をさらに実行させる請求項1記載のプログラム。
  3. 前記通信経路が、前記マルチパスネットワークにおいて経由する最上位スイッチで特定される
    請求項1又は2記載のプログラム。
  4. 前記並列プロセスの識別子の各々に、前記並列プロセスの起動個数の連続する整数値のいずれかが割り当てられており、
    前記ネットワーク識別子が、前記複数のコンピュータに含まれるコンピュータ毎に、対応する通信経路の所定の順番に並べられており、
    前記特定ステップが、
    前記並列プロセスの識別子である整数値の、前記通信経路の数についての剰余の順番におけるネットワーク識別子を特定するステップ
    を含む請求項1乃至3のいずれか1つ記載のプログラム。
  5. 中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と前記並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得する取得部と、
    前記複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、前記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、前記対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で前記通信経路が分散するように使用すべきネットワーク識別子を特定する特定処理部と、
    を有する情報処理装置。
  6. 中継装置が2階層以上にまたがるマルチパスネットワークに接続された複数のコンピュータのうち並列プロセスが起動されるコンピュータである選択コンピュータの識別子と前記並列プロセスの識別子との組み合わせを複数含む対応付けデータを取得するステップと、
    前記複数のコンピュータに含まれる各コンピュータの識別子に予め対応付けられており且つルーティングに用いられる、前記マルチパスネットワークにおける通信経路毎のネットワーク識別子から、前記対応付けデータにおいて識別子が含まれる選択コンピュータ毎に、当該選択コンピュータ間で前記通信経路が分散するように使用すべきネットワーク識別子を特定する特定ステップと、
    を含み、前記コンピュータ又は前記マルチパスネットワークに接続される管理コンピュータにより実行される情報処理方法。
JP2010161044A 2010-07-15 2010-07-15 情報処理方法、装置及びプログラム Active JP5540963B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010161044A JP5540963B2 (ja) 2010-07-15 2010-07-15 情報処理方法、装置及びプログラム
US13/181,837 US8775637B2 (en) 2010-07-15 2011-07-13 Recording medium storing communication program, information processing apparatus, and communication procedure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010161044A JP5540963B2 (ja) 2010-07-15 2010-07-15 情報処理方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2012022578A true JP2012022578A (ja) 2012-02-02
JP5540963B2 JP5540963B2 (ja) 2014-07-02

Family

ID=45467781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010161044A Active JP5540963B2 (ja) 2010-07-15 2010-07-15 情報処理方法、装置及びプログラム

Country Status (2)

Country Link
US (1) US8775637B2 (ja)
JP (1) JP5540963B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012098881A (ja) * 2010-11-01 2012-05-24 Fujitsu Ltd 情報処理方法、装置及びプログラム
JP2015169987A (ja) * 2014-03-05 2015-09-28 富士通株式会社 経路データ生成装置、経路データ生成方法及び経路データ生成プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897584B (zh) * 2014-06-09 2018-11-30 华为技术有限公司 路径规划方法和控制器
KR102207545B1 (ko) * 2014-09-25 2021-01-26 동우 화인켐 주식회사 편광판 일체형 터치 감지 전극 및 이를 포함하는 디스플레이 장치, 그리고 그 제조 방법
JP6623939B2 (ja) * 2016-06-06 2019-12-25 富士通株式会社 情報処理装置、通信手順決定方法、および通信プログラム
KR20180042892A (ko) * 2016-10-18 2018-04-27 삼성디스플레이 주식회사 표시 장치
TWI765344B (zh) * 2020-09-11 2022-05-21 大陸商宸鴻科技(廈門)有限公司 顯示螢幕

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166024A (ja) * 1997-08-20 1999-03-09 Nec Eng Ltd クロスバスイッチ切換システム
JP2002259352A (ja) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサシステム装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386612B2 (en) * 2003-06-18 2008-06-10 Honeywell International Inc. Method and apparatus for disambiguating transmit-by-exception telemetry from a multi-path, multi-tier network
JP2006146391A (ja) 2004-11-17 2006-06-08 Hitachi Ltd マルチプロセッサシステム
JP4676463B2 (ja) * 2007-07-13 2011-04-27 株式会社日立製作所 並列計算機システム
US8122228B2 (en) * 2008-03-24 2012-02-21 International Business Machines Corporation Broadcasting collective operation contributions throughout a parallel computer
JP5408442B2 (ja) * 2010-01-21 2014-02-05 株式会社日立製作所 並列分散処理方法、及び、計算機システム
US9118733B2 (en) * 2010-05-21 2015-08-25 Skype Multilevel routing
JP5659125B2 (ja) * 2011-01-26 2015-01-28 アラクサラネットワークス株式会社 中継装置、中継方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166024A (ja) * 1997-08-20 1999-03-09 Nec Eng Ltd クロスバスイッチ切換システム
JP2002259352A (ja) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサシステム装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012098881A (ja) * 2010-11-01 2012-05-24 Fujitsu Ltd 情報処理方法、装置及びプログラム
JP2015169987A (ja) * 2014-03-05 2015-09-28 富士通株式会社 経路データ生成装置、経路データ生成方法及び経路データ生成プログラム

Also Published As

Publication number Publication date
US8775637B2 (en) 2014-07-08
JP5540963B2 (ja) 2014-07-02
US20120016997A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
JP5540963B2 (ja) 情報処理方法、装置及びプログラム
JP6751780B2 (ja) アクセラレーション・リソース処理方法及び装置
US9231849B2 (en) Apparatus and method for controlling virtual switches
US9967257B2 (en) Software defined network (SDN) application integrity
WO2016065643A1 (zh) 一种网卡配置方法及资源管理中心
JP5757325B2 (ja) 仮想デスクトップシステム、ネットワーク処理装置、管理方法、及び管理プログラム
US11146506B2 (en) Parallel data processing for service function chains spanning multiple servers
CN113747373B (zh) 消息处理系统、装置和方法
US10353857B2 (en) Parallel processing apparatus and method for controlling communication
JP5664131B2 (ja) 情報処理方法、装置及びプログラム
US10237170B2 (en) Flow switch, controller and relay apparatus
US20190146802A1 (en) Information processing apparatus, arithmetic processing apparatus, and control method for information processing apparatus
US10592221B2 (en) Parallel distribution of application services to virtual nodes
Perino et al. A programmable data plane for heterogeneous NFV platforms
US10171346B2 (en) Method, apparatus and system for transmitting information
US11271897B2 (en) Electronic apparatus for providing fast packet forwarding with reference to additional network address translation table
WO2013101093A1 (en) Initialization of multi-core processing system
CN114816651A (zh) 一种通信方法、装置以及系统
CN107733810B (zh) 一种确定路由的方法、装置及通信设备
CN115834665B (zh) 一种网络通信方法和装置
WO2018144343A1 (en) Software defined network (sdn) data-plane control functions based on aggregated performance indexes and received application specific requirements
Hu et al. Enhancing job scheduling on inter-rackscale datacenters with free-space optical links
US11683672B2 (en) Distributed ledger control over wireless network slices
JP6665607B2 (ja) 通信管理方法、通信管理プログラム及び情報処理装置
WO2019230315A1 (ja) 転送制御装置、転送制御方法、サービス提供システムおよび転送制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140331

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: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140421

R150 Certificate of patent or registration of utility model

Ref document number: 5540963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150