JP5179218B2 - Method for controlling number of TCP connections of iSCSI session, iSCSI host device, and iSCSI initiator configuration program - Google Patents
Method for controlling number of TCP connections of iSCSI session, iSCSI host device, and iSCSI initiator configuration program Download PDFInfo
- Publication number
- JP5179218B2 JP5179218B2 JP2008037692A JP2008037692A JP5179218B2 JP 5179218 B2 JP5179218 B2 JP 5179218B2 JP 2008037692 A JP2008037692 A JP 2008037692A JP 2008037692 A JP2008037692 A JP 2008037692A JP 5179218 B2 JP5179218 B2 JP 5179218B2
- Authority
- JP
- Japan
- Prior art keywords
- iscsi
- tcp connections
- tcp
- data
- host device
- 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
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、ファイルサーバなどのiSCSIホスト装置とストレージなどのiSCSIデバイス装置とをIPネットワークを介して接続するiSCSIの技術に関し、特にスループットを向上させる技術に関する。 The present invention relates to an iSCSI technology for connecting an iSCSI host device such as a file server and an iSCSI device device such as a storage via an IP network, and more particularly to a technology for improving throughput.
(1)iSCSI(Internet SCSI)
単体、もしくは複数のハードディスクドライブ装置の集合体、あるいは専用の制御部で複数のハードディスクドライブを制御するディスクアレイストレージ装置等から構成されるストレージ装置が実用化されている。
(1) iSCSI (Internet SCSI)
A storage device composed of a single or a collection of a plurality of hard disk drive devices, or a disk array storage device that controls a plurality of hard disk drives with a dedicated control unit has been put into practical use.
ストレージ装置(デバイス装置)とホスト装置(サーバ,PC)間を接続するインタフェース技術としてはファイバチャネル(FC),インフィニバンド(InfiniBand),SCSI(Small Computer Systems Interface)などがある。 Examples of interface technologies for connecting a storage device (device device) and a host device (server, PC) include Fiber Channel (FC), InfiniBand, SCSI (Small Computer Systems Interface), and the like.
SCSIインタフェースは近距離間を経済的に接続する用途として優れ、既に広く普及している。当該インタフェースでは、クライアントに相当する機能をイニシエータ,サーバに相当する機能をターゲットと呼び、イニシエータとターゲット間で,SCSIコマンド(CDB:COMMAND Descriptor Block)を交換する。 The SCSI interface is excellent as an application for economically connecting a short distance, and is already widely used. In the interface, a function corresponding to a client is called an initiator, and a function corresponding to a server is called a target, and a SCSI command (CDB: COMMAND Descriptor Block) is exchanged between the initiator and the target.
iSCSI(internet SCSI)技術は、非特許文献1に示すように、2004年にネットワークプロトコルであるTCP/IPの上位プロトコルとして、IETF(The Internet Engineering Task Force)で標準化された(RFC3720)。このiSCSI接続は、ファイバチャネルなどの他のネットワークストレージプロトコルと違ってコンピュータにイーサネット(登録商標)インタフェースがあれば使用することができる。
As shown in Non-Patent
現在、iSCSI技術は、ギガビット以上の回線品質、特にデータセンター内、データセンター間や大規模LANシステム等の基幹回線で利用されている。非特許文献1によれば、iSCSI技術はTCPコネクションを複数利用する方法を規定しているが、オプション機能のため必ずしも実装されているわけではない.
(2)iSCSI高速化技術
一方で,広域・広帯域のIPネットワーク上で,ネットワーク遅延によるiSCSIスループットの低下を防ぐ方法として,TCPコネクションの複数利用の有効性は知られている(非特許文献2.3)。また、TCPコネクションの複数利用の実現手段としてマルチリンクを用いる手法の非特許文献4やトランスポート層のプロトコルを変更する非特許文献5なども提案されている。
Currently, the iSCSI technology is used for a line quality of gigabit or higher, particularly in a backbone line such as in a data center, between data centers, and a large-scale LAN system. According to Non-Patent
(2) High-speed iSCSI technology On the other hand, the effectiveness of using multiple TCP connections is known as a method for preventing a decrease in iSCSI throughput due to network delay on a wide-area / wide-band IP network (Non-patent
例えば、マルチリンクを用いる手法に関する非特許文献4では、VPNのマルチホーミング機能を用いて,並列TCPコネクションを複数の経路で確立させ,スループット向上を実現する手法が提案されている。
For example, Non-Patent
また、トランスポート層のプロトコルを変更する手法に関する非特許文献5では,複数のLANポートを利用して物理的にリンクを多重化し,TCPコネクションを異なる経路で確立することによりスループットの向上を図っている。
Further, in Non-Patent
しかしながら,非特許文献4では、マルチリンクを利用できる環境に制限があり、非特許文献5ではマルチベンダー機器への接続が困難であるという問題を有している。
しかしながら、広域・広帯域のIPネットワークにおいてiSCSIのスループットが低下する問題は広く知られているものの、この問題を従来は効果的に解決できなかった。 However, although the problem of a decrease in iSCSI throughput in a wide-area / broadband IP network is widely known, this problem cannot be solved effectively in the past.
すなわち、広域・広帯域のIPネットワークを前提としたiSCSI接続では,スループット向上のため、利用する回線の帯域や遅延情報に基づき予めiSCSI/TCPなどのパラメータをチューニングし、あるいはサーバとストレージ間にプロトコル変換機を設置してスループットを改善するなど、運用設定が煩雑で、かつ経済的な運用が困難なおそれがあった。 In other words, for iSCSI connections based on wide-area and wide-band IP networks, to improve throughput, parameters such as iSCSI / TCP are tuned in advance based on the bandwidth and delay information of the line used, or protocol conversion is performed between the server and storage. Operation settings are complicated, such as installing a machine to improve throughput, and there is a risk that economic operation will be difficult.
また、このような改善は、固定的な情報に基づく設定であるため,帯域の変動に追随できず、効率的なデータ転送が難しく、またベストエフォート型の経済性の高い回線を利用できないおそれもあった。 In addition, because such improvements are based on fixed information, it is difficult to follow bandwidth fluctuations, making it difficult to transfer data efficiently, and there is a risk that a best-effort and economical line cannot be used. there were.
そこで本発明は、広域・広帯域のIPネットワークにおいてiSCSIのスループットが低下する問題を、(1)既存のストレージ装置を利用しつつ、(2)ネットワークの遅延,利用帯域などの利用環境を限定することなく、(3)経済的に解決することを課題としている。 Therefore, the present invention has the problem that the throughput of iSCSI decreases in a wide-area / broadband IP network. (1) While using an existing storage device, (2) limiting the use environment such as network delay and use bandwidth. (3) The problem is to solve economically.
iSCSI技術は、一つのiSCSIセッション内に複数のTCPコネクションを確立して、複数のコマンドを並列に発行し、各TCPコネクションで同時にデータの送受信を行う機能を有しているものの、前記従来例にはTCPコネクション数をどのように決定するかは記述されていない。 Although the iSCSI technology has a function of establishing a plurality of TCP connections in one iSCSI session, issuing a plurality of commands in parallel, and simultaneously transmitting and receiving data through each TCP connection, Does not describe how to determine the number of TCP connections.
本発明は、並列TCPコネクションのスループットが多重度に関して上に凸の関数になる性質に着目して創作された技術的思想であり、TCPコネクションの多重度をスループットに対して最適化させて前記課題を解決している。 The present invention is a technical idea created by paying attention to the property that the throughput of a parallel TCP connection becomes a convex function with respect to multiplicity, and the multiplicity of TCP connection is optimized with respect to the throughput. Has solved.
具体的には、請求項1記載の発明は、iSCSIホスト装置とiSCSIデバイス装置とがiSCSIセッションによって接続されるときにiSCSIホスト装置に構築されたイニシエータ機能をもってTCPコネクション数を制御する方法であって、iSCSIセッションをとおして送受信する一定のデータ量と当該データ量を送受信するのに要した時間との比を参照して、次に送受信する一定のデータ量を送受信するために使用するTCPコネクション数を決定する第1ステップと、前記決定に基づき次に送受信するために使用するTCPコネクション数を増減制御する第2ステップと、を有することを特徴としている。
Specifically, the invention described in
請求項2記載の発明は、前記第1ステップは、TCPコネクション毎に一定のデータ量に振り分けて前記iSCSIデバイス装置と送受信を行うステップと、前記iSCSIデバイス装置側から送信されたTCPコネクション毎の送受信完了通知に基づき前記送受信に要した時間を求めるステップと、を有することを特徴としている。 According to a second aspect of the present invention, the first step includes a step of performing transmission / reception with the iSCSI device apparatus by distributing to a fixed amount of data for each TCP connection, and transmission / reception for each TCP connection transmitted from the iSCSI device apparatus side. Obtaining a time required for the transmission / reception based on a completion notification.
請求項3記載の発明は、前記第1ステップは、TCPコネクション数を増加させながらデータ送受信のスループット値を計測し、該スループット値が前回値よりも低下したときにTCPコネクション数の数値巾を抽出するステップと、前記数値巾に黄金探索法を適用してTCPコネクション数を絞り込んで、スループット値が最大となるTCPコネクション数の最適値を決定するステップと、を有することを特徴としている。 According to a third aspect of the present invention, in the first step, the data transmission / reception throughput value is measured while increasing the number of TCP connections, and when the throughput value is lower than the previous value, the numerical range of the number of TCP connections is extracted. And a step of narrowing down the number of TCP connections by applying the golden search method to the numerical width and determining an optimum value of the number of TCP connections that maximizes the throughput value.
請求項4記載の発明は、iSCSIデバイス装置とiSCSIセッションによって接続されるイニシエータ機能が構築されたiSCSIホスト装置であって、iSCSIセッションをとおして送受信する一定のデータ量と当該データ量を送受信するのに要した時間との比を参照して、次に送受信する一定のデータ量を送受信するために使用するTCPコネクション数を決定する手段と、前記決定に基づき次に送受信するために使用するTCPコネクション数を増減制御する手段と、して機能することを特徴としている。
The invention according to
請求項5記載の発明は、TCPコネクション毎に一定のデータ量に振り分けて前記iSCSIデバイス装置と送受信を行う手段と、前記iSCSIデバイス装置側から送信されたTCPコネクション毎の送受信完了通知に基づき前記送受信に要した時間を求める手段と、して機能することを特徴としている。 According to a fifth aspect of the present invention, the transmission / reception is performed on the basis of a means for performing transmission / reception with the iSCSI device apparatus by distributing a fixed amount of data for each TCP connection, and a transmission / reception completion notification for each TCP connection transmitted from the iSCSI device apparatus side. It is characterized by functioning as a means for obtaining the time required for.
請求項6記載の発明は、TCPコネクション数を増加させながらデータ送受信のスループット値を計測し、該スループット値が前回値よりも低下したときにTCPコネクション数の数値巾を抽出する手段と、前記数値巾に黄金探索法を適用してTCPコネクション数を絞り込んで、スループット値が最大となるTCPコネクション数の最適値を決定する手段と、して機能することを特徴としている。 According to a sixth aspect of the present invention, there is provided means for measuring a throughput value of data transmission / reception while increasing the number of TCP connections, and extracting a numerical width of the number of TCP connections when the throughput value is lower than the previous value; It is characterized by functioning as means for determining the optimum value of the number of TCP connections that maximizes the throughput value by narrowing down the number of TCP connections by applying the golden search method to the width.
請求項7記載の発明は、請求項4〜6記載のiSCSIホスト装置として、コンピュータを機能させることを特徴としている。 A seventh aspect of the invention is characterized in that a computer functions as the iSCSI host device according to the fourth to sixth aspects.
請求項1〜7記載の発明によれば、TCPコネクション数の最適値が自動的に算出され、当該値でTCPコネクション数が運用される。したがって、運用設置が簡略化され,帯域変動にも追随でき、これにより与えられた回線で常に効率的なデータ転送が実現可能となり、経済性も向上する。 According to the first to seventh aspects of the invention, the optimum value of the number of TCP connections is automatically calculated, and the number of TCP connections is operated with the value. Therefore, operation and installation can be simplified, and it is possible to follow bandwidth fluctuations. As a result, efficient data transfer can always be realized on a given line, and economic efficiency is improved.
特に、請求項7記載の発明によれば、既存のiSCSIホスト装置にプロラムをインストールすれば足り、システム構築・更新の経済性が一層向上する。 In particular, according to the seventh aspect of the present invention, it is sufficient to install a program in an existing iSCSI host device, and the economics of system construction / update are further improved.
以下、図1〜図5に基づき本発明の実施形態を説明する。図1は、iSCSIイニシエータ1とiSCSIターゲット2とがIP(internet protocol)ネットワークを介して、iSCSI接続される基本的な形態を示している。
Hereinafter, embodiments of the present invention will be described with reference to FIGS. FIG. 1 shows a basic form in which an
前記iSCSIイニシエータ1は、iSCSIホスト装置を構成するファイルサーバに実装される一方、前記iSCSIターゲット2は、iSCSIデバイス装置を構成するディスクストレージ装置に実装されている。ここではiSCSI接続(iSCSI session)の中にTCPコネクションを複数形成することができ、TCPコネクション数を「N」と表記する。
The
前記iSCSIイニシエータ1の機能は、ファイルサーバの処理部(CPU「Central Processing Unit」など)が、イニシエータ構成プログラムのプログラムコードを読み込んで、通信デバイス(例えばイーサネットインタフェースなど)を通じて実現構築されている。
The function of the
なお、前記ファイルサーバは、コンピュータにより構成され、処理データなどを一時記憶可能なメモリ(RAM),キーボードやマウスなどの入力デバイス,モニタなどの表示部などを有している。 The file server is configured by a computer and includes a memory (RAM) that can temporarily store processing data, an input device such as a keyboard and a mouse, a display unit such as a monitor, and the like.
図2は、前記iSCSIイニシエータ1の機能にTCPコネクション数Nの制御機能(図2中のiSCSI−APT「Automatic Parallelism Tuning」3)が追加された構成を示している。この制御機能は、前記iSCSIイニシエータ1の機能と同様に、ファイルサーバの前記処理部などが前記イニシエータ構成プログラムのプログラムコードを読み込んで実現構築されている。
FIG. 2 shows a configuration in which a control function for the number of TCP connections N (iSCSI-APT “Automatic Parallelism Tuning” 3 in FIG. 2) is added to the function of the
ここではiSCSIイニシエータ1を実装したファイルサーバが、iSCSIターゲット2を実装したストレージ装置に書き込む(転送する)データを、TCPコネクション数Nが変動してもほぼ一定のサイズのデータ(チャンク)に分割しながら転送する。
Here, the file server mounted with the
このときチャンクは,「iSCSI PDU」サイズの整数倍となるため,TCコネクション数「N」に対して,各TCPコネクションにほぼ均等に「n」個を振り分けるとすると以下の式1が成立する。
At this time, the chunk is an integer multiple of the “iSCSI PDU” size. Therefore, if “n” pieces are distributed almost equally to each TCP connection with respect to the number of TC connections “N”, the following
以下、図2に基づき動作例S1〜S7を説明する。
(1)S1〜S7の動作例
S1の処理:まず、iSCSIイニシエータ1の配置されるファイルサーバ内の上位層、例えばファイルシステムをとおして、iSCSI層に書き込み要求のあった転送データを、TCPコネクション数Nに依存しない均一サイズのデータ(チャンク)に分割する。チャンクの大きさは、小さすぎるとTCP/IPプロトコルの特性上、スループットを正確に反映できないため、スループットをほぼ正確に算出できる充分な大きさとする。
Hereinafter, operation examples S1 to S7 will be described with reference to FIG.
(1) Operation example of S1 to S7 Processing of S1: First, transfer data requested to be written to the iSCSI layer through an upper layer in the file server in which the
S2の処理:本発明の処理機能であるiSCSI−APT3が、iSCSIターゲット2(ストレージ)に対してiSCSI接続するために、初期のTCPコネクションを確立し,「iSCSI login」認証を行う(通常ここで接続されるTCPコネクションは1本である。)。 S2 processing: iSCSI-APT3, which is the processing function of the present invention, establishes an initial TCP connection and performs "iSCSI login" authentication in order to make an iSCSI connection to iSCSI target 2 (storage) (usually here) There is one TCP connection to be connected.)
S3の処理:S1の処理で生成したチャンクを、iSCSIのデータ転送単位である「iSCSI PDU」サイズに分割し、分割した「iSCSI PDU」をTCPコネクションN本に対して、ほぼ均等「n個」に振り分ける。 Processing in S3: The chunk generated in the processing in S1 is divided into “iSCSI PDU” size which is an iSCSI data transfer unit, and the divided “iSCSI PDU” is almost equal to “n” TCP connections. Sort out.
表1は、「Tabele 1」のTCPコネクション数Nとチャンク分割の例を示している。ここでは「チャンク(n):iSCSI PDU数/TCPセッション」を例に、TCPコネクション「N」の増加に伴い、1本のTCPコネクションあたり「1/N」に減少することが示されている。 Table 1 shows an example of the number N of TCP connections of “Table 1” and chunk division. Here, “chunk (n): iSCSI PDU number / TCP session” is taken as an example, and it is shown that the number of TCP connections “N” decreases to “1 / N” per TCP connection.
S4の処理:振り分けられた各TCPコネクション毎に転送する「iSCSI PDU」(約n個)を各々のTCPコネクションをとおして転送する。このときiSCSI−APT3は、図3及び図4に示すように、すべてのTCPコネクションの中で一番最初に転送を始めた時刻を記録する。
Processing in S4: “iSCSI PDUs” (about n) to be transferred for each distributed TCP connection are transferred through each TCP connection. At this time, as shown in FIGS. 3 and 4, the iSCSI-
S5の処理:SCSIターゲット2が、図3に示すように、各TCPコネクション毎に「iSCSI PDU」受信完了通知、即ちR2T(Ready to transfer)を逐次送信する。
Process of S5: As shown in FIG. 3, the
S6の処理:iSCSI−APT3は、すべてのTCPコネクションの中で、最後にR2Tを受信した時刻が記録し、図4に示すように、当該チャンクの転送時間から当該チャンク転送でのスループットG(N)を算出する。直後に,次のチャンク転送に設定するTCPコネクション数Nを後述の内蔵アルゴリズム処理に基づいて決定する。 Process of S6: iSCSI-APT3 records the time when R2T was last received in all TCP connections, and, as shown in FIG. 4, throughput G (N ) Is calculated. Immediately thereafter, the number N of TCP connections to be set for the next chunk transfer is determined based on a built-in algorithm process described later.
S7の処理:次のチャンク転送に設定するTCPコネクション数Nに変更するため,TCPコネクションの増減制御を行う。
(2)内蔵アルゴリズム処理
ここではS6の処理で行うTCPコネクション数Nの決定例を、図5に基づき説明する。ここでは並列TCPコネクションのスループット(チャンク/転送時間T)が、コネクション数Nの多重度に関して上に凸の関数となる性質が示されている。
Processing in S7: In order to change to the number N of TCP connections set for the next chunk transfer, TCP connection increase / decrease control is performed.
(2) Built-in Algorithm Processing Here, an example of determining the number of TCP connections N performed in S6 will be described with reference to FIG. Here, there is shown a property that the throughput (chunk / transfer time T) of the parallel TCP connection is an upward convex function with respect to the multiplicity of the number N of connections.
表2は、図5の処理例に使用される「Table 2」を示している。この「Table 2」は、TCPコネクション数Nの初期値Noが「1」に設定され、制御パラメータkが「2」に設定されている。 Table 2 shows “Table 2” used in the processing example of FIG. In “Table 2”, the initial value No. of the TCP connection number N is set to “1”, and the control parameter k is set to “2”.
TCPコネクション数Nを最適化する処理は、以下のステージ1.2で構成されている。このステージ1には図5に示す「A〜E」の推移が該当し、ステージ2には図5に示す「E〜H」までの推移が該当する。
(1)ステージ1
ステージ1は、TCPコネクション数Nを初期値N0から、制御パラメータkを乗じて増加させ、最適値Noptの含まれるコネクション数(図5の横軸)のおおまかな巾(以降,ブラケットと呼ぶ)を探索する。この状態を式(2)に示す。
The process of optimizing the number N of TCP connections consists of the following stage 1.2. The
(1)
そのうえで、S3〜S6の処理で記載した方法に基づき、チャンク転送のスループットG(N)を算出する。算出したスループットG(N)が前回の算出値との間で以下の式(3)の関係となるまで、 After that, based on the method described in the processing of S3 to S6, the chunk transfer throughput G (N) is calculated. Until the calculated throughput G (N) is in the relationship of the following formula (3) with the previous calculated value,
以下の式(4)に基づき、 Based on the following equation (4):
TCPコネクション数Nを増加させながら、チャンクのスループットG(N)を計測し,式(3)の評価(前回値との比較)を行う。式(3)が満たされた(TRUE)の場合(前回値よりスループットが低下した場合)、最初のブラケットには,式(5)に示すように、過去3回分の履歴にある3つのN値を組として定め、ステージ2へ移行する。
While increasing the number N of TCP connections, the chunk throughput G (N) is measured, and the expression (3) is evaluated (compared with the previous value). When the expression (3) is satisfied (TRUE) (when the throughput is lower than the previous value), the first bracket has three N values in the history for the past three times as shown in the expression (5). Is set as a group, and the process proceeds to
図5中、「A」は初期値であり、「Table 2」に記載のとおり、「N=N0=1」とする。次いで「Table 2」に記載のパラメータkを用いて、TCPコネクションを2倍(図5中の「B」)にする。さらに次のチャンク転送では、N=4(図5中の「C」),N=8(図5中の「D」)と増やした段階で式(3)の評価が、式(6)となり、最初(1st)のブラケット(2,4,8)を得る(図5中の「E」)。 In FIG. 5, “A” is an initial value, and “N = N 0 = 1” as described in “Table 2”. Next, the TCP connection is doubled (“B” in FIG. 5) using the parameter k described in “Table 2”. Further, in the next chunk transfer, the evaluation of Expression (3) becomes Expression (6) when N = 4 (“C” in FIG. 5) and N = 8 (“D” in FIG. 5) are increased. The first (1st) bracket (2, 4, 8) is obtained ("E" in FIG. 5).
(2)ステージ2
ステージ2では、ステージ1で算出した最適値Nopt(チャンクのスループットの唯一の極大点を示すNの値)の含まれる最初のブラケットの巾(図5の横軸)に黄金探索法を適用して絞り込み、最適値Noptを抽出する。これは主に非特許文献8の手法が用いられる。この非特許文献8は、iSCSIではなく、GridFTPという別の技術に黄金探索法が用いられている。以下、ステージ2の絞込みを具体的に説明する。
(2)
In
まず、最初に式(7)と式(8)の黄金比(Golden Rasio)とを用いて、ステージ1で抽出した最初のブラケットから新たなTCPコネクション数となる「N」を算出する。
First, “N”, which is a new number of TCP connections, is calculated from the first bracket extracted in
ブラケット(l,m,r)}に対して、新たなTCPコネクション数 Nを算出するため、式(9)を適用する(小数点以下は切り上げ)。 For the bracket (l, m, r)}, Equation (9) is applied to calculate a new TCP connection number N (rounded up after the decimal point).
次に,S3〜S6の処理で記載した方法に基づき、チャンク転送のスループットG(N)を算出する。式(7)の関係が成り立つ(TRUE)場合、式(10)により、新たなブラケットを導入する。 Next, the chunk transfer throughput G (N) is calculated based on the method described in S3 to S6. When the relationship of Expression (7) is true (TRUE), a new bracket is introduced according to Expression (10).
式(7)の関係が成り立たない場合(FALSE)は、式(11)により、新たなブラケットを導出し、新たに導出したブラケットを用いて,式(9)から新たなTCPコネクション数Nを算出する。 When the relationship of equation (7) does not hold (FALSE), a new bracket is derived from equation (11), and a new number N of TCP connections is calculated from equation (9) using the newly derived bracket. To do.
以上の過程を繰り返し,(l,m,r)が連続する整数となった場合、式(12)とする。 When the above process is repeated and (l, m, r) becomes a continuous integer, Expression (12) is obtained.
実際に,ステージ1で抽出した1stブラケット(2,4,8)を式(9)に当てはめると式(13)となる。
Actually, when the 1st bracket (2, 4, 8) extracted in
N=6で式(7)を図5の結果(縦軸)で評価すると、式(14)が成立する。 When Expression (7) is evaluated with the result (vertical axis) in FIG. 5 when N = 6, Expression (14) is established.
よって,式(11)で式(15)の2ndブラケットを構成する(図5の「E」)。
再び式(9)で「N」を算出すると、式(16)となる。 When “N” is calculated again by equation (9), equation (16) is obtained.
N=7で式(7)を評価(図5参照)し、式(17)の結果から式(10)で式(18)の3rdブラケットを構成する(図5の「F」〜「G」)。 Formula (7) is evaluated at N = 7 (see FIG. 5), and the 3rd bracket of Formula (18) is configured by Formula (10) from the result of Formula (17) (“F” to “G” in FIG. 5). ).
再び式(9)でNを算出すると式(19)となる。 When N is calculated again by equation (9), equation (19) is obtained.
N=5で式(7)を評価(図5参照)し、式(20)の結果から式(11)で式(21)の4rdブラケットを構成する。 Formula (7) is evaluated with N = 5 (see FIG. 5), and the 4rd bracket of Formula (21) is configured by Formula (11) from the result of Formula (20).
ここでブラケット内の整数がすべて連続となったため、ステージ2を終了する。スループットを最大にするTCPコネクション数の最適値Noptとして、式(22)に示す最後のブラケットの中央の数字である「6」が抽出できる。
Here, since all the integers in the bracket are continuous,
整理すると、図5の例では、TCPコネクション数の初期値N0から最適値Noptに移行するまで、式(23)に示す遷移を行う。 In summary, in the example of FIG. 5, the transition shown in Expression (23) is performed until the initial value N 0 of the number of TCP connections is shifted to the optimum value Nopt.
このように並列TCPコネクションのスループット(チャンク/転送時間T)が、コネクションNの多重度に関して上に凸の関数になるという性質(図5の「A」〜「H」)を利用して、TCPコネクションの多重度をスループットに対して最適化させている(スループットが最大となるTCPコネクション数を探索し、当該数のTCPコネクション数にまで増減制御している。)。 In this way, the TCP (through the chunk / transfer time T) of the parallel TCP connection becomes a convex function with respect to the multiplicity of the connection N (“A” to “H” in FIG. 5), and TCP The multiplicity of connections is optimized with respect to the throughput (the number of TCP connections that maximizes the throughput is searched and the increase / decrease control is performed up to the number of TCP connections).
すなわち、iSCSIイニシエータ1に組み込まれたTCPコネクション数Nを自動調整するiSCSI−APT3の制御機能によって、予め使用するネットワークの遅延特性や帯域等の情報が無い場合でも、iSCSI−APT3の処理機能を定期的に動作させることで、動作時のネットワークに最適化したTCPコネクション数Noptに自動追従させている。
In other words, the iSCSI-APT3 control function that automatically adjusts the number N of TCP connections incorporated in the
これによりiSCSI接続されるファイルサーバとストレージとの間のスループットの高速化を実現させている。この結果、ファイルサーバなどの運用設置を大幅に簡略でき、帯域変動にも追従可能となることから、与えられた回線で常に効率的なデータ転送が実現可能となる。 As a result, the throughput between the file server connected to the iSCSI and the storage can be increased. As a result, the operation and installation of a file server or the like can be greatly simplified and the bandwidth fluctuation can be tracked, so that efficient data transfer can always be realized on a given line.
また、ファイルサーバの実装的にはiSCSIイニシエータの修正で済むので、TCPコネクションの多重化オプションをサポートする市販のターゲット装置の利用でき、この意味で経済的なシステム構築・更新が可能である。 Further, since it is sufficient to modify the iSCSI initiator in terms of the file server implementation, a commercially available target device that supports the TCP connection multiplexing option can be used, and in this sense, an economical system construction / update is possible.
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載した範囲において各種の変形を行うことが可能である。例えばデータ転送(送信)だけではなく、データの読み込み(受信)に関しても同様の効果が期待できる。 In addition, this invention is not limited to the said embodiment, A various deformation | transformation is possible in the range described in each claim. For example, the same effect can be expected not only for data transfer (transmission) but also for data reading (reception).
また、前記iSCSI−ATP3の制御機能を内蔵したiSCSIイニシエータ1として、コンピュータを機能させるプログラムとして構築することもできる。
The
この場合には、コンピュータの処理部(例えばCPUなど)がプログラムコードを読み出し、通信デバイスを通じてステージ1.2の処理が実行される。 In this case, the processing unit (for example, CPU) of the computer reads the program code, and the process of stage 1.2 is executed through the communication device.
したがって、既存のiSCSIシステムにおいてファイルサーバに前記プログラムをインストールするだけで、本実施形態に係るiSCSIイニシエータ機能を有するファイルサーバが構築でき、この点でシステム構築・更新の経済性が一層向上する。 Therefore, the file server having the iSCSI initiator function according to the present embodiment can be constructed simply by installing the program in the file server in the existing iSCSI system. In this respect, the economics of system construction / update are further improved.
このプログラムコードは、例えばCD−ROM,DVD−ROM,CD−R,CD−RW,DVD−R,DVD−RW,MO,HDDなどの記録媒体に格納される。また、前記プログラムを、インターネットサイトからダウンロードしてコンピュータに提供してもよい。 This program code is stored in a recording medium such as a CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, MO, and HDD. The program may be downloaded from an Internet site and provided to a computer.
1…iSCSIイニシエータ
2…iSCSIターゲット(iSCSIデバイス)
3…iSCSI−SPT
N…TCPコネクション数
G(N)…スループット値
1 ...
3 ... iSCSI-SPT
N ... Number of TCP connections G (N) ... Throughput value
Claims (7)
iSCSIホスト装置に構築されたイニシエータ機能をもってTCPコネクション数を制御する方法であって、
iSCSIセッションをとおして送受信する一定のデータ量と当該データ量を送受信するのに要した時間との比を参照して、次に送受信する一定のデータ量を送受信するために使用するTCPコネクション数を決定する第1ステップと、
前記決定に基づき次に送受信するために使用するTCPコネクション数を増減制御する第2ステップと、
を有することを特徴とするiSCSIセッションのTCPコネクション数の制御方法。 A method of controlling the number of TCP connections with an initiator function built in an iSCSI host device when the iSCSI host device and the iSCSI device device are connected by an iSCSI session,
The number of TCP connections used to transmit / receive the fixed amount of data to be transmitted / received next is determined by referring to the ratio of the fixed amount of data transmitted / received through the iSCSI session to the time required to transmit / receive the data amount. A first step to determine;
A second step of increasing / decreasing the number of TCP connections used for next transmission / reception based on the determination;
A method for controlling the number of TCP connections of an iSCSI session, comprising:
前記iSCSIデバイス装置側から送信されたTCPコネクション毎の送受信完了通知に基づき前記送受信に要した時間を求めるステップと、
を有することを特徴とする請求項1記載のiSCSIセッションのTCPコネクション数の制御方法。 The first step is a step of performing transmission / reception with the iSCSI device device by distributing to a certain amount of data for each TCP connection;
Obtaining a time required for the transmission / reception based on a transmission / reception completion notification for each TCP connection transmitted from the iSCSI device side;
The method of controlling the number of TCP connections of an iSCSI session according to claim 1, wherein:
前記数値巾に黄金探索法を適用してTCPコネクション数を絞り込んで、スループット値が最大となるTCPコネクション数の最適値を決定するステップと、
を有することを特徴とする請求項1または2いずれか記載のiSCSIセッションのTCPコネクション数の制御方法。 The first step is a step of measuring a throughput value of data transmission / reception while increasing the number of TCP connections, and extracting a numerical width of the number of TCP connections when the throughput value is lower than the previous value;
Applying the golden search method to the numerical width to narrow down the number of TCP connections, and determining an optimum value of the number of TCP connections that maximizes the throughput value;
The method for controlling the number of TCP connections of an iSCSI session according to claim 1, wherein:
iSCSIセッションをとおして送受信する一定のデータ量と当該データ量を送受信するのに要した時間との比を参照して、次に送受信する一定のデータ量を送受信するために使用するTCPコネクション数を決定する手段と、
前記決定に基づき次に送受信するために使用するTCPコネクション数を増減制御する手段と、
して機能することを特徴とするiSCSIホスト装置。 An iSCSI host device having an initiator function connected to an iSCSI device device through an iSCSI session,
The number of TCP connections used to transmit / receive the fixed amount of data to be transmitted / received next is determined by referring to the ratio of the fixed amount of data transmitted / received through the iSCSI session to the time required to transmit / receive the data amount. Means to determine,
Means for increasing / decreasing the number of TCP connections used for next transmission / reception based on the determination;
An iSCSI host device characterized by functioning as
前記iSCSIデバイス装置側から送信されたTCPコネクション毎の送受信完了通知に基づき前記送受信に要した時間を求める手段と、
して機能することを特徴とする請求項4記載のiSCSIホスト装置。 Means for performing transmission / reception with the iSCSI device by allocating a fixed amount of data for each TCP connection;
Means for obtaining a time required for the transmission / reception based on a transmission / reception completion notification for each TCP connection transmitted from the iSCSI device side;
The iSCSI host device according to claim 4, wherein the iSCSI host device functions.
前記数値巾に黄金探索法を適用してTCPコネクション数を絞り込んで、スループット値が最大となるTCPコネクション数の最適値を決定する手段と、
して機能することを特徴とする請求項4または5いずれか記載のiSCSIホスト装置。 Means for measuring a throughput value of data transmission / reception while increasing the number of TCP connections, and extracting a numerical width of the number of TCP connections when the throughput value is lower than the previous value;
Means for narrowing down the number of TCP connections by applying the golden search method to the numerical range, and determining an optimum value of the number of TCP connections that maximizes the throughput value;
6. The iSCSI host device according to claim 4, wherein the iSCSI host device functions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037692A JP5179218B2 (en) | 2008-02-19 | 2008-02-19 | Method for controlling number of TCP connections of iSCSI session, iSCSI host device, and iSCSI initiator configuration program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008037692A JP5179218B2 (en) | 2008-02-19 | 2008-02-19 | Method for controlling number of TCP connections of iSCSI session, iSCSI host device, and iSCSI initiator configuration program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009200611A JP2009200611A (en) | 2009-09-03 |
JP5179218B2 true JP5179218B2 (en) | 2013-04-10 |
Family
ID=41143684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008037692A Expired - Fee Related JP5179218B2 (en) | 2008-02-19 | 2008-02-19 | Method for controlling number of TCP connections of iSCSI session, iSCSI host device, and iSCSI initiator configuration program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5179218B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120054362A1 (en) * | 2010-08-31 | 2012-03-01 | Canon Kabushiki Kaisha | Mechanism for autotuning mass data transfer from a sender to a receiver over parallel connections |
JP5695537B2 (en) | 2011-09-30 | 2015-04-08 | 株式会社東芝 | Server, server control method, server control program |
JP6194890B2 (en) * | 2012-09-27 | 2017-09-13 | 日本電気株式会社 | Multimedia data communication apparatus, method, program, and effective data increase rate calculation apparatus |
CN109412960B (en) * | 2018-10-17 | 2022-04-29 | 国网四川省电力公司经济技术研究院 | High-concurrency TCP application congestion control method based on dynamic adjustment of TCP connection number |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006270303A (en) * | 2005-03-23 | 2006-10-05 | Hitachi Ltd | Method and device of controlling communication, and storage medium which records communication control program |
-
2008
- 2008-02-19 JP JP2008037692A patent/JP5179218B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009200611A (en) | 2009-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5750714B2 (en) | Computer system, virtual server placement method, and placement control device | |
CN101276258B (en) | Memory device and control method thereof | |
TWI486042B (en) | Communication transport optimized for data center environment | |
JP5179218B2 (en) | Method for controlling number of TCP connections of iSCSI session, iSCSI host device, and iSCSI initiator configuration program | |
US6975963B2 (en) | Method and system for storing and reporting network performance metrics using histograms | |
Yu et al. | Dissecting performance of production QUIC | |
JP4526458B2 (en) | Packet processing apparatus and packet processing program | |
JP6051832B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM | |
Arslan et al. | Harp: Predictive transfer optimization based on historical analysis and real-time probing | |
US9191330B2 (en) | Path selection for network service requests | |
US10326703B2 (en) | Dynamic initial congestion window modification | |
JP2013537009A5 (en) | Data transmission method, transmitter, receiver, and program | |
Yun et al. | Data transfer advisor with transport profiling optimization | |
Nine et al. | Big data transfer optimization based on offline knowledge discovery and adaptive sampling | |
Yun et al. | Advising big data transfer over dedicated connections based on profiling optimization | |
JP4729549B2 (en) | Load control method, apparatus and program | |
Hou et al. | SDN-based Optimizing solutions for multipath data transmission supporting consortium blockchains | |
TWI585593B (en) | Method and system for optimizing transfer path | |
JP2010009472A (en) | Network system, control method for network system, and control program | |
JP5062097B2 (en) | Information processing apparatus, information processing apparatus control method, and information processing apparatus control program | |
JP2010283780A (en) | Method of controlling number of tcp connections in iscsi connection, iscsi host device, and program for controlling the number of tcp connections in iscsi connection | |
US9979613B2 (en) | Analyzing network traffic in a computer network | |
JP6432377B2 (en) | Message log removing apparatus, message log removing method, and message log removing program | |
JP2012028919A (en) | Variation detection method of network parameter and host device | |
JP4918324B2 (en) | Data transfer system and network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090623 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090911 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100601 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110126 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20111108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120402 |
|
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: 20121218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5179218 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160118 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |