JP2010283780A - 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 - Google Patents
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 Download PDFInfo
- Publication number
- JP2010283780A JP2010283780A JP2009137600A JP2009137600A JP2010283780A JP 2010283780 A JP2010283780 A JP 2010283780A JP 2009137600 A JP2009137600 A JP 2009137600A JP 2009137600 A JP2009137600 A JP 2009137600A JP 2010283780 A JP2010283780 A JP 2010283780A
- Authority
- JP
- Japan
- Prior art keywords
- iscsi
- link
- tcp connections
- throughput
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、iSCSIホスト装置とiSCSIデバイス装置とをIP(internet protocol)ネットワークを使用して接続するiSCSI技術に関し、特に書き込みあるいは、読み出しスループット値を高速に最適化する技術に関する。 The present invention relates to an iSCSI technique for connecting an iSCSI host apparatus and an iSCSI device apparatus using an IP (Internet protocol) network, and more particularly to a technique for optimizing a write or read throughput value at high speed.
≪iSCSI(Internet SCSI,SCSI over TCP)≫
単体、もしくは複数のハードディスクドライブの集合体、あるいは専用の制御部で複数のハードディスクドライブを制御するディスクアレイ装置等から構成されるストレージ装置が実用化されている。
≪iSCSI (Internet SCSI, SCSI over TCP) ≫
A storage device composed of a single or a collection of a plurality of hard disk drives or a disk array 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)などがある。SCSIインタフェースは近距離間を経済的に接続する用途として優れ、既に広く普及している。 Examples of interface technologies for connecting a storage apparatus and a host apparatus (server, PC) include Fiber Channel (FC), InfiniBand, and SCSI (Small Computer Systems Interface). The SCSI interface is excellent as an application for economically connecting a short distance, and is already widely used.
当該インタフェースでは、クライアントに相当する機能をイニシエータ、サーバに相当する機能をターゲットと呼び、イニシエータとターゲット間で、SCSIコマンド(CDB:Command Descriptor Block)を交換する。iSCSI(internet SCSI)技術は、非特許文献1に示すように、2004年にネットワークプロトコルであるTCP/IPの上位プロトコルとしてIETF(The Internet Engineering Task Force)で標準化された(RFC3720)。
In this 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. As shown in Non-Patent
現在、iSCSI技術はギガビット以上の回線品質、特にデータセンター内、データセンター間や大規模LANシステム等の基幹回線で利用されている。iSCSI技術は、非特許文献1でTCPコネクションを複数利用する方法を規定されているが、これはオプション機能のため必ずしも実装されているわけではない。
At present, the iSCSI technology is used for a line quality of gigabit or more, particularly in a backbone line such as in a data center, between data centers, and a large-scale LAN system. In the iSCSI technology, a method of using a plurality of TCP connections is defined in Non-Patent
≪iSCSI高速化技術≫
その一方で、高遅延特性を有するIPネットワーク上で、ネットワーク遅延によるiSCSIスループットの低下を防ぐ方法として、TCPコネクションの複数利用の有効性は知られている(非特許文献2.3)。また、TCPコネクションの複数利用の実現手段としてマルチリンクを用いる手法(非特許文献4参照)や、トランスポート層のプロトコルを変更する方法(非特許文献5)なども提案されている。
≪iSCSI speedup 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 an IP network having high delay characteristics (Non-patent Document 2.3). In addition, a method using a multilink (see Non-Patent Document 4), a method of changing a transport layer protocol (Non-Patent Document 5), and the like have been proposed as means for realizing multiple use of TCP connections.
例えば、マルチリンクを用いる手法である非特許文献4では、VPNのマルチホーミング機能を用いて、並列TCPコネクションを複数の経路で確立させ、スループット向上を実現する手法が提案されている。また、トランスポート層のプロトコルを変更する手法である非特許文献5では、では、複数のLANポートを利用して物理的にリンクを多重化し、TCPコネクションを異なる経路で確立することによりスループットの向上を図っている。
For example, Non-Patent Document 4, which is a technique using a multilink, proposes a technique for establishing a parallel TCP connection through a plurality of routes and using a VPN multihoming function to improve throughput. In
しかしながら、非特許文献4の技術にはマルチリンクを利用できる環境に制限があり、非特許文献5の技術にはマルチベンダー機器への接続が困難であるという問題が残っている。
However, the technology of Non-Patent Document 4 has a limitation in the environment in which multilink can be used, and the technology of Non-Patent
≪TCP多重接続技術≫
iSCSI接続において、並列TCPコネクションの多重度数を動的に制御し、スループットを最大化する手法が提案されている(非特許文献6参照)。
≪TCP multiple connection technology≫
In iSCSI connection, a technique has been proposed in which the multiplicity of parallel TCP connections is dynamically controlled to maximize throughput (see Non-Patent Document 6).
(1)リンクアグリゲーション(Link aggregation)
まず、サーバとLANスイッチの間、または2台のLANスイッチの間を接続する複数の物理リンクを1本に束ねる技術としてリンクアグリゲーションがあり、より高速な(結果,高価な)インタフェースを利用せずに帯域を増やすことが可能になる。
(1) Link aggregation
First, there is link aggregation as a technique for bundling a plurality of physical links connecting between a server and a LAN switch, or between two LAN switches, without using a higher-speed (and expensive) interface. It becomes possible to increase the bandwidth.
リンクアグリゲーションは、2000年3月にIEEE802.3adとして標準化されている(非特許文献6参照)。このリンクアグリゲーションを使用すること自体はトランキングと呼称されている。 Link aggregation was standardized as IEEE 802.3ad in March 2000 (see Non-Patent Document 6). The use of this link aggregation itself is called trunking.
(2)チーミング(Teaming)、ボンディング(Bonding)
サーバに装着する複数のネットワークインタフェースカードを、ソフトウェアにより仮想的に1枚のネットワークインタフェースに見せる技術を一般的にチーミングと呼ぶ。
(2) Teaming, Bonding
A technique that allows a plurality of network interface cards to be mounted on a server to appear virtually on a single network interface by software is generally called teaming.
チーミングをLinux(登録商標)のカーネルレベルで実現するのがボンディングである(非特許文献7参照)。いずれの場合も、ソフトウェアで仮想ネットワークインタフェースを実現し、2枚使用する場合にあたかも帯域を2倍に見せることができるものの、このような仮想化は静的な構成に止まる。 Bonding realizes teaming at the kernel level of Linux (registered trademark) (see Non-Patent Document 7). In any case, when the virtual network interface is realized by software and the two are used, the bandwidth can be doubled, but such virtualization is limited to a static configuration.
高遅延特性を有するIPネットワークにおいて、iSCSIのスループットが低下する問題は広く知られ、またiSCSIに規定されたTCP多重接続を用いる方式がスループットを改善することも知られている。 In an IP network having high delay characteristics, the problem of a decrease in iSCSI throughput is widely known, and it is also known that a system using TCP multiple connections defined in iSCSI improves the throughput.
ところが、広域・広帯域のIPネットワークを前提としたiSCSI接続では,スループット向上のため、利用する回線の帯域や遅延情報に基づき予めiSCSI/TCPなどのパラメータをチューニングし、あるいはサーバとストレージ間にプロトコル変換機を設置してスループットを改善するなど、運用設定が煩雑で、かつ経済的な運用が困難なおそれがある。 However, with 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. There is a risk that operation settings are complicated and economical operation is difficult, such as improving the throughput by installing a machine.
また、従来の改善は、固定的な情報に基づく設定であるため,帯域の変動に追随できず、効率的なデータ転送が難しく、またベストエフォート型の経済性の高い回線を利用できないおそれもある。 In addition, the conventional improvement is based on fixed information, so it cannot follow the fluctuation of the bandwidth, it is difficult to transfer data efficiently, and there is a possibility that the best-effort type economical line cannot be used. .
そこで、本発明者らはiSCSIイニシエータに機能を付加することでTCPコネクション数をスループットに対して最大化するためのチューニングを施す発明を提案した(特願2008−037692)。 Therefore, the present inventors have proposed an invention for performing tuning for maximizing the number of TCP connections with respect to throughput by adding a function to the iSCSI initiator (Japanese Patent Application No. 2008-037692).
この手法を同一のイニシエータとターゲット間の複数のリンクに対して使用する場合、特に各リンクを予め帯域予約によって確保する環境についてはリンク毎の利用開始時間が異なるケースが想定される。このような環境の下では、リンク毎にTCPコネクション数のチューニングを行わなければならず、トータルのチューニング時間を短縮する効率的な手法が必要となる。 When this method is used for a plurality of links between the same initiator and target, particularly in an environment in which each link is reserved in advance by bandwidth reservation, a case where the use start time for each link is different is assumed. Under such an environment, the number of TCP connections must be tuned for each link, and an efficient method for reducing the total tuning time is required.
本発明は、かかる環境下において、複数のリンクに対してスループットを最大化するTCPコネクション数を決定する際に2本目以降のリンクに対する最適なTCPコネクション数を高速に探索することを解決課題としている。 An object of the present invention is to search for the optimum number of TCP connections for the second and subsequent links at a high speed when determining the number of TCP connections that maximizes the throughput for a plurality of links in such an environment. .
iSCSI技術は、一つのiSCSIセッション内に複数のTCPコネクションを確立して、複数のSCSIコマンドを並列に発行し、各TCPコネクションで同時にデータ転送を行う機能を規定しているものの、TCPコネクション数をどのように決定するか、あるいは、確立済みの複数のTCPコネクションに対して、上位層からのデータ読み出しや書き込み命令をどのコネクションに振り分けるかは規定していない。 Although the iSCSI technology defines a function for establishing a plurality of TCP connections in one iSCSI session, issuing a plurality of SCSI commands in parallel, and simultaneously transferring data in each TCP connection, the number of TCP connections is It is not defined how to determine or to which connection a data read / write command from an upper layer is distributed to a plurality of established TCP connections.
そこで、本発明は、複数リンクを利用可能な状況な場合に、最初のリンクでチューニングしたTCPコネクション数を、以降のチューニングの基点に用いることにより、2本目以降のリンクに対するTCPコネクション数の最適値探索時間を短縮させている。すなわち、経路、及び遅延量が異なる複数の物理リンクと、物理リンク毎に収容する専用のネットワークインタフェースを備えるサーバとIPストレージ装置において、iSCSI接続によるデータ転送を行う場合にiSCSI接続で使用するTCPコネクションの多重度を利用するネットワークインタフェース毎に管理し、先行設定するリンクに使用するネットワークインタフェースに最適化した前記多重度を利用して、次に設定するネットワークインタフェースに使用する前記多重度の初期値を定め、ネットワークインタフェース毎のスループット差を利用してTCPコネクションの多重度を高速に最適化する。 Therefore, the present invention uses the number of TCP connections tuned in the first link in a situation where a plurality of links can be used as the base point of the subsequent tuning, thereby optimizing the number of TCP connections for the second and subsequent links. Search time is shortened. That is, a TCP connection used for iSCSI connection when performing data transfer by iSCSI connection in a server and an IP storage device having a plurality of physical links having different paths and delay amounts, and a dedicated network interface accommodated for each physical link. The initial value of the multiplicity used for the network interface to be set next is managed using the multiplicity optimized for the network interface used for the link to be set in advance. And the multiplicity of TCP connections is optimized at high speed by using the throughput difference for each network interface.
ここでは上位層からの読み出し、書き込み命令を、複数のTCPコネクション数のいずれに振り分けるかを管理するアルゴリズムを、イニシエータ内に配置する。内蔵するアルゴリズムは、特願2008−37692と同様とし、読み出し命令の場合、各リンク単位の受信バッファを参照し、所定の時間で算出するリンク単位のスループットを算出し、記録する。この過程を繰り返すことで、特定のリンクを通したスループットを履歴上のスループット最大値から、TCPコネクション数最適値を探索する。 Here, an algorithm for managing to which of a plurality of TCP connections the read / write commands from the upper layer are arranged in the initiator. The built-in algorithm is the same as that of Japanese Patent Application No. 2008-37692, and in the case of a read command, the link-by-link throughput calculated at a predetermined time is calculated and recorded by referring to the reception buffer for each link. By repeating this process, the optimum value for the number of TCP connections is searched for the throughput through the specific link from the maximum throughput value in the history.
そして、利用開始時刻が異なる複数のリンクが利用可能な場合、最初のリンクに上記で決定したTCPコネクション決定処理を用い、2本目以降の利用可能なリンクに対しては、1本目のリンクで決定したTCPコネクション数(Link1の最適値)を適用し、2本目以降のリンクに対するTCPコネクション数の最適値探索時間を短縮させる。 When a plurality of links having different use start times are available, the TCP connection determination process determined above is used for the first link, and the first link is determined for the second and subsequent available links. By applying the number of TCP connections (the optimum value of Link1), the optimum value search time for the number of TCP connections for the second and subsequent links is shortened.
本発明によれば、複数のリンクに対してスループットを最大化するTCPコネクション数を決定する際に2本目以降のリンクに対する最適なTCPコネクション数が高速に探索される。 According to the present invention, when determining the number of TCP connections that maximizes the throughput for a plurality of links, the optimum number of TCP connections for the second and subsequent links is searched at high speed.
≪iSCSI接続形態≫
図1は、iSCSIイニシエータ1とiSCSIターゲット2とがIP(Internet Protocol)ネットワークを介して、iSCSI接続される基本的な形態を示している。ここではiSCSIプロトコルにおいて、1本のiSCSI接続(iSCSIセッション)内に複数のTCPコネクションが利用されている。
≪iSCSI connection form≫
FIG. 1 shows a basic form in which an
iSCSIイニシエータ1は、iSCSIホスト装置を構成するファイルサーバなどに実装されている一方、iSCSIターゲット2は、iSCSIデバイス装置を構成するディスクストレージ装置などに実装されている。なお、iSCSIイニシエータ1の機能は、イーサネット(登録商標)インタフェースなどのネットワークインタフェースを通じて実現されている。
The
非特許文献1で規定された当該プロトコルではTCPコネクションを複数利用する形態を規定しているが、定めているのは上位層からのiSCSIコマンドを特定のTCPコネクションを通して送信した場合、当該コマンドに起因する「ターゲットからのレスポンスの受信」と「レスポンスへのレスポンス」などを同一コネクションで完結することを定めているにすぎない。
The protocol defined in
すなわち、確立したiSCSIセッションでのデータ送受信中にTCPコネクション数を変更すること、あるいは確立したTCPコネクションのいずれにiSCSI(Read/Write)コマンドを送出するかは定められていない。 That is, it is not determined whether to change the number of TCP connections during data transmission / reception in an established iSCSI session, or to which of the established TCP connections an iSCSI (Read / Write) command is sent.
≪基本制御≫
図2は、TCPコネクション数のスループットに対する最適化手法の基本制御構成S1を示し、iSCSIイニシエータ1にTCPコネクション数の振分制御部(iSCSI−APT)3が追加されている。ここではネットワークインタフェース数、即ちリンク数は1本(Link1)を想定し、特願2008−37692と同様な最適化処理を実施するものとする。以下、図2に基づきiSCSI(Read)の場合を例に動作を説明する。
≪Basic control≫
FIG. 2 shows a basic control configuration S1 of an optimization method for the throughput of the number of TCP connections, and a distribution control unit (iSCSI-APT) 3 for the number of TCP connections is added to the
まず、図2中の矢印aに示すように、ファイルサーバ内の上位層(読み出し要求のコマンドキュー)からiSCSI(Read)コマンドが発行されと、矢印bに示すように、該コマンドがiSCSI層に機能追加するコネクション振分機能部4に送られる。 First, when an iSCSI (Read) command is issued from an upper layer (read request command queue) in the file server as indicated by an arrow a in FIG. 2, the command is transferred to the iSCSI layer as indicated by an arrow b. It is sent to the connection distribution function unit 4 to add functions.
このコネクション振分機能部4では、上位層から届いたiSCSI(Read)コマンドのTCPコネクションへの振分処理を行う。ここではまず、iSCSI(Read)コマンドを、矢印cに示すように、特定のTCPコネクションを通して送信する。つぎに、矢印dに示すように、iSCSI(Read)コマンドを、別のTCPコネクションを通して送信する。 The connection distribution function unit 4 distributes the iSCSI (Read) command received from the upper layer to the TCP connection. Here, first, an iSCSI (Read) command is transmitted through a specific TCP connection as indicated by an arrow c. Next, as shown by an arrow d, an iSCSI (Read) command is transmitted through another TCP connection.
それぞれのiSCSI(Read)要求の結果、受信バッファ5には、iSCSIターゲット2から受信した「Read Data」が蓄積される。この受信バッファ5の「Read Data」をスループット値に換算する。ここでは「Read Data」のデータ量と転送時間からスループット値を算出する。換算したスループット値を、矢印eに示すように、iSCSIイニシエータ1に組み込んだ振分制御部3にTCP多重度制御信号として通知する。
As a result of each iSCSI (Read) request, “Read Data” received from the
そして、振分制御部3は、前述までの過程を繰り返したスループット値の履歴に対して内蔵アルゴリズムの処理を適用する。すなわち、黄金探索法を適用して絞り込んで、スループット値が最大となるTCPコネクション数(多重度数)の修正値(最大値)を抽出する。ここでは主に非特許文献8の手法が用いられる。非特許文献8は、iSCSIではなく、GridFTPという別の技術に黄金探索法が用いられている。 Then, the distribution control unit 3 applies the processing of the built-in algorithm to the history of the throughput values obtained by repeating the process described above. That is, the golden search method is applied to narrow down and a correction value (maximum value) of the TCP connection number (multiplicity number) that maximizes the throughput value is extracted. Here, the method of Non-Patent Document 8 is mainly used. In Non-Patent Document 8, the golden search method is used for another technique called GridFTP instead of iSCSI.
ここで抽出した修正値を、矢印fに示すように、コネクション振分機能部4の処理に反映させる。このような処理により使用するリンク数が1本の場合にTCPコネクション数の最適値が探索される。 The correction value extracted here is reflected in the processing of the connection distribution function unit 4 as indicated by an arrow f. By such processing, when the number of links used is one, the optimum value of the number of TCP connections is searched.
≪複数リンクを利用する場合≫
図3は、本発明の実施形態に係る制御構成S2を示し、複数リンクが利用可能な場合のTCPコネクション数の最適化手法を示している。ここでは複数リンクが異なる利用開始時刻で予約可能であれば、各リンクに対してスループットを最大化するTCPコネクション数を決定する際に、2本目以降のリンクに対する最適なTCPコネクション数を高速に探索する。
≪When using multiple links≫
FIG. 3 shows the control configuration S2 according to the embodiment of the present invention, and shows a method for optimizing the number of TCP connections when a plurality of links are available. Here, if multiple links can be reserved at different usage start times, the optimum number of TCP connections for the second and subsequent links is searched at a high speed when determining the number of TCP connections that maximizes the throughput for each link. To do.
すなわち、前記制御構成S1は、1本のリンクの使用を想定しているため、利用開始時間の異なる複数のリンクそれぞれに対して、TCPコネクション数の最適化を行うためにはリンク毎に20〜40秒程度の収束時間が必要となる。 That is, since the control configuration S1 assumes the use of one link, in order to optimize the number of TCP connections for each of a plurality of links having different usage start times, 20 to 20 for each link. A convergence time of about 40 seconds is required.
その際に、同一イニシエータとターゲット間のリンクであれば、遅延量が大きく異なる確率は小さい場合が多く、各リンク間の帯域差が大きくなれば、以前に確立したTCPコネクション数が、新たなリンクにおけるTCPコネクション数に確率的に近いと考えられる。 At that time, if the link is between the same initiator and the target, the probability that the delay amount is greatly different is often small, and if the bandwidth difference between each link becomes large, the number of previously established TCP connections becomes a new link. Probably close to the number of TCP connections.
このような考え方に基づき前記制御構成S1を改善し、2本目以降のリンクに対してTCPコネクション数の最適値探索時間を短縮するために最初にチューニングしたTCPコネクション数を、以降のチューニングの起点として用いることで探索時間の圧縮を行う。これによりトータルのデータ転送量の増大あるいはデータ転送時間の短縮が実現される。 Based on this concept, the number of TCP connections initially tuned to improve the control configuration S1 and reduce the optimum value search time for the number of TCP connections for the second and subsequent links is used as a starting point for the subsequent tuning. Use to compress search time. As a result, the total data transfer amount can be increased or the data transfer time can be shortened.
具体的には、前記制御構成S2では、Link2(2番目のネットワークインタフェース)の起動を検知する監視制御部6が組み込まれている。この監視制御部6は、Link1(1番目のネットワークインタフェース)で運用するTCPコネクション数Nを、Link2のTCPコネクション数の初期値としてiSCSI接続を確立させている。以下、前記制御構成S2の全体的な処理プロセスを説明する。ここではLink1に対するTCPコネクション数の最適化処理完了後にLink2が追加される状況とし、各Link1.2の利用開始時間は相違しているものとする。
(1)Link1の最適化
まず、Link1が、矢印Aに示すように、利用開始時刻に起動すると、該Link1の起動を検知して、iSCSI/TCP接続が確立される。その際のTCPコネクション数は、iSCSIイニシエータ1とiSCSIターゲットとの間でのネゴシエーションにおける最大値が初期値に選択される。ただし、実際のコネクション利用は最大値で運用されるとは限らない。
Specifically, the control configuration S2 incorporates a monitoring control unit 6 that detects activation of Link2 (second network interface). The monitoring control unit 6 establishes an iSCSI connection by using the number N of TCP connections operated on Link1 (first network interface) as an initial value of the number of TCP connections on Link2. Hereinafter, an overall processing process of the control configuration S2 will be described. Here, it is assumed that Link2 is added after the optimization process of the number of TCP connections for Link1 is completed, and the use start times of each Link1.2 are different.
(1) Optimization of
そして、ファイルサーバ内の上位層(読み出し要求のキュー)から発行されるiSCSI(Read)コマンドが、矢印Bに示すように、コネクション振分機能部4に発行されると、該振分機能部4によってiSCSI(Read)コマンドがTCPコネクションに振り分けられる。通常は、どのLinkを使用しているかに関係なく、ラウンドロビン方式で均等に振り分けられることが多い。ここで振り分けられたiSCSI(Read)コマンドを、矢印Cに示すように、特定のTCPコネクションを通じて送信する。また、iSCSI(Read)コマンドを、矢印Dに示すように、別のTCPコネクションを通じて送信する。 When an iSCSI (Read) command issued from an upper layer (read request queue) in the file server is issued to the connection distribution function unit 4 as indicated by an arrow B, the distribution function unit 4 As a result, the iSCSI (Read) command is distributed to the TCP connection. In general, there are many cases where distribution is performed equally in a round robin method regardless of which link is used. The iSCSI (Read) command distributed here is transmitted through a specific TCP connection as indicated by an arrow C. Also, an iSCSI (Read) command is transmitted through another TCP connection as indicated by an arrow D.
それぞれのiSCSI(Read)要求の結果、受信バッファ5aに蓄積された「Read Data」をスループット値に換算し、矢印Eに示すように、TCP多重度数制御信号として振分制御部3に通知する。
As a result of each iSCSI (Read) request, “Read Data” stored in the
振分制御部3は、スループットの履歴に対して内蔵アルゴリズムの処理を実施する。すなわち、スループット値の履歴からTCPコネクション数の修正値(最大値)を探索し、矢印Fに示すように、コネクション振分機能部4の処理に反映させる(「iSCSI Read」コマンドを送り込むコネクションを制限する)。 The distribution control unit 3 performs a built-in algorithm process on the throughput history. In other words, a correction value (maximum value) of the number of TCP connections is searched from the history of throughput values, and reflected in the processing of the connection distribution function unit 4 as indicated by an arrow F (limits the connection to which the “iSCSI Read” command is sent) To do).
この結果、Link1を通したiSCSIスループットを最適化したTCPコネクション数Nによって運用が行われる。ここでは以降、Link1に対してTCPコネクション数の修正を行わずに運用を継続する。
(2)Link2の最適化
つぎに、Link2が、矢印Gに示すように、利用開始時刻に起動すると、矢印Hに示すように、監視制御部6がLink1の起動を検知する。このとき監視制御部6は、Link1で運用しているTCPコネクション数Nを監視し、Link2を通してiSCSI/TCP接続を確立するための初期のTCPコネクション数として、矢印Iに示すように、Link1で運用しているTCPコネクション数Nを用いる。
As a result, the operation is performed with the number N of TCP connections in which the iSCSI throughput through
(2) Optimization of
したがって、Link2は、N本のTCPコネクション数をもってiSCSI/TCP接続が確立される。これによりTCPコネクション毎にiSCSI(Read)コマンドが送信され、Link2を通して受信した「Read Data」が受信バッファ5bに蓄積される。この受信バッファ5bに蓄積された「Read Data」をスループット値に換算し、矢印Jに示すように、TCP多重度信号として振分制御部3に通知する。
Accordingly, in Link2, an iSCSI / TCP connection is established with the number of N TCP connections. As a result, an iSCSI (Read) command is transmitted for each TCP connection, and “Read Data” received through
振分制御部3では、Link1とLink2それぞれのデータ蓄積の変動量(スループット)の大小からLink2の帯域がLink1に比較して大きいか小さいかを判断し、またLink2のスループットの履歴から最適なTCPコネクション数を探索(内蔵アルゴリズムの処理を実施)したうえで、矢印Kに示すように、コネクション振分制御部3の振分処理に反映させる。
The distribution control unit 3 determines whether the bandwidth of the
すなわち、コネクション振分機能部4は、振分制御部3の探索したTCPコネクション数N’に応じて、矢印L.Mに示すように、iSCSI(Read)コマンドをそれぞれ送信する。これによりTCPコネクション数N’の下、Link2を通して受信した「Read Data」が受信バッファ5bに蓄積される。この受信バッファ5bに蓄積された「Read Data」をスループット値に換算し、矢印Oに示すように、TCP多重度信号として振分制御部3に再度通知する。
That is, the connection distribution function unit 4 determines whether the arrow L.P is set according to the number N ′ of TCP connections searched by the distribution control unit 3. As shown by M, an iSCSI (Read) command is transmitted. As a result, the “Read Data” received through the
そして、振分制御部3では、Link2のスループット値の履歴からTCPコネクション数を再度修正(内蔵アルゴリズムの処理を再実施)し、矢印Pに示すように、コネクション振分機能部4の振分処理に反映させる。これによりLink2を通したスループット値を最適化するTCPコネクション数(多重度)N’’が探索され、以後は当該TCPコネクション数で運用を継続する。
≪Link2起動時の調整原理≫
図4(a)は、図3中のLink1の利用予約状況を示し、図4(b)は図3中のLink2の利用予約状況を示し、Link1の利用開始時刻はt1と示され、Link2の利用開始時刻はt2と示されている。ここでは「t1<t2」が成立するため、Link1はLink2よりも早く利用が開始される。
Then, the distribution control unit 3 corrects the number of TCP connections again from the history of the throughput value of Link 2 (re-executes the processing of the built-in algorithm), and the distribution processing of the connection distribution function unit 4 as indicated by the arrow P To reflect. As a result, the number of TCP connections (multiplicity) N ″ for optimizing the throughput value through
≪Adjustment principle when starting Link2≫
4 (a) shows the usage reservation status of Link1 in FIG. 3, FIG. 4 (b) shows the usage reservation status of Link2 in FIG. 3, the usage start time of Link1 is indicated as t1, The use start time is indicated as t2. Here, since “t1 <t2” is established, use of Link1 is started earlier than Link2.
また、図4(a)(b)によれば、Link1.2は、共に予約した帯域幅は同一(bw1)と示されていることから、Link1で最適化(スループットが最大化)されたTCPコネクション数Nは、Link2のTCPコネクション数の最適値に近いものと推定される。 Also, according to FIGS. 4 (a) and 4 (b), since Link 1.2 indicates that the reserved bandwidth is the same (bw1), TCP optimized by Link 1 (throughput is maximized) The number of connections N is estimated to be close to the optimum value of the number of TCP connections of Link2.
このとき制御構成S2は、Link1のTCPコネクション数NをLink2のTCPコネクション数を初期値、即ちTCPコネクション数の調整の起点とするため、該起点を利用できない時に比べて、制御構成S1におけるリンクごとの収束時間(20秒〜40秒程度)が短縮される。
At this time, the control configuration S2 uses the number N of TCP connections in the
図5は、Link2起動時の初期値の調整原理を示している。ここでは図4(a)(b)の予約状況の下で、Link2の遅延量がLink1に比べて大きいか小さいかににより、A点→A´もしくはB点→B´のスループット変動が示されている。このスループット変動からLink2を通したデータ転送の実行帯域(Bandwidth)は、Link1の運用時と比較してその到着したデータの変動量の大小が判断可能となり、TCPコネクション数が調整される。すなわち、TCPコネクション数を最適値に調整するためには、A点→A´点の変動の場合にはN1→N2に探索を実施すればよく、またB点→B´の変動の場合にN2→N1に探索を実施すればよい。
FIG. 5 shows the principle of adjusting the initial value when
このように予約利用される複数リンクの予約帯域に大きな差が無い場合には、リンク毎にスループットを最大化するTCPコネクション数の決定に要する時間が短縮され、データ転送を効率化することが可能となる。 If there is no significant difference in the reserved bandwidth for multiple links reserved for use in this way, the time required to determine the number of TCP connections that maximizes throughput for each link can be reduced, and data transfer can be made more efficient. It becomes.
なお、本発明は、上記実施形態に限定されるものではなく、例えばiSCSI(Read)コマンドだけではなく、iSCSI(Write)コマンドの場合も同様の効果が得られる。また、本発明は、振分制御部3・監視制御部6を含んだ制御構成S2として、コンピュータを機能させるプログラムとしても構成することができる。この場合には、該プログラムをコンピュータの処理部(例えばCPUなど)が読み込んで図3中の各動作処理が実行される。 The present invention is not limited to the above-described embodiment. For example, the same effect can be obtained not only for an iSCSI (Read) command but also for an iSCSI (Write) command. The present invention can also be configured as a program that causes a computer to function as the control configuration S2 including the distribution control unit 3 and the monitoring control unit 6. In this case, the program is read by a processing unit (for example, CPU) of the computer, and each operation process in FIG. 3 is executed.
このプログラムは、Webサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、CD−ROM,DVD−ROM,CD−R,CD−RW,DVD−R,DVD−RW,MO,HDD,Blu−ray Disk(登録商標)などの記録媒体に記録して、保存・配布することも可能である。この記録媒体は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。 This program can be provided through a network such as a website or e-mail. The program is recorded on a recording medium such as a CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, MO, HDD, Blu-ray Disk (registered trademark). It is also possible to save and distribute. This recording medium is read using a recording medium driving device, and the program code itself realizes the processing of the above embodiment, so that the recording medium also constitutes the present invention.
現在、企業等を中心に災害対策のための大容量データバックアップ需要が高まっており、シンプルで経済的なシステムの実現に対する期待が大きい。本発明によるTCPコネクション数のスループットに対する最適化手法は、インターネット標準規格であり、すでに市販のストレージ装置が普及を始めているiSCSI技術に対する改良技術である。 Currently, there is an increasing demand for large-capacity data backup for disaster countermeasures mainly by companies, and there is a great expectation for realizing a simple and economical system. The optimization method for the throughput of the number of TCP connections according to the present invention is an Internet standard, and is an improved technique for the iSCSI technique in which commercially available storage apparatuses have already started to spread.
特に、今後進展が見込める帯域予約可能なネットワークサービスの利用を想定しているため、両者の連携により高速大容量データ転送を行う場合の運用(パラメータ設定)の自動化、転送時間の短縮によるネットワーク利用効率の改善等に効果を発揮する。 In particular, it is assumed that bandwidth-reservable network services that are expected to make progress in the future will be used. Therefore, network operation efficiency is improved by automating operations (parameter settings) when transferring high-speed and large-capacity data through cooperation between the two, and shortening the transfer time. It is effective in improving
1…iSCSIイニシエータ
2…iSCSIターゲット
3…振分制御部
4…コネクション振分機能部
5.5a.5b…受信バッファ
6…監視制御部
DESCRIPTION OF
Claims (5)
前記各接続リンクの利用開始時刻が異なるときに、先に起動したリンクに対してスループットを最大とするTCPコネクション数の最適値を探索する第1ステップと、
前記第1ステップで探索した先に起動したリンクの前記最適値を、次に起動したリンクのTCPコネクション数に適用し、両リンク間のスループット差に基づき次に起動したリンクに対してスループットを最大とするTCPコネクション数に調整する第2ステップと、
を有することを特徴とするiSCSI接続におけるTCPコネクション数の制御方法。 A method of controlling the number of TCP connections for each connection link between an iSCSI host device and an iSCSI device device having an iSCSI session with an initiator constructed in the host device,
A first step of searching for an optimum value of the number of TCP connections that maximizes throughput with respect to a previously activated link when the use start times of the connection links are different;
Apply the optimal value of the previously activated link searched in the first step to the number of TCP connections of the activated link, and maximize the throughput for the activated link based on the throughput difference between the two links. A second step of adjusting the number of TCP connections to
A method for controlling the number of TCP connections in an iSCSI connection.
次に起動するリンクに対して前記最適値を初期値としてiSCSI接続を確立させるステップと、
をさらに有することを特徴とする請求項1記載のiSCSI接続におけるTCPコネクション数の制御方法。 Monitoring control means for monitoring the activation of each of the connection links and detecting the link to be activated next;
Establishing an iSCSI connection with the optimum value as an initial value for a link to be activated next;
The method for controlling the number of TCP connections in the iSCSI connection according to claim 1, further comprising:
前記イニシエータに、前記各リンクの利用開始時刻が異なるときに先に起動したリンクに対して、スループットを最大とするTCPコネクション数の最適値を探索する手段と、
先に起動したリンクの前記最適値を、次に起動したリンクのTCPコネクション数に適用し、両リンク間のスループット差に基づき次に起動したリンクに対してスループットを最大とするTCPコネクション数に調整する手段と、
を設けたことを特徴とするiSCSIホスト装置。 In the iSCSI host device in which an initiator that performs an iSCSI session with the iSCSI device is constructed,
Means for searching the initiator for the optimum value of the number of TCP connections that maximizes the throughput for the link that was activated first when the use start time of each link is different;
Apply the optimal value of the link activated first to the number of TCP connections of the next activated link, and adjust the number of TCP connections to maximize the throughput for the next activated link based on the throughput difference between the two links Means to
An iSCSI host device characterized by comprising:
前記監視制御手段が、次に起動するリンクに対して前記最適値を初期値としてiSCSI接続を確立させる
ことを特徴とする請求項3記載のiSCSIホスト装置。 It further comprises monitoring control means for monitoring activation of each link and detecting a link to be activated next,
The iSCSI host device according to claim 3, wherein the monitoring control means establishes an iSCSI connection with the optimum value as an initial value for a link to be activated next.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009137600A JP2010283780A (en) | 2009-06-08 | 2009-06-08 | 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 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009137600A JP2010283780A (en) | 2009-06-08 | 2009-06-08 | 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 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010283780A true JP2010283780A (en) | 2010-12-16 |
Family
ID=43540100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009137600A Pending JP2010283780A (en) | 2009-06-08 | 2009-06-08 | 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 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010283780A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012086391A1 (en) | 2010-12-20 | 2012-06-28 | Canon Kabushiki Kaisha | Information acquisition method |
JP2013081004A (en) * | 2011-09-30 | 2013-05-02 | Toshiba Corp | Server, server control method, and server control program |
-
2009
- 2009-06-08 JP JP2009137600A patent/JP2010283780A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012086391A1 (en) | 2010-12-20 | 2012-06-28 | Canon Kabushiki Kaisha | Information acquisition method |
JP2013081004A (en) * | 2011-09-30 | 2013-05-02 | Toshiba Corp | Server, server control method, and server control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11561730B1 (en) | Selecting paths between a host and a storage system | |
CN111722786B (en) | Storage system based on NVMe equipment | |
US9521200B1 (en) | Locally providing cloud storage array services | |
US9882805B2 (en) | Dynamic path selection policy for multipathing in a virtualized environment | |
US20160092136A1 (en) | Method and apparatus for cost-based load balancing for port selection | |
US9513835B2 (en) | Impact-based migration scheduling from a first tier at a source to a second tier at a destination | |
Yildirim et al. | End-to-end data-flow parallelism for throughput optimization in high-speed networks | |
US9191330B2 (en) | Path selection for network service requests | |
JP2012529840A (en) | Method and apparatus for selecting optimum transmission protocol | |
CN102388584A (en) | Method and device for controlling congestion | |
JP2006270303A (en) | Method and device of controlling communication, and storage medium which records communication control program | |
WO2015010197A1 (en) | Method and apparatus for providing redundant data access | |
US20050188074A1 (en) | System and method for self-configuring and adaptive offload card architecture for TCP/IP and specialized protocols | |
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 | |
TWI585593B (en) | Method and system for optimizing transfer path | |
JP5179218B2 (en) | Method for controlling number of TCP connections of iSCSI session, iSCSI host device, and iSCSI initiator configuration program | |
Nunome et al. | A distributed storage system with dynamic tiering for iSCSI environment | |
JP5062097B2 (en) | Information processing apparatus, information processing apparatus control method, and information processing apparatus control program | |
US8161180B1 (en) | Method and apparatus for routing a data stream through a plurality of data movers independent of a network interface type | |
JP2010009472A (en) | Network system, control method for network system, and control program | |
US8909825B2 (en) | System for determining a maximum multiplicity set for communication lines between a plurality of devices using a calculated rate received from the plurality of devices | |
JP6375849B2 (en) | FILE SYSTEM, MANAGEMENT DEVICE CONTROL PROGRAM, AND FILE SYSTEM CONTROL METHOD | |
JP2004023327A (en) | Network system | |
US20060126520A1 (en) | Tape acceleration | |
JP2010198187A (en) | Method for controlling number of tcp connections of iscsi session, iscsi host device, and configuration program for iscsi initiator |