~Maker Interview~

メーカのHOTなトピックス、今最も注力している製品にフォーカスし、
開発現場や製品企画担当の方々に戦略や今後の方針を語っていただくコーナー。
※最新の業界動向をお届けします。

ARMベースのネイティブなソフト開発環境を実現、24コアを集積した独自プロセッサ搭載の開発キット

白石文高 氏 小島雅久 氏

 ソシオネクストは、富士通とパナソニックのシステムLSI事業を統合することで2015年3月に誕生した半導体ベンダーである。もちろん同社が注力するのは、システムLSI(SoC:System on a Chip)の開発/販売である。しかし、それだけではない。ここ数年、特に力を入れているのがソリューションの提供である。システムLSIを採用するユーザーの立場となって、同社のシステムLSIを利用したボードやモジュールなどを用意することで、システムLSIを拡販する。さらに、ソリューション自体を販売する「ソリューションの自立」も目指す考えだ。

 現在同社は、独自のマルチコア・プロセッサを搭載したサーバー向けソリューション「SynQuacer(シンクェーサー)」の開発に取り組んでいる。具体的には、ARM用Linuxカーネルを開発する非営利組織「Linaro」が策定する 96Boards Enterprise 仕様に準拠したソフトウェア開発環境などの提供だ。今回は、同社の EPS事業部SynQuacerプロジェクト事業営業グループの白石文高(しらいし・ふみたか)氏と、開発グループの小島雅久(こじま・まさひさ)氏に、SynQuacerの詳細のほか、ソフトウェア開発環境の開発経緯や特徴などについて聞いた(聞き手:山下勝己=技術ジャーナリスト)。

まずは「SynQuacer」について教えてほしい。

白石 SynQuacerは、サーバー向けソリューションである。
基本的なコンセプトは、消費電力当たりの演算性能、すなわち電源効率を高めることにある。

 例えば、米Intel社が提供するサーバー向けCPUは極めて高性能だが、そのCPUを最大限に使うジョブはほとんど存在しない。つまり、高性能な1個のCPUを使って、とても小さなジョブを処理しているケースが多い。これでは、電源効率が低くなってしまう。

 電源効率を可能な限り高めたい。そこで当社が採用したのが、小さなコアをたくさん並べて、ジョブに応じて必要なコアだけで処理する手法である。この手法であれば、電源効率を大幅に高められる。

小さなコアとは、どんなものか。

白石 小さなコアには、英ARM社の64ビットコア「Cortex A-53」を採用した。ARM社の64ビットコアの中でも、電源効率が非常に高いことが採用の理由である。

1つのチップ(プロセッサ)には、小さなコアを何個集積しているのか。

図1:マルチコア・プロセッサとSoCスイッチ
Cortex-A53コアを24個集積したマルチコア・プロセッサ「SC2A11」と、
PCI Express Gen2×4レーンを9チャネル搭載したSoCスイッチ「SC2A20」の製品仕様である

白石 開発したマルチコア・プロセッサ「SC2A11」には、Cortex A-53コアを24個集積した(図1)。動作周波数は1GHzである。消費電力は5Wと少ない。

マルチコア・プロセッサは、どのような用途に向けて開発したものなのか。
どのような使われ方を想定しているのかを説明してほしい。

白石 並列処理を電源効率良く処理することを目的としてマルチコア・プロセッサを開発した。 また、このプロセッサが標準のLinux開発プラットフォームとして拡がることを目指し、今回のメイン・テーマである96Boards Enterprise 仕様準拠のソフトウェア開発環境をリリースした。今回の1CPUシステムの他に、当社では、別途開発したスイッチチップを使用することで、 最大64CPUを低遅延で接続するスケーラビリティを持つシステムも準備している。

Linaroが全面的にバックアップ

96Boards Enterprise 仕様準拠のソフトウェア開発環境とはどんなものか説明してほしい。

図2:SynQuacer Eシリーズ
96Boards Enterprise 仕様準拠のソフトウェア開発環境である。1個のマルチコア・プロセッサ(SC2A11)をメインCPUに使った。

白石 製品名は、「SynQuacer Eシリーズ」である(図2)。 1個のマルチコア・プロセッサ(SC2A11)をメインCPUに使ったコンピュータである。 SC2A11を搭載したマザーボードには、DDR4メモリーや、入出力インターフェースなども実装した。 このほか、開発環境には「Micro ATX」に準拠したケースや電源ユニットなどが付属している。

見た目はパソコンのようだが。

白石 ARMアーキテクチャ採用のメインCPUを載せたパソコンと考えてもらって差し支えない。

この開発環境がターゲットとするユーザーは誰か。

白石 全世界のARM, Linuxのソフトウェア開発者である。

小島 SynQuacer Eシリーズは、そうした開発者に向けたARMアーキテクチャ・ベースのネイティブなソフトウェア開発環境である。

 これまで、ARMアーキテクチャ・ベースのLinuxソフトウェアを開発する場合、Intelプロセッサ・ベースのサーバーを使用して、 そこで開発したソフトウェアをクロスコンパイルして動作するかどうかを確認していた。 これでは、手間が掛かるし、時間も掛かった。しかし、SynQuacer Eシリーズを使えば、 ARMアーキテクチャの24コアCPUを採用しているため、高速なネイティブ・コンパイルが可能だ。 このため、すぐに動作確認を実行できるので、開発時間を大幅に短縮できる。

Linaroとの関係はどうなっているのか。

小島 Linaroは、ARMアーキテクチャ採用のCPUコアに最適化したソフトウェアを開発する国際的な組織である。 ARMサーバー向けソフトウェア開発・評価には、これまで高価で大きなラックサーバーが必要であった。 SynQuacer Eシリーズであれば、ARMコア採用のデスクトップマシンとして開発者の手元に置いて、手軽にARM向けソフトウェアの開発ができる。 Linaroのソフトウェア開発者が待ち望んでいたものである。 このため今回のボード設計及びファームウェア、ソフトウェアのサポートをしてもらっている。 SynQuacer Eシリーズについては、Linaroの全面的なバックアップが用意されている。 Linaroのサイト内にサポート用ホームページがあり、そこからOSイメージや、UEFI(ブートローダー)、Linuxディストリビューションなどをダウンロードできる。 もちろん、そのほかに必要なアプリケーションソフトウェアは世界中から入手できる。

Raspberry Piを大きく上回る性能

SynQuacer Eシリーズの処理性能を、競合他社品と比較してほしい。

図3:接続可能なビデオ台数
Zorachka社のベンチマーク結果によると、ビデオ・マネジメント・システム(VMS)向けOS「Errai」をSynQuacer Eシリーズ上で実行した場合、最大60台のカメラを接続できる。Intel社のプロセッサ「Celeron J1900」を搭載した400米ドル以下のサーバーにおける接続台数は最大20台だった。

小島 ビデオ・マネジメント・システム(VMS)向けアプリケーションソフトウェア「Errai」をSynQuacer Eシリーズ上で実行した場合、最大で60台のカメラを同時に接続できる(図3)。一方、Intel社のプロセッサ「Celeron J1900」を搭載した400米ドル以下のサーバー上で実行した場合は20台しか接続できなかった。つまり、SynQuacer Eシリーズの方が続できるカメラの台数が約3倍も多いことになる。

・Erraiの名称は、Zorachka LTD. の商標または登録商標です。

Raspberry Pi(ラズペリーパイ)もARMアーキテクチャ採用のメインCPUを搭載した小型コンピュータである。
Raspberry Piと比較した際のメリットは何なのか。

白石 Raspberry Piと比較した場合、SynQuacer Eシリーズのメリットは大きく3つある。1つ目は処理性能が高いことだ。 SynQuacer Eシリーズは24コア構成だが、Raspberry Piは4コア構成にすぎない。 このためSynQuacer Eシリーズの方が単純に6倍高速である。 例えば、カーネルのコンパイルの場合、SynQuacer Eシリーズであれば10数分で完了するが、Raspberry Piならば1時間強も掛かってしまう。 ARMネイティブのビルドマシンとして活用できるだろう。

 2つ目は入出力インターフェースが豊富なことだ。 SynQuacer Eシリーズは、PCI ExpressやシリアルATA、USBなどが揃っているため、さまざまな使い方に対応できる。3つ目は、300W出力の電源ユニットが用意していることである。さらにUSBインターフェースを介して最大1Aの電流を供給することも可能だ。

SynQuacer Eシリーズを使って開発するソフトウェアのターゲットとなるアプリケーションはどのようなものになるのか。

図4:IoTエッジ機器を狙う

白石 まずは並列化が容易な画像処理アプリケーションを考えている。 また、そのアプリケーションを実行する機器としては、IoTシステムのセンサー機器やクラウド機器ではなく、エッジ機器に最適だと考えている(図4)。 例えば、コンビニエンスストアなどの監視ビデオ・システムのエッジ・サーバーだ。店舗の四隅などにカメラを数台設置して、撮影した映像をエッジ・サーバーに集めて比較的簡単な処理を実行する。 その結果をクラウドに送信するといった使い方が考えられるだろう。 接続するカメラ台数や処理内容に応じてCPU数を増やすことで対応が可能であり、各CPUが低遅延で通信する必要があれば、前述のスイッチチップを使用することでスケーラブルなシステムを構築できる。 また、ASIC開発の際、事前にCortex A-53の性能や消費電力を見積ることや、ソフトウェア開発の先行着手などに活用、 及び前述のようにサーバー向けアプリケーション開発用のビルドマシンとしての利用もターゲットとしている。