JP2008020977A - ネットワークプロセッサシステムおよびネットワークプロトコル処理方法 - Google Patents
ネットワークプロセッサシステムおよびネットワークプロトコル処理方法 Download PDFInfo
- Publication number
- JP2008020977A JP2008020977A JP2006190053A JP2006190053A JP2008020977A JP 2008020977 A JP2008020977 A JP 2008020977A JP 2006190053 A JP2006190053 A JP 2006190053A JP 2006190053 A JP2006190053 A JP 2006190053A JP 2008020977 A JP2008020977 A JP 2008020977A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- tcp
- protocol
- packet
- memory access
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
【解決手段】RDMA機能をエミュレートするマルチプロセッサシステムを提供する。第1のサブプロセッシングユニット(SPU)22は、送信すべきメッセージを生成する。第2のSPU21は、リモートダイレクトメモリアクセス機能をエミュレートするプロセッサであり、第1のSPU22からの通知を受けて、メッセージをRDMAプロトコルにしたがったパケットに組み立てる。第3のSPU20は、TCP/IPプロトコル処理を実行するプロセッサであり、第2のSPU21からの通知を受けて、RDMAプロトコルにしたがって生成されたパケットをTCP/IPパケットに組み立て、ネットワークインターフェースカード(NIC)30から送出する。
【選択図】図3
Description
(1)TCP(Transmission Control Protocol)処理
(2)コンテキストスイッチ
(3)メモリ間コピー
図1は、本発明の実施の形態に係るネットワークシステムを示す図である。ネットワーク100には、複数のノード200a、200b、200c、…、200nが接続されている。以下、ネットワーク100に接続されたノードを総称するときは、単にノード200という。ネットワーク100はルータを含み、IP(Internet Protocol)にしたがってパケットを転送する。
(1)PU10上で動作するTCP/IPプロトコルスタック10s、
(2)SPU20上で動作するTCP/IPプロトコルスタック20s、および
(3)SPU21上で動作するRDMAプロトコルスタック21r。
図4は、実施例1のノード200の構成図である。実施例1では、ノード200にはTOE機能のない通常のNIC30が搭載されており、システム起動時の設定により、NIC30が動作可能になるため、動作しないTOE−NIC31に関わる構成については図示していない。実施例1では、TCP/IPプロトコルスタックはPU10またはSPU20上に実装される。PU10およびSPU20上のTCP/IPプロトコルスタック10sおよび20sは同時に動作することも可能であるし、どちらかが休止していてもかまわない。
図4において、発行元ノード200aのユーザ空間にあるアプリケーションプログラム11u−1または22u−1により、RDMAライトのリクエストが発行される。ここで、アプリケーションプログラム11u−1、22u−1はそれぞれ発行元ノード200aのPU11、SPU22で実行される。ここでは、アプリケーションプログラム11u−1、22u−1を実行するPU11、SPU22と、プロトコルスタックを実行するPU10a、SPU20、21は異なるものとして説明するが、アプリケーションプログラムとプロトコルスタックを実行するPUあるいはSPUは同一であってもかまわない。
socket(AF_INET, SOCK_STREAM, 0);
ここで、socketコマンドの第1引数AF_INETは、IPv4のインターネットプロトコルであることを示す。第2引数SOCK_STREAMは通信がコネクション型であることを示す。第3引数の0は通常のTCP/IPプロトコルを用いることを示す。
発行元ノード200aにおいてRDMAライトのリクエストの発行が終わると、図7Aに示すように、発行元ノード200aのユーザモードにあるSPU22aがアプリケーションを実行し、RDMAライトにより書き込むべきRDMAメッセージ227aをアプリケーション用バッファ222aに書き込み、RDMAライト用のデータを準備する。
一方、発行先ノード200bは、ステップS10において発行元ノード200aが発行したRDMAライトのリクエストを受け取り、RDMAライト用のメモリ領域を準備する。図6に示すように、発行先ノード200bのNIC30bはネットワーク100からRDMAライトのリクエストパケット225bを受信し、TCP/IP送受信バッファ224bにコピーする。
その後、発行先ノード200bのユーザ空間にあるアプリケーション22u−1は、レディメッセージを発行元ノード200aに返信する。RDMAライトのリクエストメッセージの場合と同様、レディメッセージは、発行先ノード200bのソケットスイッチ50がTCP/IPプロトコルを指定したコマンドを実行することにより、通常のTCP/IPプロトコルにしたがって、TCP/IPプロトコルスタック20sにより処理され、NIC30bから送信される。
図4および図7Aを参照して、RDMAライトの動作を詳しく説明をする。発行元ノード200aにおいてアプリケーションプログラム11u−1あるいは22u−1がRDMAライトのコマンドを発行する。その際、ソケットAPI11u−2あるいは22u−2は、
socket(AF_INET_SDP, SOCK_STREAM, 0);
というコマンドを用いる。ここで、第1引数"AF_INET_SDP"は、通信プロトコルとしてSDPを用いてRDMA機能を実行することを意味する。それ以外のパラメータは前述の通りである。
RDMAライトの発行が終わると、発行元ノード200aは「完了」メッセージを発行先ノード200bに送信する。「完了メッセージ」は、図6で説明した、RDMA機能を用いない通常のTCP/IPパケットで送信される。発行先ノード200bは「完了」メッセージを受信し、RDMAライト用領域226bを解放し、RDMAライトの動作を終了する。
図8は、実施例2のノード200の構成図である。実施例1では、TOE機能をもたない通常のNIC30がノード200に搭載されている場合を説明したが、実施例2では、TOE機能をもつTOE−NIC31がノード200に搭載されている場合を説明する。システム起動時の設定により、TOE−NIC31が動作可能になるため、動作しないNIC30に関わる構成については図示していない。TOE−NIC31にはTCP/IPプロトコルスタックが実装されており、TOE−NIC31内部でTCP/IPのプロトコル処理を行うことができる。
図8において、発行元ノード200aのユーザ空間にあるアプリケーションプログラム11u−1または22u−1により、RDMAライトのリクエストが発行される。実施例1で説明したように、発行元ノード200aのソケットスイッチ50は、RDMAライトのリクエストが通常のTCP/IPにより送信されるべきであることを識別する。実施例2では、RDMA動作をしない通常の通信もRDMAプロトコルスタックが実装されたSPU21aにおいて実行される。
発行元ノード200aにおいてRDMAライトのリクエストの発行が終わると、図10に示すように、発行元ノード200aのユーザモードにあるSPU22aがアプリケーションを実行し、RDMAライトすべきRDMAメッセージ227aをアプリケーション用バッファ222aに書き込む。
一方、発行先ノード200bは、ステップS10において発行元ノード200aが発行したRDMAライトのリクエストを受け取り、RDMAライト用のメモリ領域を準備する。図9に示すように、発行先ノード200bのTOE−NIC31bはネットワーク100からRDMAライトのリクエストパケット225bを受信し、TOE−NIC31b内に設けられたTCP/IP送受信バッファ224bに格納する。
その後、発行先ノード200bのユーザ空間にあるアプリケーション22u−1は、レディメッセージを発行元ノード200aに返信する。RDMAライトのリクエストメッセージの場合と同様、レディメッセージは、発行先ノード200bのソケットスイッチ50がTCP/IPプロトコルを指定したコマンドを実行することにより、SPU21においてRDMAプロトコルスタックをスキップしてデバイスドライバ21r−6に渡され、TOE−NIC31bのTOE機能によりTCP/IPプロトコル処理がなされ、ネットワーク100に送信される。
図8および図10を参照して、RDMAライトの動作を詳しく説明をする。発行元ノード200aにおいてアプリケーションプログラム11u−1あるいは22u−1がRDMAライトのコマンドを発行する。
RDMAライトの発行が終わると、発行元ノード200aは「完了」メッセージを発行先ノード200bに送信する。「完了メッセージ」は、図9で説明した、RDMA機能を用いない通常のTCP/IPパケットで送信される。発行先ノード200bは「完了」メッセージを受信し、RDMAライト用領域226bを解放し、RDMAライトの動作を終了する。
実施例1ではTOE機能をもたない通常のNIC30を用いたRDMA動作を説明し、実施例2ではTOE機能をもつTOE−NIC31を用いたRDMA動作を説明した。実際には、NICが複数枚実装されており、TOE機能のないNICとTOE機能のあるNICが共存するネットワークノードの存在する。そのようなネットワークノードの一例としてルータがある。ルータはポート毎に異なるNICを搭載するため、複数の異なる種類のNICが共存することがある。また、別の例として、マルチプロセッサシステムにおいて各プロセッサに異なるIPアドレスを割り当て、プロセッサ毎にNICを設ける構成もある。以下では、実施例3として、TOE機能のないNICとTOE機能のあるNICが共存するネットワークノードの構成を取り上げ、TOE機能のないNICとTOE機能のあるNICを動的に切り替えて、通信する仕組みを説明する。
実施の形態2では、実施の形態1で説明したノード200の応用例として、RDMA機能を利用したサーバ−クライアントシステムを説明する。
Claims (13)
- リモートダイレクトメモリアクセス機能をエミュレートする第1プロセッサと、
前記第1プロセッサによりリモートダイレクトメモリアクセスのプロトコルにしたがって生成されたパケットをキューイングするバッファと、
前記バッファからパケットを読み込み、TCP/IPプロトコル処理を施す第2プロセッサと、
前記第2プロセッサにより生成されたTCP/IPパケットをネットワークに送信するネットワークインターフェースカードとを含むことを特徴とするネットワークプロセッサシステム。 - ユーザレベルで処理を実行するプロセッサであって、送信すべきメッセージをユーザ空間に生成する第1プロセッサと、
カーネルレベルでリモートダイレクトメモリアクセス機能をエミュレートするプロセッサであって、前記第1プロセッサからの通知を受けて、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立てる第2プロセッサと、
前記第2プロセッサから出力される前記リモートダイレクトメモリアクセスのプロトコルにしたがって生成されたパケットをキューイングするバッファと、
カーネルレベルでTCP/IPプロトコル処理を実行するプロセッサであって、前記第2プロセッサからの通知を受けて、前記バッファから前記パケットを読み込み、TCP/IPプロトコルにしたがったパケットに組み立てる第3プロセッサと、
前記第3プロセッサにより生成されたTCP/IPパケットをネットワークに送信するネットワークインターフェースカードとを含むことを特徴とするネットワークプロセッサシステム。 - 送信すべきメッセージをリモートダイレクトメモリアクセス機能を用いることなく送信する場合、前記第3プロセッサは、前記第1プロセッサからの通知を受けて、前記メッセージをTCP/IPにしたがったパケットに組み立てることを特徴とする請求項2に記載のネットワークプロセッサシステム。
- 前記第1プロセッサは、指定されたプロトコルの違いを判別してイベント通知先を変更するプロトコルスイッチの機能を有し、
前記プロトコルスイッチは、
リモートダイレクトメモリアクセスのプロトコルが指定された場合、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立てるために前記第2プロセッサにイベント通知し、
リモートダイレクトメモリアクセスのプロトコルが指定されない場合、前記メッセージをTCP/IPにしたがったパケットに組み立てるために前記第3プロセッサにイベント通知することを特徴とする請求項3に記載のネットワークプロセッサシステム。 - リモートダイレクトメモリアクセス機能をエミュレートするプロセッサと、
前記プロセッサから出力されるリモートダイレクトメモリアクセスのプロトコルにしたがって生成されたパケットをキューイングするバッファと、
前記バッファから前記パケットを読み込み、TCP/IPプロトコル処理を施すためのTCP/IPオフロード機能をもつネットワークインタフェースカードとを含むことを特徴とするネットワークプロセッサシステム。 - ユーザレベルで処理を実行するプロセッサであって、送信すべきメッセージをユーザ空間に生成する第1プロセッサと、
カーネルレベルでリモートダイレクトメモリアクセス機能をエミュレートするプロセッサであって、前記第1プロセッサからの通知を受けて、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立てる第2プロセッサと、
前記第2プロセッサから出力される前記リモートダイレクトメモリアクセスのプロトコルにしたがって生成されたパケットをキューイングするバッファと、
前記第2プロセッサからの通知を受けて、前記バッファから前記パケットを読み込み、TCP/IPプロトコル処理を施すTCP/IPオフロード機能をもつネットワークインタフェースカードとを含むことを特徴とするネットワークプロセッサシステム。 - 送信すべきメッセージをリモートダイレクトメモリアクセス機能を用いることなく送信する場合、前記TCP/IPオフロード機能をもつネットワークインタフェースカードは、前記第1プロセッサからの通知を受けて、前記メッセージをTCP/IPにしたがったパケットに組み立てることを特徴とする請求項6に記載のネットワークプロセッサシステム。
- 前記第1プロセッサは、指定されたプロトコルの違いを判別してイベント通知先を変更するプロトコルスイッチの機能を有し、
前記プロトコルスイッチは、
リモートダイレクトメモリアクセスのプロトコルが指定された場合、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立てるために前記第2プロセッサにイベント通知し、
リモートダイレクトメモリアクセスのプロトコルが指定されない場合、前記メッセージをTCP/IPにしたがったパケットに組み立てるために前記TCP/IPオフロード機能をもつネットワークインタフェースカードにイベント通知することを特徴とする請求項7に記載のネットワークプロセッサシステム。 - リモートダイレクトメモリアクセス機能をエミュレートする第1プロセッサと、
前記第1プロセッサによりリモートダイレクトメモリアクセスのプロトコルにしたがって生成されたパケットをキューイングするバッファと、
前記バッファから前記パケットを読み込み、TCP/IPプロトコル処理を施す第2プロセッサと、
前記第2プロセッサにより生成されたTCP/IPパケットをネットワークに送信する第1ネットワークインタフェースカードと、
前記バッファから前記パケットを読み込み、TCP/IPプロトコル処理を施すためのTCP/IPオフロード機能をもつ第2ネットワークインタフェースカードとを含み、
前記第1プロセッサは、前記パケットの送信元IPアドレスを前記第1ネットワークインタフェースカードのMACアドレスまたは前記第2ネットワークインタフェースカードのMACアドレスに対応づけたテーブルを参照して、前記パケットの送信元IPアドレスに応じて、前記パケットを送出するためのネットワークインタフェースを前記第1ネットワークインタフェースカードまたは前記第2ネットワークインタフェースカードのいずれかに振り分ける機能を有し、
前記パケットが前記第1ネットワークインタフェースカードに振り分けられる場合は、前記パケットは、前記第2プロセッサによりTCP/IPプロトコル処理がなされて、前記第1ネットワークインタフェースカードから送出され、
前記パケットが前記第2ネットワークインタフェースカードに振り分けられる場合は、前記パケットは、前記第2ネットワークインタフェースカードのTCP/IPオフロード機能によりTCP/IPプロトコル処理がなされて、前記第2ネットワークインタフェースカードから送出されることを特徴とするネットワークプロセッサシステム。 - ユーザレベルで処理を実行する第1プロセッサに、送信すべきメッセージをユーザ空間に生成するステップを実行させ、
カーネルレベルでリモートダイレクトメモリアクセス機能をエミュレートする第2プロセッサに、前記第1プロセッサからの通知を受けて、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立て、バッファにキューイングするステップを実行させ、
カーネルレベルでTCP/IPプロトコル処理を実行する第3プロセッサに、前記第2プロセッサからの通知を受けて、前記バッファから前記パケットを読み込み、TCP/IPプロトコルにしたがったパケットに組み立てるステップを実行させることを特徴とするプログラム。 - ユーザレベルで処理を実行する第1プロセッサに、送信すべきメッセージをユーザ空間に生成するステップを実行させ、
カーネルレベルでリモートダイレクトメモリアクセス機能をエミュレートする第2プロセッサに、前記第1プロセッサからの通知を受けて、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立て、バッファにキューイングするステップを実行させ、
ネットワークインタフェースカード内でTCP/IPオフロード機能を実行する第3プロセッサに、前記第2プロセッサからの通知を受けて、前記バッファから前記パケットを読み込み、TCP/IPプロトコル処理を施すステップを実行させることを特徴とするプログラム。 - ユーザレベルで処理を実行する第1プロセッサが、送信すべきメッセージをユーザ空間に生成するステップと、
カーネルレベルでリモートダイレクトメモリアクセス機能をエミュレートする第2プロセッサが、前記第1プロセッサからの通知を受けて、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立て、バッファにキューイングするステップと、
カーネルレベルでTCP/IPプロトコル処理を実行する第3プロセッサが、前記第2プロセッサからの通知を受けて、前記バッファから前記パケットを読み込み、TCP/IPプロトコルにしたがったパケットに組み立てるステップとを含むことを特徴とするネットワークプロトコル処理方法。 - ユーザレベルで処理を実行する第1プロセッサが、送信すべきメッセージをユーザ空間に生成するステップと、
カーネルレベルでリモートダイレクトメモリアクセス機能をエミュレートする第2プロセッサが、前記第1プロセッサからの通知を受けて、前記メッセージをリモートダイレクトメモリアクセスのプロトコルにしたがったパケットに組み立て、バッファにキューイングするステップと、
ネットワークインタフェースカード内でTCP/IPオフロード機能を実行する第3プロセッサが、前記第2プロセッサからの通知を受けて、前記バッファから前記パケットを読み込み、TCP/IPプロトコル処理を施すステップを実行することを特徴とするネットワークプロトコル処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006190053A JP2008020977A (ja) | 2006-07-11 | 2006-07-11 | ネットワークプロセッサシステムおよびネットワークプロトコル処理方法 |
US11/774,998 US8671152B2 (en) | 2006-07-11 | 2007-07-09 | Network processor system and network protocol processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006190053A JP2008020977A (ja) | 2006-07-11 | 2006-07-11 | ネットワークプロセッサシステムおよびネットワークプロトコル処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008020977A true JP2008020977A (ja) | 2008-01-31 |
Family
ID=38949133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006190053A Pending JP2008020977A (ja) | 2006-07-11 | 2006-07-11 | ネットワークプロセッサシステムおよびネットワークプロトコル処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8671152B2 (ja) |
JP (1) | JP2008020977A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010020777A (ja) * | 2008-07-14 | 2010-01-28 | Safenet Inc | ゼロ−インストールipセキュリティ |
JP2013524342A (ja) * | 2010-04-02 | 2013-06-17 | マイクロソフト コーポレーション | Rdmaセマンティクスの高速記憶装置へのマッピング |
US8510491B1 (en) * | 2005-04-05 | 2013-08-13 | Oracle America, Inc. | Method and apparatus for efficient interrupt event notification for a scalable input/output device |
JP2014501003A (ja) * | 2010-11-12 | 2014-01-16 | アルカテル−ルーセント | 遠隔通信ネットワーク・アプリケーションのための、ロックレスでゼロ・コピーのメッセージング・スキーム |
KR20160075730A (ko) * | 2013-12-26 | 2016-06-29 | 인텔 코포레이션 | 노드들 사이의 i/o 서비스 및 메모리 공유 |
JP2017117448A (ja) * | 2015-12-26 | 2017-06-29 | インテル コーポレイション | アプリケーションレベルネットワークキューイング |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066045A1 (en) * | 2003-09-03 | 2005-03-24 | Johnson Neil James | Integrated network interface supporting multiple data transfer protocols |
US7430584B1 (en) * | 2008-03-12 | 2008-09-30 | Gene Fein | Data forwarding storage |
US7636759B1 (en) * | 2008-09-29 | 2009-12-22 | Gene Fein | Rotating encryption in data forwarding storage |
US7599997B1 (en) | 2008-08-01 | 2009-10-06 | Gene Fein | Multi-homed data forwarding storage |
US7636761B1 (en) * | 2008-09-29 | 2009-12-22 | Gene Fein | Measurement in data forwarding storage |
US8458285B2 (en) | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US9203928B2 (en) | 2008-03-20 | 2015-12-01 | Callahan Cellular L.L.C. | Data storage and retrieval |
US7877456B2 (en) * | 2008-04-08 | 2011-01-25 | Post Dahl Co. Limited Liability Company | Data file forwarding storage and search |
US8386585B2 (en) * | 2008-04-25 | 2013-02-26 | Tajitshu Transfer Limited Liability Company | Real-time communications over data forwarding framework |
US8452844B2 (en) * | 2008-05-07 | 2013-05-28 | Tajitshu Transfer Limited Liability Company | Deletion in data file forwarding framework |
US8599678B2 (en) | 2008-07-10 | 2013-12-03 | Tajitshu Transfer Limited Liability Company | Media delivery in data forwarding storage network |
US8370446B2 (en) | 2008-07-10 | 2013-02-05 | Tajitshu Transfer Limited Liability Company | Advertisement forwarding storage and retrieval network |
US8478823B2 (en) | 2008-09-29 | 2013-07-02 | Tajitshu Transfer Limited Liability Company | Selective data forwarding storage |
US8352635B2 (en) * | 2008-09-29 | 2013-01-08 | Tajitshu Transfer Limited Liability Company | Geolocation assisted data forwarding storage |
WO2011102488A1 (ja) * | 2010-02-22 | 2011-08-25 | 日本電気株式会社 | 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム |
US8832216B2 (en) * | 2011-08-31 | 2014-09-09 | Oracle International Corporation | Method and system for conditional remote direct memory access write |
CN103179087B (zh) * | 2011-12-21 | 2016-07-06 | 上海飞田通信技术有限公司 | 应用层到TCP层异步Socket数据传输方法及系统 |
US9002970B2 (en) * | 2012-07-12 | 2015-04-07 | International Business Machines Corporation | Remote direct memory access socket aggregation |
US9063928B2 (en) * | 2012-07-12 | 2015-06-23 | International Business Machines Corporation | Processing data packets from a receive queue in a remote direct memory access device |
US10042682B2 (en) * | 2014-01-30 | 2018-08-07 | Hewlett Packard Enterprise Development Lp | Copy message from application buffer to send buffer within kernel |
US9648081B2 (en) | 2014-04-10 | 2017-05-09 | Mellanox Technologies, Ltd. | Network-attached memory |
US9887939B2 (en) | 2015-03-11 | 2018-02-06 | International Business Machines Corporation | Transmitting multi-destination packets in overlay networks |
US9912750B2 (en) * | 2014-07-25 | 2018-03-06 | Unisys Corporation | Data path selection for network transfer using high speed RDMA or non-RDMA data paths |
JP2016045510A (ja) * | 2014-08-19 | 2016-04-04 | 富士通株式会社 | 情報処理システム、情報処理装置、情報処理システムの制御方法及び情報処理装置の制御プログラム |
JP6763307B2 (ja) * | 2015-01-16 | 2020-09-30 | 日本電気株式会社 | 計算機、デバイス制御システムおよびデバイス制御方法 |
US10412002B1 (en) | 2015-03-25 | 2019-09-10 | Amazon Technologies, Inc. | Processing packet data using an offload engine in a service provider environment |
US20160294983A1 (en) * | 2015-03-30 | 2016-10-06 | Mellanox Technologies Ltd. | Memory sharing using rdma |
US9952980B2 (en) | 2015-05-18 | 2018-04-24 | Red Hat Israel, Ltd. | Deferring registration for DMA operations |
US11880326B2 (en) | 2016-08-12 | 2024-01-23 | Liqid Inc. | Emulated telemetry interfaces for computing units |
US11294839B2 (en) * | 2016-08-12 | 2022-04-05 | Liqid Inc. | Emulated telemetry interfaces for fabric-coupled computing units |
JP2018045438A (ja) * | 2016-09-14 | 2018-03-22 | 富士通株式会社 | 並列処理装置、送信プログラム、受信プログラム及びデータ転送方法 |
CN109145638B (zh) * | 2018-07-20 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种获取自加载模块函数的方法及装置 |
TWI731287B (zh) * | 2018-12-22 | 2021-06-21 | 威聯通科技股份有限公司 | 網路應用程式產品及處理應用層協定的方法 |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
US11182221B1 (en) * | 2020-12-18 | 2021-11-23 | SambaNova Systems, Inc. | Inter-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS) |
US11237880B1 (en) | 2020-12-18 | 2022-02-01 | SambaNova Systems, Inc. | Dataflow all-reduce for reconfigurable processor systems |
US11392740B2 (en) | 2020-12-18 | 2022-07-19 | SambaNova Systems, Inc. | Dataflow function offload to reconfigurable processors |
US11782760B2 (en) | 2021-02-25 | 2023-10-10 | SambaNova Systems, Inc. | Time-multiplexed use of reconfigurable hardware |
US11200096B1 (en) | 2021-03-26 | 2021-12-14 | SambaNova Systems, Inc. | Resource allocation for reconfigurable processors |
CN113064846A (zh) * | 2021-04-14 | 2021-07-02 | 中南大学 | 基于Rsockets协议的零拷贝数据传输方法 |
US11924106B2 (en) * | 2021-08-24 | 2024-03-05 | Hewlett Packard Enterprise Development Lp | Method and system for granular dynamic quota-based congestion management |
US12242413B2 (en) * | 2021-08-27 | 2025-03-04 | Keysight Technologies, Inc. | Methods, systems and computer readable media for improving remote direct memory access performance |
US12229057B2 (en) | 2023-01-19 | 2025-02-18 | SambaNova Systems, Inc. | Method and apparatus for selecting data access method in a heterogeneous processing system with multiple processors |
US12210468B2 (en) | 2023-01-19 | 2025-01-28 | SambaNova Systems, Inc. | Data transfer between accessible memories of multiple processors incorporated in coarse-grained reconfigurable (CGR) architecture within heterogeneous processing system using one memory to memory transfer operation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06309251A (ja) * | 1993-04-26 | 1994-11-04 | Hitachi Ltd | 高速の通信アダプタを実装した計算機 |
WO2002017034A2 (en) * | 2000-08-24 | 2002-02-28 | Voltaire Advanced Data Security Ltd. | System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics |
JP2005310130A (ja) * | 2004-04-21 | 2005-11-04 | Internatl Business Mach Corp <Ibm> | データ転送要求を実行するための方法、システム、およびプログラム |
WO2005114339A2 (en) * | 2004-05-12 | 2005-12-01 | Pandya Ashish A | Runtime adaptable protocol processor |
WO2006055691A2 (en) * | 2004-11-16 | 2006-05-26 | Secure64 Software Corporation | Queued, asynchronous communication architecture interface |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4406604B2 (ja) * | 2002-06-11 | 2010-02-03 | アシシュ エイ パンドヤ | Tcp/ip、rdma、及びipストレージアプリケーションのための高性能ipプロセッサ |
US7565454B2 (en) * | 2003-07-18 | 2009-07-21 | Microsoft Corporation | State migration in multiple NIC RDMA enabled devices |
US8285881B2 (en) * | 2003-09-10 | 2012-10-09 | Broadcom Corporation | System and method for load balancing and fail over |
US7457861B1 (en) * | 2003-12-05 | 2008-11-25 | Unisys Corporation | Optimizing virtual interface architecture (VIA) on multiprocessor servers and physically independent consolidated NICs |
US8984140B2 (en) * | 2004-12-14 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Managing connections through an aggregation of network resources providing offloaded connections between applications over a network |
-
2006
- 2006-07-11 JP JP2006190053A patent/JP2008020977A/ja active Pending
-
2007
- 2007-07-09 US US11/774,998 patent/US8671152B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06309251A (ja) * | 1993-04-26 | 1994-11-04 | Hitachi Ltd | 高速の通信アダプタを実装した計算機 |
WO2002017034A2 (en) * | 2000-08-24 | 2002-02-28 | Voltaire Advanced Data Security Ltd. | System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics |
JP2005310130A (ja) * | 2004-04-21 | 2005-11-04 | Internatl Business Mach Corp <Ibm> | データ転送要求を実行するための方法、システム、およびプログラム |
WO2005114339A2 (en) * | 2004-05-12 | 2005-12-01 | Pandya Ashish A | Runtime adaptable protocol processor |
JP2008503799A (ja) * | 2004-05-12 | 2008-02-07 | アシシュ エイ パンドヤ | ランタイム適応プロトコルプロセッサ |
WO2006055691A2 (en) * | 2004-11-16 | 2006-05-26 | Secure64 Software Corporation | Queued, asynchronous communication architecture interface |
JP2008524878A (ja) * | 2004-11-16 | 2008-07-10 | セキュア64・ソフトウェア・コーポレイション | キュー非同期通信アーキテクチャーインタフェース |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510491B1 (en) * | 2005-04-05 | 2013-08-13 | Oracle America, Inc. | Method and apparatus for efficient interrupt event notification for a scalable input/output device |
JP2010020777A (ja) * | 2008-07-14 | 2010-01-28 | Safenet Inc | ゼロ−インストールipセキュリティ |
JP2013524342A (ja) * | 2010-04-02 | 2013-06-17 | マイクロソフト コーポレーション | Rdmaセマンティクスの高速記憶装置へのマッピング |
US8984084B2 (en) | 2010-04-02 | 2015-03-17 | Microsoft Technology Licensing, Llc | Mapping RDMA semantics to high speed storage |
JP2014501003A (ja) * | 2010-11-12 | 2014-01-16 | アルカテル−ルーセント | 遠隔通信ネットワーク・アプリケーションのための、ロックレスでゼロ・コピーのメッセージング・スキーム |
KR20160075730A (ko) * | 2013-12-26 | 2016-06-29 | 인텔 코포레이션 | 노드들 사이의 i/o 서비스 및 메모리 공유 |
KR101895763B1 (ko) | 2013-12-26 | 2018-09-07 | 인텔 코포레이션 | 노드들 사이의 i/o 서비스 및 메모리 공유 |
US10915468B2 (en) | 2013-12-26 | 2021-02-09 | Intel Corporation | Sharing memory and I/O services between nodes |
JP2017117448A (ja) * | 2015-12-26 | 2017-06-29 | インテル コーポレイション | アプリケーションレベルネットワークキューイング |
Also Published As
Publication number | Publication date |
---|---|
US20080013448A1 (en) | 2008-01-17 |
US8671152B2 (en) | 2014-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008020977A (ja) | ネットワークプロセッサシステムおよびネットワークプロトコル処理方法 | |
Shashidhara et al. | {FlexTOE}: Flexible {TCP} offload with {Fine-Grained} parallelism | |
Rizzo et al. | Vale, a switched ethernet for virtual machines | |
US7274706B1 (en) | Methods and systems for processing network data | |
US8713180B2 (en) | Zero-copy network and file offload for web and application servers | |
EP3238401B1 (en) | Network extended tcp splicing | |
TWI222288B (en) | End node partitioning using virtualization | |
US7937447B1 (en) | Communication between computer systems over an input/output (I/O) bus | |
JP6055310B2 (ja) | 仮想記憶ターゲットオフロード技術 | |
JP2006516054A (ja) | Tcp/ip、rdma、及びipストレージアプリケーションのための高性能ipプロセッサ | |
JPWO2011096307A1 (ja) | プロキシ装置とその動作方法 | |
JP7344315B2 (ja) | ネットワークベースのサービスのためのfire-and-forgetオフロードメカニズム | |
US20050091334A1 (en) | System and method for high performance message passing | |
Tian et al. | Accelerating distributed deep learning using multi-path RDMA in data center networks | |
JP2003242097A (ja) | クロスコール機能を備えるディスク制御装置 | |
CN115379018A (zh) | 使用数据路径状态复制和中间设备映射进行服务分配的方法和系统 | |
JP2007193786A (ja) | ネットワーク・プロトコル・スタック隔離のためのネットワーク・アーキテクチャ、方法、およびコンピュータ・プログラム(ネットワーク・プロトコル・スタック隔離) | |
Cui et al. | Optimizing overlay-based virtual networking through optimistic interrupts and cut-through forwarding | |
WO2022120974A1 (zh) | 一种虚拟化安全网关系统 | |
JP3628514B2 (ja) | 計算機間データ送受信方法 | |
GB2532732A (en) | Integrating a communication bridge into a data procesing system | |
Riddoch et al. | Distributed computing with the CLAN network | |
JP3792538B2 (ja) | ネットワークインタフェースカードを用いるピアレベル通信用システムおよび方法 | |
JP4123712B2 (ja) | 通信処理方法ならびに通信処理プログラムが記録される記録媒体 | |
WO2018131550A1 (ja) | コネクション管理ユニット、およびコネクション管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090702 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20101125 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110610 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110825 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120214 |