FPGAアクセラレーターはクラウドに移行します

FPGAアクセラレーターがクラウドに移行、Selectelの記事



FPGAアクセラレータの市場での出現は、必要に応じて何度でも再プログラミングでき、「C」のような高級言語で、高性能コンピューティングのニッチにおける真のブレークスルーになりました。 しかし、これらの非常に高価なアダプター(ロシアでは25万ルーブルの価格)を購入せずにFPGAテクノロジーを使用し、プロバイダーのクラウドにアクセラレーターを備えた専用サーバーをレンタルする機会は、画期的なものでした。









3段落のFPGAチップの概要または説明



フィールドプログラマブルゲートアレイ(FPGA)とも呼ばれるFPGA(フィールドプログラマブルゲートアレイ)チップは、複雑なコンピューティングタスク用に再構成できる集積回路(IC)です。 業界では、宇宙船の制御から金融モデルの計算まで、専用の超小型回路(ASIC、特定用途向け集積回路、「特定用途向け集積回路」)が必要です。 しかし、FPGAが登場する前は、特殊な集積回路の長所であると同時に弱点は、チップに組み込まれた厳格な機能と、設計の高度な複雑さと生産開始のコストでした。 その後、機能を少なくとも少し変更する必要があった場合、または設計段階でエラーが発生した場合、本質的に新しいICを作成する必要がありました。







PCI Expressバス用Intel Altera Arria 10チップ搭載FPGAアクセラレータ

Intel Altera Arria 10チップおよび10GEポートを備えたFPGAアクセラレーター







必要に応じて何度でもプログラムし直すことができるFPGAアクセラレーターの市場での出現は、Cなどの高レベル言語で、高性能コンピューティングのニッチにおける真のブレークスルーになりました。 これにより、開発時間、つまり製品の市場投入までの時間を短縮できました。 ハードウェア開発者には、次のようなまったく新しい機会があります。 ASICなどの特殊な集積回路のプログラミングに取り組んでいます。







FPGAプロセッサは、このテクノロジの利用可能性の観点から既に2段階を通過しており、現在は積極的に3番目の段階に入っています。 最初のFPGAは1985年に登場しましたが、それらのプログラミングにはまだアセンブラーなどの低レベル言語の知識が必要でした。 2013年頃に始まった第2段階では、アルテラの努力のおかげで、高級C言語のような言語でプログラミングすることが可能になりました。 これにより、FPGAの適用範囲が劇的に拡大しましたが、チップのコストが高いため、この技術を購入できる顧客層の拡大は依然として抑制されました。







従来、FPGAの設計と検証のルートは非常に時間がかかり、高度な専門性が必要であり、その複雑さから、ルートはASIC設計に近づいています。 これにより、開発者によるFPGAの使用が制限されます。 これは、プロセスの参加者(プログラマー、数学者、アルゴリズム学者)がハードウェアの実装ではなくタスクに集中したいコンピューティングアプリケーションに特に当てはまります。 アルテラはこの問題を解決するために、2013年にFPGA向けの異機種コンピューティングプラットフォームOpenCL向けのopenCLプログラミング標準を導入しました。これにより、FPGA、HDL言語、設計および検証ルートに不慣れなコンピューティングアプリケーションを使用するアプリケーション開発者の可能性が広がりました。 しかし、問題は残った-高価な機器と設計ツール。







そして最後に、2016年のどこかで、最大のデータセンターのクラウドにあるFPGAプロセッサーを備えた完全に準備が整ったサーバー(物理および仮想)の幅広いクライアント-Amazon Web Services(AWS)、クラウドAlibabaおよびHuawei Cloud。 ロシアでは、FPGAプロセッサを搭載した専用サーバーが2017年以降初めてSelectelデータセンターで利用可能になりました。







なぜFPGAアクセラレータが必要なのですか? 一方、データストリームは成長していますが、一方で、コンピューティングシステムのサイズと消費量を増やすことなく、コンピューティングパワーを向上させることは困難です。 通常、アプリケーションには管理タスクとデータ集約型の処理タスクがあります。 制御タスクをCPUに任せ、処理タスクを特殊なリソースに送信することをお勧めします。 タスクの「オンザフライ構成」-また、非常に便利なプロパティのようです。 特定のタスクのためにFPGAでコンピューティングリソースを合成することも、生産性の向上と消費の削減の両方で利益をもたらすはずです。 また、FPGAには、内部高速メモリと、開発された(および再構成可能な)通信部分があり、これにより、ほとんどすべての既知の入出力プロトコルを整理できます。 たとえば、ハッシュメモリ、ハードウェアDSPブロック、メモリコントローラなどを整理するため 言い換えれば、各タスクの特定のコンピューティングコアを合成する特性を備えたチップ上の開発されたシステムです。


FPGAとCPU、GPUの基本的な違い



現在どのような種類のアクセラレーターが利用可能ですか? 現在利用可能なもの:マルチコアプロセッサ(CPU)Xeon、GPU、およびFPGA。以下を検討してください。







各タイプのプロセッサ-ユニバーサル(CPU)、グラフィック(GPU)、またはFPGA-には独自の利点があります。そうでなければ、生産されません。 CPUは、最高の汎用性と適用性で優れたパフォーマンスを提供します。 すべての既存プログラムの約99%は、CPUで実行するために記述されています。 GPUには、より多くのコアとベクターアーキテクチャ、高速メモリ、およびI / Oがあります。 FPGAは、機器の特性により消費電力1ワットあたり最高のパフォーマンスを発揮しますが、非常に慎重で時間のかかるプログラミングが必要です。







以下に、これらの違いについてもう少し詳しく説明します。









原則として、FPGAアクセラレータは異なるフォームファクター(VPX、Com-express、PCIeなど)のデバイスであり、FPGAチップ自体(または複数)に加えて、SRAMおよびDRAMを搭載したボードを搭載しています。 -新しいHBM(高帯域幅DRAM)および一般的な10/40/100 GEやPCI Expressなどの高速I / Oインターフェイス。 FPGAアクセラレータは、組み込みシステム用のSOMフォームファクタ(オンモジュールシステム、シングルボードコンピュータ)でも利用できます。これは、ビデオ分析システムまたは産業用アプリケーションで一般的です。

画像

SOM FPGAアクセラレーター







各FPGAチップには、最大500万個のロジックエレメント(トランスコーディングアレイとトリガー)のアレイが含まれており、さまざまな機能タスクに合わせて再プログラムできます。 さらに、キャッシュメモリ、シグナルプロセッサ、デジタル処理ユニット、インターフェイスユニットなどのハードウェアリソースがあります。







FPGAがASICより優れているのはなぜですか? 答えは非常に簡単です-結晶を作成するためのより高度な技術プロセスのおかげです。 FPGAの場合、20 nmおよび14 nmのレベルの技術プロセスも使用されます。 ASICクリスタルを作成するために、60 nmレベルのより「古代の」技術プロセスが使用されます。 したがって、同じ水晶エリア上で、FPGAはASICよりも何倍ものロジックセルを持つことができ、パフォーマンスが向上します。


FPGAアプリケーション



発明の瞬間から今日に至るまで、FPGAアプリケーションの基本的な方向の1つは、ASICマイクロ回路の生産が経済的に実行可能でない場合、中小規模の製品のマイクロ回路のプロトタイピングでした。







2018年の初め、ロシアの企業Almaz-SPによると、FPGAアクセラレータの適用範囲は次のとおりでした。









ただし、過去の軍事使用が主だったにもかかわらず、FPGAアクセラレータの民間での使用は現在急速に増加しています。 2015年、インテルはFPGAの最大のメーカーの1つであるアルテラを買収しました。 アルテラの開発は、すでにIntelブランドのもとでシリコンに組み込まれています。 そして、Intel Cyclone 10として知られるFPGAチップの新しいラインは、間もなく登場します。 Cyclone 10 GXチップモデルは、非常に高いパフォーマンス(最大134 GFLOP)を示し、高度なI / O機能を備えています。 他のデバイスへの接続は、10GEネットワークポートまたはPCI Express x4バスを介して行われます。 これらのFPGAチップは、マシンビジョンシステム、監視、ビデオブロードキャスト、ロボット工学向けに設計されています。 Cyclone 10 LPチップの新しいモデルは、センサーシステム、モーターコントローラーなどのエンジニアリングシステムの計算コアとして実装されています。







Cyclone製品ラインに加えて、Intelの生産プログラムには、アルテラから継承された他の一連のFPGAチップ(MAX、Arria、Startix)も含まれています。 最後の2つのシリーズは、市場で最も強力なFPGAチップであり、2018年にはArria 10およびStartix 10にアップグレードする予定です。Startix10は、hyperflexアーキテクチャ上に構築され、10テラフロップスのパフォーマンスを備えています(つまり、3桁近く強力です)サイクロン10)。







Cyclone、MAX、Arria、およびStartixシリーズのパフォーマンスは部分的に重複していますが、Intelは各シリーズを個別に位置付けています。 Arriaの場合、これらは計装用のシグナルプロセッサであり、Startixの場合、データセンターおよび通信での高性能コンピューティングです。 2017年にアップデートを受け取る唯一のCycloneシリーズのアプリケーションについては既に説明しました。 しかし、Cyclone向けの別のアプリケーションは、言及する価値があります。モノのインターネット、IoTです。







FPGAアクセラレータを使用するケースの50%以上は軍用および産業用電子機器で使用されていますが、民間のタスクと科学計算の範囲は急速に拡大しています。


FPGAテクノロジーのイメージの概念



上記では、Intelの人気のあるFPGAチップシリーズを今日紹介しましたが、サーバーで使用するには、FPGAアクセラレータカードを購入し、特定のアプリケーション用のアダプターにチップロジックをプログラムする必要があります。 アダプタカードは、FPGA Design Solutions NetworkのIntelパートナーから入手できます。 特にロシアでは、このようなパートナーはAlmaz-SP LLC (Eulerプロジェクトにも参加)であり、元のIntelアダプターと自社開発のマザーボードの両方に最新世代のFPGAを提供しています。







中央のSelectelTechDay#2カンファレンスでのFPGAアクセラレータを備えたサーバーのデモ-Almaz-SP LLCの代表であるアントンビスタ

SelectelTechDay #2でのAlmaz-SP FPGAアクセラレータを備えたサーバーのデモ







SelectelTechDay#2でのハードウェアイノベーションデモ。最初の左-Almaz-SPのFPGAサーバー

SelectelTechDay #2のハードウェアイノベーションのデモゾーンFPGA-左側の最初のスタンド)







設計ルートを無視して計算タスクに集中する必要がある場合は、OpenCLおよびOpenCL用Intel FPGA SDKを使用できます。 これには、BSPボードのサポートパッケージが必要です。これにより、システムをチップ上に構築する複雑さ(メモリコントローラー、PCIe、インターフェイス、クロックドメイン、時間の制約、部分的な再構成など)を無視し、計算タスクに集中できます。 ボードにOpenCLサポート(OpenCL BSP)がある場合、このようなパッケージが提供されます。 同様のサポートパッケージを使用すると、プラットフォームソフトウェア、加速機能、ランタイムサポートライブラリ、メモリモデル、およびスループットを向上させる特別な拡張機能がある「ソフトウェア開発者環境」を取得できます。 次に、コードの記述、プロファイリング、最適化を開始します。







SDKおよびBSPを使用した結果、単一の構成ファイル(ビットストリーム)が取得され、そのFPGAが構成され、特定のコンピューティングタスク用のチップ上の完全なシステムが取得されます。 プログラミングの結果は、特定のアプリケーション(方程式の行列の計算、ビデオ形式の変換など)を解決するマイクロプログラムです。 このようなファームウェアは、FPGAイメージ(FPGAイメージ)と呼ばれます。 多くの場合、「イメージ」という用語の代わりに「IPコア」という用語が使用されます。







FPGAイメージ(FPGAイメージ)は、専用のコンピューティングタスクを実行するために開発およびデバッグされたFPGAチップの制御ファームウェアです。


顧客がFPGAテクノロジーにアクセスする際の問題



「特定のコンピューティングタスクで最高のパフォーマンス」という魅力的なコンセプトにもかかわらず、2つの客観的要因がFPGAの普及を妨げています。 これは、FPGAチップを搭載したアダプターの高コストであり、FPGAコアのプログラミングとデバッグの実務経験を持つ開発者が不足しています。







アクセラレータに加えて、Intel OpenCL SDKのライセンスも取得する必要があります。これを使用しないと、コンパイルされたカーネルのみを実行できますが、コンパイルはできません。 開発者のコ​​ンピューターの要件も非常に高く、これには18〜48 GBのRAM容量に関する推奨事項が含まれます。 8コアCPUと32 GBのメモリを搭載したマシンでは、カーネルをコンパイルしてマンデルブロ集合を計算するのに約2時間かかります。 プロセッサの使用率が90%を超える場合、コンパイルには1日以上かかる場合があります。 16 GB未満のメモリでは、コンパイルができない場合があります。







したがって、潜在的な顧客はこの技術に積極的に興味を持っていますが、FPGAアクセラレータの買収にwithてません。 これは主に、アクセラレータのコストがIT予算に大きな影響を与え、社内チームが適切なレベルでFPGAイメージのプログラミングとデバッグをマスターできないという懸念によるものです。







FPGAクラウドコンピューティング



FPGAクラウドサービスは、FPGAチップを搭載したアクセラレータボードの高コストへの対応として登場しました。 この場合、顧客は、FPGAアクセラレータがインストールされた物理サーバーまたは仮想サーバー、あるいはその両方をレンタルできます。 原則として、これはメーカー(Intelなど)のパートナー製品であり、IaaSサービスプロバイダーとしてのデータセンターです。







Almaz-SPのアクセラレータを備えたFPGAサーバーは、Selectelデータセンターで無料でテストできます。

Almaz-SPのアクセラレータを備えたFPGAサーバーは、Selectelデータセンターで無料テストできます。







大規模アプリケーション向けの技術のアクセシビリティの問題に対する解決策の1つは、FPGAに基づいたコンピューティングパワーをリースできる可能性があるようです。 Selectelのサービスには、Intel Arria 10 FPGAベースのEuler Projectが製造したEulerアクセラレータがインストールされたサーバーへのアクセスが含まれます。 OpenCLカーネル、ホストアプリケーション(Visual Studio)を作成するための開発ツールを開発、デバッグ、コンパイルするために、必要なSDKとBSPがサーバーにデプロイされます。 入門用のデモンストレーションとして、マンデルブロ集合の構築に関する以前に検討された例が提案されます。プロジェクトはソースコードで提供され、コンパイル用に構成されます。







Euler Projectは、FPGA向けのOpenCLプログラミングコースを提供しています。 このコースは、ロシアの観客、エンジニア、研究者、専門大学の学生向けに特別に設計されています。 公式のIntelトレーニングの資料を取り入れており、最適なパフォーマンスを達成するために絶対に必要な、最も単純なアプリケーションの組み立てから特定の最適化手法の適用まで、テクノロジーの段階的な学習を可能にします。







この形式では、ハードウェアを直接購入する必要がなくなり、資本コストが運用コストに置き換えられるため、FPGAテクノロジーは顧客にとってより魅力的になります。 したがって、プロジェクトでFPGAアクセラレータの計算を使用できる企業の範囲は大幅に拡大しています。







FPGAアクセラレータでサーバーを使用するためのクラウドベースのモデルは、特定のプロジェクトやコンピューティングタスクで「どのように機能するか」を試してみたい多くの新規顧客にこのテクノロジへのアクセスを提供します。


FPGAイメージングストアのコンセプト



特定のアプリケーション向けに効率的に動作するFPGAイメージを作成することは、かなり時間がかかり、時間がかかる作業です。 画像プログラミングの調整されたチームは最大2か月かかることがあり、経験の浅い顧客はより多くの時間を費やすか、このタスクにまったく対処しません。







したがって、イメージストアの概念は、MacOS、Windows、Androidなどのプラットフォーム用の既存のアプリケーションストアとの類推によって示唆されます。 開発者はさまざまなタスクのために作成した実行可能な画像を転送でき、顧客はこれらの画像がプロジェクトの計算タスクに対応する場合、FPGAアクセラレータでサーバーにアップロードするために購入できます。







2018年、Selectelは、このテクノロジーを備えたSelectelレンタルサーバーで使用できるFPGAイメージの同様のストアで作業を開始しました。 したがって、クライアントの新しいプロジェクトの開発サイクルは大幅に加速され、プログラマー(作成者のチーム)自身は以前に行われた作業から一定の収入を得ることになります。







便利なリンク:







Selectel LabsのFPGAアダプターを使用した専用サーバーの無料テスト








All Articles