デジタル・モバイル機器やインフォテイメント機器に広く採用が進む英ARM社のCortex-Aプロセッサ・ファミリ。その開発を支援するために結成された団体が「Linaro」(リナロ)である。Cortex-Aプロセッサを対象に、ツールチェーンやコンソリデーションなどモバイルLinuxに共通する開発基盤を提供。設計の複雑化とともに増す機器開発の負担の軽減を図るのが同団体の大きな狙いの一つだ。先日,同団体のRob Coombs氏が来日。日本のユーザーに向けて,こうしたLinaro設立の背景や成果の概要について説明した。


Rob Coombs 氏
Linaro
Head of Global Alliances

「Linaro」は、ARM社のCortex-Aプロセッサ上で動作するモバイルLinuxの開発支援を目的に2010年6月に結成された、非営利のオープンソースプロジェクト団体である。ARM社のCortex-AプロセッサをベースとしたSoC(システム・オン・チップ)の採用が広まりを見せている現状を受けて、設立されたものだ。英国ケンブリッジに本部を置く同団体の設立メンバーには,英ARMをはじめ米Freescale Semiconductor社、米IBM社、韓国Samsung Electronics社、スイスST-Ericsson社、米Texas Instruments(TI)社の6社が名を連ねている。

Linaroのマネージメントチームでグローバルアライアンスを担当するRob Coombs氏は、Linaroを設立した動機として,業界が一つの課題に直面していることを挙げた。「さまざまなLinuxディストリビューションが開発されていますが、バージョン、カーネルツリー、ツール類、マルチメディア機能サポートなどがバラバラで、いざ開発しようとすると、さまざまなリソースをエンジニア自らが集めなければなりません。また、Cortex-AプロセッサをベースとしたSoCもパワーマネージメント機能やグラフィックス機能がベンダーごとに異なっているために、オープンソースのリソースを適切に活用できないなど、SoCハードウェアの機能や性能を十分に発揮できないのが実態です」(Coombs氏)。

図1 Mali-T604 GPU の特徴とトライ・パイプ・アーキテクチャ
図1 ベンダーやコミュニティを結びエコシステムを形成するLinaro (クリックで拡大します)

Linaroは、このような課題を踏まえたうえで、Cortex-Aプロセッサ用のモバイルLinuxを対象に、共通に利用できる開発環境や最適化したミドルウェアを提供する役割を担う。Cortex-Aプロセッサを使った機器開発を、「より簡単に(easier)」、「より短期間で(quicker)」、「より高性能に(better)」することが狙いだ。

具体的には,SoCベンダーと連携しながらCortex-Aプロセッサ用Linuxの共通基盤を開発。これをコミュニティとディストリビュータに提供することで、それぞれを有機的に結ぶエコシステム(生態系)を確立する(図1)。開発範囲はカーネルのコンソリデーション、ツールチェーン、およびミドルウェアのみに限定。ユーザー・インタフェースやアプリケーションなど製品の差異化にかかわる領域は対象外とした。また、あくまでエンジニアリング(開発)を主体とし、ディストリビューションの開発や標準化は推進しない。

開発成果を半年周期で提供

Linaroでは,6か月を単位として開発サイクルを回す。はじめにテクニカル・ステアリング・コミッティ(TSC)がメンバー企業から要求を収集。次のサイクルで開発テーマを決定する。その内容に基づいてワーキング・グループを設けて、具体的な開発に着手。その成果をリリースするというフローだ(図2)。6か月のサイクル完了後もバグフィックス等のメンテナンス作業を継続する。現在、約80名のエンジニアがLinaroの開発プロセスに従事している。2011年には100名を超える見込みだ。

このようなフローに従った取り組みの初めての活動成果に当たるのがリリース「10.11」である。2010年11月10日に発表されたばかりだ。このリリース番号の上2桁は発行年,下2桁は発行月を表す。半年後の2011年5月に予定されている、次のバージョンは「11.05」と表記されることになる。「10.11」では、「Thumb-2」命令のチューニングを組み込んだコンパイラGCC 4.4.4、Linuxカーネル2.6.35のコンソリデーション(バグフィックス、パッチ、機能モジュールなどをパッケージ化)、特定の評価ボードに対応したハードウェアパックなどが公開された。

図2 6か月を単位とするLinaroの開発サイクル
図2 6か月を単位とするLinaroの開発サイクル
 (クリックで拡大します)

ARMのVersatile Expressボード(Cortex-A9クワッドコア)のほか、BeagleBoard.comのBeagleBoard C3/C4(OMAP 3530)とBeagleBoard xM(DaVinci DM3730)が正式にサポートされている。また、PandaBoard(OMAP 4430)、IGEPv2(OMAP 3530)、FreescaleのiMX51開発プラットフォーム、およびST EricssonのU8500開発プラットフォーム上での動作が確認されている。開発者はこれら評価プラットフォームを用意すればLinaroのリソースを利用できる。

発表同日に米サンタクララで開催された「ARM Techcon 2010」では、「10.11」の活用事例として、ST-Ericsson社のSTE U8500チップ+MeeGo、TIのOMAP4チップ+Ubuntu 10.10、Samsung Electronics社のOrionチップ+Linaro 10.11 Ubuntu/headlessの3点が展示された。いずれもLinaro 10.11のツールあるいはカーネルコンソリデーションを利用して開発されたシステムである。

AndroidやCortex-A15にも対応予定

Linaroでは「11.05」以降のリリースで、パワーマネージメント機能、グラフィックス機能、マルチメディア機能のほか、マルチコア最適化、Neonインストラクションの活用、セキュリティ機能などを順次追加する予定である。「10.11」では実質的にUbuntuとMeeGoを対象にしていたが、AndroidやwebOSなどへも展開する。

2010年9月にARM社が発表したCortex-A15プロセッサにも今後対応する予定だ。なお、LinaroではMMU(メモリマネージメントユニット)を使うような高度なプラットフォームを対象とするため、「低コストの組込みマイコンとして主流となっているCortex-M系は現時点では考えていない」(Coombs氏)という。

図3 Linaroでもたらされる製品開発期間の短縮
図3 Linaroでもたらされる製品開発期間の短縮
 (クリックで拡大します)

Linaroの活動の成果はすべてウェブサイト(http://www.linaro.org/)で公開する。このために,エンジニア向けフォーラムやWikiなどが用意されている。twitter(@linaroorg@LinaroTech)やFacebook(Linaro)で情報提供する方針だ。「日本のエンジニアの皆さんにもこういった活動に是非参加していただきたいと考えています」(Coombs氏)。ウェブサイト等は現時点では日本語化されていないが、Linaroに興味を持つ国内ベンダーに対しては、必要に応じて、ARMの日本法人が情報提供する。「Linaroの最終的な目標は、モバイルLinuxに関連したリソースの再利用を促進して、Cortex-A SoCを登載した機器の開発期間の短縮を支援することにあります(図3)。とくに開発人員が不足気味の機器ベンダーにとっては大きなメリットとなるに違いありません。日本でもLinaroの成果が広く活用されることを期待しています」。

※ 会社名、製品名は、各社の商標もしくは登録商標です。

お問い合わせ

アーム株式会社
〒222-0033 横浜市港北区新横浜3-7-18 第2上野ビル8階
TEL:045-477-3117
FAX:045-477-5261
E-mail:Info-armkk@arm.com
URL:http://www.jp.arm.com