AWS Well-Architected フレームワークのインテルのインスタンスでバランスのとれたアプローチを行う


この記事は、インテル® コミュニティーのブログに公開されている、以下の記事の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。

A case for a balanced approach with Intel based instances for the AWS Well-Architected framework

AWS Well-Architected フレームワークとは?

AWS Well-Architected は多様なアプリケーションやワークロードのためのセキュアでハイパフォーマンスかつ耐久性や効率性の高いインフラの構築を手助けます。AWS Well-Architected フレームワークのクラウド上で、ワークロードをデザインし、実行するための主要な概要や設計原則、アーキテクチャーのベスト・プラクティスを説明します。AWS Well-Architected フレームワークは現在、オペレーショナル・エクセレンス、セキュリティー、信頼性、パフォーマンスの効率性、コストの最適化、サステナビリティーの 6 つの項目を柱として掲げています。このブログではパフォーマンス、コスト、サステナビリティーの 3 つに注目して本ケースをご紹介します。

AWS Well-Architected フレームワークの 6 つの柱

クラウドの経済とコスト・マネジメント

現代のめまぐるしい経済の変動の中で、企業はクラウドのコストとフットプリントを最適化する方法を模索しています。AWS のようなクラウド・プロバイダーは Graviton プラットフォームへの移行によりコスト削減を実現しようとしています。Amazon は、インテルおよび Graviton の双方のインスタンスで実行可能なアプリケーションの一部を再プラットフォーム化することにより消費電力が削減されると主張しています。顧客向けのクラウド移行ツールでも同様の仮定が行われ、インスタンスのコストを第一に考えています。

インテルのプロセッサーと AMD や Graviton の性能の違いや、利用できる性能の最適化などの点は完全に無視され、比較は主にコア数を指標としたコストに基づくものです。すべてのプロセッサーやプラットフォームが同じように作られているわけではないため、コアあたりのコストをアーキテクチャーを決定する主要な要因として使用するのではなく、よりバランスのとれたアプローチを検討する必要があります。

ワークロードのサイジングを考慮する

ワークロードにはそれぞれ独自のコンピュートの要件があり、それは、通常、CPU やメモリー、ディスク、ネットワークの要件が混在したものです。AWS のようなクラウドサービスのプロバイダーは専門化されたインスタンスを提供しており、これは以下のような異なるワークロードで利用することができます。

  • 一般的な目的
  • コンピュートの最適化
  • メモリーの最適化
  • ストレージの最適化

ワークロードのデザインやサイジング・エクササイズの一部として、最適なインスタンス・タイプ、コア数、メモリー、ネットワーク帯域幅およびストレージを選択します。ワークロードのサイジングやコア数、メモリーやストレージ・プロファイルに基づいて安価であることを理由にインスタンスを選択することは適切とは言えず、クラウドの移行に過度のリスクをもたらすことがあります。

サイジングに加えて考慮しなければならない非常に重要な要素は、ワークロードのチューニングと最適化です。AWS Well Architected のパフォーマンス、コスト最適化、持続可能性の 3 つの柱に完全に対応できるように、アプリケーション、利用可能な CPU ハードウェア・アクセラレーション、ソフトウェア最適化、パフォーマンス・チューニングを考慮しなければなりません。

AWS Well Architected のサステナビリティーの柱はベスト・プラクティスを生成するために異なるプロセッサーの電力消費を見ています。サステナビリティーに関するホワイトペーパーでは、インテル、AMD、Graviton の各コアの性能と能力が同等であると仮定し、x86 の使用やインスタンスの 1 つのファミリーに固執することを抑制するデザインのアンチパターンを提示しています。これらのアンチパターンは AWS 上で x86 インスタンスの使用を勧めていません。Arm の Graviton は Amazon が低電力消費であると主張しているチップで、コスト面で x86 を超越する原動力になっています。最適化やサイジングの調整に関するものは一切考慮されていません。このホワイトペーパーではこれらのハードウェアとソフトウェアの最適化を活用した場合の性能向上の効果、およびこれらのインスタンス・タイプのサイジングに対する効果、およびコストや持続可能性への影響について実証します。

再プラットフォーム化とそのリスク

カスタマーがワークロードをパブリッククラウドに移行する場合に考慮する最大の要因の 1 つは、重要なワークロードをインフラのあらゆる側面をコントロールするオンプレミス環境からクラウドに移行するリスクです。初期の移行の目標は、ワークロードがパフォーマンスと信頼性に関して、カスタマーの SLA を満たしていることです。移行ツールとコスト・マネジメント・ツールは、再プラットフォーム化をコスト削減のための戦略として利用しますが、そのリスクを完全に無視しています。リスク低減におけるコアとなる哲学の 1 つは、移行中の変更を少なくすることです。再プラットフォーム化はよくあるリスクであり、コスト節約を主目的とした移行プロセスが導入された場合、クラウドへの移行から脱線してしまうとこにもつながりかねません。コスト最適化は大切ですが、リスクを伴わない、多くの方法を検討すべきです。

IT 企業やソフトウェア・ベンダーはインテルの特定のイノベーションや手順を利用して、アプリケーションを最適化しています。それらのインテルの革新的な技術に基づくアプリケーションの機能やパフォーマンスの向上は、異なるアーキテクチャーでは失われてしまうかもしれません。

AMD と Graviton に存在しないインテルのハードウェア機能

IT 企業は、既知の環境で慎重にソフトウェアを検証、チューニング、ドキュメント化しています。CPU アーキテクチャーの変更は、時間の消費や高価な再検証もしくはトラブルシューティングを必要とする局所最適化または非互換性を生み出すこともあります。

プラットフォームの移行には、再検証、再最適化、スタッフの追加のトレーニングが必要

インテルの機能や命令は世代を超えて広く継承されているため、アプリケーションを新しいインテルのサーバーに移行しても、インテル特有のイノベーションに最適化することで成果を上げ続けることができますが、異なるアーキテクチャーでは逆に成果が失われる可能性があります。

インテルのハードウェアの機能は、複数の世代のプロセッサーで継承されている

再プラットフォーム化を考える前に、コストを削減しながらパフォーマンスやサステナビリティーの向上を可能とする最適化の活用など、ほかの利用可能なオプションも評価すべきです。インテルはプロセッサー・ファミリーや最適化のために多くの R&D に投資しています。ぜひ最新のインテル® Xeon® スケーラブル・プロセッサー・ファミリーで利用可能な機能や最適化をご確認ください。

インテル® Xeon® スケーラブル・プロセッサーのハードウェア・アクセラレーションとソフトウェア・アクセラレーション

インテル® Xeon® スケーラブル・プロセッサーのハードウェア・アクセラレーション:

第 3 世代および第 4 世代インテル® Xeon® スケーラブル・プロセッサーは、最も需要の高いワークロード要件に対応するため、数十年にわたり革新的に設計された、アクセラレーションと高度なセキュリティー機能を備えた、バランスのとれたアーキテクチャーを提供します。すべての機能が Amazon EC2 インスタンスで利用可能であることは明記されていません。第 4 世代インテル® Xeon® スケーラブル・プロセッサー向けの機能は、新しいインスタンスで利用できるようになるでしょう。

さまざまなワークロードに対応するインテルのハードウェア・アクセラレーション機能

最新世代のインテル® Xeon® スケーラブル・プロセッサーは、ワークロードの性能を何倍にも高める可能性のある多くのハードウェア最適化を提供しています。これらは以下を含みます。

  • インテル® AVX-512: 科学シミュレーション、金融分析、人工知能 (AI)/ディープラーニング、3D モデリングと分析、画像とオーディオ/ビデオ処理、暗号化、データ圧縮などのワークロードと用途のパフォーマンスを高速化することができます。
  • インテル® ディープラーニング・ブースト: 数値精度を下げてディープラーニングの性能を向上させたり、アクセラレーターを内蔵してワークロードを強化させたりするなど、AI 向けのインテルの機能と組み合わせることで、AI 向けの高性能なハードウェア・プラットフォームを容易に実現できます。
  • インテル® クイックアシスト・テクノロジー: クラウド・ネットワーキングやストレージ、コンテンツ配信およびデータベース向けのデータの暗号化を高速化するのに役立ちます。
  • インテル® vRAN ブースト: 仮想化無線アクセス・ネットワーク (vRAN) は現代の電気通信を最適化し、煩雑さを軽減し、省電力性を向上させ、外部のアクセラレーター・カードを不要とします。

最新の第 4 世代インテル® Xeon スケーラブル・プロセッサーは市場のどの CPU よりも多くのアクセラレーターを内蔵しており、最も成長の早いワークロードのパフォーマンスを向上させます。以下のような機能を含みます。

  • インテル® アドバンスト・マトリクス・エクステンション (インテル® AMX): HPC、ディープラーニングのトレーニングと推論を大幅に加速し、リスクや詐欺の検出、ゲノムシーケンス、気候科学、自然言語処理、推奨システム、画像認識などのワークロードに最適です。
  • インテル® In-Memory Analytics Accelerator: インメモリー・データベース、オープンソース・データベース、データストアに最適で、データベースやアナリティクス・ワークロードの高速実行を支援します。
  • インテル® データ・ストリーミング・アクセラレーター: ストリーミング・データの移動と変換操作の改善により、ストレージ、ネットワーキングおよびデータ集客型のワークロードを高いパフォーマンスを発揮するようにします。
  • インテル® Xeon® CPU マックス・シリーズ: メモリーバウンドのアプリケーションのボトルネックの軽減を支援し、モデリングや AI、HPC またデータ分析のためのより高いパフォーマンスを実現する高帯域メモリーを提供します。

インテルのソフトウェアへの取り組み

インテルは一般的にハードウェアの会社として認識されていますが、それは真実からほど遠いものです。インテルには 18,000 名ものソフトウェア・エンジニアが在籍しており、その大多数のエンジニアがパフォーマンスの最適化に重点を集中しています。インテル® oneAPI フレームワークはオープンなクロス・アーキテクチャーであるプログラミング・モデルをサポートし、開発者は複数のアーキテクチャーで単一のコードベースを自由に利用できます。その結果、ベンダーに縛られることなく、高速なコンピューティングを実現することができます。最新のインテル® oneAPI ツールキット 2023 は、インテルの CPU と GPU アーキテクチャーの今後のポートフォリオと高度な機能向けの最適化されたサポートを提供し、パフォーマンスと生産性で開発者を強化し続けています。

インテル® oneAPI ツールキット

インテル® oneAPI ツールキットは開発者やデータ・サイエンティスト、エンジニアが最高クラスのコンパイラー、パフォーマンス・ライブラリー、フレームワーク、解析、デバックツールで CPU 上でハイパフォーマンスのアプリケーションをビルド、解析、最適化するのを手助けします。

  • インテル® oneAPI ベース・ツールキット: この基本的なツールセットを使って、インテル® CPU、GPU、FPGA に対応したパフォーマンスとデータセントリックなアプリケーションを作成することができます。
  • インテル® oneAPI HPC ツールキット: 共有、分散メモリー計算システムに対応し、アプリケーションのビルド、解析およびスケーリングを手助けします。
  • インテル® AI アナリティクス・ツールキット: エンドツーエンドのデータサイエンスや Python ツールやフレームワークを利用したマシンラーニングのパイプラインの高速化を手助けします。
  • インテル® ディストリビューションの OpenVINO ツールキット (powered by oneAPI) : エッジからクラウドまでハイパフォーマンスの推論アプリケーションをデプロイするディープラーニング推論開発者の手助けをします。
  • インテル® oneAPI レンダリング・ツールキット: ビジュアル・クリエイター、科学者、エンジニアが、ビジュアライゼーションの限界を超える高忠実度、フォトリアリスティックな体験を実現することを支援します。
  • インテル® oneAPI IoT ツールキット: エッジデバイスや IoT の開発者が、ネットワークのエッジで動作するアプリケーションやソリューションの開発を迅速に進めることができるよう支援します。
  • インテル® システム・ブリングアップ・ツールキット: システムエンジニアがハードウェアとソフトウェアの洞察によってシステムの信頼性を強化し、電力と性能の最適化を支援します。
インテルの AI ツール、ライブラリー、最適化

インテルはオープンソース・ソフトウェア・エコシステムのメジャープレーヤー

インテルは、自由な意見交換を促す協力的な環境でこそイノベーションが生まれると信じています。インテルは、透明性が高く、セキュアですべてにアクセス可能なオープン・エコシステムの構築に力を入れています。ソフトウェア・エンジニアにこれらのプロジェクトに参加するよう推奨することで、TensorFlow や PyTorch、Linux、KVM、Kurbernetes のようなオープンソース・プロジェクトに積極的加わるようにしています。多くのインテルの最適化はこれらのオープンソースのソリューションに埋め込まれ、PyTorch や TensorFlow の AMX サポートのようにデフォルトで利用可能となっています。

第 4 世代インテル® Xeon® スケーラブル・プロセッサー上で動作する TensorFlow および PyTorch フレームワークは、インテル® AMX のサポートとインテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー (インテル® oneDNN) で実現する拡張最適化機能により、最先端の AI 性能を発揮します。インテルのソフトウェアの最適化は人気のオープンソース・ソフトウェアの多くでデフォルトで含まれ、開発者は最小の努力で埋め込まれた最適化を活用することができます。

AWS 上でインテルのハードウェアとソフトウェアの最適化を活用するメリット

AWS とインテルはビジネスの業績を向上させ、コストや複雑性を管理するためにデザインされたクラウドサービスの開発やビルド、サポートに注力するため、16 年以上の関係があり、現在および将来のコンピューティング要件に対応できるよう、拡張性を持たせています。インテルのプロセッサーは AWS にデプロイされた多くのクラウド・コンピューティング・サービスの基盤を提供しています。Amazon Elastic Compute Cloud (Amazon EC2) のインテル® Xeon® スケーラブル・プロセッサーが搭載されたインスタンスは、AWS のジオグラフィーにわたって最大幅のコンピュート・インスタンス、グローバルリーチ、および可用性を備えています。

AWS 上では多くのインテルの EC2 インスタンスが利用可能となっており、多くのインテルのハードウェアの機能をこれらの EC2 インスタンス上で利用して、ワークロードを高速化できます。以下の図は、一般的なワークロードで見られる、世代を超えた性能の向上を示しています。これは、ワークロードにハードウェア・アクセラレーターを使用することで得られる利得を表しており、最新のインテル® Xeon® スケーラブル・プロセッサーが持つ独自の機能に基づいています。

第 4 世代インテル® Xeon® スケーラブル・プロセッサーは、実際のワークロードで差別化されたパフォーマンスを発揮

インテルのワークロード固有のソフトウェアの最適化はパフォーマンスをより改善し、AWS でインスタンスのフットプリントを軽減する手助けをします。以下の図は、インテル® AI アナリティクス・ツールキットで利用可能なソフトウェア特有の最適化による利得の例です。

Census ワークロードのエンドツーエンドのパフォーマンス
インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリーと TensorFlow 2.8 によるパフォーマンス効果

結論

この記事ではインテルのインスタンスに関連する AWS Well-Architected フレームワークの 3 つの柱、パフォーマンス、コスト、そしてサステナビリティーについて見てきました。

  • コアのコストを指標として Graviton インスタンスを推奨するコスト削減推奨の背景にある AWS の思考プロセスを分析しました。この推奨は、アプリケーションを x86 から Arm (Graviton) に再プラットフォーム化する必要があることを意味します。
  • 再プラットフォーム化がコスト削減のメインのアプローチになる場合の移行に伴うリスクを見てきました。
  • ターゲット・プラットフォームにインテルのハードウェアおよびソフトウェアの機能がないと、パフォーマンスが低下したり、新しいプラットフォームをサポートするための運用負荷が増加する可能性があります。
  • インテルのインスタンス上で動作するワークロードのハードウェア・アクセラレーションとソフトウェアの最適化を活用することで、パフォーマンスとサステナビリティーの向上、コスト削減の大きな可能性があります。
  • インテルのインスタンス向けにワークロードを最適化し、インスタンスのサイジングを適切に調整することで、再プラットフォーム化よりも関連するコスト削減の恩恵を受けることができ、リスク軽減につながります。

アクションに移す

ワークロードを AWS に移行する際には、以下の点にご注意ください。

ワークロードのプロファイルを注意深く分析します。

  • AWS 上のインテルのインスタンスで利用可能なハードウェア・アクセラレーションとソフトウェア最適化を調査します。
  • インテル環境で期待される効果に基づき、インスタンス・サイズとコストを調整します。
  • 移行や新規ワークロードの真のリスク分析を実施します。
  • コストだけでなく、関連するすべての要素に基づいて、再プラットフォーム化の決定を再考します。
  • インテル® Xeon® スケーラブル・プロセッサーをベースとするシステムのチューニング・ガイドを活用し、ワークロードを最適化します。