eSOL Marketing Official Blog

SDV, クラウドネイティブ時代に求められるOSとは -キーワードは分散と連携-

2023/11/28 11:00:00

本記事では、イーソルの技術営業部 部長であり、リアルタイムOS製品のプロダクトマネージャを兼務する金子が、これからの組込み分野のComputing環境について着目しながら、"SDV, クラウドネイティブ時代に求められるOS"について解説します。


Computing環境は2つに収束

とあるIoT関連のシンポジウムで行われた講演にて、講演者の方が「組込みソフトウェアと言う言葉が昔あった」と発言されてとても驚いたことを記憶しています。IoT/M2M, SDV/SDM (Software-Defined Vehicle/ Software-Defined Mobility), Cloud-nativeというキーワードを目にするようになり、従来の組込み分野に、スマホ分野で成功を収めたCloud技術を導入していくという大きな流れを踏まえての発言だったのですが、組込みソフトウェア環境の大きな地殻変動が起きていることを表す象徴的な言葉だと感じました。

この地殻変動をソフトウェア開発者の目線で捉えなおすと、これまで多種多様なものと思われていた組込みのComputing環境も、実はその役割により大別すると2つの種類に収束していくと見ることが出来ます。

1つ目は、Linux OSに代表されるOSSを最大限に活用したComputing環境です。PC分野からその活用の流れが始まって、Cloudへの応用が進み、仮想化・サービス化・コンテナ化を実現するたくさんのOSSを誕生・発展させて、現在では” Cloud-native”と呼ばれるCloud computingを支える基盤となっています。
このCloud-nativeは、前述のIoT/M2M, SDV/SDMと言ったコンセプトを具現化するための技術を表すもので、システムの企画・設計・開発・運用の全域においてCloud利用を前提に合理化する過程で生み出されました。技術的には2000年頃から提唱されていましたが、2010年代のCloud-スマホ分野の商業的成功を経て成熟し、車載や産業を含む他分野への横展開が始まっています。ここでは、ハードウェアの物理的な構成やネットワークトポロジーに依存しない、極めて柔軟なComputing環境が実現しようとしています。

2つ目は、従来の組込みソフトウェアが担ってきた領域を担うComputing環境です。装置に組込むソフトウェアが最終的に何らか物理世界とのインタラクションを必要とする以上、現実世界の制約に依存しながら静的で変化の余地が少ない処理を実装する必要があります。例えば安全・セキュリティが必要な処理、決められた時間内にやり遂げなければならない処理、センサーやアクチュエータの制御処理などです。これらのように従来から存在する制御系の領域においても、制御方式の主体がハードウェアからソフトウェアに移り変わる中で、ソフトウェアに対する機能・非機能の要求がより高度化しています。

これら2つのComputing環境は大きく性質が異なりますが、両者の世界を繋げることで商業的に大きな価値を生み出す余地があります。このため、システムの中で両者を分離しながら連携させるための技術も重要視されています。それらの技術については、本記事の後半で紹介します。

ハードウェアの進化の観点ではHeterogeneous computingがトレンド

一方で、ソフトウェアに物理的なComputing環境を提供するハードウェアの進化を俯瞰してみましょう。Computerはその誕生から現在まで、「集中」と「分散」を行き来しながら発展してきました。メインフレーム (集中) から始まり、PCとオンプレミスサーバ (分散) の時代を経てCloud (集中) に至り、最近はIoT/Edge computingという「分散」になって来ている流れです。
そして、もう一段下のレイヤとなるCPUとペリフェラル等の部品構成も、現在のトレンドは「分散」です。特に組込みの分野では、電力制約のある中でエッジに要求される高度なタスクを処理できるよう用途に特化したComputingユニットを組み合わせて使用する必要に迫られています。近年のHeterogeneous multicoreや (GP) GPU/NPU + CPU構成の普及、さらにはChiplet技術の登場により、複数種類のハードウェアに機能を分散して配置するHeterogeneous computingの実現が加速しつつあります。

これからのComputingに合うOS

では以上に述べたようなトレンドを踏まえて、これからのComputing環境を組込み分野で実現していくためにはどのようなOSが必要なのでしょうか?キーワードは分散と連携です。
まず、前述の2つのComputing環境は、安全にパーティショニングされている必要があります。パーティショニングとはシステムのある単位を論理的に分割して管理する手法で、分割したもの同士の干渉を制約することで双方の独立性を担保します。例えば適切なパーティショニングの手法を用いることで、Cloud-nativeの世界から取り入れた大規模データ処理とアクチュエータをリアリタイムに制御する処理を分離し、それぞれの独立した制御周期を守ることができるようになります。
また分割したシステム同士が連携して動作する必要がある場合、パーティショニングの目的を維持しつつ相互に連携が可能な通信手段を提供する必要があります。その際に用いられる手法の一つが、Cloudサービス等でも古くから用いられているService Oriented Architecture(SOA)と呼ばれる手法です。SOAではネットワーク上にあるComputing単位をサービスの提供者と利用者に見立て、両者のやりとりをサービスの仕様で定義した通信に限定することで、双方のソフトウェア上の依存度を低く保ったまま動的な連携を可能にします。
安全なパーティショニング手法による分散機能と、SOAの手法による連携機能は、これからの組込みのComputing環境にとって必須要件になると言えるでしょう。

また更に上述のHeterogeneous computingハードウェアの存在を考慮すると、単にシステムの機能を分割して複数のComputing資源に配置していくだけでなく、異種混合のComputing資源間の通信手段や動作特性の違いまで考慮してシステムを設計していく必要があります。そのような仕事はシステムインテグレータが担当する分野ですが、論理的に取り得る機能配置や通信経路の組み合わせは無数に存在します。そこで最終的なインテグレーションのコストを低減するために、Heterogeneous computing環境におけるハードウェア構成の隠蔽やマルチコア・マルチプロセスシステムの開発支援機能がOSにも要求されます。

イーソルで開発・販売しているeMCOS®が採用するマルチカーネル (分散型マイクロカーネル) アーキテクチャは、まさにこれらニーズに応えるために考えられた、

Mixed criticality system on Heterogeneous computer

に適したOSです。この技術的な詳細は、こちらを参照してください。
さらにeMCOS SDKが提供する開発環境はCloud-nativeと従来の「組込み」開発環境の技術を橋渡しすることを目指した環境です。次回以降のポストで改めてご紹介しますが、CI/CDとの親和性、Visual Studio Codeを始めとしたOpenなIDE Frontendsとの連携等が特徴です。

eMCOSに関してご不明な点などがありましたら、以下よりぜひお気軽にお問い合わせください。

お問い合わせはこちら

イーソルはこれまで20年以上に渡り、商用組込みRTOSを開発・販売しながらお客様のシステム開発に深く携わってきました。これからもComputing環境の変化に適合したeMCOSの提案を通じて、Cloud-native技術と「組込み」技術の橋渡し役を担っていきます。


技術営業部 金子智範



■参考資料

2023年11月開催「Arm Tech Symposia 2023」および「EdgeTech+ 2023」にて金子が講演した資料を以下よりダウンロードいただけます。

「SDx(Software-defined anything:ソフトウェア定義) に求められるアーキテクチャとは」
新規CTA


最近の記事

ブログの更新通知を受け取る