JP7144671B2 - ネットワークインタフェース装置、それを有するノードを複数有する情報処理装置及び情報処理装置のノード間送信データ送信方法 - Google Patents
ネットワークインタフェース装置、それを有するノードを複数有する情報処理装置及び情報処理装置のノード間送信データ送信方法 Download PDFInfo
- Publication number
- JP7144671B2 JP7144671B2 JP2018046159A JP2018046159A JP7144671B2 JP 7144671 B2 JP7144671 B2 JP 7144671B2 JP 2018046159 A JP2018046159 A JP 2018046159A JP 2018046159 A JP2018046159 A JP 2018046159A JP 7144671 B2 JP7144671 B2 JP 7144671B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- computer node
- tlb
- write
- remote
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/654—Look-ahead translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
前記メインメモリ内の仮想アドレスと実アドレスの対応を有するアドレス変換テーブル内の一部のアドレス変換エントリを格納するアドレス変換バッファ(以下TLBと称する)と、
前記プロセッサから送信されたコマンドに対する処理と受信した送信データに対する処理を制御する制御部とを有し、
前記制御部は、
前記プロセッサから、ライト及びリードのいずれかの要求に対応可能かを問い合わせる第1のメッセージとリモートノードプリキャッシュTLBを有する第1のコマンドを受信したとき、前記第1のメッセージと前記リモートノードプリキャッシュTLBとを含むリモートのコンピュータノード宛ての第1の送信データを送信し、
前記第1のメッセージに対する対応可能メッセージを含む第1の応答データの受信に応答して、前記プロセッサから、前記ライト及びリードのいずれかを要求する第2のコマンドを受信したとき、
前記第2のコマンドがライトを要求するとき、ライトデータのメッセージと前記第2のコマンド内のリモートノード仮想アドレスとを含む前記リモートのコンピュータノード宛てのライト・送信データを送信し、
前記リモートのコンピュータノードは、
前記第1の送信データに応答して、前記リモートノードプリキャッシュTLBに対応する第1のアドレス変換エントリを前記メインメモリから読み出し前記TLBにプリキャッシュし、
前記ライト・送信データに応答して、前記第1のアドレス変換エントリに基づいて、前記ライト・送信データ内のリモートノード仮想アドレスをリモートノード実アドレスに変換し、前記リモートノード実アドレスに基づいて前記メインメモリに前記ライトデータを書き込む、
ネットワークインタフェース装置である。
(1)コマンドに含められたメッセージを格納するパケットを生成し、コマンドに含められた送信先ノードに送信する。
(2)コマンドに含められたメインメモリのアドレスに基づいてメインメモリ内のメッセージを取得し、そのメッセージを格納するパケットを生成し、コマンドの送信先ノードに送信する。
(3)受信したパケットに格納されたメッセージを予め確保したメインメモリ内の受信バッファに格納する。これによりプロセッサは、受信したメッセージを受信バッファから読み出し、必要な処理を実行する。
(4)受信したパケットに格納されたメッセージを、同パケットに格納されたメインメモリのアドレスに格納する。そして、プロセッサは、受信したメッセージに対して対応する処理を実行する。
[コマンドとメッセージのフォーマット]
図3は、本実施の形態におけるプロセッサが発行するコマンドとそれに対するメッセージのフォーマット例を示す図である。
本実施の形態によれば、プロセッサが発行する第1のコマンドCMD_1に、ライト及びリードのいずれかの要求に対応可能かを問い合わせるメッセージのフィールドF3と、ローカルノードプリキャッシュTLBのフィールドF4と、リモートノードプリキャッシュTLBのフィールドF5とを設ける。この問い合わせのメッセージは、短いビット長のメッセージである。さらに、第1のコマンドには、コマンドの種類のフィールドF1と、メッセージ送信先のリモートノードアドレスRM_ADDのフィールドF2も含まれる。
第1のコマンドCMD_1の問い合わせに対して、パケットの送信先のリモートノードから「要求に対応可能」のメッセージを格納する応答パケットを受信すると、ローカルノードでは、プロセッサがリード及びライトのいずれかの要求をする第2のコマンドCMD_2を発行する。
第2のコマンドCMD_2がライト・コマンドの場合、ローカルノード仮想アドレスのフィールドF23には、パケットで転送するメッセージの内容が記憶されているローカルノードの仮想アドレスが格納される。
一方、第2のコマンドCMD_2がリード・コマンドの場合、ローカルノード仮想アドレスのフィールドF23には、第2のパケットPCK_2に対するリモートノードからの応答パケット内のメッセージ(データ)を記憶するローカルノードでの仮想アドレスが格納される。
図4は、ライト・パケットの場合のコマンドとパケットのフォーマット例を示す図である。図4の第1のコマンドCMD_1、第2のコマンドCMD_2は、図3の第1のコマンドCMD_1、第2のコマンドCMD_2と同じフォーマットである。
S1:図6に示すように、まず、ローカルノードNODE_1内のプロセッサPRC_1が、図4の第1のコマンドCMD_1をネットワークインタフェースNW_IF_1に送信する(S1)。この第1のコマンドは、図4に示したとおり、コマンド種類フィールドF1に「ライト、ショートメッセージ」が、メッセージフィールドF3にメッセージとして「受信可能問い合わせ」が格納され、さらに、ローカルノードプリフェッチTLBとリモートノードプリフェッチTLBとが格納される。ここで、メッセージの「受信可能問い合わせ」とは、パケットの送信先のリモートノードが、ライトデータを受信してメインメモリに書き込む準備が整っているか否かを問い合わせることを意味する。
信可能問い合わせ」をメッセージのフィールドF13に格納した問合せ・ライト・パケットPCK_1を生成し、パケット送信部PCK_TXを介してリモートノードに送信する(S2)。問合せ・ライト・パケットPCK_1は、図4に示したとおり、パケット種類、ローカルノードアド
レスLO_ADDとリモートノードアドレスRM_ADDに加えて、メッセージの「受信可能問い合わせ」と、リモートノードプリフェッチTLBとを格納する。
S3:第2のパケットである問合せ・ライト・パケットPCK_2の受信に応答して、リモートノードNODE_2内のネットワークインタフェースNW_IF_2のパケット受信制御回路20は、(3)パケットPCK_2内のメッセージ「受信可能問い合わせ」を、予めメインメモリ内に確保した受信バッファにDMAで書き込むメッセージDMAライト要求MSG_DMA_WT_RQを、DMA制御回路に発行する(S3)。これにより、プロセッサPRC_2は、パケットPCK_2のメッセージの内容を読み出すことができる。
S6:ローカルノードのネットワークインタフェース内のパケット受信制御回路20は、リモートノードからの応答パケットPCK_1_Rの受信に応答して、応答パケット内のメッセージ「受信可能」を、メインメモリ内に予め確保した受信バッファにDMAアクセスで書き込む(S6)。
S9:リモートノードのネットワークインタフェースNW_IF_2内のパケット受信制御回路20は、前述のS3の(4)でプリキャッシュしたTLBエントリに基づいて、ライト・パケット内のリモートノード仮想アドレスに対する実アドレスを要求するTLB要求TLB_RQをTLBに発行する。これにより、パケット受信制御回路20は、プリキャッシュしたTLBエントリに基づいてリモートノード仮想アドレスに対する実アドレスを取得し、その実アドレスに基づいてメインメモリ内にライト・パケットのメッセージ(ライトデータ)をDMAアクセスで書き込む要求MSG_MDA_WT_RQをDMA制御回路DMA_CNTに発行する(S9)。これにより、メッセージ(ライトデータ)がメインメモリに書き込まれる。
図8は、リード・パケットの場合のコマンドとパケットのフォーマット例を示す図である。図8の第1のコマンドCMD_1、第2のコマンドCMD_2は、図3の第1のコマンドCMD_1、第2のコマンドCMD_2と同じフォーマットである。
S11:図9において、ローカルノードNODE_1のプロセッサPRC_1は、第1のコマンドCMD_1をネットワークインタフェースNW_IF_1に送信する(S11)。第1のコマンドCMD_1は、図8で説明したとおりであり、メッセージの内容が「送信可能問合せ」で、ライト・パケットの場合の「受信可能問合せ」とは異なる。「送信可能問合せ」とは、リード・パケット送信先のリモートノードがリードデータをローカルノードに送信可能か否かを問い合わせることを意味する。
S13:第1のパケットPCK_1の受信に応答して、リモートノードのネットワークインタフェースNW_IF_2は、(3)パケット内のメッセージ「送信可能問合せ」を、メインメモリ内の受信バッファにDMAで書き込む(S13)。さらに、ネットワークインタフェースNW_IF_2は、(4)パケット内のリモートノードプリキャッシュTLBに基づいて、メインメモリからリードデータを読み出す時のTLBエントリをTLBにプリキャッシュする(S13)。この処理は、図6のライト・パケットの場合の処理S3とほとんど同じである。
S16:この応答パケットに応答して、ネットワークインタフェースNW_IF_1は、パケット内のメッセージ「送信可能」をメインメモリ内の受信バッファにDMAで書き込む(S16)。
S19:リモートノードのネットワークインタフェースNW_IF_2は、第2のパケットPCK_2の受信に応答して、(5)処理S14の(4)でプリキャッシュしたTLBエントリでパケット内のリモートノード仮想アドレスを実アドレスに変換し、実アドレスに基づいてメインメモリ内のリードデータをDMAで読み出す(S19)。この処理では、TLBエントリがプリキャッシュ済みであるので、短時間で完了する。
S20:第2のパケットに対する応答パケットPCK_2_Rの受信に応答して、ローカルノードのネットワークインタフェースNW_IF_1は、処理S12の(2)でプリキャッシュしたTLBエントリで、ローカルノード仮想アドレスを実アドレスに変換し、実アドレスに基づいてメッセージのリードデータをDMAでメインメモリ内に書き込む(S20)。この処理も、TLBエントリがプリキャッシュ済みであるので、リードデータの書き込み処理は短時間で完了する。
第1の実施の形態では、ライト・パケットの場合、リモートノードは、図6の処理S3で(3)パケット内のメッセージをDMAでメインメモリの受信バッファに書き込み、(4)パケット内のリモートノードプリキャッシュTLBに基づいてTLBエントリをDMAでメインメモリから読み出す。同様に、リード・パケットの場合、リモートノードは、図9の処理S13で同様のDMAによるメインメモリへのメッセージの書込みとTLBエントリの読み出しを行う。
ある。図5に示したとおり、DMA制御回路DMA_CNTは、DMA要求を受信して、メインメモリ
にDMAでアクセスする。その場合、DMA処理に必要な回路資源、例えば、DMA要求を格納す
るDMA要求バッファや、DMAで読み出したデータを一時的に格納するDMA受信バッファなど
を確保したうえで、DMA処理を実行する。これらの資源の数は有限である。したがって、DMA制御回路は、受信したDMA要求に対して、DMA処理に必要な資源を確保できるか否かの判定を行う。確保できればDMAを実行し、確保できなければDMA要求を確保できるまで待機させる。
図12は、第3の実施の形態におけるノードの構成を示す図である。TLBは、メインメモリ内のアドレス変換テーブルATT内の一部の複数のTLBエントリを記憶する一種のキャッシュである。そのため、DMA処理を行う場合TLBからアドレス変換に必要なTLBエントリを検出するのに検索処理が必要であり、処理のレイテンシを長くする。
PRC_#:プロセッサ、CPU
M-MEM:メインメモリ
NW_IF_#:ネットワークインタフェース
NW_IF_CNT:ネットワークインタフェース制御回路
DMA_CNT:DMA制御回路
TLB:Translation Look-aside Buffer、一種のキャッシュ
ATT: Address Translation Table
(メインメモリ内のATTからTLBエントリが読み出され、TLBにキャッシュ登録される。)
CMD_#:コマンド
PCK_#:パケット、送信データ
Claims (10)
- コンピュータノード内に設けられるネットワークインタフェース装置であって、
前記ネットワークインタフェース装置は、
前記コンピュータノード内のプロセッサを介さずに前記コンピュータノード内のメインメモリにアクセスするダイレクトメモリアクセス制御部(以下DMAと称する)と、
前記メインメモリ内の仮想アドレスと実アドレスの対応を有するアドレス変換テーブル内の一部のアドレス変換エントリを格納するアドレス変換バッファ(以下TLBと称する)と、
前記プロセッサから送信されたコマンドに対する処理と受信した送信データに対する処理を制御する制御部とを有し、
前記制御部は、前記ネットワークインタフェース装置がローカルコンピュータノード内に設けられている場合、
前記ローカルコンピュータノード内の第1のプロセッサから、ライト及びリードのいずれかの要求に対応可能かを問い合わせる第1のメッセージと、リモートコンピュータノードに前記リモートコンピュータノード内の第2のTLBに格納する第1のアドレス変換エントリを前記リモートコンピュータノード内の第2のメインメモリからプリキャッシュすることを要求するリモートノードTLBプリキャッシュ要求を有する第1のコマンドを受信したとき、
前記第1のメッセージと前記リモートノードTLBプリキャッシュ要求とを含む前記リモートコンピュータノード宛ての第1の送信データを送信し、
前記第1のメッセージに対する対応可能メッセージを含む第1の応答データの受信に応答して前記第1のプロセッサにより発行された前記ライト及びリードのいずれかを要求する第2のコマンドを受信したとき、
前記第2のコマンドがライトを要求するとき、ライトデータのメッセージと前記第2のコマンド内のリモートノード仮想アドレスとを含む前記リモートコンピュータノード宛てのライト・送信データを送信し、
前記制御部は、前記ネットワークインタフェース装置が前記リモートコンピュータノード内に設けられている場合、
前記第1の送信データに応答して、前記第1の応答データを前記ローカルコンピュータノードに送信し、前記第1のアドレス変換エントリを前記第2のメインメモリから読み出し前記第2のTLBにプリキャッシュし、
前記ライト・送信データに応答して、前記第1のアドレス変換エントリに基づいて、前記ライト・送信データ内のリモートノード仮想アドレスをリモートノード実アドレスに変換し、前記リモートノード実アドレスに基づいて前記第2のメインメモリに前記ライトデータを書き込む、
ネットワークインタフェース装置。 - 前記制御部は、前記ネットワークインタフェース装置がローカルコンピュータノード内に設けられている場合、
前記第1のコマンドを受信したとき、前記第1のコマンド内の前記ローカルコンピュータノード内の第1のTLBに格納する第2のアドレス変換エントリを前記ローカルコンピュータノード内の第1のメインメモリからプリキャッシュすることを要求するローカルノードTLBプリキャッシュ要求に対応する前記第2のアドレス変換エントリを、前記第1のメインメモリから読み出し前記第1のTLBにプリキャッシュするプリキャッシュ要求を前記ローカルコンピュータノード内の第1のDMAに依頼し、
前記第2のコマンドがライトを要求するとき、前記第2のアドレス変換エントリに基づいて、前記第2のコマンド内のローカルノード仮想アドレスをローカルノード実アドレスに変換し、前記ローカルノード実アドレスに基づいて前記第1のメインメモリから前記ライトデータを読み出す要求を前記第1のDMAに依頼する、
請求項1に記載のネットワークインタフェース装置。 - 前記制御部は、前記ネットワークインタフェース装置がローカルコンピュータノード内に設けられている場合、
前記第2のコマンドがリードを要求するとき、前記第2のコマンド内のリモートノード仮想アドレスを含むリード・送信データを前記リモートコンピュータノードに送信し、
前記制御部は、前記ネットワークインタフェース装置が前記リモートコンピュータノード内に設けられている場合、
前記リード・送信データに応答して、(1)前記第1のアドレス変換エントリに基づいて、前記リード・送信データ内のリモートノード仮想アドレスをリモートノード実アドレスに変換し、前記リモートノード実アドレスに基づいて前記第2のメインメモリからリードデータを読み出し、(2)前記リードデータを含む第2の応答データを前記ローカルコンピュータノード宛てに送信する、
請求項1に記載のネットワークインタフェース装置。 - 前記制御部は、前記ネットワークインタフェース装置がローカルコンピュータノード内に設けられている場合、
前記第2のコマンドがリードを要求するとき、前記第2のコマンド内のリモートノード仮想アドレスを含むリード・送信データを前記リモートコンピュータノードに送信し、
前記制御部は、前記ネットワークインタフェース装置が前記リモートコンピュータノード内に設けられている場合、
前記リード・送信データに応答して、(1)前記第1のアドレス変換エントリに基づいて、前記リード・送信データ内のリモートノード仮想アドレスをリモートノード実アドレスに変換し、前記リモートノード実アドレスに基づいて前記第2のメインメモリからリードデータを読み出し、(2)前記リードデータを含む第2の応答データを前記ローカルコンピュータノード宛てに送信する、
請求項2に記載のネットワークインタフェース装置。 - 前記制御部は、前記ネットワークインタフェース装置がローカルコンピュータノード内に設けられている場合、
前記第2の応答データを受信したとき、前記第2のアドレス変換エントリに基づいて、前記第2のコマンド内の前記ローカルノード仮想アドレスをローカルノード実アドレスに変換し、前記ローカルノード実アドレスに基づいて前記第1のメインメモリに前記リードデータを書き込む要求を前記第1のDMAに依頼する、請求項4に記載のネットワークインタフェース装置。 - 前記制御部は、前記ネットワークインタフェース装置が前記リモートコンピュータノード内に設けられている場合、
前記第1の送信データに応答して、前記第1の送信データ内のメッセージを前記第2のメインメモリに書き込む要求を、前記リモートコンピュータノード内の第2のDMAに依頼し、
前記第2のDMAは、
前記メッセージを前記第2のメインメモリへ書込む第1の要求を、前記アドレス変換エントリを前記第2のメインメモリから読み出して前記第2のTLBへプリキャッシュする第2の要求よりも高い優先度で実行する、請求項1に記載のネットワークインタフェース装置。 - 前記第2のDMAは、
前記第1の要求に応答して、実行中のダイレクトメモリアクセス処理に必要な回路資源の数がネットワークインタフェース装置の有する資源数に達していない場合、前記メッセージを前記第2のメインメモリにダイレクトメモリアクセスで書き込み、
前記第2の要求に応答して、実行中のダイレクトメモリアクセス処理に必要な回路資源の数が前記ネットワークインタフェース装置の有する資源数より所定数少ない数に達していない場合、前記第1のアドレス変換エントリを前記第2のメインメモリからダイレクトメモリアクセスで読み出す、
請求項6に記載のネットワークインタフェース装置。 - 前記制御部は、前記TLB内のアドレス変換エントリの一部を格納するTLB格納部を有し、
前記制御部は、前記ネットワークインタフェース装置が前記リモートコンピュータノード内に設けられている場合、前記第1のアドレス変換エントリを前記第2のメインメモリから読み出して前記第2のTLBへプリキャッシュするとき、読み出した前記第1のアドレス変換エントリを前記リモートコンピュータノード内の第2のTLB格納部に格納する、請求項1に記載のネットワークインタフェース装置。 - 第1のネットワークインタフェースを有するローカルコンピュータノードと、
第2のネットワークインタフェースを有し、前記ローカルコンピュータノードとネットワークを介して通信可能なリモートコンピュータノードとを有し、
前記ローカルコンピュータノードと前記リモートコンピュータノードの前記第1及び第2のネットワークインタフェースはそれぞれ、
自己のコンピュータノード内のプロセッサを介さずに前記自己のコンピュータノード内のメインメモリにアクセスするダイレクトメモリアクセス制御部(以下DMAと称する)と、
前記メインメモリ内の仮想アドレスと実アドレスの対応を有するアドレス変換テーブル内の一部のアドレス変換エントリを格納するアドレス変換バッファ(以下TLBと称する)と、
前記プロセッサから送信されたコマンドに対する処理と受信した送信データに対する処理を制御する制御部とを有し、
前記ローカルコンピュータノード内の前記制御部は、
前記ローカルコンピュータノード内の第1のプロセッサから、ライト及びリードのいずれかの要求に対応可能かを問い合わせる第1のメッセージと、前記リモートコンピュータノードに前記リモートコンピュータノード内の第2のTLBに格納する第1のアドレス変換エントリを前記リモートコンピュータノード内の第2のメインメモリからプリキャッシュすることを要求するリモートノードTLBプリキャッシュ要求を有する第1のコマンドを受信したとき、前記第1のメッセージと前記リモートノードTLBプリキャッシュ要求とを含む前記リモートコンピュータノード宛ての第1の送信データを送信し、
前記第1のメッセージに対する対応可能メッセージを含む第1の応答データの受信に応答して前記第1のプロセッサにより発行された前記ライト及びリードのいずれかを要求する第2のコマンドを受信したとき、
前記第2のコマンドがライトを要求するとき、ライトデータのメッセージと前記第2のコマンド内のリモートノード仮想アドレスとを含む前記リモートコンピュータノード宛てのライト・送信データを送信し、
前記リモートコンピュータノード内の前記制御部は、
前記第1の送信データに応答して、前記第1の応答データを前記ローカルコンピュータノードに送信し、前記第1のアドレス変換エントリを前記第2のメインメモリから読み出し前記第2のTLBにプリキャッシュし、
前記ライト・送信データに応答して、前記第1のアドレス変換エントリに基づいて、前記ライト・送信データ内のリモートノード仮想アドレスをリモートノード実アドレスに変換し、前記リモートノード実アドレスに基づいて前記第2のメインメモリに前記ライトデータを書き込む、
情報処理装置。 - 第1のネットワークインタフェースを有するローカルコンピュータノードと、第2のネットワークインタフェースを有し前記ローカルコンピュータノードとネットワークを介して通信可能なリモートコンピュータノードとを有する情報処理装置のノード間送信データ送信方法であって、
前記ローカルコンピュータノードと前記リモートコンピュータノードの前記第1及び第2のネットワークインタフェースはそれぞれ、
自己のコンピュータノード内のプロセッサを介さずに前記自己のコンピュータノード内のメインメモリにアクセスするダイレクトメモリアクセス制御部(以下DMAと称する)と、
前記メインメモリ内の仮想アドレスと実アドレスの対応を有するアドレス変換テーブル内の一部のアドレス変換エントリを格納するアドレス変換バッファ(以下TLBと称する)と、
前記プロセッサから送信されたコマンドに対する処理と受信した送信データに対する処理を制御する制御部とを有し、
前記ノード間送信データ送信方法は、
前記ローカルコンピュータノード内の前記制御部が、
前記ローカルコンピュータノード内の第1のプロセッサから、ライト及びリードのいずれかの要求に対応可能かを問い合わせる第1のメッセージと、前記リモートコンピュータノードに前記リモートコンピュータノード内の第2のTLBに格納する第1のアドレス変換エントリを前記リモートコンピュータノード内の第2のメインメモリからプリキャッシュすることを要求するリモートノードTLBプリキャッシュ要求を有する第1のコマンドを受信したとき、前記第1のメッセージと前記リモートノードTLBプリキャッシュ要求とを含む前記リモートコンピュータノード宛ての第1の送信データを送信し、
前記第1のメッセージに対する対応可能メッセージを含む第1の応答データの受信に応答して前記第1のプロセッサにより発行された前記ライト及びリードのいずれかを要求する第2のコマンドを受信したとき、
前記第2のコマンドがライトを要求するとき、ライトデータのメッセージと前記第2のコマンド内のリモートノード仮想アドレスとを含む前記リモートコンピュータノード宛てのライト・送信データを送信し、
前記リモートコンピュータノード内の前記制御部が、
前記第1の送信データに応答して、前記第1の応答データを前記ローカルコンピュータノードに送信し、前記第1のアドレス変換エントリを前記第2のメインメモリから読み出し前記第2のTLBにプリキャッシュし、
前記ライト・送信データに応答して、前記第1のアドレス変換エントリに基づいて、前記ライト・送信データ内のリモートノード仮想アドレスをリモートノード実アドレスに変換し、前記リモートノード実アドレスに基づいて前記第2のメインメモリに前記ライトデータを書き込む、
情報処理装置のノード間送信データ送信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018046159A JP7144671B2 (ja) | 2018-03-14 | 2018-03-14 | ネットワークインタフェース装置、それを有するノードを複数有する情報処理装置及び情報処理装置のノード間送信データ送信方法 |
US16/268,543 US20190286575A1 (en) | 2018-03-14 | 2019-02-06 | Network interface device, information processing device having plural nodes including network interface device, and method for transmitting transmission data between nodes of information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018046159A JP7144671B2 (ja) | 2018-03-14 | 2018-03-14 | ネットワークインタフェース装置、それを有するノードを複数有する情報処理装置及び情報処理装置のノード間送信データ送信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019159858A JP2019159858A (ja) | 2019-09-19 |
JP7144671B2 true JP7144671B2 (ja) | 2022-09-30 |
Family
ID=67905619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018046159A Active JP7144671B2 (ja) | 2018-03-14 | 2018-03-14 | ネットワークインタフェース装置、それを有するノードを複数有する情報処理装置及び情報処理装置のノード間送信データ送信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190286575A1 (ja) |
JP (1) | JP7144671B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11226902B2 (en) * | 2019-09-30 | 2022-01-18 | International Business Machines Corporation | Translation load instruction with access protection |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003050743A (ja) | 2001-08-07 | 2003-02-21 | Nec Corp | 仮想アドレス間データ転送方式 |
US20090022156A1 (en) | 2007-07-12 | 2009-01-22 | Blocksome Michael A | Pacing a Data Transfer Operation Between Compute Nodes on a Parallel Computer |
JP2009037610A (ja) | 2007-07-31 | 2009-02-19 | Intel Corp | 入出力(i/o)仮想化動作のプロセッサへのオフロード |
JP2016045510A (ja) | 2014-08-19 | 2016-04-04 | 富士通株式会社 | 情報処理システム、情報処理装置、情報処理システムの制御方法及び情報処理装置の制御プログラム |
-
2018
- 2018-03-14 JP JP2018046159A patent/JP7144671B2/ja active Active
-
2019
- 2019-02-06 US US16/268,543 patent/US20190286575A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003050743A (ja) | 2001-08-07 | 2003-02-21 | Nec Corp | 仮想アドレス間データ転送方式 |
US20090022156A1 (en) | 2007-07-12 | 2009-01-22 | Blocksome Michael A | Pacing a Data Transfer Operation Between Compute Nodes on a Parallel Computer |
JP2009037610A (ja) | 2007-07-31 | 2009-02-19 | Intel Corp | 入出力(i/o)仮想化動作のプロセッサへのオフロード |
JP2016045510A (ja) | 2014-08-19 | 2016-04-04 | 富士通株式会社 | 情報処理システム、情報処理装置、情報処理システムの制御方法及び情報処理装置の制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2019159858A (ja) | 2019-09-19 |
US20190286575A1 (en) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10009295B2 (en) | Virtual memory protocol segmentation offloading | |
US6928529B2 (en) | Data transfer between virtual addresses | |
US7234006B2 (en) | Generalized addressing scheme for remote direct memory access enabled devices | |
US6094708A (en) | Secondary cache write-through blocking mechanism | |
US8812795B2 (en) | Shared memory architecture | |
US20120173840A1 (en) | Sas expander connection routing techniques | |
JP2011198360A (ja) | パケット処理最適化 | |
JP2015146115A (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP2016004461A (ja) | 情報処理装置、入出力制御装置および情報処理装置の制御方法 | |
US11327890B1 (en) | Partitioning in a processor cache | |
JP7144671B2 (ja) | ネットワークインタフェース装置、それを有するノードを複数有する情報処理装置及び情報処理装置のノード間送信データ送信方法 | |
US9824017B2 (en) | Cache control apparatus and method | |
US11036643B1 (en) | Mid-level instruction cache | |
US11093405B1 (en) | Shared mid-level data cache | |
JP2002084311A (ja) | パケット転送処理装置 | |
EP4191425A1 (en) | Pcie communications | |
US8850159B2 (en) | Method and system for latency optimized ATS usage | |
US7136933B2 (en) | Inter-processor communication systems and methods allowing for advance translation of logical addresses | |
JP7196858B2 (ja) | 入出力実行装置、デバイス仮想化システム、入出力実行方法、および、プログラム | |
JP2005526335A (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
CN115357525A (zh) | 探听过滤器、处理单元、计算设备和相关方法 | |
CN118860294A (zh) | 一种数据读取方法、系统及电子设备 | |
JP2004252838A (ja) | データ転送方法およびこれによるネットワークシステム | |
CN117193931A (zh) | 脏页发送方法、外部设备及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220804 |
|
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: 20220816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220829 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7144671 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |