JP4417935B2 - Information processing apparatus, information processing method, and information processing program for communicating with outside via network - Google Patents
Information processing apparatus, information processing method, and information processing program for communicating with outside via network Download PDFInfo
- Publication number
- JP4417935B2 JP4417935B2 JP2006206229A JP2006206229A JP4417935B2 JP 4417935 B2 JP4417935 B2 JP 4417935B2 JP 2006206229 A JP2006206229 A JP 2006206229A JP 2006206229 A JP2006206229 A JP 2006206229A JP 4417935 B2 JP4417935 B2 JP 4417935B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- memory
- received
- received message
- data size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
Description
本発明は、ネットワークを介して外部と通信を行う情報処理装置、情報処理方法および情報処理プログラムに関するものである。 The present invention relates to an information processing apparatus, an information processing method, and an information processing program that communicate with the outside via a network.
従来から、PCクラスタや並列計算機において、メッセージ交換方式の通信が用いられている。特に並列アプリケーションにおいては、MPI(Message Passing Interface)を代表とするメッセージ交換ライブラリを用いた通信が多用されている。 Conventionally, message exchange communication is used in PC clusters and parallel computers. Particularly in parallel applications, communication using a message exchange library represented by MPI (Message Passing Interface) is frequently used.
従来からPCクラスタ用のネットワークインタフェースとしては、Mellanox Technologies社のInfiniband HCAやMyricom社のMyrinetやQuadrics社のQsNET IIなどが、多くの利用形態でMPIと組み合わせて用いられている(例えば「非特許文献1」参照)。 Conventionally, as a network interface for a PC cluster, Mellanox Technologies Infiniband HCA, Mycomy Myline, Quadrics QsNET II, etc. are used in combination with MPI in many usage forms (for example, “Non-patent Documents”). 1 ”).
国内においては、試作レベルの例として、RHiNET−2上にMPIを実装した例が報告されている(例えば「非特許文献2」参照)。また、メモリスロットに装着されるDIMMnet−2上にMPIを実装したものが報告されている(例えば「非特許文献3」参照)。
In Japan, an example in which MPI is mounted on RHiNET-2 has been reported as an example of a trial production level (see, for example, “Non-Patent
これらはネットワーク側から受信するデータを、いったんネットワークインタフェース基板上のメモリや、ホストコンピュータ上の主記憶上に設けられたスワップアウト対象外に予約された領域に形成されるバッファに蓄えられるような構造になっている。 These are structures in which data received from the network side is temporarily stored in a memory formed on the network interface board or in a buffer that is reserved in the main memory on the host computer and reserved in a non-swap-out area It has become.
並列システムにおいては必ずしも受信側がメッセージ到着前に対応する受信関数を起動するという保証はない。また、複数の相手からネットワーク越しに到着するメッセージが必ずしも受信側が望んだ到着順序で受信側に届く保証はない。このため、上述のMPI(Message Passing Interface)などのメッセージ交換ライブラリでは、受信用関数を実行すると、まず上記のバッファの中から必要なメッセージを探しに行く必要がある。そして、受信キーに一致するメッセージを見つけるまで一致しなかったメッセージを別のバッファに退避する。 In a parallel system, there is no guarantee that the receiving side will activate the corresponding receiving function before the message arrives. Also, there is no guarantee that messages arriving from a plurality of partners over the network will arrive at the receiving side in the arrival order desired by the receiving side. For this reason, in a message exchange library such as the above-mentioned MPI (Message Passing Interface), when a reception function is executed, it is necessary to first search for a necessary message from the above-mentioned buffer. Then, messages that do not match are found in another buffer until a message that matches the reception key is found.
DIMMnet−2上にはIPUSH機構というハード的に制御されるポインタによりFIFO動作を行う。また、送信元グループで分類された受信バッファに書き込む。このような動作により、受信側でのファームウェアの介在を防止している。また、バッファ検索成功確率向上によりMPIの通信遅延の短縮を図っている(例えば、「非特許文献4」参照)。 A FIFO operation is performed on DIMMnet-2 by a hardware-controlled pointer called IPUSH mechanism. Also, the data is written in the reception buffer classified by the transmission source group. With this operation, firmware intervention on the receiving side is prevented. In addition, the MPI communication delay is shortened by improving the buffer search success probability (see, for example, “Non-Patent Document 4”).
しかしながら、上述のバッファ検索操作は、ソフトウェアによる大容量のメモリ間のコピーを伴う。したがって、受信側が望んだ順番に所望のメッセージが届かない限りメッセージ受信にかかる遅延時間が大きくなってしまう。 However, the buffer search operation described above involves copying between large memories by software. Therefore, unless a desired message arrives in the order desired by the receiving side, the delay time required for message reception will increase.
例えば、Myrinet等のようにネットワークインタフェース基板上のメモリ容量が小さい場合は、MPIの受信バッファ全部をそこに搭載できるだけの容量がない。このため、ネットワークから流入するメッセージは速やかにPCIバスなどの入出力バスを経由してホストの主記憶上に吐き出す必要がある。メッセージがネットワークインタフェース基板上に滞っているとネットワーク側が詰まり、輻輳の原因となるためである。 For example, when the memory capacity on the network interface board is small, such as Myrinet, there is not enough capacity to mount the entire MPI reception buffer there. For this reason, it is necessary to promptly discharge a message flowing from the network to the main memory of the host via an input / output bus such as a PCI bus. This is because if the message stays on the network interface board, the network side is clogged, causing congestion.
このためメッセージは、PCIバス等を経由して数回のDMAを繰り返してホストの主記憶に設けられたMPIの受信バッファに常時運ばれる。このため、通信遅延時間が大きくなってしまうという問題がある。 Therefore, the message is always carried to the MPI reception buffer provided in the main memory of the host by repeating DMA several times via the PCI bus or the like. For this reason, there exists a problem that communication delay time will become large.
また、DIMMnet−2のようにネットワークインタフェース基板上のメモリがDRAMベースになっていてホストの主記憶並みに容量が大きい場合は、ネットワーク側からリモートアクセスさせるデータをネットワークインタフェース基板上のメモリに配置することができる。さらに、MPIの受信バッファ全部をネットワークインタフェース基板上のメモリに配置することができる。 In addition, when the memory on the network interface board is DRAM-based and has a capacity as large as the main memory of the host as in DIMMnet-2, data to be remotely accessed from the network side is arranged in the memory on the network interface board. be able to. Further, the entire MPI reception buffer can be arranged in a memory on the network interface board.
このため、受信側がメッセージ到着前に対応する受信関数を起動していない場合はネットワークインタフェース基板上のメモリ上に設けられたMPIバッファに受信メッセージを格納できる。しかし、ネットワークインタフェース基板上のメモリはホストの主記憶よりもホストからのアクセスに時間がかかる。このため、受信キーに一致するメッセージの検索に時間がかかってしまう。したがって、必ずしもMPIの受信遅延が短くならないという問題がある。 For this reason, when the receiving side does not activate the corresponding receiving function before the message arrives, the received message can be stored in the MPI buffer provided on the memory on the network interface board. However, the memory on the network interface board takes longer to access from the host than the main memory of the host. For this reason, it takes time to search for a message that matches the reception key. Therefore, there is a problem that the MPI reception delay is not necessarily shortened.
本発明は上記に鑑みてなされたものであって、メッセージ交換方式の通信をネットワークインタフェースによって実現する際の通信遅延が短いネットワークインタフェースまたはホスト装置としての情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。 The present invention has been made in view of the above, and includes an information processing apparatus, an information processing method, and an information processing program as a network interface or a host apparatus with a short communication delay when realizing message exchange communication using a network interface. The purpose is to provide.
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介して外部と通信を行う情報処理装置であって、前記ネットワークを介して外部装置から受信メッセージを受信するデータ受信手段と、前記受信メッセージのトランスポート層より下位の層における処理を行う制御手段と、前記処理後の前記受信メッセージを、前記受信メッセージの送信先となるホスト装置における受信処理においてはじめに利用すべきデータを含む第1メッセージと、前記受信処理において前記第1メッセージよりも後に利用すべきデータを含む第2メッセージとに分割する分割手段と、前記分割手段により得られた前記第1メッセージを格納する第1メモリと、前記第1メモリに比べてアクセス遅延の大きいメモリであって、対応する前記第1メッセージを識別可能に前記第2メッセージを格納する第2メモリと、前記ホスト装置から前記受信メッセージを要求する受信メッセージ要求を受信する受信メッセージ要求受信手段と、前記受信メッセージ要求を受信した場合に、前記第1メモリに格納されている前記受信メッセージの前記第1メッセージを前記ホスト装置にバースト転送する第1メッセージ送信手段と、前記ホスト装置から前記第2メッセージを要求する第2メッセージ要求を受信する第2メッセージ要求受信手段と、前記第2メッセージ要求を受信した場合に、前記第2メモリに格納されている前記第2メッセージを前記ホスト装置に送信する第2メッセージ送信手段とを備えたことを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention provides an information processing apparatus that communicates with an external device via a network, and that receives data from the external device via the network. And control means for performing processing in a layer lower than the transport layer of the received message, and the received message after the processing, the data to be used first in the reception processing in the host device that is the transmission destination of the received message A dividing unit that divides the received first message into a second message that includes data to be used after the first message in the reception process; and a first unit that stores the first message obtained by the dividing unit. A memory and a memory having an access delay larger than that of the first memory, the corresponding first A second memory for storing a distinguishably the second message message, and receiving a message request receiving means for receiving an incoming message request to the received message from the host device, when receiving the received message request, Receiving a first message transmitting means for burst-transferring the first message of the received message stored in the first memory to the host device; and a second message request for requesting the second message from the host device. A second message request receiving unit; and a second message transmitting unit configured to transmit the second message stored in the second memory to the host device when the second message request is received. Features.
また、本発明の他の形態は、ネットワークインタフェースを介して外部からメッセージを受信する情報処理装置であって、前記ネットワークインタフェースに、トランスポート層より下位の層における処理が行われたメッセージの提供を要求する受信メッセージ要求手段と、前記ネットワークインタフェースからバースト転送された、前記ネットワークインタフェースの第1メモリに保持されている前記メッセージを受信するメッセージ受信手段と、前記受信メッセージ受信手段が受信した受信メッセージに含まれる制御情報に基づいて、当該受信メッセージを受信するか否かを検査する検査手段と、前記検査手段が前記受信メッセージを受信すると判断した場合に、前記受信メッセージの実際のデータサイズと当該受信メッセージに記載されている当該受信メッセージのデータサイズとを比較するデータサイズ比較手段と、前記受信メッセージの実際のデータサイズが当該受信メッセージに記載されているデータサイズに比べて大きい場合に、前記受信メッセージに続く第2メッセージの提供を要求する第2メッセージ要求手段と、前記ネットワークインタフェースのメモリであって、前記第1メモリに比べてアクセス遅延の大きい第2メモリに保持されている第2メッセージを前記ネットワークインタフェースから受信する第2メッセージ受信手段とを備えたことを特徴とする。 According to another aspect of the present invention, there is provided an information processing apparatus that receives a message from outside via a network interface, and provides the network interface with a message processed in a layer lower than a transport layer. and receiving a message requesting means for requesting, said burst-transferred from the network interface, a message receiving means for receiving the message stored in the first memory of the network interface, receiving a message the received message received by the receiving means On the basis of the control information included in the check means for checking whether or not to receive the received message, and when the check means determines that the received message is received, the actual data size of the received message and the In the received message Data size comparing means for comparing the received message data size, and when the actual data size of the received message is larger than the data size described in the received message, A second message requesting means for requesting provision of two messages; and a second message held in a second memory, which is a memory of the network interface and has a larger access delay than the first memory, from the network interface. And a second message receiving means for receiving.
また、本発明の他の形態は、ネットワークを介して外部と通信を行う情報処理方法であって、前記ネットワークを介して外部装置から受信メッセージを受信するデータ受信ステップと、記受信メッセージのトランスポート層より下位の層における処理を行う制御ステップと、前記処理後の前記受信メッセージを、前記受信メッセージの送信先となるホスト装置における受信処理においてはじめに利用すべきデータを含む第1メッセージと、前記受信処理において前記第1メッセージよりも後に利用すべきデータを含む第2メッセージとに分割する分割ステップと、前記分割ステップにおいて得られた前記第1メッセージを第1メモリに格納する第1格納ステップと、前記第1メモリに比べてアクセス遅延の大きいメモリであって、対応する前記第1メッセージを識別可能に前記第2メッセージを第2メモリに格納する第2格納ステップと、前記ホスト装置から前記受信メッセージを要求する受信メッセージ要求を受信する受信メッセージ要求受信ステップと、前記受信メッセージ要求を受信した場合に、前記第1メモリに格納されている前記受信メッセージの前記第1メッセージを前記ホスト装置にバースト転送する第1メッセージ送信ステップと、前記ホスト装置から前記第2メッセージを要求する第2メッセージ要求を受信する第2メッセージ要求受信ステップと、前記第2メッセージ要求を受信した場合に、前記第2メモリに格納されている前記第2メッセージを前記ホスト装置に送信する第2メッセージ送信ステップとを有することを特徴とする。 According to another aspect of the present invention, there is provided an information processing method for communicating with the outside via a network, the data receiving step for receiving a received message from an external device via the network, and the transport of the received message A control step for performing processing in a layer lower than the layer , a first message including data to be used first in reception processing in a host device that is a transmission destination of the reception message, and the reception A division step of dividing the second message including data to be used after the first message in the processing; a first storage step of storing the first message obtained in the division step in a first memory; A memory having a larger access delay than the first memory, A second storage step of storing distinguishably the second message a first message to the second memory, and receiving a message request receiving step of receiving the incoming message request to the received message from the host device, said received message When a request is received, a first message transmission step of burst transferring the first message of the received message stored in the first memory to the host device, and requesting the second message from the host device A second message request receiving step for receiving a second message request; and a second message transmission for transmitting the second message stored in the second memory to the host device when the second message request is received. And a step .
また、本発明の他の形態は、ネットワークインタフェースを介して外部からメッセージを受信する情報処理方法であって、前記ネットワークインタフェースに、トランスポート層より下位の層における処理が行われたメッセージの提供を要求する受信メッセージ要求ステップと、前記ネットワークインタフェースからバースト転送された、前記ネットワークインタフェースの第1メモリに保持されている前記メッセージを受信するメッセージ受信ステップと、前記受信メッセージ受信ステップにおいて受信した受信メッセージに含まれる制御情報に基づいて、当該受信メッセージを受信するか否かを検査する検査ステップと、前記検査ステップにおいて前記受信メッセージを受信すると判断した場合に、前記受信メッセージの実際のデータサイズと当該受信メッセージに記載されている当該受信メッセージのデータサイズとを比較するデータサイズ比較ステップと、前記受信メッセージの実際のデータサイズが当該受信メッセージに記載されているデータサイズに比べて大きい場合に、前記受信メッセージに続く第2メッセージの提供を要求する第2メッセージ要求ステップと、前記ネットワークインタフェースのメモリであって、前記第1メモリに比べてアクセス遅延の大きい第2メモリに保持されている第2メッセージを前記ネットワークインタフェースから受信する第2メッセージ受信ステップとを有することを特徴とする。 According to another aspect of the present invention, there is provided an information processing method for receiving a message from the outside through a network interface, and providing the network interface with a message processed in a layer lower than a transport layer. and receiving a message requesting step of requesting, from said network interface is burst transfer, and the message receiving step of receiving the message stored in the first memory of the network interface, the received message received at the receiving message receiving step A check step for checking whether or not to receive the received message based on the control information included in the check information, and when it is determined that the received message is received in the check step, A data size comparison step for comparing the data size of the received message described in the received message and the actual data size of the received message is larger than the data size described in the received message And a second message requesting step for requesting provision of a second message following the received message, and a memory of the network interface, which is held in a second memory having a larger access delay than the first memory. And a second message receiving step of receiving a second message from the network interface.
また、本発明の他の形態は、ネットワークを介して外部と通信を行う情報処理をコンピュータに実行させるための情報処理プログラムであって、前記ネットワークを介して外部装置から受信メッセージを受信するデータ受信ステップと、記受信メッセージのトランスポート層より下位の層における処理を行う制御ステップと、前記処理後の前記受信メッセージを、前記受信メッセージの送信先となるホスト装置における受信処理においてはじめに利用すべきデータを含む第1メッセージと、前記受信処理において前記第1メッセージよりも後に利用すべきデータを含む第2メッセージとに分割する分割ステップと、前記分割ステップにおいて得られた前記第1メッセージを第1メモリに格納する第1格納ステップと、前記第1メモリに比べてアクセス遅延の大きいメモリであって、対応する前記第1メッセージを識別可能に前記第2メッセージを第2メモリに格納する第2格納ステップと、前記ホスト装置から前記受信メッセージを要求する受信メッセージ要求を受信する受信メッセージ要求受信ステップと、前記受信メッセージ要求を受信した場合に、前記第1メモリに格納されている前記受信メッセージの前記第1メッセージを前記ホスト装置にバースト転送する第1メッセージ送信ステップと、前記ホスト装置から前記第2メッセージを要求する第2メッセージ要求を受信する第2メッセージ要求受信ステップと、前記第2メッセージ要求を受信した場合に、前記第2メモリに格納されている前記第2メッセージを前記ホスト装置に送信する第2メッセージ送信ステップとを前記コンピュータに実行させるための情報処理プログラムである。 According to another aspect of the present invention, there is provided an information processing program for causing a computer to execute information processing that communicates with an external device via a network, and for receiving data received from an external device via the network. A control step for performing processing in a layer lower than the transport layer of the received message, and data to be used first in reception processing in the host device that is the transmission destination of the received message after the processing. A first message including the first message including the data and a second message including data to be used after the first message in the reception process; and the first message obtained in the dividing step is a first memory. Compared to the first storage step and the first memory A large memory access delay, a second storing step of storing the corresponding first message identifiably the second message in the second memory, the received message requests for requesting the received message from the host device A received message request receiving step for receiving, and a first message transmitting step for burst-transferring the first message of the received message stored in the first memory to the host device when the received message request is received; A second message request receiving step for receiving a second message request for requesting the second message from the host device; and the second message request stored in the second memory when the second message request is received. A second message transmission step of transmitting a message to the host device; An information processing program to be executed by a serial computer.
また、本発明の他の形態は、ネットワークインタフェースを介して外部からメッセージを受信する情報処理をコンピュータに実行させるための情報処理プログラムであって、前記ネットワークインタフェースに、トランスポート層より下位の層における処理が行われたメッセージの提供を要求する受信メッセージ要求ステップと、前記ネットワークインタフェースからバースト転送された、前記ネットワークインタフェースの第1メモリに保持されている前記メッセージを受信するメッセージ受信ステップと、前記受信メッセージ受信ステップにおいて受信した受信メッセージに含まれる制御情報に基づいて、当該受信メッセージを受信するか否かを検査する検査ステップと、前記検査ステップにおいて前記受信メッセージを受信すると判断した場合に、前記受信メッセージの実際のデータサイズと当該受信メッセージに記載されている当該受信メッセージのデータサイズとを比較するデータサイズ比較ステップと、前記受信メッセージの実際のデータサイズが当該受信メッセージに記載されているデータサイズに比べて大きい場合に、前記受信メッセージに続く第2メッセージの提供を要求する第2メッセージ要求ステップと、前記ネットワークインタフェースのメモリであって、前記第1メモリに比べてアクセス遅延の大きい第2メモリに保持されている第2メッセージを前記ネットワークインタフェースから受信する第2メッセージ受信ステップとを前記コンピュータに実行させるための情報処理プログラムである。 According to another aspect of the present invention, there is provided an information processing program for causing a computer to execute information processing for receiving a message from the outside via a network interface, wherein the network interface is provided in a layer below the transport layer. and receiving a message requesting step of requesting the provision of processing is performed message, and the message receiving step of said burst-transferred from the network interface, to receive the message stored in the first memory of the network interface, wherein Based on the control information included in the received message received in the received message receiving step, a test step for checking whether or not the received message is received, and determining that the received message is received in the test step A data size comparison step for comparing the actual data size of the received message with the data size of the received message described in the received message, and the actual data size of the received message in the received message A second message requesting step for requesting provision of a second message following the received message when the data size is larger than the described data size; and a memory of the network interface, which is accessed compared to the first memory An information processing program for causing the computer to execute a second message receiving step of receiving a second message held in a second memory having a large delay from the network interface.
本発明にかかる情報処理装置によれば、ホスト装置においてはじめに利用すべきデータを比較的低遅延でホスト装置に提供することができるという効果を奏する。 According to the information processing apparatus according to the present invention, an effect that can be provided to the host device at a relatively low delay data to be utilized at the beginning in the host device.
以下に、本発明にかかる情報処理装置、情報処理方法および情報処理プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Embodiments of an information processing apparatus, an information processing method, and an information processing program according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
図1は、実施の形態にかかる情報処理装置10を含む情報処理システム1の全体構成を示す図である。情報処理システム1は、ネットワークインターフェース(NIC)としての情報処理装置10の他、ホスト装置20を備えている。情報処理装置10は、ネットワークを介して外部からデータを受信する。そして、ホスト装置20からの要求に応じて受信したデータをホスト装置20に渡す。
FIG. 1 is a diagram illustrating an overall configuration of an information processing system 1 including an
情報処理装置10は、LSI100と高遅延メモリ200とを備えている。高遅延メモリ200は、DRAMベースのメモリである。高遅延メモリ200は、NIC上のLSIの外部に設置されている。
The
なお、他の例としては、高遅延メモリ200はLSI内部に設けられてもよい。また、高遅延メモリ200は、NICの外部に設けられてもよい。また、ホスト装置20の主記憶上に形成されてよい。さらに、高遅延メモリ200は、DRAMベース以外の構成であってもよい。
As another example, the
LSI100は、ネットワーク制御部110と、分割制御部120と、設定部130と、低遅延メモリ制御部140と、高遅延メモリ制御部150と、低遅延メモリ160と、ホストインタフェース部170と、プリフェッチバッファ180と、後半プリフェッチ制御部190とを備えている。
The
ネットワーク制御部110は、フロー制御や再送制御などのOSI参照モデルにおけるトランスポート層以下の層での処理を行う。ネットワーク制御部110は、ネットワークからメッセージを受信する。すなわち、本実施の形態にかかるネットワーク制御部110は、データ受信手段として機能する。そして、受信したメッセージ、すなわち受信メッセージの誤りを検出、訂正し誤りのない受信メッセージを分割制御部120に渡す。
The network control unit 110 performs processing in layers below the transport layer in the OSI reference model such as flow control and retransmission control. The network control unit 110 receives a message from the network. That is, the network control unit 110 according to the present embodiment functions as a data receiving unit. Then, the received message, that is, an error in the received message is detected and corrected, and the received message with no error is passed to the
分割制御部120は、分割位置レジスタ122と、サイズ位置レジスタ124とを有している。分割位置レジスタ122は、分割位置情報を保持している。分割位置情報とは、受信メッセージを分割する場合の分割位置を示す情報である。分割位置情報は、具体的には、先頭から何バイトの位置という情報である。サイズ位置レジスタ124は、サイズ位置情報を保持している。サイズ位置情報とは、受信メッセージにおいて、当該受信メッセージのデータサイズを示すサイズ情報が格納されている位置を示す情報である。
The
分割制御部120は、分割位置レジスタ122に保持されている分割位置情報およびサイズ位置レジスタ124に保持されているサイズ位置情報を利用して、適宜受信メッセージを前半メッセージと後半メッセージとに分割する。本実施の形態にかかる分割制御部120は、分割手段、分割制御手段、データサイズ特定手段、第1データサイズ比較手段およびエントリサイズ保持手段として機能する。
Using the division position information held in the division position register 122 and the size position information held in the
分割制御部120は、さらに前半メッセージを低遅延メモリ制御部140に渡し、後半メッセージを高遅延メモリ制御部150に渡す。なお、比較的容量の小さい受信メッセージ、すなわち小受信メッセージは、低遅延メモリ制御部140に渡す。
The
ここで、前半メッセージは、ホスト装置20が受信処理において初めに利用すべきデータを含んでいる。ここで、受信処理とは、情報処理装置10から受信メッセージを取得した際に行う処理である。例えばMPIにおいては、受信処理においてはじめに受信関数によって指定されたキーとエンベロープ(envelope)とが一致するか否かが判定される。すなわち、エンベロープは、受信処理においてはじめに利用される情報である。前半メッセージは、初めに利用すべきデータとしてこのエンベロープを含んでいる。後半メッセージは、受信メッセージのうち前半メッセージ以外の部分である。なお、本実施の形態にかかる前半メッセージおよび後半メッセージは、それぞれ第1メッセージおよび第2メッセージに対応する。
Here, the first half message includes data that the host device 20 should use first in the reception process. Here, the reception process is a process performed when a received message is acquired from the
設定部130は、ユーザからの指示等により分割位置情報を分割位置レジスタ122に設定する。これにより、分割位置を調整することができる。また、サイズ位置情報をサイズ位置レジスタ124に設定する。これにより、受信可能なメッセージのフォーマットを柔軟に変更することができる。すなわち、多様なフォーマットのメッセージを処理対象とすることができる。すなわち、設定部130は、分割位置情報設定手段およびサイズ位置情報設定手段として機能する。
The
なお、分割位置レジスタ122、サイズ位置レジスタ124および設定部130は、必ずしも必須の構成ではない。他の例としては、分割位置情報およびサイズ位置情報として、適切な固定値を予め設定しておくこととしてもよい。
The division position register 122, the
低遅延メモリ制御部140は、低遅延メモリ160を制御する。具体的には、分割制御部120から受け取った前半メッセージまたは小受信メッセージの全体を低遅延メモリ160に格納する。また、低遅延メモリ160に格納されているデータを読み出し、ホストインタフェース部170に渡す。本実施の形態にかかる低遅延メモリ制御部140は、前半データ抽出手段として機能する。
The low delay
このように、前半メッセージや小受信メッセージを低遅延メモリ160に格納することにより、高遅延メモリ200に格納する場合に比べて少ない遅延で前半メッセージや小受信メッセージをホスト装置20に提供することができる。
By storing the first half message and the small received message in the
高遅延メモリ制御部150は、高遅延メモリ200を制御する。具体的には、分割制御部120から受け取った後半メッセージを高遅延メモリ200に格納する。また、高遅延メモリ200に格納されているデータを読み出し、ホストインタフェース部170またはプリフェッチバッファ180に渡す。本実施の形態にかかる高遅延メモリ制御部150は、第2メッセージ抽出手段として機能する。
The high delay
図2は、低遅延メモリ160および高遅延メモリ200のデータ構成を示す図である。低遅延メモリ160は、典型的にはLSIに内蔵される高速SRAMである。なお、本実施の形態にかかる低遅延メモリ160および高遅延メモリ200は、それぞれ第1メモリおよび第2メモリとして機能する。
FIG. 2 is a diagram showing a data configuration of the
低遅延メモリ160は、複数のエントリを有している。各エントリは、各前半メッセージまたは受信メッセージの全体を格納する。前半メッセージは、ポインタとともに同一のエントリに格納される。ここで、ポインタとは、前半メッセージに続く後半メッセージのアドレスを示す情報である。
The
低遅延メモリ160の複数エントリからなるバッファは、低遅延メモリ制御部140によりリング状に管理される。すなわち、複数のエントリは、先入れ先出しバッファとして機能するリングバッファである。
A buffer composed of a plurality of entries in the
リングバッファに受信メッセージ等を書き込む処理は、例えば、IPUSH機構を用いることによりハードウェアで実現することができる。IPUSH機構については、非特許文献4に記載されている。 The process of writing a received message or the like in the ring buffer can be realized by hardware by using an IPUSH mechanism, for example. The IPUSH mechanism is described in Non-Patent Document 4.
各エントリのデータサイズは予め定められている。例えば、エントリのデータサイズは、32バイトである。エントリのデータサイズは、ホスト装置20のCPUのラインサイズに対応して決定される。ホスト装置20にできるだけ早くデータを送る観点からは、低遅延メモリ160になるべく多くのデータを格納することが望ましい。しかし、各エントリのデータサイズを大きくした場合には、空きが問題となる。このようなトレードオフに伴う実行性能最適点をエントリのデータサイズとするのが望ましい。
The data size of each entry is predetermined. For example, the data size of the entry is 32 bytes. The data size of the entry is determined according to the CPU line size of the host device 20. From the viewpoint of sending data to the host device 20 as soon as possible, it is desirable to store as much data as possible in the low-
また、エンベロープなどの制御情報が必ず含まれるようなデータサイズとすることが望ましい。さらには、例えば制御などに用いられるメッセージのように比較的容量の小さい小受信メッセージの全体を格納可能なデータサイズとすることが望ましい。これにより、エンベロープを含むエントリをホスト装置20に転送するのと同時にこの小受信メッセージのデータ部もホスト装置20に転送される。 In addition, it is desirable that the data size always includes control information such as an envelope. Furthermore, it is desirable that the data size is such that the entire small received message having a relatively small capacity such as a message used for control or the like can be stored. As a result, at the same time when the entry including the envelope is transferred to the host device 20, the data portion of the small reception message is also transferred to the host device 20.
このような小受信メッセージは、遅延時間が短いことが要求されるデータである場合が多い。情報処理装置10がより長いメッセージを受信した後にこのような小受信メッセージを受信した場合でも、ホスト装置20は、小受信メッセージを先に要求する場合が多い。上述のように、小受信メッセージを低遅延メモリ160に格納することにより低遅延で転送することができる。
Such a small reception message is often data that requires a short delay time. Even when the
また、ポインタのデータサイズも予め定められている。例えば、4バイトである。この場合、各エントリに格納される前半メッセージのデータサイズは、エントリのデータサイズ32バイトからポインタのデータサイズ4バイトを差し引いた残りのデータサイズ、すなわち28バイトである。そこで、分割位置レジスタ122には、分割位置として、先頭から28バイトを示す分割位置情報が格納されている。なお、ユーザは、上述のように決定された低遅延メモリ160のエントリに格納できる前半メッセージのデータサイズにしたがい、設定部130を介して分割位置情報を設定することができる。
The data size of the pointer is also predetermined. For example, 4 bytes. In this case, the data size of the first half message stored in each entry is the remaining data size obtained by subtracting the pointer data size of 4 bytes from the entry data size of 32 bytes, that is, 28 bytes. Therefore, the division position register 122 stores division position information indicating 28 bytes from the beginning as the division position. The user can set the division position information via the
小受信メッセージは、受信メッセージの全体がエントリに格納される。この場合には、ポインタを格納する必要がない。このため、図2に示すメッセージB2のように、エントリのデータサイズ32バイト以下であれば、前半メッセージのデータサイズ28バイトよりも大きいデータであっても格納することができる。 In the small received message, the entire received message is stored in the entry. In this case, there is no need to store a pointer. Therefore, as in the message B2 shown in FIG. 2, if the data size of the entry is 32 bytes or less, even data having a data size larger than 28 bytes of the first half message can be stored.
高遅延メモリ200は、低遅延メモリ160に比べて大容量かつ高遅延のメモリである。高遅延メモリ200には、低遅延メモリ160に格納しきれなかったデータを格納する。具体的には、受信メッセージのうち後半メッセージを格納する。高遅延メモリ200は、FIFOの構造を有しており、取得した後半メッセージを順に格納する。
The
例えばMPIのシステムバッファ全体をLSI100に設置するのは容量的に困難である。しかし、低遅延メモリ160は必ずしもLSI内蔵でなければならないというものではない。そこで、情報処理システム1においては、上述のように、低遅延メモリ160と高遅延メモリ200という容量や遅延の異なる2種類のメモリをメッセージ交換の高速化という観点で使い分けている。
For example, it is difficult to install the entire MPI system buffer in the
再び説明を図1に戻す。プリフェッチバッファ180は、高遅延メモリ制御部150を介して高遅延メモリ200から後半メッセージを取得し、格納する。また、後半メッセージをホストインタフェース部170に渡す。この後半メッセージはホストインタフェース部170に渡された後、プリフェッチバッファ180から削除される。
The description returns to FIG. 1 again. The
プリフェッチバッファ180は、アドレスをキーとした一種のキャッシュである。空きラインがある場合には、空きラインにデータが格納される。空きラインがない場合には、ラインを適切なアルゴリズムで選択し、新しいデータで上書きする。本実施の形態にかかるプリフェッチバッファ180は、第3メモリとして機能する。
The
なお、他の例としては、プリフェッチバッファ180に、新たなデータを書き込む分の空きがない場合には、書き込まないこととしてもよい。
As another example, if there is no space for writing new data in the
ホストインタフェース部170は、ホスト装置20からの要求に応じて、低遅延メモリ160、高遅延メモリ200またはプリフェッチバッファ180に格納されている受信メッセージをホスト装置20に渡す。本実施の形態にかかるホストインタフェース部170は、受信メッセージ要求受信手段、第1メッセージ送信手段、第2メッセージ要求受信手段および第2メッセージ送信手段として機能する。
The
後半プリフェッチ制御部190は、低遅延メモリ制御部140が低遅延メモリ160からデータを読み出すと、スヌープ機能により対応するポインタの有無を検出する。そして、ポインタがあるとこれを高遅延メモリ制御部150に渡す。高遅延メモリ制御部150は、ポインタにより特定される後半メッセージを読み出す。本実施の形態にかかる高遅延メモリ制御部150は、後半データ抽出手段として機能する。
When the low-latency
図3は、情報処理装置としてのホスト装置20の機能構成を示すブロック図である。ホスト装置20は、受信メッセージ要求部201と、後半メッセージ要求部202と、キャッシュメモリ204と、制御情報管理部206とを備えている。
FIG. 3 is a block diagram illustrating a functional configuration of the host device 20 as the information processing apparatus. The host device 20 includes a received
受信メッセージ要求部201は、所定のアドレスのデータがキャッシュメモリ204に存在しない場合には、情報処理装置10に対し、アドレスを指定して受信メッセージの要求を行う。そして、情報処理装置10から小受信メッセージまたは前半メッセージを取得し、キャッシュメモリ204に格納する。なお、受信メッセージ要求部201は、キャッシュラインサイズで小受信メッセージまたは前半メッセージを取得する。後半メッセージ要求部202は、情報処理装置10に対し後半メッセージの要求を行う。そして、情報処理装置10から後半メッセージを取得する。本実施の形態にかかる受信メッセージ要求部201は、受信メッセージ要求手段およびメッセージ受信手段として機能する。
If the data at a predetermined address does not exist in the
制御情報管理部206は、受信メッセージ要求部201が取得した小受信メッセージまたは前半メッセージに含まれる制御情報、すなわちエンベロープを抽出する。そして、受信関数によって指定されたキーと一致することを確認する。これにより、このメッセージを受信するか否かを検査する。
The control information management unit 206 extracts control information included in the small reception message or the first half message acquired by the reception
制御情報管理部206は、さらに受信メッセージ要求部201が取得したデータが前半メッセージである場合に、後半メッセージ要求部202に対し後半メッセージの要求を指示する。なお、取得したデータが前半メッセージであるか否かは、前半メッセージ中に格納されているサイズ情報が示すデータサイズがこの前半メッセージのデータサイズよりも大きいか否かにより判定する。本実施の形態にかかる制御情報管理部206は、検査手段およびデータサイズ比較手段として機能する。
When the data acquired by the received
後半メッセージ要求部202は、情報処理装置10に対して、後半メッセージの要求を行う。そして、情報処理装置10から後半メッセージを取得する。本実施の形態にかかる後半メッセージ要求部202は、第2メッセージ要求手段および第2メッセージ受信手段として機能する。
The second half
ホスト装置20は、キャッシュベースのシステムである。したがって、ホスト装置20のキャッシュミスヒットやプリフェッチ命令に伴うアクセスにより低遅延メモリ160に格納されている前半メッセージや小受信メッセージがホスト装置20にバースト転送される。これにより、低遅延かつ高バンド幅での転送が可能になる。
The host device 20 is a cache-based system. Therefore, the first-half message and the small reception message stored in the low-
例えば低遅延メモリ160のエントリのデータサイズが32バイトであるとする。さらに、キャッシュメモリ204のキャッシュラインサイズが128バイトであるとする。この場合には、ホスト装置20における1ラインのキャッシュミスに伴うリフィル動作において、4つのエントリに格納されている前半メッセージまたは小受信メッセージがホスト装置20に転送される。
For example, assume that the data size of the entry in the low-
例えば、図2に示すように低遅延メモリ160に4つの前半メッセージまたは小受信メッセージが格納されているとする。このとき、キャッシュラインサイズでのアクセスにより4番目に格納された受信メッセージA2を受信するために先行する3つの前半メッセージまたは小受信メッセージを順次1個ずつアクセスしていく場合に比べて短い遅延時間で受信メッセージA2を受信することができる。
For example, it is assumed that four first half messages or small received messages are stored in the
なお、キャッシュメモリ204に格納されたデータを利用した後は、キャッシュメモリ204における利用後のデータに対応するキャッシュライン、すなわち利用後のデータの低遅延メモリのエントリに対応するアドレスに対応するキャッシュラインを消去する。具体的には、利用後のデータに対応するキャッシュラインを再利用する前に、当該キャッシュラインに対してラインフラッシュを行う命令を実行することにより、利用後のラインを消去する。リングバッファである低遅延メモリ160においては、同一のアドレスに新たなデータが上書きされていく。したがって、ホスト装置20においては、所定のアドレスにアクセスしようとしたときに、同一のアドレスに対する古いデータがキャッシュメモリ204に残っていた場合にはキャッシュメモリ204にアクセスしてしまう。
After the data stored in the
このため、このアドレスに格納されている新しいデータにアクセスすることができない。上述のように、キャッシュメモリ204のデータをフラッシュすることにより、所望のデータに確実にアクセスすることができる。なお、ホスト装置20は、必ずしもキャッシュベースのシステムである必要はない。
For this reason, the new data stored at this address cannot be accessed. As described above, the desired data can be reliably accessed by flushing the data in the
図4は、情報処理装置10によるメッセージ受信処理を示すフローチャートである。ネットワーク制御部110がネットワークを介してメッセージを受信すると(ステップS100,Yes)、分割制御部120は、受信したメッセージ、すなわち受信メッセージのデータサイズを特定する(ステップS102)。具体的には、サイズ位置レジスタ124に格納されているサイズ位置情報によりサイズ情報の位置を特定し、データサイズを特定する。
FIG. 4 is a flowchart showing message reception processing by the
次に、受信メッセージのデータサイズと低遅延メモリ160のエントリのデータサイズとを比較する(ステップS104)。ここで、エントリのデータサイズは、分割制御部120に予め設定されている。受信メッセージのデータサイズがエントリのデータサイズに比べて大きい場合には(ステップS106,Yes)、低遅延メモリ160に受信メッセージの全体を格納することができない。この場合、分割制御部120は受信メッセージを前半メッセージと後半メッセージとに分割する(ステップS108)。具体的には、分割位置レジスタ122に格納されている分割位置情報に示される分割位置で受信メッセージを分割する。すなわち、分割位置より前のデータが前半メッセージとなり、分割位置より後のデータが後半メッセージとなる。
Next, the data size of the received message is compared with the data size of the entry in the low delay memory 160 (step S104). Here, the data size of the entry is preset in the
次に、低遅延メモリ制御部140は、前半メッセージを低遅延メモリ160のエントリに格納する(ステップS110)。さらに、高遅延メモリ制御部150は、後半メッセージを高遅延メモリ200に格納する(ステップS112)。なお、このとき、低遅延メモリ制御部140は、後半メッセージのアドレスであるポインタを前半メッセージと同一のエントリに格納する。
Next, the low delay
一方、受信メッセージのデータサイズがエントリのデータサイズ以下である場合には(ステップS106,No)、低遅延メモリ160に受信メッセージの全体を格納することができる。この場合、分割制御部120はこの受信メッセージ、すなわち小受信メッセージの全体を低遅延メモリ160に格納する(ステップS120)。以上で、情報処理装置10によるメッセージ受信処理が完了する。
On the other hand, when the data size of the received message is equal to or smaller than the data size of the entry (No at Step S106), the entire received message can be stored in the
図5は、情報処理装置10からホスト装置20への受信メッセージ転送処理を示すフローチャートである。図4に示すメッセージ受信処理により情報処理装置10がネットワークを介して受信したメッセージをホスト装置20からの要求によりホスト装置20に提供する際の処理である。
FIG. 5 is a flowchart showing a received message transfer process from the
まず、ホスト装置20の受信メッセージ要求部201は、受信メッセージ要求を情報処理装置10に送る(ステップS200)。情報処理装置10においては、ホストインタフェース部170が受信メッセージ要求を受け取ると、低遅延メモリ制御部140は、低遅延メモリ160のエントリに格納されているデータを読み出す(ステップS202)。具体的には、小受信メッセージまたは前半メッセージを読み出す。次に、ホストインタフェース部170は、読み出したデータをホスト装置20に送信する(ステップS204)。
First, the received
このとき、後半プリフェッチ制御部190は、ポインタの有無、すなわち読み出したデータに対する後半メッセージの有無を監視する。具体的には、ポインタを有する前半メッセージに含まれるエンベロープの中に格納されたサイズ情報が示すデータサイズが分割位置レジスタ122に格納されている分割位置情報に示される分割位置よりも大きいか否かを検知する。
At this time, the second half
また、他の例としては、エントリに、前半データとともに後半メッセージが存在することを示すフラグを格納しておき、フラグの有無から後半メッセージの有無を判断してもよい。 As another example, a flag indicating that the latter half message exists together with the first half data may be stored in the entry, and the presence or absence of the second half message may be determined from the presence or absence of the flag.
後半メッセージが存在することにより、ホスト装置20から間もなく前半メッセージに対応する後半メッセージを要求される確率が上がったことを知ることができる。受信メッセージのデータサイズが分割位置より大きい場合には、後半メッセージが存在するので、後半メッセージを要求される可能性が高くなる。 By the presence of the second half message, it is possible to know that the probability that the host apparatus 20 will request the second half message corresponding to the first half message will increase soon. If the data size of the received message is larger than the division position, there is a possibility that the latter message is requested because the latter message is present.
そして、後半メッセージがある場合には(ステップS210,Yes)、高遅延メモリ制御部150は、後半プリフェッチ制御部190からの指示により高遅延メモリ200からポインタに示される後半メッセージを読み出す(ステップS212)。そして、読み出した後半メッセージをプリフェッチバッファ180に格納する(ステップS214)。
If there is a second half message (step S210, Yes), the high delay
ホスト装置20においては、受信メッセージ要求部201は、小受信メッセージまたは前半メッセージを取得し、これらのデータをキャッシュメモリ204に格納する。このとき、制御情報管理部206は、データからエンベロープを抽出する。そして、受信関数によって指定されたキーと一致することを確認する。そして、一致が確認できたデータが前半メッセージであるか否か、すなわち後半メッセージがあるか否かを判定する。
In the host device 20, the received
ステップS202において、後半メッセージがある場合には(ステップS220,Yes)、後半メッセージ要求部202は、後半メッセージ要求を情報処理装置10に送る(ステップS222)。
If there is a second half message in step S202 (step S220, Yes), the second half
情報処理装置10のホストインタフェース部170は、要求されている後半メッセージがプリフェッチバッファ180に存在する場合には(ステップS230,Yes)、プリフェッチバッファ180から後半メッセージを読み出す(ステップS232)。一方、要求されている後半メッセージがプリフェッチバッファ180に存在しない場合には(ステップS230,No)、高遅延メモリ制御部150を介して高遅延メモリ200から後半メッセージを読み出す(ステップS234)。
When the requested second half message exists in the prefetch buffer 180 (Yes in step S230), the
なお、プリフェッチバッファ180に後半メッセージが存在しない場合としては、ホストが高速でプリフェッチが追いつかなかった場合や、後半メッセージがプリフェッチバッファ180に一旦格納されたが、後半メッセージ要求を取得したときには、空き容量不足で既に削除されていたい場合が考えられる。また、プリフェッチバッファ180が新たなデータを書き込む分の空きがない場合には、書き込まない構造である場合には、後半メッセージが書き込まれなかった場合が考えられる。
Note that when there is no latter-half message in the
次に、ホストインタフェース部170は、後半メッセージをホスト装置20に送信する(ステップS236)。以上で、受信メッセージ転送処理が完了する。
Next, the
以上のように、ホスト装置20から要求されたデータに対応する後半メッセージが高遅延メモリ200に格納されている場合には、ホスト装置20から後半メッセージの要求を取得する前に予めホスト装置20への転送にかかる遅延の比較的小さいプリフェッチバッファ180に後半メッセージを読み出しておく。これにより、ホスト装置20から後半メッセージを要求された際に後半メッセージがプリフェッチバッファ180に存在する確率を高めることができる。したがって、低遅延で後半メッセージをホスト装置20に転送することができる。
As described above, when the latter half message corresponding to the data requested from the host apparatus 20 is stored in the
これにより、ホスト装置20における後半メッセージを有する受信メッセージの受信遅延を短縮することができる。さらに、小容量の低遅延メモリ160には全体を格納することができないが、遅延のバンド幅への影響が大きい中程度のデータサイズの受信メッセージにおけるバンド幅を向上させることができる。
Thereby, the reception delay of the received message having the latter half message in the host device 20 can be shortened. Further, although the entire memory cannot be stored in the small-capacity low-
図6は、メッセージの受信時間を説明するための図である。MPIなどの2sidedな通信であるメッセージパッシングモデルに基づく通信ライブラリを実装する際には、受信側で受信したいメッセージと受信側ノードへのメッセージ到着順序が必ずしも一致しない。 FIG. 6 is a diagram for explaining the message reception time. When a communication library based on a message passing model that is 2sided communication such as MPI is implemented, the message received on the receiving side does not necessarily match the message arrival order on the receiving node.
例えば、図2に示すように、受信メッセージB1→B2→A1→A2の順序でメッセージが到着したとする。この状態において、ホスト装置20が受信メッセージA2を受信する関数を実行したとする。この場合には、従来の処理においては、4つの受信メッセージのenvelopeを元にMPIの処理系は受信バッファからメッセージA2を検索して抽出する。 For example, as shown in FIG. 2, it is assumed that messages arrive in the order of received messages B1, B2, A1, and A2. In this state, it is assumed that the host device 20 executes a function for receiving the received message A2. In this case, in the conventional processing, the MPI processing system searches and extracts the message A2 from the reception buffer based on the envelope of the four reception messages.
この際、受信メッセージA2よりも先に受信バッファに受信したメッセージB1,B2,A1を高遅延メモリ200上の共通バッファからソフトによるコピー処理で退避用バッファに退避する。退避用バッファは、通常はホスト装置20の主記憶上に配置される。このように、メッセージA2よりも先に受信した受信メッセージを退避させる。このため、図6の上部に示すように受信メッセージのデータサイズに比例した退避バッファへのコピー時間の総和の時間がかかる。すなわち、受信メッセージA2の受信が完了するまでに多くの遅延時間がかかってしまっていた。
At this time, the messages B1, B2, and A1 received in the reception buffer prior to the reception message A2 are saved to the saving buffer from the common buffer on the
これに対し、本実施の形態にかかる情報処理システム1においては、上述のように、エンベロープがホスト装置20から低遅延でアクセスできる低遅延メモリ160に保持されている。したがって、高遅延メモリ200にアクセスすることなく、図6下部に示すように設定部130から受信メッセージB1,B2,A1のエンベロープを少ない遅延時間で取得することができる。したがって、ホスト装置20が受信メッセージA1を受信するまでの遅延時間を大幅に短縮させることができる。このように、データサイズが小さい場合において受信にかかる遅延を短くすることができる。
In contrast, in the information processing system 1 according to the present embodiment, as described above, the envelope is held in the low-
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。 As described above, the present invention has been described using the embodiment, but various changes or improvements can be added to the above embodiment.
そうした第1の変更例としては、高遅延メモリ制御部150は、後半メッセージのデータサイズが予め設定された基準データサイズよりも小さい場合のみ後半メッセージのプリフェッチバッファ180への先取りを行うこととしてもよい。ここで、基準データサイズは予め設定されており、高遅延メモリ制御部150が保持している。本例にかかる高遅延メモリ制御部150は、第2メッセージサイズ比較手段として機能する。
As such a first modification, the high-delay
プリフェッチバッファ180は、ホスト装置20からの要求に即座に応答すべく比較的小容量低遅延なメモリで構成されている。しかし、ある程度以上長いメッセージのバンド幅性能はプリフェッチによる遅延短縮による影響が相対的に薄れてくる。そこで、より効果の高い中程度のメッセージサイズを有するメッセージにプリフェッチバッファ180を優先的に使用させた方が効果的である。そこで、上述のように基準データサイズよりも小さい後半メッセージのみをプリフェッチバッファ180に格納することとする。
The
また、第2の変更例としては、低遅延メモリ160をリングバッファとして動作させるのにかえて、ライトスルー型キャッシュメモリとして動作させてもよい。この場合、前半メッセージと後半メッセージを高遅延メモリ200に確保した別の領域に分類して格納する。そして、前半メッセージに対応する領域のみをそのキャッシュの対象とする。これにより、前半メッセージが低遅延メモリ160に格納される確率が高くなるように誘導する。また、ライトバック型キャッシュメモリとして動作させてもよい。この場合には、高遅延メモリ200は、前半メッセージの低遅延メモリ160から退避された場合に、この前半メッセージを格納する。
As a second modification, instead of operating the low-
キャッシュメモリが一杯になり溢れた場合は、ライトスルー型キャッシュメモリにおいては、エントリを適切に選び、このエントリに新たな前半データを格納する。すなわち、高遅延メモリ200上にリプレースさせる。ライトバック型キャッシュメモリの場合には、エントリの前半メッセージを高遅延メモリ200に退避した後、上書きを行う。すなわち、高遅延メモリ200上にリプレースさせる。
When the cache memory is full and overflows, the write-through cache memory appropriately selects an entry and stores new first half data in this entry. That is, the high-
エントリを選択するアルゴリズムは通常のCPUにおけるLRU(Last Recently Used)アルゴリズムとは逆とする。すなわち、最も最近格納されたエントリからリプレースされるようにする。これにより、先に届いたメッセージほど先に受信されやすいというメッセージ交換の傾向を利用することでヒット率を向上させることができる。 The algorithm for selecting an entry is opposite to the LRU (Last Recently Used) algorithm in a normal CPU. That is, the entry stored most recently is replaced. Thereby, the hit rate can be improved by utilizing the tendency of message exchange that messages that arrive earlier are easier to be received earlier.
さらに、遅延の影響が少ない後半メッセージ、すなわち比較的長いメッセージを選ぶこととしてもよい。これにより、短いメッセージほどキャッシュに溜まるようになるため、実効性能への効果が向上する。 Further, it is also possible to select the latter half message having a small influence of delay, that is, a relatively long message. As a result, shorter messages are accumulated in the cache, and the effect on effective performance is improved.
以上のようなキャッシュ制御にすることで、低遅延メモリ160が溢れるほどにホスト装置20からの受信メッセージ要求とネットワーク側からのメッセージ到着のバランスが崩れた場合でも、ネットワーク側に輻輳の原因となるような負荷を抑制した形でメッセージを受信することができる。
By adopting the cache control as described above, even when the balance between the received message request from the host device 20 and the message arrival from the network side is lost as the low-
さらに、この構成においてもプリフェッチは有効である。キャッシュへのリードアクセスがヒットした場合、リード要求を出したホスト装置20にヒットしたエントリに含まれる前半メッセージを応答データとして転送する。あわせて、後半メッセージへのポインタで指定される位置に格納された後半メッセージのプリフェッチバッファ180への先取りを開始する。これにより、ホスト装置20から引き続き後半メッセージの要求があった場合のホスト装置20への応答時間を短縮できる。その結果、主に中程度のメッセージの受信遅延の短縮と、実効バンド幅の向上を実現することができる。
Furthermore, prefetching is also effective in this configuration. When the read access to the cache is hit, the first half message included in the hit entry is transferred as response data to the host device 20 that issued the read request. At the same time, prefetching of the second half message stored in the position designated by the pointer to the second half message to the
また、第3の変更例としては、本実施の形態においては、低遅延メモリ160は、エンベロープを含む32バイトのデータを前半メッセージとして格納したが、これにかえてエンベロープのみを格納することとしてもよい。すなわち、1つのエントリには、エンベロープと受信メッセージのうちエンベロープ以外の部分を含むデータを格納する高遅延メモリ200のアドレスを示すポインタとを格納する。
As a third modification, in the present embodiment, the low-
この場合には、分割制御部120は、受信メッセージのデータサイズがエントリのデータサイズに比べて大きい場合には、前半メッセージと後半メッセージとに分割する処理にかえて、エンベロープのみを抽出する。そして、エンベロープを低遅延メモリ制御部140に渡し、残りのデータを高遅延メモリ制御部150に渡す。
In this case, when the data size of the received message is larger than the data size of the entry, the
また、第4の変更例としては、情報処理装置10の各制御部は必ずしもハードワイヤドロジックで実現されていなくても良い。例えば、NIC上のCPUのファームウェアやホスト上のCPUのソフトウェアで一部が実現されていても良い。
Further, as a fourth modification, each control unit of the
図7は、この場合の情報処理装置10のハードウェア構成を示す図である。情報処理装置10は、ハードウェア構成として、情報処理装置10における図4に示すメッセージ受信処理や図5に示す受信メッセージ転送処理を実行する情報処理プログラムなどが格納されているROM52と、ROM52内のプログラムに従って情報処理装置10の各部を制御するCPU51と、情報処理装置10の制御に必要な種々のデータを記憶するRAM53と、各部を接続するバス62とを備えている。
FIG. 7 is a diagram illustrating a hardware configuration of the
先に述べた情報処理装置10における情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(登録商標)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
The information processing program in the
この場合には、情報処理プログラムは、情報処理装置10において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
In this case, the information processing program is loaded onto the main storage device by being read from the recording medium and executed by the
また、本実施の形態の情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。 Further, the information processing program of the present embodiment may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network.
また、ホスト装置20についても図7に示すようなハードウェアにおいて実行されるソフトウェアとして実現されてもよい。 The host device 20 may also be realized as software executed in hardware as shown in FIG.
51 CPU
52 ROM
53 RAM
62 バス
1 情報処理システム
10 情報処理装置
20 ホスト装置
110 ネットワーク制御部
120 分割制御部
122 分割位置レジスタ
124 サイズ位置レジスタ
130 設定部
140 低遅延メモリ制御部
150 高遅延メモリ制御部
160 低遅延メモリ
170 ホストインタフェース部
180 プリフェッチバッファ
190 後半プリフェッチ制御部
200 高遅延メモリ
201 受信メッセージ要求部
202 後半メッセージ要求部
204 キャッシュメモリ
206 制御情報管理部
51 CPU
52 ROM
53 RAM
62 Bus 1
Claims (21)
前記ネットワークを介して外部装置から受信メッセージを受信するデータ受信手段と、
前記受信メッセージのトランスポート層より下位の層における処理を行う制御手段と、
前記処理後の前記受信メッセージを、前記受信メッセージの送信先となるホスト装置における受信処理においてはじめに利用すべきデータを含む第1メッセージと、前記受信処理において前記第1メッセージよりも後に利用すべきデータを含む第2メッセージとに分割する分割手段と、
前記分割手段により得られた前記第1メッセージを格納する第1メモリと、
前記第1メモリに比べてアクセス遅延の大きいメモリであって、対応する前記第1メッセージを識別可能に前記第2メッセージを格納する第2メモリと、
前記ホスト装置から前記受信メッセージを要求する受信メッセージ要求を受信する受信メッセージ要求受信手段と、
前記受信メッセージ要求を受信した場合に、前記第1メモリに格納されている前記受信メッセージの前記第1メッセージを前記ホスト装置にバースト転送する第1メッセージ送信手段と、
前記ホスト装置から前記第2メッセージを要求する第2メッセージ要求を受信する第2メッセージ要求受信手段と、
前記第2メッセージ要求を受信した場合に、前記第2メモリに格納されている前記第2メッセージを前記ホスト装置に送信する第2メッセージ送信手段と
を備えたことを特徴とする情報処理装置。 An information processing apparatus that communicates with the outside via a network,
Data receiving means for receiving a received message from an external device via the network;
Control means for performing processing in a layer below the transport layer of the received message;
The received message after the processing includes a first message including data to be used first in a receiving process in a host device that is a transmission destination of the received message, and data to be used after the first message in the receiving process Dividing means for dividing the message into a second message including:
A first memory for storing the first message obtained by the dividing means;
A second memory that has a larger access delay than the first memory and stores the second message so that the corresponding first message can be identified;
A received message request receiving means for receiving a received message request for requesting the received message from the host device;
First message transmitting means for burst-transferring the first message of the received message stored in the first memory to the host device when the received message request is received;
Second message request receiving means for receiving a second message request for requesting the second message from the host device;
And a second message transmitting means for transmitting the second message stored in the second memory to the host device when the second message request is received. Processing equipment.
前記第2メッセージは、前記受信メッセージのうち前記第1メッセージ以外のデータであることを特徴とする請求項3に記載の情報処理装置。 The first message is data from the beginning to a predetermined position in the received message,
The information processing apparatus according to claim 3, wherein the second message is data other than the first message in the received message.
前記第2メッセージ送信手段は、スヌープ機能により、前記第1メッセージに対応付けられている前記ポインタに基づいて抽出された前記第2メッセージを前記ホスト装置に送信することを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。 The first memory further stores a pointer indicating the storage destination of the second message in the second memory in association with the first message ,
The second message transmitting means transmits the second message extracted based on the pointer associated with the first message to the host device by a snoop function. 5. The information processing apparatus according to any one of 4.
各エントリは、前記第1メッセージと、予め定められたデータサイズの前記ポインタとを格納し、
前記エントリのデータサイズと前記ポインタのデータサイズにより定まる分割位置を示す分割位置情報を保持する分割位置情報保持手段をさらに備え、
前記分割手段は、前記分割位置情報が示す前記分割位置で前記受信メッセージを分割することを特徴とする請求項5に記載の情報処理装置。 The first memory has a plurality of fixed-length entries,
Each entry stores the first message and the pointer having a predetermined data size,
A division position information holding unit for holding division position information indicating a division position determined by a data size of the entry and a data size of the pointer;
The information processing apparatus according to claim 5, wherein the dividing unit divides the received message at the division position indicated by the division position information.
前記エントリのデータサイズを保持するエントリサイズ保持手段と、
前記受信メッセージの前記データサイズと、前記エントリのデータサイズとを比較する第1データサイズ比較手段と、
前記受信メッセージの前記データサイズが前記エントリの前記データサイズよりも大きい場合に、前記分割手段に対し前記受信メッセージの分割を指示する分割制御手段と
をさらに備えたことを特徴とする請求項6または7に記載の情報処理装置。 Data size specifying means for specifying the data size of the received message;
Entry size holding means for holding the data size of the entry;
First data size comparison means for comparing the data size of the received message with the data size of the entry;
The division control means for instructing the division means to divide the received message when the data size of the received message is larger than the data size of the entry. 8. The information processing apparatus according to 7.
前記データサイズ特定手段は、前記サイズ位置情報保持手段が保持する前記サイズ位置情報に基づいて、前記データサイズを特定することを特徴とする請求項8に記載の情報処理装置。 Size position information holding means for holding size position information indicating a position where the data size is stored in the received message;
The information processing apparatus according to claim 8, wherein the data size specifying unit specifies the data size based on the size position information held by the size position information holding unit.
前記第2メッセージ送信手段は、前記第3メモリに前記第2メッセージが格納されている場合には、前記第3メモリに格納されている前記第2メッセージを前記ホスト装置に送信することを特徴とする請求項1から11のいずれか一項に記載の情報処理装置。 When the second received message request is received, the second message is extracted from the second memory, the second message corresponding to the first message, and stored in the third memory having a lower delay than the second memory. Further comprising means,
When the second message is stored in the third memory, the second message transmission means transmits the second message stored in the third memory to the host device. The information processing apparatus according to any one of claims 1 to 11.
前記第2メッセージのデータサイズが前記基準データサイズよりも小さい場合に、前記第2メッセージの前記第3メモリへのプリフェッチを開始するプリフェッチ制御手段と
をさらに備えたことを特徴とする請求項12に記載の情報処理装置。 Second data size comparison means for comparing the data size of the second message with a predetermined reference data size;
13. The apparatus according to claim 12, further comprising prefetch control means for starting prefetching of the second message into the third memory when the data size of the second message is smaller than the reference data size. The information processing apparatus described.
前記ネットワークインタフェースに、トランスポート層より下位の層における処理が行われたメッセージの提供を要求する受信メッセージ要求手段と、
前記ネットワークインタフェースからバースト転送された、前記ネットワークインタフェースの第1メモリに保持されている前記メッセージを受信するメッセージ受信手段と、
前記受信メッセージ受信手段が受信した受信メッセージに含まれる制御情報に基づいて、当該受信メッセージを受信するか否かを検査する検査手段と、
前記検査手段が前記受信メッセージを受信すると判断した場合に、前記受信メッセージの実際のデータサイズと当該受信メッセージに記載されている当該受信メッセージのデータサイズとを比較するデータサイズ比較手段と、
前記受信メッセージの実際のデータサイズが当該受信メッセージに記載されているデータサイズに比べて大きい場合に、前記受信メッセージに続く第2メッセージの提供を要求する第2メッセージ要求手段と、
前記ネットワークインタフェースのメモリであって、前記第1メモリに比べてアクセス遅延の大きい第2メモリに保持されている第2メッセージを前記ネットワークインタフェースから受信する第2メッセージ受信手段と
を備えたことを特徴とする情報処理装置。 An information processing apparatus that receives a message from outside via a network interface,
A received message requesting means for requesting the network interface to provide a message processed in a layer lower than the transport layer ;
A message receiving unit which is burst transfer, to receive the message stored in the first memory of the network interface from the network interface,
Based on control information included in the received message received by the received message receiving means, an inspection means for checking whether or not to receive the received message;
A data size comparing unit that compares the actual data size of the received message with the data size of the received message described in the received message when the checking unit determines to receive the received message;
Second message requesting means for requesting provision of a second message following the received message when an actual data size of the received message is larger than a data size described in the received message;
And a second message receiving means for receiving from the network interface a second message held in a second memory having a larger access delay than the first memory. Information processing apparatus.
前記ネットワークを介して外部装置から受信メッセージを受信するデータ受信ステップと、
前記受信メッセージのトランスポート層より下位の層における処理を行う制御ステップと、
前記処理後の前記受信メッセージを、前記受信メッセージの送信先となるホスト装置における受信処理においてはじめに利用すべきデータを含む第1メッセージと、前記受信処理において前記第1メッセージよりも後に利用すべきデータを含む第2メッセージとに分割する分割ステップと、
前記分割ステップにおいて得られた前記第1メッセージを第1メモリに格納する第1格納ステップと、
前記第1メモリに比べてアクセス遅延の大きいメモリであって、対応する前記第1メッセージを識別可能に前記第2メッセージを第2メモリに格納する第2格納ステップと、
前記ホスト装置から前記受信メッセージを要求する受信メッセージ要求を受信する受信メッセージ要求受信ステップと、
前記受信メッセージ要求を受信した場合に、前記第1メモリに格納されている前記受信メッセージの前記第1メッセージを前記ホスト装置にバースト転送する第1メッセージ送信ステップと、
前記ホスト装置から前記第2メッセージを要求する第2メッセージ要求を受信する第2メッセージ要求受信ステップと、
前記第2メッセージ要求を受信した場合に、前記第2メモリに格納されている前記第2メッセージを前記ホスト装置に送信する第2メッセージ送信ステップと
を有することを特徴とする情報処理方法。 An information processing method for communicating with the outside via a network,
A data receiving step of receiving a received message from an external device via the network;
A control step of performing processing in a layer below the transport layer of the received message;
The received message after the processing includes a first message including data to be used first in a receiving process in a host device that is a transmission destination of the received message, and data to be used after the first message in the receiving process A dividing step of dividing into a second message including:
A first storing step of storing the first message obtained in the dividing step in a first memory;
A large memory access latency than the first memory, and a second storing step of storing the corresponding first message identifiably the second message to the second memory,
A received message request receiving step for receiving a received message request for requesting the received message from the host device;
A first message transmission step of burst-transferring the first message of the received message stored in the first memory to the host device when the received message request is received;
A second message request receiving step of receiving a second message request for requesting the second message from the host device;
A second message transmission step of transmitting the second message stored in the second memory to the host device when the second message request is received. Method.
前記ネットワークインタフェースに、トランスポート層より下位の層における処理が行われたメッセージの提供を要求する受信メッセージ要求ステップと、
前記ネットワークインタフェースからバースト転送された、前記ネットワークインタフェースの第1メモリに保持されている前記メッセージを受信するメッセージ受信ステップと、
前記受信メッセージ受信ステップにおいて受信した受信メッセージに含まれる制御情報に基づいて、当該受信メッセージを受信するか否かを検査する検査ステップと、
前記検査ステップにおいて前記受信メッセージを受信すると判断した場合に、前記受信メッセージの実際のデータサイズと当該受信メッセージに記載されている当該受信メッセージのデータサイズとを比較するデータサイズ比較ステップと、
前記受信メッセージの実際のデータサイズが当該受信メッセージに記載されているデータサイズに比べて大きい場合に、前記受信メッセージに続く第2メッセージの提供を要求する第2メッセージ要求ステップと、
前記ネットワークインタフェースのメモリであって、前記第1メモリに比べてアクセス遅延の大きい第2メモリに保持されている第2メッセージを前記ネットワークインタフェースから受信する第2メッセージ受信ステップと
を有することを特徴とする情報処理方法。 An information processing method for receiving a message from outside via a network interface,
A received message requesting step for requesting the network interface to provide a message processed in a layer lower than the transport layer ;
And the message receiving step which is burst transfer, to receive the message stored in the first memory of the network interface from the network interface,
Based on the control information included in the received message received in the received message receiving step, a test step for checking whether to receive the received message;
A data size comparison step of comparing the actual data size of the received message with the data size of the received message described in the received message when it is determined that the received message is received in the checking step;
A second message requesting step for requesting provision of a second message following the received message when an actual data size of the received message is larger than a data size described in the received message;
A second message receiving step of receiving from the network interface a second message held in a second memory having a larger access delay than the first memory. Information processing method.
前記ネットワークを介して外部装置から受信メッセージを受信するデータ受信ステップと、
前記受信メッセージのトランスポート層より下位の層における処理を行う制御ステップと、
前記処理後の前記受信メッセージを、前記受信メッセージの送信先となるホスト装置における受信処理においてはじめに利用すべきデータを含む第1メッセージと、前記受信処理において前記第1メッセージよりも後に利用すべきデータを含む第2メッセージとに分割する分割ステップと、
前記分割ステップにおいて得られた前記第1メッセージを第1メモリに格納する第1格納ステップと、
前記第1メモリに比べてアクセス遅延の大きいメモリであって、対応する前記第1メッセージを識別可能に前記第2メッセージを第2メモリに格納する第2格納ステップと、
前記ホスト装置から前記受信メッセージを要求する受信メッセージ要求を受信する受信メッセージ要求受信ステップと、
前記受信メッセージ要求を受信した場合に、前記第1メモリに格納されている前記受信メッセージの前記第1メッセージを前記ホスト装置にバースト転送する第1メッセージ送信ステップと、
前記ホスト装置から前記第2メッセージを要求する第2メッセージ要求を受信する第2メッセージ要求受信ステップと、
前記第2メッセージ要求を受信した場合に、前記第2メモリに格納されている前記第2メッセージを前記ホスト装置に送信する第2メッセージ送信ステップと
を前記コンピュータに実行させるための情報処理プログラム。 An information processing program for causing a computer to execute information processing that communicates with the outside via a network,
A data receiving step of receiving a received message from an external device via the network;
A control step of performing processing in a layer below the transport layer of the received message;
The received message after the processing includes a first message including data to be used first in a receiving process in a host device that is a transmission destination of the received message, and data to be used after the first message in the receiving process A dividing step of dividing into a second message including:
A first storing step of storing the first message obtained in the dividing step in a first memory;
A second storage step for storing the second message in the second memory so that the corresponding first message can be identified, the access delay being larger than that of the first memory ;
A received message request receiving step for receiving a received message request for requesting the received message from the host device;
A first message transmission step of burst-transferring the first message of the received message stored in the first memory to the host device when the received message request is received;
A second message request receiving step of receiving a second message request for requesting the second message from the host device;
Information for causing the computer to execute a second message transmission step of transmitting the second message stored in the second memory to the host device when the second message request is received. Processing program .
前記ネットワークインタフェースに、トランスポート層より下位の層における処理が行われたメッセージの提供を要求する受信メッセージ要求ステップと、
前記ネットワークインタフェースからバースト転送された、前記ネットワークインタフェースの第1メモリに保持されている前記メッセージを受信するメッセージ受信ステップと、
前記受信メッセージ受信ステップにおいて受信した受信メッセージに含まれる制御情報に基づいて、当該受信メッセージを受信するか否かを検査する検査ステップと、
前記検査ステップにおいて前記受信メッセージを受信すると判断した場合に、前記受信メッセージの実際のデータサイズと当該受信メッセージに記載されている当該受信メッセージのデータサイズとを比較するデータサイズ比較ステップと、
前記受信メッセージの実際のデータサイズが当該受信メッセージに記載されているデータサイズに比べて大きい場合に、前記受信メッセージに続く第2メッセージの提供を要求する第2メッセージ要求ステップと、
前記ネットワークインタフェースのメモリであって、前記第1メモリに比べてアクセス遅延の大きい第2メモリに保持されている第2メッセージを前記ネットワークインタフェースから受信する第2メッセージ受信ステップと
を前記コンピュータに実行させるための情報処理プログラム。 An information processing program for causing a computer to execute information processing for receiving a message from outside via a network interface,
A received message requesting step for requesting the network interface to provide a message processed in a layer lower than the transport layer ;
And the message receiving step which is burst transfer, to receive the message stored in the first memory of the network interface from the network interface,
Based on the control information included in the received message received in the received message receiving step, a test step for checking whether to receive the received message;
A data size comparison step of comparing the actual data size of the received message with the data size of the received message described in the received message when it is determined that the received message is received in the checking step;
A second message requesting step for requesting provision of a second message following the received message when an actual data size of the received message is larger than a data size described in the received message;
A memory of the network interface, to perform a second message receiving step of receiving a second message stored in the higher second memory access latency than the first memory from the network interface to the computer information processing program for.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006206229A JP4417935B2 (en) | 2006-07-28 | 2006-07-28 | Information processing apparatus, information processing method, and information processing program for communicating with outside via network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006206229A JP4417935B2 (en) | 2006-07-28 | 2006-07-28 | Information processing apparatus, information processing method, and information processing program for communicating with outside via network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008035202A JP2008035202A (en) | 2008-02-14 |
JP4417935B2 true JP4417935B2 (en) | 2010-02-17 |
Family
ID=39124168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006206229A Expired - Fee Related JP4417935B2 (en) | 2006-07-28 | 2006-07-28 | Information processing apparatus, information processing method, and information processing program for communicating with outside via network |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4417935B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5391449B2 (en) * | 2008-09-02 | 2014-01-15 | ルネサスエレクトロニクス株式会社 | Storage device |
-
2006
- 2006-07-28 JP JP2006206229A patent/JP4417935B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008035202A (en) | 2008-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4621747B2 (en) | Communication control apparatus and information processing apparatus | |
US8843706B2 (en) | Memory management among levels of cache in a memory hierarchy | |
US9037810B2 (en) | Pre-fetching of data packets | |
US7853759B2 (en) | Hints model for optimization of storage devices connected to host and write optimization schema for storage devices | |
KR101038963B1 (en) | Cache allocation upon data placement in network interface | |
TWI383295B (en) | Disowning cache entries on aging out of the entry | |
JP5733701B2 (en) | Packet processing optimization | |
US20150227312A1 (en) | Method for steering dma write requests to cache memory | |
CN111338561B (en) | Memory controller and memory page management method | |
WO2011144175A1 (en) | Data prefetching method, node and system for distributed hash table dht memory system | |
JP2013507022A (en) | Method for processing data packets within a flow-aware network node | |
JPH1185710A (en) | Server device and file management method | |
US9304939B2 (en) | Method and multi-core communication processor for replacing data in system cache | |
US12105951B2 (en) | Data management method for application, system, and computer device | |
JP2000227878A (en) | Data managing method for asynchronous i/o cache memory | |
KR20190098146A (en) | Method and apparatus for accessing non-volatile memory as byte addressable memory | |
KR100988334B1 (en) | Cache control apparatus, and information processing apparatus | |
US7647436B1 (en) | Method and apparatus to interface an offload engine network interface with a host machine | |
JP4417935B2 (en) | Information processing apparatus, information processing method, and information processing program for communicating with outside via network | |
CN103345452A (en) | Data caching method in multiple buffer storages according to weight information | |
JPH07239808A (en) | Distributed data managing system | |
US10255213B1 (en) | Adapter device for large address spaces | |
US7805572B2 (en) | Cache pollution avoidance | |
JP4431492B2 (en) | Data transfer unit that supports multiple coherency granules | |
JP2014235531A (en) | Data transfer device, data transfer system, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090928 |
|
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: 20091104 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091126 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4417935 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131204 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |