2019 年 10 月 23 日
Linux - RTOS 共存の取り組み
なぜ、Linux と RTOS を共存させるのか?
1 つのチップ内で役割を分割し、それぞれの強みを生かす
組込み製品/システムで使用されるCPUアーキテクチャ組込みシステムで使用される CPU の 36% は、マルチプロセッサ/マルチコアです。ハイエンドモデルにおいては、1 つの SoC (System-On-Chip) 上に異なるプロセッサが混在したヘテロジニアス構成、特に APU (Application Processor Unit) と呼ばれる高度な計算処理を行うプロセッサと RPU (Realtime Processor Unit) と呼ばれる軽量でリアルタイム性・確実性の高い処理を行うプロセッサをそれぞれ複数コア実装するモノが多く発表され、プロセッサ毎にその処理・役割を分離する考えが広がっています。
一方で、昨今の IoT・AI の流れから、RTOS (Real-time Operating System ; リアルタイムOS) を使用している組込みシステムにおいても RTOS では対応が難しいネットワーク機能や学習モデルの実行、音声やタッチインターフェイス等に対応した HMI などの様々な機能の実装が必要となり、RTOS の強みであるリアルタイム性などの資産を有効活用しつつ、汎用的で複雑な処理では Linux を利用するマルチ OS 構成の実装が強く求められています。
Linux と RTOS が共存すると何ができるのか?
RTOS は、名前の通り「リアルタイム性」はもとより、「起動時間の短さ」や「省電力」「少ないリソースでも動作する」といった特徴があります。一方 Linux は画像処理、AI などのオープンソースで公開されている「ソフトウェア資産の活用」や GPU や無線モジュールなど「各種ハードウェア資産に対応」している特徴があります。それぞれの強みをもつ Linux と RTOS が共存することにより、例えばプロペラのリアルタイム制御をしつつ、高解像度のカメラ画像を遠隔で配信する飛行ドローンシステムを 1 つの SoC で実現することができます。
※各画像をクリックすると拡大表示します
Linux - RTOS 共存を実現する OpenAMP
Linux と RTOS を共存させる方法
Linux と RTOS が共存する組込みシステムを構築する場合、AMP (Asymmetric Multi Processing) と言われるマルチプロセッシング構成によって、プロセッサ毎に最適な OS を起動することが出来ます。しかしそれぞれ独立して OS が起動するため、プロセッサ間の通信手段を考える必要があります。
OpenAMP とは?
OpenAMP はプロセッサ間通信を始めとした AMP 構成用のソフトウェアを提供するオープンソースプロジェクトです。これによって AMP 構成をひとつのシステムとして使用することが出来ます。OpenAMP のコア技術となる remoteproc、RPMsgは Linux Kernel ですでに使用可能となっており、各 SoC ベンダーも OpenAMP に対応した BSP (Board Support Package) を提供するなど、利用が広がっています。
OpenAMP VS Hypervisor
複数の OS を起動する方法としては、Hypervisor(ハイパーバイザー)を使用して複数の仮想マシン上で OS を起動する方法も考えることができますが、すべてのプロセッサが同一である必要があるため、様々なプロセッサが実装されているヘテロジニアス構成の SoC に対応することが出来ません。仮に Arm 社の big.LITTLE のように同一命令セットを備える実装であれば Hypervisor を使用することが出来るかもしれませんが、スループットの低下や Hypervisor の実装によっては各 OS のデバッグが困難となるなどデメリットも多く存在します。
OpenAMP | Hypervisor | |
---|---|---|
ヘテロコア対応 | 対応 | 未対応 ※同一命令セットの構成は対応可能な場合あり |
オーバーヘッド | 無 | 有 |
OS の分割・割当単位 | コア単位 | 制限無し |
応答性 | ||
開発コスト | ||
デバッグ | ||
構成の自由度 |
サイバートラストの Linux - RTOS 共存への取組み
組込み Linux ベンダーとしての視点による、Linux - RTOS 共存システムの研究
サイバートラストでは画像処理技術や AI など、昨今の組込みシステムに要求される様々な高度機能を迅速に提供可能なエコシステムを実現するために、OpenAMP を使用した Linux - RTOS 共存システムの研究・ビジネス化に取り組んでいます。
それぞれの「強み」を活かすパートナーシナジー
RTOS のノウハウ・視点で Linux - RTOS 共存システムの利用を推進するため、サイバートラストは RTOS ベンダーであるイー・フォース株式会社や株式会社グレープシステムとパートナーシップを結び、多角的な視点で研究開発を行っています。また、協業に際して、Arm 社の日本法人であるアーム株式会社からもご賛同を頂くなど、企業を越えた取組みを行っています。
RTOS-Linux 共存についてのご相談、お問合せは下記よりご連絡ください。