BittWareウェビナー

Arkville インテル®Agilex™ FPGAを使用したPCIe Gen4データムーバー ウェビナー

Atomic Rules社のArkville IPは、最近更新され、BittWare'の最新IAシリーズ製品に搭載されているものを含むIntelAgilex FPGAをサポートします。Arkville 、PCIe Gen4 x16上で最大220Gb/sでデータ転送を行います。

このウェビナーでは、BittWare の Jeff Milrod が、IntelAgilex FPGA をサポートする製品、およびさまざまな市場でのデータムーバー IP の使用について説明する予定です。また、インテルのTom Schulteが、PCIe Gen5のサポートなど将来の機能を含むAgilex 製品ラインについて説明します。

最後に、Atomic Rules社のShep Siegel氏にデモを行っていただき、Agilex FPGA上のArkville データムーバーIPで短時間で達成された性能について解説していただきます。彼は、Arkville 、性能を犠牲にすることなく、市場投入までの時間を短縮し、開発を容易にする方法についての洞察を提供する予定です。

ライブイベントでの質疑応答を収録したウェビナーを下記よりご覧ください。

BittWare とインテルのロゴ
アトミック・ルールのロゴ

スピーカー

ジェフ・ミルロッド写真
Jeff Milrod| チーフテクニカル&ストラテジーオフィサー、 BittWare
トーマス・シュルテ 写真
Thomas M. Schulte| インテル®プログラマブル・ソリューション・グループFPGA製品担当プロダクトライン・マネージャー
シェップ・シーゲル 写真
シェパード・シーゲル| アトミック・ルールズCTO
 
ビデオトランスクリプト

ウェビナーへようこそ:Arkville インテルFPGAを使用したPCIe Gen4データ移動。BittWare のマーカスです。

簡単にプレゼンターとその内容を紹介させていただきます。

まず最初に、BittWare の最高技術・戦略責任者であるジェフ・ミルロッド(Jeff Milrod)氏から、Agilex FPGA を中心としたBittWare 製品ラインについて、またBittWare の IP パートナーとソリューションについて少しお話しいただきます。

次に、IntelのTom SchulteがIntelAgilex FPGAに焦点を当て、データ移動のための今後の機能のいくつかを紹介する。

最後に、Atomic Rules のShep Siegel 氏をお招きする。Shep はBittWareの IntelAgilex FPGA を搭載した IA-840F カード上で動作する Gen4 x16 データ移動のデモを含め、Arkville について説明してくれる。

この後、また生放送で質問を受け付けます。

では、ジェフに話を聞いてみましょう!


Jeff Milrod| チーフテクニカル&ストラテジーオフィサー、 BittWare

皆さん、こんにちは。本日はお集まりいただきありがとうございます。マーカスが申し上げたように、私はジェフ・ミルロッドといい、ここBittWare で最高技術・戦略責任者を務めています。BittWare はモレックスの一部です。具体的には、データコム&スペシャリティ・ソリューション・グループの中のビジネスユニットです。モレックスの一員である当社は、このスライドにあるように、自社製造とグローバル・ロジスティクスの能力を利用することができます。

BittWare は、様々な市場において30年以上にわたるFPGAの経験と専門知識を有しています。この間、エンタープライズクラスのFPGAハードウェアプラットフォームだけでなく、システムインテグレーション、ツールサポート、リファレンスデザイン、アプリケーションIPなど、顧客が迅速かつ低リスクでソリューションを展開できるよう、提供するサービスの幅を広げてきました。当社はインテルパートナーアライアンスプログラムの一員であり、過去20年にわたり、ハイエンドFPGAアクセラレータと、Altera およびインテルFPGAの各世代を搭載したボードを開発しています。

モレックスの伝統と専門知識、そしてグローバルなリーチを融合させたBittWare は、顧客が FPGA テクノロジーを活用し、要求の厳しいアプリケーションやワークロードに対応できるようにするユニークな資格です。BittWareのアクセラレーション プラットフォームは、コンピュート、ネットワーク、ストレージ、センサー処理という 4 つの異なるアプリケーションと市場分野を対象としています。これらのアプリケーションと市場はそれぞれ複雑で、さまざまなワークロードをカバーしています。ここではいくつかの例を示します。

個人的には、BittWare に数十年間在籍し、その間、FPGA アクセラレータの最先端の波に乗り、加速されたソリューションの開発・展開を可能にする強固なハードウェア プラットフォームを提供することに注力してきました。Agilex は、Altera/Intel ベースの FPGA ソリューションとしては第 7 世代となりますが、その間に、Agilex ほど新しいテクノロジー世代に興奮したことは記憶にありません。

これらのエンジンは、性能面で飛躍的な進歩を遂げ、これまでよりもはるかに多くのアプリケーションやワークロードを高速化するための力をユーザーに与えることができると思います。インテルのAgilex FPGA の第一弾は F シリーズで、BittWare はこれを活用して、ここに示すような適切な名前の F シリーズ製品ファミリーを製造しました。今後、IシリーズとMシリーズを発売する予定ですが、それについてはまた後ほど。

当社のフラッグシップ製品は、左のIA-840fです。これは、現在入手可能な最大のAgilex 、AGF027を搭載しています。これはGPUサイズのカードで、PCIe Gen4 x16を備えています。つまり、FPGAからホストまでの帯域幅は、現時点で世界のどこよりも大きいのです。

前面には3つのQSFP-DDがあり、6レーンの100GbEを実装することが可能です。背面には16レーンの拡張ポートがあり、ストレージアレイや他のデバイスに接続することができます。

私たちは、ハードウェア・プラットフォームにもたらす付加価値の重要な部分であるボード・マネージメント・コントローラーを用意しています。もちろん、oneAPIをはじめとするインテルのワールドクラスのツールもサポートしています。

右側には、より特殊なアプリケーションをターゲットにした2つのボードが見えます。IA-420FはNICサイズのカードで、SmartNICなどに使用できます。計算ストレージアレイ、計算ストレージ処理、無線アクセスネットワークなど、この小型のカードにはさまざまなアプリケーションがあります。

そして右端には、U.2 SSDドライブ形式のIA-220-U2が展示されています。これは、特に計算機用ストレージ処理アプリケーションをターゲットにしています。

これらのボード、そしてBittWareのすべてのハードウェアボードは、当社のエンタープライズクラスの基盤の上に構築されています。これは、リスクを低減し軽減するために、明確に定義された安定した信頼できるプラットフォームを意味します。

私たちは、すべてのコンプライアンスと認証、構成の厳格な管理とコントロール、明確で簡潔なドキュメント、動作デモの提供、アクセスするためのソフトウェアツールなど、非常に包括的で徹底した時間をかけているため、幅広いサポート能力を備えています。エンタープライズクラスのカテゴリーでは、右図に示すように、それぞれのカテゴリーに複数のチェックリストがあり、信頼と安定性を備えた製品品質のボードをリリースする前に、必ず実装し、厳格な検証を行うという、より高度なレベルになっています。

当社のアプリケーション・ソリューション・イネーブルメント・チームは、FPGA内で実装する必要がある多くの詳細や仕様に対処するために、ハードウェアの上でより高いレベルの抽象化を継続的に開発しています(私はゲートウェア開発と呼んでいます)。

これは、私たちのウェブサイトから入手できるホワイトペーパー、ケーススタディ、事例、参考デザインの一例です。他にもたくさんありますので、ぜひご覧ください。

プラットフォームイネーブルメントのためのこのIPロードマップは、BittWare'がAgilex FPGAに付加価値を与えるために重要です。私たちの全体的な目標は、顧客が苦労しているPCIe、Ethernet、NVMeのインフラを供給し、それらの問題を取り除くことです。

私たちは、Arkville や、Atomic Rules がこれから説明する DPDK data mover のような、世界クラスの特定の実装を出荷するために、内部開発だけでなく、主要なサードパーティと提携しています。これは、私たちが現在取り組んでいるもので、私たちがAgilex プラットフォームを成熟させるのに伴い、来年中にリリースする予定のものをすべてリストアップしたものです。

数年前、私たちはブランクFPGA、あるいはベアメタルと呼ばれるFPGAを販売したことがあります。そして、顧客は多くの時間をかけて、FPGA全体を使用するように拡張する顧客アプリケーションIPを開発するのです。しかし、FPGAのサイズ、複雑さ、高度さ、性能が高まるにつれ、メモリ、センサー、ネットワーク、拡張I/Oをホスト通信、ボード管理コントローラ、システム統合に接続する下位レベルの実装が、より多くの設計リソースと能力を消費することが分かってきたのです。

私はこれを「配管」と呼んでいます。ゲートウェアの配管は、FPGA上のハードウェアやI/O、最後の1ミクロンと呼んでいるボードレベルの実装など、細部にまで踏み込む必要がないように、高度なFPGAでアプリケーションソリューションを実現するための付加価値の重要な部分です。BittWare ハードウェアのより高度な実装を実現するために、私たちのお客様はこの配管を使用しています。

もちろん、私たちはそのすべてを提供します。もしお客様がそれを自分でやりたければ、それはそれで結構ですが、私たちはそれをすべてエンタープライズクラスのプラットフォームの一部として行い、証明しています。そのため、お客様の独自のアプリケーションIPは、カーネルからメモリへ、ホストへ、そしてネットワークへ...というような複雑な作業をするのではなく、そのワークロードとアプリケーションのための特別な秘伝ソースや独自の付加価値について、より深く考えることができます。

その代表的な例として、Atomic Rulesと、ホストへのArkville DPDKデータムーバーがあります。このエンジンでは、まさに最高のパフォーマンスとCPUオフロードを実現しています。これについては、また後ほどお話します。しかし、その前に、Agilex FPGAとインテルが提供する製品について、もっとよく理解しておくことが必要だと考えています。それでは、Tomにバトンタッチします。ありがとうございました。


Thomas M. Schulte| インテル®プログラマブル・ソリューション・グループFPGA製品担当プロダクトライン・マネージャー

ありがとう、Jeff。先ほど Jeff が述べたように、新しい量産型BittWare アクセラレータカードは Intel の最新 FPGA であるAgilex をベースにしています。ここでは、Agilex ファミリーで提供される重要な機能のいくつかを紹介します。

このデバイスは、第2世代のIntel Hyperflex™アーキテクチャとIntelの10nm SuperFinプロセス・テクノロジーを採用しており、前世代のIntel FPGAと比較した場合のみならず、競合他社の7nm FPGAと比較しても、大幅な性能向上と電力削減を実証しています。

このウェビナーでは、これらの機能のすべてをレビューするつもりはありませんが、代わりに、新しいCPUインターフェースプロトコルであるPCI Express Gen5とCompute Express Link(通称CXLと略記)に焦点を当てたいと思います。

IntelAgilex ファミリーの一部のデバイスは、PCI Express の全帯域幅をサポートし、ポートあたり最大 x16 レーンを構成し、同等の構成の Gen4 デバイスと比較して 2 倍の帯域幅を提供します。

ホスト CPU に戻るコヒーレントなインターフェイス接続を必要としない高速化ユースケースやワークロードでは、PCI Express が高性能アプリケーションの業界標準であり、今後も FPGA ベースアクセラレータの主要な構成要素であり続けるでしょう。

IntelAgilex FPGAの一部では、これらのデバイスはCXLプロトコルの全帯域幅をサポートしています。PCI Express プロトコルと比較して、低レイテンシーでコヒーレントなインターフェイスを提供します。特にメモリ関連のトランザクションに大きく依存するような高速なユースケースやワークロードでは、CXLインターフェイスは多くの高性能アプリケーションに活用されるようです。

私は、2つの重要な指標に基づいて、このように考えています。1つ目は、Compute Express Link Consortiumに参加した100社を超える企業です。そして2つ目は、CXLベースの製品やソリューションの提供を予定しているお客様の数です。

PCI Express Gen5 と CXL の詳細も楽しみですが、実際にシリコンを入手し、これらのインターフェイスを実行することはさらに良いことです。インテルのさまざまなチームが、コードネーム「Sapphire Rapids」と呼ばれる新しい次世代インテルCPUを搭載した新しいプラットフォームを実現するために必要なハードウェアとソフトウェアのテスト、特性評価、エンジニアリングサンプルの出荷を続けています。

これらのプラットフォームに加え、多くのお客様が、これら2つの新しいインターフェイスをサポートするAgilex FPGAのエンジニアリング・サンプルを既に受け取っています。

実際、Sapphire Rapidsの1つ1つのCPUをテストするために使用される内部ハードウェアの一部は、IntelAgilex FPGAをベースにしています。

Agilex FPGAは3つのシリーズに分類され、それぞれ異なるアプリケーションを対象としています。Fシリーズのデバイスは、最大58ギガビット/秒のトランシーバー・サポート、DSP機能の強化、高いシステム統合を実現し、データセンター、ネットワーキング、エッジ、組み込み、産業、軍事、さらには無線といった幅広いアプリケーションをターゲットとしています。これは、Agilex ファミリーのデバイスの中で、ある意味、汎用的なカテゴリーと考えられています。

Iシリーズでは、高性能なプロセッサ・インターフェースや帯域幅を必要とするアプリケーション向けに最適化されたデバイスが多数用意されています。これらのシリーズは、新しいCXLプロトコル、PCI Express Gen5、および最大116Gのトランシーバ帯域幅をサポートするオプションを提供する予定です。IシリーズFPGAは、膨大なインターフェイス帯域幅と高性能が要求されるアプリケーションにとって、魅力的な選択肢となります。

そして最後に、Mシリーズ・デバイスです。これらは、計算機やメモリを多用するアプリケーションに最適化されています。このシリーズは、FシリーズやIシリーズでは利用できない追加機能を提供する予定です。DDR5、LPDDR、統合HBM2スタックなどです。Agilex MシリーズFPGAは、一般的に高帯域幅に加えて大量のメモリを必要とするハイパフォーマンス・コンピューティング・アプリケーションなど、データ集約型のユースケース向けに最適化されています。

IntelAgilex FPGA の詳細については、このページの右上に表示されている URL を使用してください...しかし IntelAgilex FPGA についてはもう十分です。Atomic Rules の Shep から、Arkville データムーバー IP について聞いてみましょう。この IP は、Agilex F シリーズ量産 FPGA をベースにしたBittWareの新しいアクセラレータ カードで使用できます。それでは、Shepさん、よろしくお願いします!


シェパード・シーゲル| アトミック・ルールズCTO

トムさん、ご紹介ありがとうございます-素晴らしいです。Arkville Agilex今日はこのウェビナーにお越しいただいてありがとうございます。これは長い時間をかけて作られたもので、このウェビナーはそのロールアウト・パーティーなのです...では、どうぞ。

Arkville onAgilex: それはFPGAのためのGen4データモーションで、ただ動くだけです。その前に、Atomic Rulesについて少し説明します。私たちは、以前からこのようなことを行ってきました。私たちのビジネスモデルは、より少ないものをより良くすることです。私たちは、いくつかの主要なコア製品を作っています:Arkvilleもちろん、今日お話しするUDPオフロードエンジンは、UDPとハードウェアを処理し、TimeServoとTimeServo PTPは、データセンター内のFPGAデバイス群にコヒーレントなシステムタイムクロックを提供します。

私たちは、インテルのゴールドパートナー認定ソリューション・プロバイダーであり、そのことを非常に誇りに思っています。また、10年以上にわたって、オープンソースプロジェクトに貢献し、エンタープライズグレードのエンジニアリングソリューション...特にコンピュートとネットワークIPの通信に焦点を当ててきました。そして、私たちが成長できるのは、少数精鋭のリピーターのお客さまのおかげであることを、本当に誇りに思い感謝しています。

よし、Arkville に飛び込もう。Arkville はDPDKパケットコンデュイットです。つまり、FPGAのデータフローとホストメモリバッファを相互接続する方法であり、ホストメモリにあるデータをFPGA上のストリームやホストメモリプールに移動させたり、その逆を可能にするものです。

そして、PCI Express上を移動するデータストリームとして、このデータモーションを促進するのです。Agilex ソフトウェア側のAPIからPCI Expressを経由してFPGAへ、そしてデータが生成・消費されるAXIストリームに至るまで、すべての複雑さが抽象化されるため、導管と呼ぶことにしました。Intelもホスト側で動作するプロセッサを作るかもしれませんが、それはまた別のウェビナーで紹介します。

Arkville Arkville は、ホストとFPGAデバイスの間でデータを効率的に移動させる必要がある場合に使用されます。これは、データ移動の複雑さを抽象化するビルディングブロック・コンポーネントで、 のユーザーは SmartNIC デバイス、ネットワーク・アプライアンス、DPDK アクセラレータなどの製品の構築に専念することができるようになります。Arkville

なぜDPDKなのか...それはネットワークのためだけだと聞いたのですが?そうですね、DPDKはネットワーキングのためのものですが、それ以上に奥が深いものです。DPDKは、長い間、信頼できるAPIとして親しまれてきました。最近ではLinux Foundationの管理下に置かれています。コミュニティで吟味され、定期的にテストされ、オープンソースで標準化されたソリューションであり、ネットワークだけでなくバルクデータ移動のためのAPIセットでもあります。

Arkville でDPDKを使用するように設計することで、ホストプロセッサのサイクルを解放し、より有用な作業を実行することができます。カーネル・バイパスとは、カーネルが邪魔にならないようにすることで、アプリケーションのスループットとレイテンシーを向上させることですが、Arkville はDPDKを意識しています(これについては後のスライドで説明します)。DPDKのデータモーションのビジネスロジックをFPGAゲートに押し込むことにより、Arkville 、高いスループットと低いレイテンシーの両方を実現し、汎用プロセッサキャッシュ汚染の軽減、そして結果的にポストコア性能を向上させています。

DPDKは、そのAPIによってパワーアップするワークロードがある場合、非常に理にかなったものです。

Arkville の重要なポイントは、Arkville がDPDK仕様の低レベルの内部ループをFPGAハードウェアで実装していることです...実質的にDPDK仕様をRTLゲート化したものです。マーチャントASIC NICを含む他のすべてのDPDKソリューションは、この作業の一部または全部をホストプロセッサコアに押し付けています。Arkville つまり、DPDKのmbufデータ構造をハードウェアで操作することで、プロセッサ・コアがその作業をする必要がないようにしたのです。ハードウェアでそれを行うことで、高いスループットと決定論的な低レイテンシーを同時に達成できるというユニークな利点があるのです。また、次のスライドで説明するように、ホストコアの利用もほとんどありません。Arkville のもう一つのポイントは、データモーションのための完全なソリューションであるということです。

ソフトウェアエンジニアは、標準的なAPIを使用してデータバッファを生成・消費しています。ハードウェアエンジニアは、AXIインターフェースに接続します。この「即日スタート」の話と、実際のハードウェア上で動作させることはおろか、シミュレーションに数週間から数ヶ月かかる「自作」ソリューションとを比較検討してみてください。

Arkville は、ソフトウェアとゲートウェアの組み合わせで提供されます。Agilex DPDKのプルモード・ドライバは完全にオープンソースで、DPDK.orgで入手できます。AtomicRulesのライセンスは、名前付きプロジェクトライセンスとマルチプロジェクトライセンスがありますが、基本的には、Intel FPGAの中に入るIPの一部分です。この2つが連携することで、FPGAからホストへ、あるいはその逆へとデータを流すことができる、これまでお話ししてきたデータ移動コンジットを提供します。

このアイチャート図は、左がホストプロセッサ、右がFPGAで、XeonワークステーションやサーバーなどのホストプロセッサとIntelAgilex デバイスなどのFPGAがどのように分割され、どこに異なるコンポーネントがあるかを示すサブモジュールの一部であることを示しています。緑と赤のボックスは、デバイスからホスト、ホストからデバイスへのデータ移動のソースとシンクを表し、Arkville が導管を通して運ぶ通貨の目的地、ソース、生産者、消費者であることを表しています。

ここでは、Arkville のスループットをパケットサイズの関数として示したグラフをご覧ください。これは、PCI Expressが小さなパケットに与えるオーバーヘッドを考慮した結果です。しかし、グラフの右側に注目すると、デバイスからホスト、ホストからデバイスへの転送速度を表す青線と赤線が、理論上の限界である220gb/sに近づいており、さらにもう少し高い速度で推移していることもわかります。その様子は、デモをご覧ください。

Arkville も、例外的に低いレイテンシ(サブマイクロ秒が期待される高頻度フィンテック取引のレイテンシではなく、FPGAとホストの間で常に単位マイクロ秒のレイテンシ)を実現しています。そして、特に長いパケットや高負荷時のロングテールがないことは、期限切れを許さないvRANやORAN、5Gアプリケーションにとって価値あるものです。

低遅延に加え、Arkville は、基本的に遅延ジッターもありません。それはなぜか?キャッシュやその他の動的手段で多数のキューをサポートする標準的なDMAエンジンではないことで、Arkville 、例えばパケットが到着してからホストメモリに着地するまでのレイテンシは確定的です(あるいはその逆もあります)。

このようにDPDKとmbufの移動だけに特化することで、Arkvilleのレイテンシ・ジッターを実質的にゼロにすることができます。Arkville にはmemcpyもないので、ホストプロセッサは何もしなくていい、ということですね!パケットデータをある場所から別の場所に移動するためのサイクルがゼロになります。ArkvilleFPGAのRTLハードウェアは、データがmbufに正確に配置されるようにするため、ホストがデータを移動する必要がなく、アプリケーションに多くのCPUサイクルを残すことができます。

このグラフは、1つのmbufに収まるパケットサイズの場合、Arkville PMDで費やされるパケットあたりの時間が20ナノ秒未満であることを示しています。この場合、mbufはちょうど2キロバイトのmbufである。mbufのサイズを拡大すれば、この平坦性は右肩上がりに続くことになる。

Arkville は、永遠にパケットのドロップがゼロです。例えばシステムが岩にぶつからない限りはね

Arkville のフロー制御は、すべてのドメインで完全なフロントバック・ハードウェア・ソフトウェアです。片方の端で、もう片方の端に安全に転送できないデータを認めることはありませんし、その逆もまた然りです。他のデータムーバーは、追いつけない場合、苦痛や再送がある場合、パケットをドロップします。私たちは、ハードウェアとソフトウェアで完全にフロー制御された表示を行い、あらゆる条件下でパケット廃棄ゼロを実現しています。

それでは、Arkville のインストール方法と Xeon サーバーでの動作を紹介する録音済みのデモ(数日前に録音済み)をご覧いただき、その後、質疑応答に移ります。

こんにちは、Shep Siegelです。これは、12月10日の金曜日、Intel/BittWare/Atomic RulesArkville onAgilex のウェビナーの数日前に行う事前録音されたデモの様子です。ここでデモを行う内容を説明し、その後デモをご覧いただきたいと思います。

ホストシステムとして使用されているIntel Xeonプロセッサと、被試験デバイスとして使用されているIntelAgilex FPGAがあります。このスライドをよく見ると、左下にはユーザーランドのプロセッサ・メモリ(基本的にDRAMで、ここからデータが出入りする)、右下には再びFPGAファブリック・メモリがあり、ここからデータが出入りすることがわかります。

その間に、Agilex デバイスを Xeon ホストに接続する gen4 x16 PCI Express があります。このデモで使用しているのは、Xeon 6346プロセッサを搭載したDell R750サーバです(これらはgen4 x16 PCIeに対応しています)。Intel Agile Fデバイスを搭載したBittWare IA-840F、そしてもちろんAtomic Rules独自のArkville(今週初めに出荷されたばかりの21.11リリース)です。

そこで、デモで最初に紹介するのは、Arkville スクリプトです。このスクリプトは、必要なライブラリをすべて取り込み、DPDKをダウンロードしてコンパイルし、ホストシステム側で必要な処理を行うものです。次に行うことは(Quartus Prime Proがインストールされていない場合)、それをインストールし、make target makeAgilex を使用してRTLからAgilex デバイス用のビットストリームをコンパイルすることです。

ビットストリームの準備ができたら、FPGAにロードして、擬似的にリブートを行うだけです。ビットストリームをAgilex デバイスのフラッシュメモリに永続させる必要はない。

Arkville のディストリビューションで配布されているDPDKアプリケーションは十数種類ありますが、今回のデモでは特にTX(またはダウンストリーム)またはRX(またはアップストリーム)のスループットに焦点を当てたいと考えています。最後に、デモの最後に、デモのデータをパフォーマンスログに入れ、そのデータをプロットしてみます。

それでは、まずprojectsディレクトリから始めましょう。まずはprojectsディレクトリで、付属のtarballからArkville リリースを展開することから始めます。これで完了です。tarballは展開されました。次に、The Atomic RulesArkville のインストーラ・スクリプトを実行します。すると、ライブラリがどんどん増えていくのがわかります。この時点でDPDKをDPDK.orgからダウンロードします。

DPDKがダウンロードされたので、Meson Ninjaのコンパイルシステムをキックオフすることができます。

デモのこの部分は実際にリアルタイムで表示されており、本当に速いです。テストストリングを除いては...いつもそこで少し止まります。そして素晴らしいことに、DPDKのインストールが完了し、次のステップに進むことができます。

この時点で、Arkville 用のビットストリームをAgilex F に構築する必要があります。そこで、hardware targets ディレクトリに移動し、makeAgilex と入力して、すべての IntelAgilex ターゲットを構築することにします。

まず、Quartus 21.3がインストールされていることを確認します。うん、それでいいよ、行こうか!

このパートでは、確かに少し切り捨てました。ビットストリームを構築するためのツールフロー全体を実行するには、約30分~1時間かかります(デザインのサイズによります)。ここでは6種類のデザインがあり、この時点ではそのうちの1つだけを気にしています。

ビットストリームが完成したので、それをDellサーバー内のBittWare IA-840fカードにダウンロードすることにします。そこで、ビットストリームをダウンロードし、sudo rebootでシステムを立ち上げます。

システムがlspciから再起動した後、Arkville デバイスがサーバーに表示されていることを確認しました。これは、スロットC-A(チャーリーアルファ)にあることが判明しました。

デバイスが訓練されている機能のいくつかを見るために、拡張されたlspciの冗長性を使用することができます。ここでは、画面が行ったり来たりすることなくスクロールバーを操作できれば、最初に見た元のlspciだけでなく、デバイスが実際にGen4 x16に対応していることを確認できます。これは、ここで強調表示されているリンク能力のラインであり、実際にGen4 x16リンクステータスを達成したこと、つまり、私たちがトレーニングしたことを意味します。

これで、良いスタートが切れたことになりますね。これで、配布されている十数種類のDPDKアプリケーションのいずれかに移行することができるようになったわけです。Arkville Duplex Performance Testを使用することにします。このテストは、イングレスとイグレスのパフォーマンスを測定する一連のテストを独自に実行し、システムの全二重パフォーマンスでもあります。

このテストには様々な側面があり、様々な繰り返しで数秒、数分、数時間、数日と実行される可能性があります。このパフォーマンス・ファイルのデータをGoogle Sheetsのドキュメントに取り込み、プロットして詳細に見ることができます。

これがプロットデータのログで、これがその結果です。上部の黄色い線(スカイライン)は、このハードウェアとソフトウェアの構成の理論的な限界を表しており、青と赤の線はそれぞれ、デバイスからホスト、ホストからデバイスのスループットを示しています。Y軸は、有用なスループットをギガビット/秒で表しているのがわかります。

グラフの左側(今、拡大・縮小しているところ)では、パケットサイズが小さいため、PCI の 512 バイト MPS が大きく影響して、パフォーマンスはあまり良くありません。しかし、右側に移動して512バイトや1キロバイト以上のパケットサイズを見ると、スループットは上流方向で200ギガビット/秒を大きく超え、下流方向では180ギガビット/秒に近づいているのがわかります。

このように、上流の性能は非常に高く評価できますが、右側の漸近的な性能には少し改善の余地があることがわかります。

しかし、このグラフを見る限り、Arkville onAgilex Fは、最初から理論的な性能に近い立派な仕事をしていることがお分かりいただけるかと思います。

デモをご覧いただき、ありがとうございました。この後は、マーカスのリードで質疑応答が行われます。

そして改めて、ありがとうございました、そしてお幸せに。


Q&A

(マーカス)

Q&Aタイムに入る前に、一言お伝えしておきたいと思います。

そこで、本日のウェビナーでは、インテルAgilex FPGAを搭載したBittWare IA-840fカード上で動作するAtomic RulesのArkville をご紹介しました。これらの詳細については、BittWare 、インテルまたはAtomic Rulesのウェブサイトをご覧ください。

では、それを踏まえて、まずはいくつかの質問をさせていただきます。

では、1つ目はシェップの場合ですが、先ほどグラフを見ました。では、Arkville 、最終的な性能はどの程度になりそうでしょうか?

(シェップ)

ありがとう、マーカス。では、最終的にどのような業績数字になりそうですか?

(マーカス)

ええ、そうです。なぜなら、あなたは性能の数字を提示し、いくつかのアップデートか何かを指摘したと思います。だから、それが彼らの意図するところなのかもしれませんね。

(シェップ)

なるほど、なるほど、わかりました。では、汎用プロセッサやFPGA、PCI Expressなどの相互接続ネットワークを含むシステムレベルでの性能はどうかというと...難しいですね。シミュレーションはいくらでもできますが、現実の世界では...いろいろなことが起こります。私たちが自信を持って220ギガビット/秒という数字を発表できるのは、ここ数カ月の間に、コンシューマ向けやワークステーション向けのRocket Lakeシステムの初期段階で、その信頼性を確認できたことが大きい。私たちが実施したデモを見ると、大型Xeonを搭載したハイパワーのDellサーバーのダウンストリーム側の最終的な性能は、NUMAやQPIなどの問題により、Rocket Lakeほど良くなかったことに気づいた方もいらっしゃるかもしれませんね。このハードウェアはBittWare 、Intelから入手可能で、IPはAtomic Rulesから入手可能です。

私たちが用意したデモや、事前に収録したデモで紹介したツールを使えば、自分のシステムでその能力をすぐに確認することができます。

(マーカス)

わかりました、その回答はありがとうございます。Quartus ユーザーは、どのようにArkville IP を利用するのでしょうか?

(シェップ)

そうなんです。最も簡単な方法は...私たちは、Platform Designer、あるいは、このツールを以前から使っている人にはQsysフロー...の両方をサポートしていますが、完全でストレートなSystemVerilogもサポートしています。SystemVerilogのインターフェイスは簡潔で、Quartus がSystemVerilogをサポートしているため、SystemVerilogやPlatform Designerを使った標準的なRTLフローがサポートされています。つまり、Arkville は、他のコアと同様にAgilex デバイスでインスタンス化されます。

(マーカス)

ですから、おそらくShep向けでしょう:Arville RTL IPは、PCI Gen5とCXLをサポートするためのロードマップはどのようになっていますか。また、性能はどの程度になるのでしょうか。

(シェップ)

なるほど、それは素晴らしい質問ですね。今日お見せするパフォーマンスは、もちろん、Agilex FとGen4 x16でのものです。Gen3 x16に比べてスループットを2倍にしたいという要望は非常に多く、この最初の一歩を踏み出せたことをうれしく思っています。

しかし、問題は、Gen5の先にあるものです。私たちは、Gen5 x16に移行する際に、再び2倍、あるいはそれ以上のパフォーマンスを発揮できるようになると予想しています。この点については、これまでインテルと密接に協力してきました。この重要な部分は、周波数スケーリングではなく、アーキテクチャの革新に関係しています。そのうちの1つは、ここで私たちのエンジニアリングチーム自身のホーンを少し誇示するために(しかし、インテルの実現なしではできなかった)、現在のバージョンとGen5をサポートする将来のバージョンの両方で、Agilex がクロックサイクルごとに複数のPCI TLPを動かすことを可能にするというものでした。現在、Agilex F-Seriesでは、500MHzで、1クロックサイクルあたり10億、すみませんが20億のTLPを移動させることができます。

Gen5とI-Series R-Tileでは、それをさらに倍増させることができるようになります。TLPの数を2倍にしたからといって、必ずしも帯域幅が2倍になるわけではありませんが、Arkville IPをよりスマートに使えるようになります...すみません、話が長くなってしまいました...Gen5への短い答え:帯域幅とスループットは、大きな増加なしに再び2倍になり、おそらくレイテンシーも減少するでしょう。

さて、質問ではCXLについても触れられていました。CXLはまったく別物です。過去数十年の間に、世界がヘテロジニアス・コンピューティングが良いアイデアであることを発見したように...ご存知のように...ヘテロジニアス・コミュニケーションが素晴らしいアイデアであることを発見しました。そして、PCIが扱うバルクデータムーブメントやパケットデータムーブメントにも居場所があり、CXLにも居場所があるのです。

Arkville私たちの立場(およびIntelの技術との相互関係:Agilex に含まれる基礎的なP-TileおよびR-Tile技術)は、将来的にCXLソリューションと一緒に働くことを排除しないようになっています...しかし、私たちは先走りすぎています。5年間、Gen4 x16への強い要望と願望に応えてArkville を出荷してきた結果、今日に至っています。

(ジェフ)

No Shep、こちらはJeff-you're going to be much rest.先ほど話したように、FシリーズのGen4パーツが発売されました。そして、トムが少し話してくれた、この先登場するI-SeriesとM-Seriesのパーツについても触れました。I-Seriesは、来年の半ばを目標にGen5のボードが登場する予定です。

(シェップ)

そして、私たちはあなたのすぐそばにいるのです。

(マーカス)

ShepのH2Dレイテンシーについて質問があるのですが、おっしゃる通り、もう少し詳しく教えてください。

(シェップ)

もちろん、先ほども申し上げたように、電力、スループット、レイテンシーなど、あらゆる性能パラメータを調査する最善の方法は、部品の不足にもかかわらず、このハードウェア、ソフトウェア、IPがすべて利用可能であることです。私たちのテスト条件では、先ほど申し上げたように、これはIPで切り取ったフィンテック・デザインではありません。これはストア・アンド・フォワードで、非常にインテリジェントなものですが、レイテンシ・ジッターはまったくありません。

つまり、公称レイテンシは1~3マイクロ秒程度で、ロングテールはありません。ここで、ストア・アンド・フォワード・アーキテクチャの差別化ポイントになるのは、先頭にあるパケットを(上流であれ下流であれ)保留にして、移動させることです。そして、標準的なDMAエンジンがページを固定したり、散在させたりするのとは異なり、ここまでの会話で全く触れなかったことですが、Arkville 、そのようなことは一切ありません。完全に決定論的なのです。例えば、ユーザーランドのホスト・メモリ・バッファに向かう途中でFPGAに到着したデータの塊は、ファイヤー・アンド・フォゲットで、そのレイテンシは単位マイクロ秒のオーダーになります。

(マーカス)

ここで質問なんですが、そうですか、グラフでは上流と下流の転送速度が違っていたんですが、なぜでしょうか?

(シェップ)

素晴らしい質問ですね。以前にも少し触れたと思うのですが、十分な説明がなかったかもしれないので、もう一度言います。実は、上流と下流で異なる性能を示すグラフがいくつかありました。

では、なぜ下流側や出口側の性能が低くなるのでしょうか。一般的には、ソフトウェアでもハードウェア(Atomic Rulesのハードウェアなども含む)でも、システムのどこかでAmdahlの法則的なシリアライズの遅延が発生する余地があると言えるでしょう。特にXeonサーバーの場合、Rocket Lakeの場合よりもダウンストリームのパフォーマンスが大幅に低下しましたが、これはデモのプログラミングとダウンストリームデータを取得するNUMAゾーンに起因していると考えています。

私たちのチームはまだこの例をテストしていますが、私たちが示したデモでダウンストリームに来たデータは、実際には、NUMAゾーンの他のQPI側にある他のプロセッサに接続されたメモリから来たものだと考えています。

私たちはそれをさらに改良していくつもりです。一般的に、メモリシステムがデータを上流に移動させるための書き込みは、ファイア・アンド・フォゲット(fire-and-forget)であれば、とても簡単です(XeonとRocket Lakesの両方は、それを本当にうまくやっています)。読み出しは、どんなに多くの読み出し要求が残っていても、また、メモリコントローラに配慮していても、完了したデータが戻ってくるまでに時間がかかることがあります。

1つのクロックサイクルで複数の完了を処理できるのはプラスです。また、Agilex インターフェースが与えてくれるアーキテクチャ上の利点に戻ります。しかし、一般的に、完了がある読み出しは、投稿やfire-and-forgetが可能な書き込みよりも問題が発生しやすい。

(トム)

やあ、マーカス?Gen5とCXLについて、もう少し詳しくお話しましょうか?

(マーカス)

そうそう、機会があればぜひ。

(トム)

そうですね。音声が途切れたので、もしかしたらさっきの話を聞き逃したかもしれませんが、一応お知らせしておきますと、Jeffはすでに、Agilex 、Agilex I-Seriesをベースにしたカードを追加する予定だと言っていました。Iシリーズは、R-Tileと呼ばれるチップレットを搭載したデバイスで、PCI Express Gen5とCXLをサポートしています。

また、チップレベルでは、今日、これらのデバイスをサンプリングし、PCI-SIGのワークショップに参加しています。私たちは、このデバイスとR-Tileからフルバンド幅を引き出しているのです。つまり、16レーンでフルバンド幅のPCI Express Gen5を実現しているのです。このボードと比較すると、PCI Expressの観点からは、実質的に2倍の帯域幅があることになります。

(マーカス)

それでは、追加情報をありがとうございました。あと2つほど質問の時間があります。これはまたShepさんへの質問です。Arkville DPDKはIntel FPGAのマルチキューDMA DPDKサポートとどう違うのでしょうか?

(シェップ)

素晴らしい質問ですね、マーカス。でもね。トムとジェフが言ったGen5のポイントに触れたいので、ちょっと保留にしておいてください。というのも、トムとジェフが言ったGen5について触れたいからです。Arkville (当社の卓越したIP)のお客様のほぼ100%がスループットに依存しています。そのため、今日のGen4 x16におけるAgilex のArkville が非常に重要なのです:顧客とアプリケーションが強化されています。

Gen5 x16デバイスやボードが登場したとき、Atomic Rulesはそこにいることを約束し、そうでなければ私たちはビジネスをしていません。Gen5のArkville サポートを早々に発表することなく、私たちはGen5を注視していることを強調しておきたいと思います。

それでは、Arkville 、Intelの優れたマルチキューやマルチチャネルDMA(MCDMA)と呼ばれるようなロールユアオウンと比較してみましょう。MCDMAは、Intelが提供する優れたフリーIPで、サンプルデザインとともにQuartus に組み込まれています。MCDMAは本当にキッチンシンクのようなDMAで、データを動かすというほどでもないと私は思っています。

ストリーム、メッセージ、キャッシング、CXLなど、データムーブを使用する際に必要となるほぼすべての役割をサポートしています。ただし、FPGAのメモリ・リソースは、Arkville の約2倍使用します。しかし、Intelはより大きなFPGAを販売するビジネスを行っているので、その狂気には方法があるのかもしれません。そして、それにはいくつかの作業が必要です。つまり、そのIPを使うにはRTLが必要なんです。RTLのシミュレーションとフックアップが必要で、インテルが提供するとは思いますが、反対側にもソフトウェアが必要です。

もし、Arkville 、具体的なニーズがあるのであれば、それを解決するために、私は、「行って、走って、走って」と言います。私たちは、それに対して競争しているわけではありません。バルクデータ、DPDK、ネットワークなど、データモーションの問題があれば、文字通りその日のうちに解決できるものを用意しています。それが、"買う "と "作る "という意味での差別化だと思います。

最後に、もうひとつはCPUのオフロードです。MCDMAはスキャッターギャザーリストを使うので、そのためにホストのコアを使うことになります。そのため、DMAに参加するためにホスト上に大量のコアがある場合は、それを使ってください。Arkville 、そのコアはあなたのアプリケーションのために残されます。

(ジェフ)

Arkville や Atomic Rules IP を使用したお客様は、驚くほど早く立ち上がり、稼働しています。シェップと彼のチームは、自分で作るのではなく、すぐに使えるデプロイメントを提供するという素晴らしい仕事をしています。この点は、お客さまに導入する際に違いを感じる点です。

(マーカス)

ここにある質問...私は...そうです。IPについて-他のIntel FPGAデバイスへの移植性だけです。おそらく、Stratix 10 または他のAgilex-他のデバイスへの移植はどの程度簡単なのか、ということなのかわかりません。

(シェップ)

私向けなんでしょうね。Stratix Arkvilleしかし、当社の他のIPであるTimeServo、TimeServo PTP、UDP Offload Engineはすべて、Stratix 10やそれ以前のIntelデバイス、その他のFPGAでサポートされています。Quartus や Platform Designer (旧 Qsys) などには多くの要望や価値がありますが、私たちはすべてのコアを SystemVerilog で表現する方向に進んでいます。つまり、数十行のテキストがインスタンス化を表しています。

もし、純粋にArkville onStratix 10-を使いたいと考えている方がいらっしゃいましたら、ご連絡ください。

(ジェフ)

その答えのひとつは、顧客やユーザーがArkville の移植を行わないことだと思います。つまり、Atomic Rulesが移植を行うのです。S10やAgilex I-Seriesで構築したい場合、Atomic Rulesの別のコアがそのままロードされ、シームレスに動作します。ユーザーによる追加作業は必要ありません。

(シェップ)

Arkville インターフェイスのシグネチャーは、SystemVerilogを何十行も書いて、一握りのインターフェイスを作り、それをデザインに落とし込むというものです(すみません:私は今、RTLデザイナーに話しかけています)。そして、それはどのFPGAデバイスでも変わることなく、同じことなのです。

(マーカス)

では、最後に1つ、2つ質問をさせていただきます。これは、まあ、ここで読み上げることにします:Arkville は暗号化されたネットリストとして提供されるのか、難読化されたHDLとして提供されるのか、後者であれば、どのような言語、つまりShep用の言語なのか。

(シェップ)

ああ、トリックのような質問ですね。そこで、ライセンスをお持ちのお客様には、Arkville 、暗号化されていないIEEE Verilogのネットリストとして提供しています。しかし、その暗号化されていないVerilogは、ソースコードではありません。私たちは、独自のアトミック・ルールベースの関数型プログラミング言語を使って、Verilogを機械的に生成し、それがフォーマルな検証を行う方法となります。つまり、シミュレーションやコンパイルの対象となるのは、難読化されていない、暗号化されていないVerilogのネットリストということになります。

分かったよ。たくさんのご質問、ご回答をありがとうございました。また、何かご質問がありましたら、私たちに直接ご連絡ください:BittWare.com,Intel.com/agilexまたはAtomicRules.com.

ご視聴ありがとうございました、良い一日をお過ごしください。これにてウェビナーを終了します。

Arkville およびBittWare'のAgilex-based FPGA カードの詳細についてはこちらをご覧ください。

Arkville IPブロック図