Amazon Web Services ブログ
QNX® Neutrino® OS on Amazon EC2 Graviton による組込みソフトウェア開発の高速化
このブログは、Accelerate embedded software development using QNX® Neutrino® OS on Amazon EC2 Graviton を翻訳したのものです。
このブログは、Carine MacPherson、Patrick Bartsch、Chavi Gupta、Mehran Najafi、Stefano Marzani、Brett Francis、Michael Garcia によって作成されました。
BlackBerry は本日、自動車、ロボット、航空宇宙、航空電子、エネルギー、医療などの業界で BlackBerry QNX を使用してミッションクリティカルな組み込みシステムを構築する顧客が、クラウドのアジリティ、スピード、スケールを開発者に提供できるようになったことを発表しました。BlackBerry の QNX AMI により、QNX Neutrino リアルタイム オペレーティング システム(RTOS)が、BlackBerry QNX ツールを使用する開発者コミュニティの一部のメンバーにすべての AWS リージョンでプレビューで提供されるようになりました。非常に人気のある RTOS である BlackBerry QNX ですが、この記事では、クラウドで利用可能になることで、規制産業の顧客のクラウドネイティブジャーニーにどのように役立つかを説明します。
規制産業におけるクラウドネイティブの開発プロセス
規制産業では、システムの故障が人身事故に繋がるなど、実世界において重大な影響を及ぼす可能性があります。これらの産業で使用される規制や安全認証プロセスは、そのような影響を可能な限り低減するために存在します。重要なソフトウェアコンポーネントの 1 つが、セーフティクリティカルなソフトウェアアプリケーションを実行する決定論的な RTOS です。
規制産業に携わる多くのお客様は、自社向けのテクノロジーやソフトウェアのイニシアチブを模索するようになるにつれ、品質や安全性に妥協することなく、組込み機器に段階的に機能を提供し、俊敏性と柔軟性を持ってソフトウェアを開発するするために、クラウドを必要としています。
クラウド開発環境は、迅速にスケールすることが可能で、CI/CD パイプラインのための「実績のある」サービスを使用してさまざまな開発フローを自動化することができます。一元的なストレージや開発環境とテスト環境への安全なアクセスは、大規模なチームにさらなる効率性をもたらします。開発者が直面する大きな障害の 1 つは、クラウド開発環境が安全関連アプリケーションの作成に使用される業界特有の環境と一致しないことです。BlackBerry QNX AMI の提供により、開発者はクラウドでバイナリパリティを初めて体験することができます。クラウドネイティブアプローチは、多くの分野でこれらの目標を達成するためのアプローチとなりましたが、規制業界のアプリケーション開発者は独自の課題を抱えています。機能安全コンセプトとリアルタイム実行の面で業界固有の特性を維持することが可能なクラウドネイティブなアプローチは、開発および導入後のアプリケーションの安全性とセキュリティを担保しながら、市場投入までの時間を短縮するための鍵となります。
QNX オペレーティング システム
BlackBerry の QNX 製品は、さまざまな業界のお客様が商用 RTOS、ハイパーバイザー、開発ツール、およびサービスを使用して重要な組み込みシステムを構築することを可能にしてきました。現在、アプリケーション開発者とテスト担当者は、スケーラビリティと開発およびテストのプロセスを自動化するためのツールが不足している、オンプレミス環境でこれらのツールを使用しています。
QNX Neutrino OS はマイクロカーネルベースのオペレーティングシステム(OS)で、特にセキュアでかつ安全であるように設計、実装されています。1984 年に Gordon Bell と Dan Dodge が QUINX という名称で初めてリリースし、後に QNX に改名されました。QNX は、典型的な OS カーネル機能の大部分を QNX カーネルの外部で別のプロセスとして実行する、という方針に則っています。この方針は、従来のモノリシックカーネルのアプローチとは異なります。モノリシックカーネルは大量の機能で構成されており、各部分はそれぞれ特殊な機能を持っています。QNX では Neutrino と呼ばれるマイクロカーネルを使用しており、開発者は実行する必要のない特殊な機能をオフにすることができ、OS カーネル全体を変更する必要がありません。モノリシックカーネルには、カーネルスペースにロードされている非アクティブなロジックがありますが、QNX マイクロカーネルには CPU のプロセス間通信、割り込み管理、および CPU のスケジューリング機能のみが含まれおり、他のすべてはユーザープロセススペース内のプロセスとして実行されます。これらのプロセスは、アクティブまたは非アクティブに設定でき、ソフトウェアタスクを達成するために必要なものと正確に一致させることができます。このアプローチにより、QNX OS はカーネルを障害から切り離すことができ、ISO 26262 や IEC61508 などの多くの規制や安全認証に求められる「無干渉」な基盤を構築します。
QNX Neutrino OS は、軍事、セキュリティ、防衛、GE Electric コントローラ、Siemens SIMATIC などのセーフティクリティカルなアプリケーションの実行に広く使用されています。BlackBerry QNX は、CARIAD ADAS、Hyundai Autron、Magna ADAS、TTTech、NVIDIA Drive OS、Qualcomm Snapdragon Ride など、安全認証されている多くの製品のオペレーティングシステムとしても提供されています。現在、AWS Marketplace 上の BlackBerry QNX AMI により、お客様は既存の開発パイプラインを統合して、クラウド上でこれらのシステムの構築に専念し、テストを開始することができます。最終的な組み込みハードウェアが利用可能になる前に、Amazon Elastic Compute Cloud(EC2)を通じて AWS Graviton Processor で実行できるようになったことを考えると、バイナリパリティが実現されていると言えるでしょう。QNX OS をクラウドで実行することにより、開発者のセットアップおよびロジスティックコストが削減され、物理的ではなく仮想的に同じターゲットでより多くのコラボレーションが可能になります(物理的なデバイスではなく環境へのリンクを送信する)。ターゲットのハードウェアは、開発サイクルの最後に特定のデプロイメントテストを行う場合にのみ必要となり、開発者は以前より少ないハードウェアでより多くの作業を行うことができます。製品開発にVモデルを使用しているあらゆる業界で、「シフト・レフト」、自動化、および製品の市場投入時間の短縮が可能になります。
QNX OS AMI を使用したクラウドベースの開発およびテストワークフローでは、Amazon Elastic Compute Cloud (EC2) – 特に Graviton 搭載インスタンス – を通じて、チームのニーズに応じてスケールし、不要な場合は停止できるため、長期的にコストを削減することが可能です。機能安全(ISO 26262、IEC61508)およびサイバーセキュリティ規制(UNECE WP29)に対するソフトウェアの最終検証のために、コストが高く、希少な開発用ハードウェアをより効率的に使用することができます。
QNX OS はベース AMI として提供され、どのパートナーでも追加ソフトウエアをスタックアップすることができます。ベース AMI は AWS Marketplace で提供される予定です。さらに、開発者コミュニティだけでなく、現在の既存企業に加えて新規参入企業にとっても新しい収益源とビジネスモデルが開放されることになります。次のセクションでは、同一のワークロードをクラウドと自動車グレードのハードウェアにシームレスにデプロイすることで、QNX ベース AMI が自動車業界のソフトウェアソリューションにどのように役立つかを示すケーススタディについて説明します。
ケーススタディ IVY 向け QNX AMI
BlackBerry IVY はスケーラブルなクラウド接続型ソフトウェアプラットフォームで、自動車メーカーは、車両センサー データの読み取り、正規化し、そのデータから実用的なインサイトを生み出す一貫した安全な方法を、車両内およびクラウド上で提供することができます。自動車メーカーはこの情報を利用して、デプロイしたいあらゆる車載アプリケーションをサポートすることができます。BlackBerry IVY は、QNX OS を含む複数の OS プラットフォーム上に展開することが可能です。QNX OSがAWSクラウドにデプロイ可能になったことで、BlackBerry IVYもQNX OSの上にネイティブにデプロイできるようになったということです。
AWS re:Invent 2022では、AUT 303ワークショップ「Cloud-native development of synthetic sensors with BlackBerry IVY」でこの技術的成果を活かし、BlackBerry IVY Edgeと同一のシーン検出ワークロードをクラウド環境と自動車グレードハードウェア上の BlackBerry IVY Edge にシームレスにデプロイします。下記の図 2 に記載の AUT 303 ワークショップのアーキテクチャでは、右側にシーン検出ワークロードがLantronix SA8295 Qualcomm開発ボードにデプロイされているのを見ることが出来ます。左側では、ワークショップの参加者が、ネイティブの QNX AMI をベースにした Amazon EC2 Graviton インスタンスに、バイナリレベルで同一のシーン検出ワークロードをデプロイするのを見ることができます。
図 1. AUT 303 のワークショップ アーキテクチャ
Amazon EC2 クラウドインスタンスと QC8295 自動車用ハードウェアボードの間での、このデプロイメントのパリティの側面を拡大して見てみましょう。クラウドと自動車用ハードウェアの間には、ハイパーバイザーや基盤となる計算リソースに関してまだ差異がありますが、QNX OS のバイナリパリティにより、スタックのより高いレベルでワークロードパリティを確保できるようになりました(図 3 クラウド上の IVY ターゲットとハードウェア上の IVY ターゲット間のパリティ)。つまり、自動車開発者は IVY 開発ツールを使用することで、QNX OS のデプロイメントに関して高められたバイナリパリティを持つ、異なる IVY ターゲット上で BlackBerry IVY のワークロードを構築、デプロイ、管理することができるようになったのです。
図 2. クラウド上の IVY ターゲットとハードウェア上の IVY ターゲット間のパリティ
AUT 303 ワークショップで概要を説明し、このブログで上述したように、このレベルのパリティは、アジリティ、運用コスト、パフォーマンスなどの複数の次元で多くのメリットをもたらします。例えば、物体検出のための統合センサーにより実行される CPU ベースの機械学習推論は、両方の IVY ターゲットで同等の性能(16%のばらつき)を示します。このパリティを実現することで、開発者の机上の組み込みハードウェアに依存しない、クラウド上での開発・検証・妥当性確認が可能になります。これにより、開発・テストプロセスのシフトレフトや、販売後のデプロイメントモデルに関する柔軟性が高まり、自動車産業における革新的で新しいビジネスモデルを推進することが可能になります。
結論
AWS Marketplace で QNX OS を利用可能にすることで、クラウド環境と組み込みハードウェア環境の同等性を高めるための大きな一歩を踏み出すことができました。Amazon Elastic Compute Cloud (EC2) を通して AWS Graviton2 プロセッサ上の QNX OS にアクセスすることで、パワーとパフォーマンスが向上し、組み込みソフトウエアプロジェクトは開発時間の短縮による恩恵を受けると同時に、大規模なスケールでのテスト、検証、および妥当性確認によってソフトウェアの信頼性を確保できるようになりました。AWS re:Invent 2022のAUT 303ワークショップ(Cloud-native development of synthetic sensors with BlackBerry IVY)では、BlackBerry IVYを使ったこの内容についてのデモを行っています。詳細に関しては、ワークショップに登録し、QNX AMI ブースにお越しください。
このブログはソリューションアーキテクトの渡邊翼と畔栁竜生、スペシャリストの橘幸彦が翻訳を担当しました。