JP2017191410A - 並列処理装置及び通信制御方法 - Google Patents

並列処理装置及び通信制御方法 Download PDF

Info

Publication number
JP2017191410A
JP2017191410A JP2016079707A JP2016079707A JP2017191410A JP 2017191410 A JP2017191410 A JP 2017191410A JP 2016079707 A JP2016079707 A JP 2016079707A JP 2016079707 A JP2016079707 A JP 2016079707A JP 2017191410 A JP2017191410 A JP 2017191410A
Authority
JP
Japan
Prior art keywords
communication
communication interface
packet
processing apparatus
identifier
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
JP2016079707A
Other languages
English (en)
Other versions
JP6610398B2 (ja
Inventor
雄一郎 安島
Yuichiro Yasujima
雄一郎 安島
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 JP2016079707A priority Critical patent/JP6610398B2/ja
Priority to US15/469,627 priority patent/US10353857B2/en
Priority to CN201710201964.6A priority patent/CN107291638A/zh
Publication of JP2017191410A publication Critical patent/JP2017191410A/ja
Application granted granted Critical
Publication of JP6610398B2 publication Critical patent/JP6610398B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】簡易な構成で処理能力を向上させた並列処理装置及び通信制御方法を提供する。【解決手段】パケット送信部143は、所定処理を表す第1識別子及び宛先通信インタフェースを表す論理識別子である第2識別子を宛先として付加したパケットをRDMA通信でノード12へ送信する。また、通信インタフェース113は複数存在する。パケット受信部144は、ノード12から送信されたパケットをRDMA通信で受信し、受信したパケットに付加された第1識別子及び第2識別子を基に、受信したパケットの宛先となる所定処理で使用される通信インタフェース113を選択し、選択した通信インタフェース113に受信したパケットを転送する。【選択図】図2

Description

本発明は、並列処理装置及び通信制御方法に関する。
近年、HPC(High Performance Computing)分野では、それぞれがプロセッサとメモリを備え、独立してOS(Operating System)を実行するノードを、インターコネクトによって多数接続した構成を有する分散メモリ型並列計算機が主流となっている。このような分散メモリ型並列計算機では、各ノードでプロセスが起動され、起動されたプロセスは相互に通信してデータを交換しながら並列計算を行う。インターコネクトは、ノード間を接続するネットワークと、ノードがネットワークに接続するためのデバイスを有する。
2つのノード間でデータを確実に転送するには、ノード間を接続するネットワーク及びデバイスの特性に合わせた手順で通信が制御される。ノード間を接続するネットワーク及びノードがネットワークに接続するためのデバイスの特性に合わせた手順は、プロトコルとも呼ばれる。
インターネットで使用されるTCP(Transmission Control Protocol)/IP(Internet Protocol)プロトコルのプロトコル処理は、一般的にOSのプロトコルスタックが行う。各プロセスは、Barkley Socketなどのソフトウェア・インタフェースによって、プロトコルスタックに対するデータ入出力を行う。プロトコルスタックによるプロトコル処理は、OSのシステムプロセスで実行される。すなわち、プロトコル処理を行う場合、割り込みなどでプロセッサが実行する処理がOSカーネルに移り、その間プロセッサは、他の計算を行うことが困難である。
プロセッサの演算効率を上げる、すなわち実行性能を理論性能に近づけるには、プロセッサは、プロトコル処理を行わない方がよい。そこで、HPC分野では、一般的にRDMA(Remote Direct Memory Access)と呼ばれる方式でデータを転送する。RDMAは、送信元プロセスが管理するメモリをインターコネクトのデバイスが直接読み出し、ノード間を接続するネットワークでデータを転送し、宛先プロセスが管理するメモリに直接書き込む技術である。
このRDMA方式であっても、他のプロトコル処理と同様に、通信開始制御を受けて処理が開始される。RDMAにおける通信開始制御は、ハードウェアの観点では、メモリ空間にマップされるメモリマップドレジスタによって通信開始を制御する方式が一般的である。また、ソフトウェアの観点では、RDMAにおける通信開始制御は、インターコネクトも入出力デバイスの一種であることから、OSが各プロセスの通信開始要求を取りまとめ、デバイスドライバが代表して通信を制御する方式が一般的である。デバイスドライバとは、様々なプロセスからの入出力機器への制御要求を取りまとめ、代表で制御するためのOSの仕組みである。
デバイスドライバ経由の通信開始制御は、プロセスの処理を中断してOSカーネルの処理に移行する処理を伴う。この処理は、ソフトウェアの観点からはプロセススイッチと呼ばれ、ハードウェアの観点からはコンテキストスイッチと呼ばれる。プロセスの処理を中断してOSカーネルの処理に移行する処理は、オーバヘッドの大きい処理のため、プロセッサの計算時間が重要であるHPCにおいては、回避することが好ましい。例えば、通信インタフェースと呼ばれる制御レジスタの組を複数用意し、各プロセスの仮想メモリ空間にそのプロセスが占有利用する通信インタフェースを割り当てることで、デバイスドライバ経由の通信開始制御を回避することができる。この通信インタフェースは、インターコネクトにおけるノードがネットワークに接続するためのデバイスにあたる。
ここで、複数の通信インタフェースを有するインターコネクトを搭載する並列計算機では、ノード内の各プロセスだけでなく、ファイル入出力やシステム制御などのシステム向けの通信を行う処理にも通信インタフェースが割り当てられる。ここで、システム向けの通信とは、ノード動作時に経常的に動作しているプロセスにおける通信であり、例えば、システム全体を管理するプログラムによる管理用の通信や、ストレージ装置との通信などである。
システムソフトウェアによるシステム向けの通信を行う処理に対する通信インタフェースの割り当ては、固定的である傾向がある。このような固定的な通信インタフェースの割り当てでは、通信資源の拡張は困難である。また、固定的に通信インタフェースを割り当てた場合、仮想マシンを導入する際には、ソフトウェアによるインターコネクトの仮想化が行われることになる。
なお、クラスタシステム全体に割り当てた大域識別子と、各計算機内で用いる局所識別子との対応関係を用いた計算機クラスタの従来技術がある。
特開2003−316637号公報
しかしながら、仮想化に対応しているインターコネクトでは、実際の通信インタフェースの数を隠蔽するために、OS及びデバイスドライバが通信インタフェースを管理する。その場合、システム向け通信を行う処理であっても動的に通信インタフェースが割り当てられる。
ただし、動的に割り当てられた通信インタフェース同士で通信を行うには、ノード間で事前に、TCP(Transmission Control Protocol)/IP(Internet Protocol)などを用いて通信インタフェースの識別子の交換が行われる。そのため、実質的に他の通信手段を用いることになり、システム向け通信用途としての使用には適さない。このような理由から、システム向け通信を行う処理に対して動的に通信インタフェースを割り当てることは好ましくない。
一方、仮想化に対応していない通信インターコネクトでは、システム向け通信用途で通信インタフェースを固定的に使用した場合、仮想マシン導入時に仮想マシン間で通信インタフェースの競合が発生するおそれがある。この場合、競合の解消のためにソフトウェアによる仮想化が用いられるが、ソフトウェア処理のためのオーバヘッドが大きいため、HPC分野で用いることは困難である。このように、システム向け通信用途で通信インタフェースを固定的に使用した場合、他の処理に影響を与え、並列処理装置の処理能力の低下を招く。
また、仮想マシン間の通信インタフェースの競合回避として、仮想化した入出力デバイスを多重化する方法が考えられる。例えば、従来、仮想化された複数の入出力デバイスを仮想マシン毎に割り当てることで、入出力デバイスを多重化することが行われてきた。この方式をインターコネクトに適用した場合、仮想マシン導入時の仮想マシン間での通信インタフェースの競合は避けられる。しかし、このような方法で仮想的な入出力デバイスを多重化しても、実体は1つであるので、設定レジスタの競合回避などをハードウェアで実装することになり、実装が複雑になってしまう。
なお、大域識別子と局所識別子との対応関係を用いる計算機クラスタの従来技術は、クラスタにおけるリソースの管理に用いられる情報であり、ノード間の通信に用いることは困難である。
開示の技術は、上記に鑑みてなされたものであって、簡易な構成で処理能力を向上させた並列処理装置及び通信制御方法を提供することを目的とする。
本願の開示する並列処理装置及び通信制御方法の一つの態様において、並列処理装置は第1情報処理装置及び第2情報処理装置を有する。前記第1情報処理装置は、所定処理を表す第1識別子及び宛先通信インタフェースを表す論理識別子である第2識別子を宛先として付加したパケットをRDMA通信で前記第2情報処理装置へ送信する送信部を備える。前記第2情報処理装置は、複数の通信インタフェースと、前記第1情報処理装置から送信されたパケットをRDMA通信で受信し、受信したパケットに付加された前記第1識別子及び前記第2識別子を基に、前記受信したパケットの宛先となる前記所定処理で使用される通信インタフェースを選択し、選択した通信インタフェースに前記受信したパケットを転送する受信部とを備える。
本願の開示する並列処理装置及び通信制御方法の一つの態様によれば、簡易な構成で処理能力を向上させることができるという効果を奏する。
図1は、並列処理装置の構成図である。 図2は、ノード及び管理装置のブロック図である。 図3は、割当テーブルの一例を表す図である。 図4は、GPID及び論理IDを用いたノード間のRDMA通信を説明するための図である。 図5は、GPID及び論理IDの割当処理のフローチャートである。 図6は、通信インタフェースに受信したパケットを割り当てる処理のフローチャートである。
以下に、本願の開示する並列処理装置及び通信制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する並列処理装置及び通信制御方法が限定されるものではない。
図1は、並列処理装置の構成図である。図1に示すように、本実施例に係る並列処理装置1は、ノード11〜13を含む複数のノードを有する。ノード11〜13を含む各ノードを区別しない場合、「ノード10」という。ノード10は、第1情報処理装置及び第2情報処理装置の一例にあたる。また、並列処理装置1は、管理装置20、ネットワーク30及びストレージ装置40を有する。
ネットワーク30は、インターコネクトを形成するネットワークであり、ノード10同士を接続する。
管理装置20は、各ノード10にTCP/IPなどを用いて接続される。管理装置20は、各ノード10への並列計算タスクの割り当てや各ノード10の異常の検出などを行う。
ストレージ装置40は、各ノード10にTCP/IPなどを用いて接続される。ストレージ装置40は、並列計算に用いるプログラムやデータを格納する。ここで、本実施例では、並列処理装置1にノード10とは別にプログラムやデータを格納するストレージ装置40を配置したが、各ノード10にハードディスクを搭載し、そのハードディスクの中にプログラムやデータを格納する構成にしてもよい。
ノード11は、プロセッサ111、メモリ112、通信インタフェース113及び送受信回路114を有する。ノード12は、プロセッサ121、メモリ122、通信インタフェース123及び送受信回路124を有する。ノード13は、プロセッサ131、メモリ132、通信インタフェース133及び送受信回路134を有する。ノード11,12及び13は、いずれも同じ動作をするので、ここでは、ノード11を例に説明する。
プロセッサ111は、演算処理部である。プロセッサ111は、OSを動作させる。さらに、プロセッサ111は、ストレージ装置40に格納されたプログラムを読み出し、メモリ112上にプロセスを展開して実行する。そして、プロセッサ111は、プロセスを実行することで、メモリ112を用いて演算処理を行う。また、プロセッサ111は、通信インタフェース113を用いて他のノード12や13との間で通信を行う。また、プロセッサ111は、通信インタフェース113に対してRDMAによる通信(以下では、「RDMA通信」という。)を指示することで、通信インタフェース113にRDMA通信を実行させる。
メモリ112は、主記憶装置である。メモリ112は、例えば、RAM(Random Access Memory)である。
通信インタフェース113は、インターコネクトにおけるノード11がネットワーク30に接続するためのデバイスである。通信インタフェース113は、それぞれ複数の物理的な通信インタフェースを有する。ここで、通信インタフェース113、123及び133といった各ノード10に含まれる通信インタフェースの数に特に制限は無く、ノード10毎に通信インタフェースの数が異なってもよい。
通信インタフェース113は、RDMAによりデータ送信を行うことができる。通信インタフェース113は、プロセッサ111から独立して動作する専用回路などで構成される演算処理装置を有する。通信インタフェース113によるRDMA通信を用いたデータ送信及び受信応答などの制御は、この演算処理装置により実現される。通信インタフェース113は、それぞれに物理的な識別子である物理ID(Identifier)が割り当てられる。また、通信インタフェース113は、それぞれに後述する論理IDが割り当てられる。また、通信インタフェース113は、プロセッサ111が実行するプロセスにより、各プロセスが使用する通信インタフェースとして対応付けられる。
通信インタフェース113は、RDMA通信でデータを他のノード10へ送信する場合、宛先の通信インタフェースの物理IDが付加されたパケットを送受信回路114に送信する。また、RDMA通信でデータを他のノード10から受信する場合、通信インタフェース113は、送受信回路114からパケットを受信し、プロセッサ111によって実行される対応するプロセスにパケットを転送する。
送受信回路114は、通信インタフェース113が実行するRDMA通信を仲介する。具体的には、送受信回路114は、通信インタフェース113が送出したパケットを受信する。そして、送受信回路114は、宛先を後述するGPID(Group Identifier)及び論理IDに変更する。そして、送受信回路114は、宛先を変更したパケットをネットワーク30を介して他のノード10へ送信する。
また、送受信回路114は、他のノード10からネットワーク30を介して受信したパケットの宛先から使用する通信インタフェース113及び宛先となるプロセスを特定する。そして、送受信回路114は、特定した通信インタフェース113を介して特定したプロセスにパケットを送信する。
ここで、本実施例に係る並列処理装置1において、ノード11のメモリ112に格納されたデータをノード12との間でRDMAにより送受信する処理について詳細に説明する。
図2は、ノード及び管理装置のブロック図である。ここでは、ノード11を含むノード10に並列計算タスクを実行させる場合で説明する。並列計算タスクの実行は、複数のノード10において1つ又は複数のプロセスがタスク実行部100により実行されることで実現される。すなわち、並列計算タスクは、タスク実行部100で実行されるプロセスを含む各ノード10で実行される複数のプロセスにより実現される。以下では、ノード11を含むノード10に実行させる特定の並列計算タスクを、「実行タスク」という。また、並列計算タスクを実現するための各プロセスを、「その並列計算タスクに属するプロセス」という。
管理装置20は、GPID割当部21及びタスク割当部22を有する。タスク割当部22は、実行する並列計算タスク及びその並列計算タスクで使用するノード数などの資源の情報の入力を操作者から受ける。そして、タスク割当部22は、指定された並列計算タスクを実行させるノード10、言い換えれば、並列計算タスクを割り当てるノード10を決定する。ここでは、タスク割当部22は、ノード11を含む複数のノード10に実行タスクを割り当てる。
タスク割当部22は、実行タスクを実行するためにノード11に実行させるプログラムの情報をノード11のタスク実行部100に通知する。さらに、タスク割当部22は、実行タスクを割り当てたノード11を含むノード10の情報をGPID割当部21へ通知する。
GPID割当部21は、並列処理装置1で実行される並列計算タスク毎に並列計算タスクの識別子であるGPIDを割り当てる。具体的には、GPID割当部21は、並列計算タスクのノード10に対する割り当てがタスク割当部22から通知される毎に、数字を1つインクリメントするなどして、それぞれの並列計算タスクに一意のGPIDを割り当てる。例えば、GPID割当部21は、実行タスクを割り当てたノード11を含むノード10の情報をタスク割当部22から取得する。そして、GPID割当部21は、実行タスクに一意のGPIDを割り当てる。このGPIDが、「第1識別子」及び「大域識別子」の一例にあたる。
さらに、GPID割当部21は、並列計算タスクが割り当てられた各ノード10にその割り当てられた並列計算タスクに対応するGPIDを通知する。例えば、GPID割当部21は、実行タスクに対応するGPIDをノード11の送受信回路114のテーブル生成部142に通知する。このGPID割当部21は、「第1割当部」の一例にあたる。
ここで、本実施例では、並列計算タスクに対するGPIDの割り当てを例に説明したが、GPIDの割り当て対象はこれに限らず、GPID割当部21は、例えば、並列処理装置1が実行する特定の通信を行う処理毎にGPIDを割り当てる。特定の通信を行う処理毎とは、例えば、ストレージとの通信、システム全体を管理するプログラムによる管理用の通信を行う処理といった、並列計算処理装置において決められた通信を行う処理毎である。この並列計算タスクを含む特定の通信を行う処理及び並列計算タスクを実行する仮想マシンが、「所定処理」の一例にあたる。ここで、仮想マシンとは、コンピュータの動作をエミュレートするソフトウェアやフレームワークであり、処理の一例として考えられる。
ノード11は、タスク実行部100、通信インタフェース113及び送受信回路114を有する。図2では、1つの通信インタフェース113を図示しているが、実際には、図1で図示したように、通信インタフェース113は、複数の通信インタフェースを有する。以下では、通信インタフェース113は、ノード11に搭載された複数の通信インタフェースの何れかであるとする。
タスク実行部100は、図2のプロセッサ111及びメモリ122により実現される。タスク実行部100は、論理ID割当部110を有する。
タスク実行部100は、実行タスクを実行するためのノード11で実行するプログラムの情報をタスク割当部22から取得する。そして、タスク実行部100は、指定されたプログラムをストレージ装置40から取得する。その後、タスク実行部100は、取得したプログラムを実行してプロセスを生成する。
プロセス生成後、タスク実行部100は、自己が実行する実行タスクに属するプロセス及び実行タスクが割り当てられた他のノード10で生成された実行タスクに属するプロセスの全てと同期をとる。タスク実行部100は、この同期のための通信を、例えば、適当な通信インタフェース113及び送受信回路114を介して他のノード10と行う。
また、タスク実行部100の論理ID割当部110は、タスク実行部100がプログラムを実行することで、そのプログラムから生成されるプロセスが使用する通信インタフェース113の個数を取得する。そして、論理ID割当部110は、取得した個数に合わせてプロセスが使用する通信インタフェース113を決定する。さらに、論理ID割当部110は、プロセスが使用する通信インタフェース113のそれぞれに実行タスクを実行するノード10の全てに亘って一意の論理IDを割り当てる。
例えば、論理ID割当部110は、異なるプロセスであっても同じ並列計算タスクに含まれるプロセスであれば、各プロセスが使用する通信インタフェース113に対して、重複しないように論理IDを割り当てる。これに対して、異なる並列計算タスクに含まれるプロセスであれば、論理ID割当部110は、それぞれのプロセス間での重複を許して通信インタフェース113に論理IDを割り当てる。この論理IDが、「第2識別子」の一例にあたる。
論理ID割当部110は、実行タスクの情報とともに、その実行タスクのプロセスが使用する通信インタフェース113に割り当てた論理IDとその通信インタフェース113の物理IDとの対応関係をテーブル生成部142へ通知する。この論理ID割当部110は、「第2割当部」の一例にあたる。
そして、タスク実行部100は、論理ID割当部110による論理IDの割り当て後、自己が実行する実行タスクに属するプロセス及び実行タスクが割り当てられた他のノード10で生成された実行タスクに属するプロセスの全てと同期をとる。
その後、タスク実行部100は、生成したプロセスを実行し、他のノード10が実行するプロセスと協働させることで、実行タスクを実行する。このプロセスの実行により、タスク実行部100は、他のノード10とのRDMA通信の実行を決定し、RDMA通信を行うプロセスに対応する他のノード10が実行するプロセスの通信インタフェース113との間でRDMA通信を行わせる。例えば、ノード11とノード12との間におけるRDMA通信について説明する。その場合、タスク実行部100は、RDMA通信を行うプロセスがノード12との通信で使用する通信インタフェース113に、ノード12との間でのRDMA通信によるデータの送信又は受信を指示する。このタスク実行部100が、「第1実行部」及び「第2実行部」の一例にあたる。
通信インタフェース113は、タスク実行部100からRDMA通信の通知を受ける。ここで、通信インタフェース113は、RDMA通信を行うノード12の通信インタフェース123の論理IDの情報を予め有する。通信インタフェース113は、RDMA通信として、例えば、ノード12に対するPut又はGetの要求を受ける。通信インタフェース113は、Put要求を受けた場合、論理IDを用いてデータを格納したパケットをノード12の通信インタフェース123へ送信する。また、通信インタフェース113は、Get要求を受けた場合、論理IDを用いてデータの送信要求のパケットをノード12の通信インタフェース123へ送信する。その後、通信インタフェース113は、データを格納したパケットを送受信回路114を介してノード12の通信インタフェース123から受信する。そして、通信インタフェース113は、受信したパケットに格納されたデータを、パケットで指定されたメモリ112の領域へ格納する。
通信インタフェース113は、送信するパケットを生成する場合に以下のような処理を行う。まず、通信インタフェース113は、対応するプロセスが属する実行タスクのGPID及びRDMA通信の予め決められた通信先であるノード12の通信インタフェース123の論理IDをパケットの宛先としてパケットのヘッダに格納する。さらに、通信インタフェース113は、パケットの送信元として自己の物理IDをパケットのヘッダに格納する。そして、通信インタフェース113は、生成したパケットを送受信回路114のパケット送信部143へ出力する。
また、パケットを受信する場合、通信インタフェース113は、RDMA通信の予め決められた通信先であるノード12の通信インタフェース123から送信されたパケットを後述する送受信回路114のパケット受信部144から受信する。
送受信回路114は、記憶部141、テーブル生成部142、パケット送信部143及びパケット受信部144を有する。記憶部141、テーブル生成部142、パケット送信部143及びパケット受信部144は、例えば、送受信回路114を構成する専用回路により実現される。
記憶部141は、データを保持するデータ保持回路である。以下では、記憶部141が、割当テーブル401を保持するとして説明するが、実際には、記憶部141は、情報の対応関係を記憶する。
テーブル生成部142は、タスク実行部100が実行する実行タスクに割り当てられたGPIDをGPID割当部21から受信する。さらに、テーブル生成部142は、実行タスクの情報とともに、その実行タスクのプロセスが使用する通信インタフェース113に割り当てられた論理IDとその通信インタフェース113の物理IDとの対応関係を論理ID割当部110から取得する。
次に、テーブル生成部142は、各通信インタフェース113を使用するプロセスが属する実行タスクに割り当てられたGPIDを取得する。そして、テーブル生成部142は、各通信インタフェース113の物理アドレスと、取得したGPID及びその通信インタフェース113に割り当てられた論理IDとの対応を表す図3に示すような割当テーブル401を作成する。図3は、割当テーブルの一例を表す図である。その後、テーブル生成部142は、生成した割当テーブル401を記憶部141に記憶させる。
図3に示すように、割当テーブル401には、通信インタフェース113の物理IDに対応させて、GPID及び論理IDが登録される。ここで、割当テーブル401では、ノード11の通信インタフェース113の物理IDと、GPID及び論理IDの組とが一意に対応する。したがって、割当テーブル401を用いることで、GPID及び論理IDの組から通信インタフェース113の物理IDが特定できる。
パケット送信部143は、RDMA通信のパケット送信時に通信インタフェース113からパケットの入力を受ける。そして、パケット送信部143は、RDMA通信でパケットをノード12などの他のノード10へ送信する。このパケット送信部143が、「送信部」の一例にあたる。
パケット受信部144は、RDMA通信でパケットをノード12などの他のノード10から受信する。そして、パケット受信部144は、受信したパケットのヘッダに格納されたパケットの宛先を表すGPID及び論理IDの組を取得する。次に、パケット受信部144は、ノード11におけるGPID及び論理IDの組に対応する通信インタフェース113の物理IDを割当テーブル401から取得する。そして、パケット受信部144は、取得した物理IDを有する通信インタフェース113を選択する。その後、パケット受信部144は、受信したパケットを選択した通信インタフェース113へ送信する。このパケット受信部144は、「受信部」の一例にあたる。
このように、パケット受信部144は、通信インタフェース113に割り当てられた論理IDと実行タスクのGPIDを用いて、そのパケットの宛先のプロセスが使用する通信インタフェース113にパケットを送信することができる。すなわち、各ノード10は、通信インタフェース113に動的に割り当てられた論理IDを用いてRDMA通信を確実に行うことができる。
次に、図4を参照して、ノード11とノード12との間のRDMA通信についてまとめて説明する。図4は、GPID及び論理IDを用いたノード間のRDMA通信を説明するための図である。図4では、説明の都合上、ソフトウェアとハードウェアとを混在させて記載している。
ここでは、ノード11及び12において並列計算タスク101及び102が実行されている。そして、ノード11には通信インタフェース113として通信インタフェース311〜314が搭載されており、ノード12には通信インタフェース113として通信インタフェース321〜324が搭載されている場合で説明する。
ノード11の通信インタフェース311〜314は、物理IDとしてそれぞれIF#0〜#3を有する。そして、並列計算タスク101が使用する通信インタフェース113として、通信インタフェース311〜313が割り当てられる。また、並列計算タスク101に、GPID#0が割り当てられる。そして、通信インタフェース311〜313に、論理IDとして、LIF#0〜#2が割り当てられる。また、並列計算タスク102が使用する通信インタフェース113として、通信インタフェース314が割り当てられる。また、並列計算タスク102に、GPID#1が割り当てられる。そして、通信インタフェース314に、論理IDとして、LIF#0〜#2が割り当てられる。
ノード12の通信インタフェース321〜324は、物理IDとしてそれぞれIF#0〜#4を有する。ここで、ノード10間では、通信インタフェース113の物理IDは重なってもよい。そして、並列計算タスク101が使用する通信インタフェース113として、通信インタフェース321及び322が割り当てられる。そして、通信インタフェース321及び322に、論理IDとして、それぞれLIF#0及び#1が割り当てられる。また、並列計算タスク102が使用する通信インタフェース113として、通信インタフェース323及び324が割り当てられる。そして、通信インタフェース323及び324に、論理IDとして、それぞれLIF#0及び#1が割り当てられる。
また、ノード11の送受信回路114は、割当テーブル401が格納されている。また、ノード12の送受信回路124は、割当テーブル402が格納されている。そして、割当テーブル401及び402には、ノード11に搭載された通信インタフェース311〜314の物理IDであるIF#0〜4に対応させて、GPID及び論理IDが登録されている。また、割当テーブル401及び402には、ノード12に搭載された通信インタフェース321〜324の物理IDであるIF#0〜4に対応させて、GPID及び論理IDが登録されている。例えば、ここにおける割当テーブル401及び402におけるノード12に対するテーブルは、図3で示される割当テーブル401と同様である。
ノード11の並列計算タスク101が、ノード12の並列計算タスク101とRDMA通信を行う場合について説明する。並列計算タスク101が通信インタフェース312にRDMA通信の開始を指示する。通信インタフェース312は、ノード12の論理IDがLID#1を有する通信インタフェース113と通信を行うことが予め決められている。そこで、通信インタフェース312は、ノード12の識別情報、並列計算タスク101のGPIDであるGPID#0及び論理IDとしてLID#1を宛先としてパケットのヘッダに格納する。図3では、通信インタフェース312によりヘッダに格納された宛先を宛先411として表す。そして、通信インタフェース312は、生成したパケットを送受信回路114へ送信する。送受信回路114は、宛先411に示すノード12、GPID#0及びLIF#1を宛先とするパケットをネットワーク30を介してノード12へ送信する。
送受信回路124は、宛先411に示すノード12、GPID#0及びLIF#1を宛先とするパケットを受信する。そして、送受信回路124は、受信したパケットのヘッダからGPID#0及びLIF#1を取得する。次に、送受信回路124は、割当テーブル402の中の列421で表される対応関係から、GPID#0及びLIF#1に対応する物理IDであるIF#1を取得する。そして、送受信回路124は、物理IDがIF#1を有する通信インタフェース322へパケットを送信する。これにより、ノード11の並列計算タスク101は、ノード12の並列計算タスク101と通信を行うことができる。
次に、図5を参照して、GPID及び論理IDの割当処理の流れについて説明する。図5は、GPID及び論理IDの割当処理のフローチャートである。
管理装置20のタスク割当部22は、並列計算タスクを割り当てるノード10を決定する。GPID割当部21は、タスク割当部22により割り当てが行われた並列計算タスクに割り当てる新規GPIDを生成する(ステップS101)。また、タスク割当部22は、並列計算タスクを割り当てたノード10に並列計算タスクの割り当てを通知する。そして、並列計算タスクの割り当てを通知されたノード10のタスク実行部100は、並列計算タスクのプロセスを生成する。
次に、タスク割当部22は、生成したGPIDに対応する並列計算タスクの各プロセスを実行するタスク実行部100にそのGPIDを送信することで、その並列計算タスクの全プロセスにGPIDを通知する(ステップS102)。
タスク実行部100は、実行する並列計算タスクの全プロセス及びその並列計算タスクを実行する他のノード10の全プロセスの間で同期を行う(ステップS103)。
論理ID割当部110は、各プロセスが使用する通信インタフェース113に論理IDを割り当てる(ステップS104)。この時、タスク実行部100は、異なる並列計算タスクのプロセス間では、重複を許して論理IDを割り当てる。
次に、論理ID割当部110は、並列計算タスクの各プロセスが使用する通信インタフェース113の物理ID、各並列計算タスクのGPID及び各通信インタフェース113の論理IDを送受信回路114のテーブル生成部142に送信する。テーブル生成部142は、受信した物理ID、GPID及び論理IDから割当テーブル401を作成する。そして、テーブル生成部142は、生成した割当テーブル401を記憶部141に格納する(ステップS105)。
その後、タスク実行部100は、実行する並列計算タスクの全プロセス及びその並列計算タスクを実行する他のノード10の全プロセスの間で同期を行う(ステップS106)。
そして、タスク実行部100は、プロセスを実行し、並列計算を開始する(ステップS107)。
次に、図6を参照して、通信インタフェース113に受信したパケットを割り当てる処理の流れについて説明する。図6は、通信インタフェースに受信したパケットを割り当てる処理のフローチャートである。
送受信回路114のパケット受信部144は、他のノード10からRDMA通信によりパケットを受信する(ステップS201)。
そして、パケット受信部144は、受信したパケットのヘッダからパケットの宛先である並列計算タスクのGPID及び通信インタフェース113の論理IDを取得する(ステップS202)。
次に、パケット受信部144は、送信元のノード10に対応する割当テーブル401に登録された通信インタフェース113のGPID及び論理IDとパケットの宛先のGPID及び論理IDとを比較する(ステップS202)。
そして、パケット受信部144は、パケットの宛先とGPID及び論理IDが一致する通信インタフェース113が割当テーブル401に登録されているか否かを判定する(ステップS203)。
パケットの宛先とGPID及び論理IDが一致する通信インタフェース113が割当テーブル401に登録されている場合(ステップS203:肯定)、パケット受信部144は、一致した通信インタフェース113の物理IDを取得する(ステップS204)。
そして、パケット受信部144は、取得した物理IDを有する通信インタフェース113にパケットを送信する(ステップS205)。
これに対して、パケットの宛先とGPID及び論理IDが一致する通信インタフェース113が割当テーブル401に登録されていない場合(ステップS203:否定)、パケット受信部144は、受信したパケットを破棄する(ステップS206)。
ここで、以上の説明では、並列計算タスクにGPIDを動的に割り当て、系列計算タスクに属する各プロセスが使用する通信インタフェース113に論理IDを動的に割り当てる場合で説明した。ただし、GPIDを割り当てる対象は並列計算タスクに限らない。例えば、特定の通信を行う処理、用途が予め規定された通信を行う処理についてGPIDを割り当て、その処理で使用される通信インタフェース113に論理IDを割り当ててもよい。その場合、論理IDは固定的に割り当てられてもよい。特定の通信を行う処理とは、例えば、特定の計算処理、特定のIO処理及びシステム向けの通信を行う処理などである。
以上に説明したように、本実施例に係る並列処理装置は、並列計算タスク及び通信用途毎にそれぞれを識別するための大域識別子としてGPIDを割り当て、各並列計算タスク及び通信用途で使用される通信インタフェースに論理識別子を割り当てる。そして、本実施例に係る並列処理装置は、大域識別子及び論理識別子を用いてノード間で通信を行う。
通信インタフェースに割り当てる論理識別子は、固定的に使用されても、他の並列計算タスクや通信用途の通信には影響を与えない。したがって、通信インタフェースに固定的に割り当てられた論理識別子を用いても、並列処理装置の処理能力の低下を軽減することができる。すなわち、通信に用いる識別子の割当の自由度を向上させることができる。
また、本実施例に係る並列処理装置における通信では、動的に論理識別子を通信インタフェースに割り当てるが、ノード間での事前の識別子の交換を行わないため識別子交換用の通信手段を使用せずに通信を行うことができ、容易な処理で通信を行うことができる。
また、本実施例に係る並列処理装置における大域識別子及び論理識別子を用いた通信は、ソフトウェアによる通信インタフェースの仮想化の場合のソフトウェア処理によるオーバヘッドが発生しない。そのため、並列処理装置の処理能力の低下を軽減することができる。
また、仮想マシンの導入時には、仮想マシン毎に異なる大域識別子を割り当てることで、競合を解消することができ、設定レジスタの競合回避のためのハードウェアを実装しなくても良くなる。したがって、簡易な構成で仮想マシンの競合を解消することができる。
さらに、本実施例に係る並列処理装置は、科学技術計算用分散メモリ型並列計算機に適用することができる。科学技術計算用分散メモリ型並列計算機は、従来の数値シミュレーションに加え、大規模グラフ処理、機械学習、神経形態学的計算などの新しいアプリケーションを用いた処理での活用が期待されている。これらのアプリケーションでは、通信遅延がボトルネックとなり待ち時間が多いので、各ノードで同時に複数の並列計算タスクを実行することでプロセッサの利用率を向上させ、システム全体における並列計算タスク処理のスループットを向上することができる。そして、本実施例に係る並列処理装置は、各ノードにおいて複数の並列計算タスクの同時実行を容易にするので、科学技術計算用分散メモリ型並列計算機における新しいアプリケーションの利用を促進することができる。
1 並列処理装置
10〜13 ノード
20 管理装置
21 GPID割当部
22 タスク割当部
30 ネットワーク
40 ストレージ装置
100 タスク実行部
101,102 並列計算タスク
110 論理ID割当部
111,121,131 プロセッサ
112,122,132 メモリ
113,123,133 通信インタフェース
114,124,134 送受信回路
141 記憶部
142 テーブル生成部
143 パケット送信部
144 パケット受信部
311〜314,321〜324 通信インタフェース
401,402 割当テーブル

Claims (5)

  1. 第1情報処理装置及び第2情報処理装置を有する並列処理装置であって、
    前記第1情報処理装置は、
    所定処理を表す第1識別子及び宛先通信インタフェースを表す論理識別子である第2識別子を宛先として付加したパケットをRDMA通信で前記第2情報処理装置へ送信する送信部を備え、
    前記第2情報処理装置は、
    複数の通信インタフェースと、
    前記第1情報処理装置から送信されたパケットをRDMA通信で受信し、受信したパケットに付加された前記第1識別子及び前記第2識別子を基に、前記受信したパケットの宛先となる前記所定処理で使用される通信インタフェースを選択し、選択した通信インタフェースに前記受信したパケットを転送する受信部とを備えた
    ことを特徴とする並列処理装置。
  2. 前記第2情報処理装置で実行される、それぞれが異なる用途の通信を行う前記所定処理を含む複数の処理のそれぞれに前記第1識別子を含む一意の大域識別子を割り当てる第1割当部を備えた管理装置をさらに備えたことを特徴とする請求項1に記載の並列処理装置。
  3. 前記所定処理は、1つ又は複数のプロセスを有する各並列計算タスクであり、
    前記第2情報処理装置は、複数の前記通信インタフェースの中で、各前記プロセスが使用する通信インタフェースのそれぞれに異なる第2識別子を割り当てる第2割当部をさらに備えた、
    ことを特徴とする請求項1又は2に記載の並列処理装置。
  4. 前記第1情報処理装置は、
    前記所定処理を実行する第1実行部をさらに有し、
    前記第2情報処理装置は、
    前記所定処理を前記第1実行部と協働して実行する第2実行部をさらに有し、
    前記送信部は、前記第1実行部により実行された所定処理によるパケット送信の場合、前記第1識別子及び前記第2識別子を宛先として付加したパケットをRDMA通信で第2情報処理装置へ送信し、
    前記受信部は、受信したパケットに付加された前記第1識別子を基に前記第2実行部により実行される前記所定処理を特定し、前記第2識別子を基に前記所定処理で使用されるパケットの宛先となる前記通信インタフェースを選択し、選択した通信インタフェースに前記受信したパケットを転送する受信部とを備えた
    ことを特徴とする請求項1〜3のいずれか一つに記載の並列処理装置。
  5. 第1情報処理装置及び複数の通信インタフェースを有する第2情報処理装置の間の通信制御方法であって、
    前記第1情報処理装置に、所定処理を表す第1識別子及び宛先通信インタフェースを表す論理識別子である第2識別子を宛先として付加したパケットをRDMA通信で前記第2情報処理装置へ送信させ、
    前記第2情報処理装置に、前記第1情報処理装置から送信されたパケットをRDMA通信で受信させ、受信したパケットに付加された前記第1識別子及び前記第2識別子を基に、前記受信したパケットの宛先となる前記所定処理で使用される通信インタフェースを選択させ、選択した通信インタフェースへ前記受信したパケットを転送させる
    ことを特徴とする通信制御方法。
JP2016079707A 2016-04-12 2016-04-12 並列処理装置及び通信制御方法 Active JP6610398B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016079707A JP6610398B2 (ja) 2016-04-12 2016-04-12 並列処理装置及び通信制御方法
US15/469,627 US10353857B2 (en) 2016-04-12 2017-03-27 Parallel processing apparatus and method for controlling communication
CN201710201964.6A CN107291638A (zh) 2016-04-12 2017-03-29 并行处理装置和控制通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016079707A JP6610398B2 (ja) 2016-04-12 2016-04-12 並列処理装置及び通信制御方法

Publications (2)

Publication Number Publication Date
JP2017191410A true JP2017191410A (ja) 2017-10-19
JP6610398B2 JP6610398B2 (ja) 2019-11-27

Family

ID=59998174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016079707A Active JP6610398B2 (ja) 2016-04-12 2016-04-12 並列処理装置及び通信制御方法

Country Status (3)

Country Link
US (1) US10353857B2 (ja)
JP (1) JP6610398B2 (ja)
CN (1) CN107291638A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10732893B2 (en) * 2017-05-25 2020-08-04 Western Digital Technologies, Inc. Non-volatile memory over fabric controller with memory bypass
CN114157600A (zh) * 2020-09-07 2022-03-08 华为技术有限公司 一种转发报文的方法、设备和系统
CN112383443B (zh) * 2020-09-22 2022-06-14 北京航空航天大学 运行于rdma通信环境的并行应用通信性能预测方法
CN113849293B (zh) * 2021-11-30 2022-02-22 湖北芯擎科技有限公司 数据处理方法、装置、系统及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04291660A (ja) * 1991-03-20 1992-10-15 Hitachi Ltd プロセッサ間通信方法およびそのための並列プロセッサ
JPH1083379A (ja) * 1996-09-09 1998-03-31 Fujitsu Ltd 並列計算機システム
US20020141424A1 (en) * 2001-03-28 2002-10-03 Gasbarro Dominic J. Host-fabric adapter having work queue entry (WQE) ring hardware assist (HWA) mechanism
WO2012135442A1 (en) * 2011-03-30 2012-10-04 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
WO2013108150A1 (en) * 2012-01-17 2013-07-25 International Business Machines Corporation Configuring compute nodes γν parallel computer using remote direct memory access
JP2015219586A (ja) * 2014-05-14 2015-12-07 トヨタ自動車株式会社 車載制御分散処理システム及び車載制御分散処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981086B2 (en) * 2000-12-21 2005-12-27 National Instruments Corporation Instrumentation system including a backplane having a switched fabric bus and instrumentation lines
US7013353B2 (en) * 2001-03-30 2006-03-14 Intel Corporation Host-fabric adapter having an efficient multi-tasking pipelined instruction execution micro-controller subsystem
JP4245304B2 (ja) 2002-04-19 2009-03-25 株式会社東芝 計算機クラスタシステム、ファイルアクセス方法
US20120331243A1 (en) * 2011-06-24 2012-12-27 International Business Machines Corporation Remote Direct Memory Access ('RDMA') In A Parallel Computer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04291660A (ja) * 1991-03-20 1992-10-15 Hitachi Ltd プロセッサ間通信方法およびそのための並列プロセッサ
JPH1083379A (ja) * 1996-09-09 1998-03-31 Fujitsu Ltd 並列計算機システム
US20020141424A1 (en) * 2001-03-28 2002-10-03 Gasbarro Dominic J. Host-fabric adapter having work queue entry (WQE) ring hardware assist (HWA) mechanism
WO2012135442A1 (en) * 2011-03-30 2012-10-04 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
WO2013108150A1 (en) * 2012-01-17 2013-07-25 International Business Machines Corporation Configuring compute nodes γν parallel computer using remote direct memory access
JP2015219586A (ja) * 2014-05-14 2015-12-07 トヨタ自動車株式会社 車載制御分散処理システム及び車載制御分散処理方法

Also Published As

Publication number Publication date
JP6610398B2 (ja) 2019-11-27
CN107291638A (zh) 2017-10-24
US10353857B2 (en) 2019-07-16
US20170293589A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
US20220318184A1 (en) Virtual rdma switching for containerized applications
CN103346981B (zh) 虚拟交换方法、相关装置和计算机系统
CN110113441B (zh) 实现负载均衡的计算机设备、系统和方法
EP3206339B1 (en) Network card configuration method and resource management center
JP5088366B2 (ja) 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP6089344B2 (ja) 通信装置のハードウェア・リソースの仮想化管理方法および関連装置
CN100489790C (zh) 处理管理装置、计算机系统、分布式处理方法
US20110239216A1 (en) Service providing system, a virtual machine server, a service providing method, and a program thereof
US20240220309A1 (en) Flexible source assignment to physical and virtual functions in a virtualized processing system
JP6610398B2 (ja) 並列処理装置及び通信制御方法
JP7755045B2 (ja) コンテナグループを稼働させるためのノード、ならびにコンテナグループ管理システムおよび方法
JP6345604B2 (ja) 通信装置、拡張機能の移動方法、及び通信システム
CN116383127B (zh) 节点间通信方法、装置、电子设备及存储介质
CN114816651A (zh) 一种通信方法、装置以及系统
JP2016139256A (ja) 入出力制御装置、入出力制御システム、入出力制御方法、および、プログラム
JP2017084133A (ja) 仮想計算機間の通信経路制御方法および計算機システム
KR100584193B1 (ko) 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법
JP6668993B2 (ja) 並列処理装置及びノード間通信方法
JP2013183243A (ja) 仮想マシンにアドレスを割り当てるプログラム、方法及び物理サーバ
KR102582777B1 (ko) 에지 컴퓨팅 환경을 위한 경량 큐브에지 구성 방법 및 장치
JP6657910B2 (ja) 帯域設定方法、帯域設定プログラム、情報処理装置及び情報処理システム
CN115811549B (zh) 支持混合异构运行时的云边资源管理调度方法及系统
CN118377574B (zh) 虚拟资源分配方法、装置、电子设备、介质和程序产品
KR20250024258A (ko) 클라우드 시스템에 구비되는 기능 가속 카드의 기능 통지 방법, 장치, 시스템 및 컴퓨터 프로그램
KR20250061131A (ko) 기능 가속 카드를 구비하는 클라우드 시스템에서의 작업 부하 배치 방법, 장치, 시스템 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191014

R150 Certificate of patent or registration of utility model

Ref document number: 6610398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150