GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04でopenDataplaneとOpenFastPathを使用してネットワークパフォーマンスを向上させる

オープンデータプレーン(ODP)

Linuxベースのネットワークソリューションのパフォーマンスは、過去の最大の問題の1つでした。そのため、Intelはデータプレーン開発キット(DPDK)プロジェクトを開始しました。 ODP環境の目標は、データプレーンアプリケーションにクロスプラットフォームフレームワークを提供することです。 ODPは、データプレーンアプリケーションの環境を提供するオープンソースプロジェクトです。使いやすく、高性能を提供し、さまざまなネットワークシステムオンチップ(SoC)、命令セット、およびARMやIntelなどのアーキテクチャ間で移植可能です。 OPD環境は、さまざまな基盤となるハードウェアベンダー向けに最適化された、さまざまなアーキテクチャおよびユーティリティの構成ファイル、サービス、APIで構成されています。 ODP環境の目的は、APIを基盤となるアーキテクチャから分離することであり、ソフトウェアとハ​​ードウェアの両方の実装をサポートするように設計されており、最新のSoCに存在するアクセラレーション機能を深く活用します。

オープンファストパス(OFP)

ご存知のように、ネットワーク内の高速パケット処理デバイスまたはマシンを必要とする指数関数的に増加するデータトラフィックには、高性能デバイスが必要です。 OpenFastPathは、高性能TCP / IPスタックのもう1つのオープンソース実装であり、従来のLinuxスタックを使用するネットワークアプリケーションに役立ちます。 OFPの主な機能は、完了、実行モデル、およびフレームワークにODPを使用しているさまざまなアプリケーション用のライブラリとして提供されます。 OFPは、ネットワークソリューションの高性能を実現するためにDPDKとODPの両方をサポートしています。

環境セットアップを構築する

OFPプロジェクトのWebサイトによると、一般的な32/64ビットx86Linuxマシンでテストされています。このチュートリアルでは、OFPはUbuntu16.04VMにインストールされます。

前提条件

次の手順は、rootユーザーとして実行されます。実行:

sudo -s

サーバーのルートになります。

UbuntuでOFPおよびODPコードをコンパイルするには、次のパッケージが必要です。

これらは、ODPおよびOFPにアクセスして構築するために必須です:

apt-get install git libtool automake build-essential pkg-config

ただし、次のパッケージはオプションです。

 apt-get install libssl-dev valgrind libcunit1 libcunit1-doc libcunit1-dev

OFPパスは、ODPおよびDPDK(Intel)で使用できます。ただし、このチュートリアルでは、ODPはOFPプロジェクトで使用されます。以下に示すように、gitユーティリティを使用してODPコードをダウンロードします。

 git clone https://git.linaro.org/lng/odp.git

ODPソースコードのルートディレクトリに移動し、次のコマンドを実行します。

 ./bootstrap

このチュートリアルでは、ODPのインストールディレクトリは「/ usr / local/odp」です。

mkdir /usr/local/odp

次のスクリーンショットに示すように、プレフィックスオプションを使用してconfigureスクリプトを実行します。

 ./configure --prefix=/usr/local/odp/

configureスクリプトの出力を以下に示します。

UbuntuプラットフォームでのODPのコンパイルとインストールのためにmakeとmakeinstallを実行します。

make
make install

以下に示すように、gitコマンドを使用してOFPコードをダウンロードします。

git clone https://github.com/OpenFastPath/ofp

OFPソースコードのルートディレクトリに入り、。/bootstrapコマンドを実行します。

cd ofp/
./bootstrap

OFPプロジェクトのインストールディレクトリは「/usr/ local/ofp」です。次のconfigureスクリプトを実行して、プロジェクトの依存関係を確認します。

 ./configure --prefix=/usr/local/ofp/ --with-odp=/usr/local/odp/ --enable-cunit

構成スクリプトの出力を次のスナップショットに示します。

「make」コマンドを実行して、OFPプロジェクトコードをビルドします。 OFPアプリケーションの構築には時間がかかります。

make

次のコマンドは、OFPプロジェクトのバイナリとライブラリをプレフィックスパス内に配置します。

make install

インストール後、バイナリとライブラリは「 / usr / local / ofp」の下に配置されます 「パス。OFPプロジェクトに関連するすべてのテストアプリケーションは、「ビン」の下にあります。 "ディレクトリ。

OFPアプリケーションの実行

OFPアプリケーション(fpm)を実行するには, OFPソースコードのルートディレクトリの下にあるscriptsディレクトリに移動します。

デフォルトでは、fpmアプリケーションはeth0インターフェースで実行されます。ただし、ubuntu 16.04 LTSでは、インターフェース名は「 enp0s3」です。 "。次の​​スクリーンショットは、" start_device.shを使用してfpmアプリケーションを実行する方法を示しています。 「スクリプト。

fpm」を実行した後 "アプリケーション、新しいインターフェース" fp0 "は以下のように作成されます。

次のコマンドを実行して、「 fpm」のCLIにアクセスします。 「アプリケーション。

telnet localhost 2345

アプリケーションのCLIは、いくつかの基本的なコマンドをサポートしています。次のスクリーンショットは、「統計」を使用したインターフェース統計を示しています。 「コマンド。fastpathアプリケーションを実行すると、イーサネットインターフェース(enp0s3)がLinuxから切断され、「NoARP」が設定されます。新しく作成された仮想インターフェース(fp0)は、LinuxOSで通信に使用されます。

参照
  1. http://www.opendataplane.org/wp-content/uploads/2014/01/ODPIntroductionandOverview-2014Jan29.pdf
  2. http://www.openfastpath.org/index.php/service/technicaloverview/

Ubuntu
  1. Ubuntuのプリロードでアプリケーションの起動速度を向上させる

  2. 高性能のオープンインフラストラクチャがUbuntuに登場

  3. VagrantとUbuntu12.10のRvmでのエラー?

  1. Ubuntu20.04でvnStatを使用してネットワークトラフィックを監視する

  2. NvidiaGpuとUbuntu16.04の問題?

  3. ubuntuでarp-scanを使用してローカルネットワークをスキャンします

  1. UbuntuにMySQLWorkbenchをインストールして使用を開始する

  2. Ubuntu16.04LinuxおよびKVMを使用したシンプルな仮想化

  3. ApacheとMySQLを使用したUbuntuLinuxへのWordPressのインストール