Maxava、IFSレプリケーションのパフォーマンスを大きく向上させる
ハイアベイラビリティーの世界で、IFSデータのレプリケーションがひとつの障壁になっていました。365日24時間の事業継続が求められる企業にとってはダウンタイムが許されないため、全てのシステムとデータをバックアップし、フェイルオーバー・システムを構築し、全てのアクセスを保持することが最重要課題です。この鍵となるのはスループットのパフォーマンスです。Maxava社は同社のHA製品に最近採用したマルチスレッドのレプリケーション・アーキテクチャーによってIBM i Integrated File Systemsに取り組んでいました。
マルチスレッドのIFSレプリケーションによって組織は多重のIFSレプリケーション処理を並行で行うことができ、スループットが著しく向上します。単一スレッドレプリケーションからのこのパフォーマンスアップグレードの鍵となるのはマルチ・ダイナミック・アプライ・グループと自動化されたトリガー・ポイントです。バックアップのシステム上で迅速なデータのレプリケーションを実行するのでIFSデータが処理を待つキューに留まることはありません。
マルチスレッドのアプライ処理のサポートは新しいことではありません。MaxavaはこれをIBM i IFSに使用する前にDB2 for iのデータとIBM iのオブジェクトの複製にこのテクノロジーを採用していました。これはIBMが20年前、PCスタイルのASCIIファイルのサポートを可能にするためにOS/400に移植したOS/2並行ファイルシステムの派生品です。IFSよりも高い優先度を有するデータベースにこのテクノロジーが採用されたのは当然といえます。一部の企業ではIFSファイルが従来になかったペースでその数とサイズが増えています。かつては10 GBから20 GBの範囲で「ビッグファイル」を複製するのが一般的でしたが、今やファイルは数百ギガバイトの世界です。
Maxava社でこのプロジェクトを率いたPete Kaniaは、IFSはDB2 for iのデータベースと全く性質が異なると言います。
データベースとIFS間で共通するのは、どれくらい多くのオブジェクトが含まれているかを知ること、ライブラリーのサイズを知ること、管理に何が必要かを理解すること、及び完成に必要な要素、といった項目です。
相違することはアプリケーションがIFSに多くの資料を保管することです。Kaniaは現在の課題はレプリケーションの必要の有無を把握することだと言います。一部の資料がIFSに保管されることは一時的であり、複製の必要は有りません。不必要なデータとオブジェクトを遠くに送ることは処理を遅らせ、コストも嵩みます。
Kaniaは「我々が数年前、IFSレプリケーションを初めてリリースしたとき、パフォーマンスのスピードは最高だと信じており、事実スピードは我々がリプレースした競合者のシステムに勝っていた。しかしながら、顧客がさらに多くのデータとサイズの増大したIFSを使い始めたため、我々は我々の製品について"将来の保証"を考えた」と言います。
将来保証の一部は、マルチスレッドのテクノロジーを導入したことです。これによりボリュームが増加するのでいっそう多くの「適用グループ」が追加されて重いロードと軽いロードがダイナミックに調整できるとKaniaは説明しています。
多くのジョブを早いペースで処理するのには限界が有ります。多すぎるジョブでマシーンに過負荷を掛けると、メモリー、CPW、及びI/Oを使い果たすことになります。全てのマシーンとワークロードは最速で稼働するスイートスポットを有しています。従って、多重のジョブを稼働させる観点から出来得ることはシステムによって異なります。
マルチスレッドのパフォーマンスを変える他の要因はアップデートの必要回数とネットワークの処理量です。なお、単にマルチスレッドに求めるだけではなく、それ以上に必要なことは、ジョブの稼働の速さはプログラムのコーディングに依存するということであり、この要素を同じく考慮する必要があります。
IBMがPower8で実現した高速処理、高速ディスク及びI/Oによって、企業はマルチスレッドといったフィーチャーを巧く利用することができ、大容量のデータを処理することができます。
Kaniaは「一般的に多くのスレッドを使えば使うほど、スピードが高まってボックスとネットワーク性能の上限に向かう。しかしながら我々はスイートスポットを見つけることができる」と説明しています。さらに「IBM iのショップは伝統的にシステムのパフォーマンスを高くチューニングしている。大規模の顧客は特にパフォーマンスのチューニングに専念するチームを組成して、システムの上限までパフォーマンスを高めている。また数百ギガバイトの多重ファイルを処理するシステムを有している。アプリケーションはデータベースをアップデートし、読み込み、あるいは修正して、ファイルサイズが増大している。なお、ランタイムの観点からコードにおける非効率性が即座に現れ、これが一部の顧客で課題となっている」と説明しています。