このアプリは、日本のテクノロジーです。
KVS (Key Value Store)は、電気通信ディレクトリ、IP 転送テーブル、重複排除ストレージ システムなどで有効なデータ管理手法です。今回は、ルックアップ エンジンを備えた AlveoU50 で高速化を実現した KVS システムの例として「Axonerve」を紹介します。
ベンダー: Axonerve by Nagase
更新日: 2020 年 11 月 16 日
サイズ: N/A
コンテナー バージョン: kvsimage_u50_v1.0
この製品を評価または購入する権限を取得します。
無償トライアルで下記のサンプル アプリケーションを実行できます。
このアプリケーションの価格プランを確認して購入します。
このアプリケーションはコンテナー化されており、クラウドまたはオンプレミス上で数分で簡単に実行できます。
オンプレミス | |
---|---|
Alveo U50 製品の詳細および購入 |
|
運用方法に応じた手順に従ってください。
ユーザー認証と、ユーザー アカウントの権限に基づいてアプリケーションへのアクセスを許可するには、アクセス キーが必要です。次の手順に従って、ご自身のアカウントのアクセス キーを取得してください。
注記: 生成したアクセスキーで、ご自身のアカウント内のすべての権限を有効にできます。上記の「TRY OR BUY」セクションから権限を取得していない場合は、この手順を実行してからアクセス キーを生成してください。
Xilinx Runtime (XRT) ホスト アプリケーションは、Ubuntu 16.04 /18.04 および CentOS 7.x でサポートされています。sudo アクセスが許可されている状態で、次のコマンドを使用して、セットアップ スクリプトをダウンロードして実行します。
このアプリケーションは、クライアント/サーバー モデルです。PC を 2 つ準備します。1 つは U50 をインストールした KVS アプリケーションを実行するサーバー マシン用の PC です。もう 1 つは、KVS ユーティリティ スクリプトを使用してサーバーへアクセスするためめのクライアント マシン用の PC です。100Gb イーサネット ケーブルを使用して、サーバーの U50 をクライアントへ接続します。100Gb イーサネットを使用するには、100GbE トランシーバーやクライアント PC 用の 100GbE NIC など、ハードウェア機能の追加が必要になる場合があります。
XRT (Xilinx Runtime) ホスト アプリケーションは、 Ubuntu 16.04 /18.04 および CentOS 7.x でサポートされています。sudo アクセスが許可されている状態で、次のコマンドを使用してサーバー マシン用のセットアップ スクリプトをダウンロードして実行します。
git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git && cd Xilinx_Base_Runtime
./host_setup.sh –v 2020.1
注記:
sudo アクセスが許可されている状態で、次のコマンドを使用してユーティリティ スクリプトを実行してドッカーをインストールします。
cd Xilinx_Base_Runtime/utilities
./docker_install.sh
サーバー マシンのターミナル ウィンドウで次のコマンドを入力して、サーバー アプリケーションを実行します。
source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh
docker pull xilinxpartners/axonerve_kvs:alveo_u50
ターミナル ウィンドウで次のコマンドを入力して、インタラクティブ モードでドッカー イメージを実行します。コンテナーが自動的にセッションを開始して、FPGA ボード上の KVS サーバー アプリケーションを起動します。セッションを停止する場合は、コンテナーからのメッセージに従ってキーを押してください。
docker run –it -v local_path_to_cred.json:/cred.json $XILINX_DOCKER_DEVICES xilinxpartners/axonerve_kvs:alveo_u50:latest
コマンド引数の説明:
-v local_path_to_cred.json:/cred.json
- Map local cred.json dir : コンテナー ディレクトリ$XILINX_DOCKER_DEVICES
- ホスト セットアップ スクリプトで設定された変数サーバー マシン上でサーバー アプリケーションが起動すると、KVS サーバーはクライアント マシンからのクエリに応答する準備が整います。クライアントのターミナル ウィンドウで次のコマンドを入力して、KVS ユーティリティ スクリプトを使用します。
上記の 「サーバー セットアップ」 を参照して、クライアント マシンにドッカーをインストールする
docker pull xilinxpartners/axonerve_kvs_client_software
docker run -it --net=host xilinxpartners/axonerve_kvs_client_software:latest
Python3 ベースのユーティリティ スクリプトと一連のパフォーマンス チェッカー アプリケーションのソースは、/software ディレクトリから入手できます。
KVS ユーティリティ スクリプト
Python ユーザーは、raw_axonerve_util.py をライブラリとして使用できます。使用方法については、raw_axonerve_se.py、raw_axonerve_we.py、および raw_axonerve_reset.py を参照してください。
たとえば、クライアントのドッカー コンテナーで次のコマンドを実行してください。
cd /software; python3 raw_axonerve_util.py NIC_device_name
コマンド引数の説明:
パフォーマンス チェッカー
理論上、このリファレンスの Axonerve は 1 秒間に最大 2 億のクエリを処理できますが、100GbE によって制限されるため、実際の最大性能は約 1 億 9000 万クエリ/秒となります。性能を測定する場合は、C プログラムの perf_check.c を使用してください。
cd /software; make; ./perf_check