組込みコンピュータ AR シリーズの機能を拡張する 「高速メモリ共有カード」

組込みコンピュータ AR シリーズの機能を拡張する
「高速メモリ共有カード」
"High Speed Data Sharing Board" for Expanding the Functions of the Embedded
Computer AR Series
草野雅文 *
彦野厚志 **
朝倉辰伸 ***
Masafumi Kusano
Atsushi Hikono
Tatsunobu Asakura
*
ProDeS グループ エンベデッドプロダクト事業部 第三技術部
**
PFU テクノコンサル株式会社 技術センター 技術開発プロジェクト
***
ProDeS グループ エンベデッドプロダクト事業部 コアプロダクト開発部
「高速メモリ共有カード」は,組込みコンピュータ AR シリーズに搭載し,ケーブル接続することで,複数の
AR シリーズ装置の主記憶(メモリ)データの転送や共有を行うオプションカードである.PFU がこれまで培っ
てきたハードウェア,ソフトウェア開発技術を活かした完全自社設計により,高信頼性と量産安定を実現する AR
シリーズオプションの第一弾製品である.
The "high speed data sharing board" is an optional card that is installed in the embedded
computer AR series and is connected with cables to transfer and share main memory data
of multiple AR series units. This is one of the first optional products for the AR series that
achieves high reliability and enables stable mass production using a design that was developed
completely in-house based on PFU's knowledge of hardware and software development
acquired over many years.
1
まえがき
なネットワークは CPU 使用率が高く,通信負荷が
PFU は組込みコンピュータとして AR シリーズを幅
参1)
広い製品ラインナップで展開してきた
システム性能向上を妨げる要因となる場合がある.
.組込みコン
2)
組込みシステムの制御では,時間的な制約がある
ピュータは通常の PC とは異なり,高信頼性や長期供給
処理を実行するためにリアルタイム OS 注1)を使用
などが要求される.また,半導体製造装置や工作機械な
したコンピュータや,アプリケーションの動作環境
どの分野では,システム全体の高機能化や高性能化に伴
として Windows® 注2)を使用したコンピュータが混
い,これらを制御する組込みコンピュータも高い性能が
在しており,OS に依存しないソリューションが必
求められている.PFU はこれらのさらなる機能拡張や
要となる.
信頼性確保の要求に応えるため,AR シリーズ専用のオ
プションカードを開発した.
3)
複数のコンピュータでシステム構成する場合,
万一,そのコンピュータのいずれかに問題が発生し
ても,継続稼働と早期復旧を実現したい.
2
開発の背景と狙い
2.1 開発の背景
組込みコンピュータで構成されるシステムに対し,顧
客が抱えている課題は様々である.
1)
システム性能を上げたいが,LAN などの一般的
PFU Tech. Rev., 26, 1,pp.13-18 (09,2015)
4)
拡張機能を実現するためのオプションカードは,
一般的に長期供給の仕組みがなく,継続供給への懸
注1)時間的な制約がある処理を実行するための機能や特性を備え
たオペレーティングシステム.組込みシステムの制御用として
よく用いられる.
注2)Windows は,米国 Microsoft Corporation の,米国,日本お
よびその他の国における登録商標または商標である.
13
組込みコンピュータ AR シリーズの機能を拡張する「高速メモリ共有カード」
念がある.具体的には,生産終息時のストックや代
替品評価の対応が負担となる.
そこで,これらの課題を解決するため,
「高速メモリ
共有カード」を開発することとした.
拡大する製品である.
ハードウェアとソフトウェア(ドライバ)は自社設計,
自社製造であるため,カスタム要件への対応や問題発生
時の早期解決が可能な上,AR シリーズのライフサイク
ルに合わせた供給も可能である.
2.2 狙い
図 - 1に本製品の外観,表 - 1に仕様概要を示す.
顧客が抱える課題を解決するため,以下の四つを狙い
とした.
(1)
通信における CPU 負荷を軽減する
3.2 特長
(1)
データの高速転送及び共有
専用ハードウェア技術と独自方式により,CPU に負
データを高速に転送し共有する方式は次のとおりであ
荷をかけずにデータの高速転送や共有を実現すること
る.まず,ドライバが獲得したメインメモリ内の領域を
で,顧客システムの性能向上を図ることができる.
共有メモリ領域とする.そして,送信側からデータの書
(2)
システム構築を容易にする
き込みを行い,その後,ドライバが提供する API(ア
AR シリーズが対応している各種 OS 用のドライバを
プリケーションプログラミングインターフェース)注4)か
準備し,異種 OS 間でのデータの転送や共有をすばや
ら共有(Sync)を指示することで,受信側のメインメ
く容易に実現することを可能とする.これにより顧客は
モリにデータ転送を行う.このようにシンプルなオペ
採用 OS を意識することなく,システム構築を行うこ
レーションで高速にメインメモリ間のデータ共有を行う
とができる.
ことができる.
(3)
信頼性を向上させる
データ転送を行う中で,パケットの生成やエラー検
万一,故障が発生した場合には,故障箇所を使用せず
出など転送の基本部分を専用ハードウェアで実現してい
に動作を続けることで,システムとしての継続稼働を可
る.このことにより,通信における CPU 負荷を低減し
能とする.また,自社設計により問題発生時の迅速な原
ている.
因究明を可能とし,AR シリーズへの搭載評価を徹底的
に行うことで装置としての可用性,信頼性を確保する.
(2)
自由な接続形態
「高速メモリ共有カード」は二つの通信ポートを持
(4)
供給性を確保する
自社製造により,AR シリーズと同期した製品ライフ
サイクルマネジメント注3)を可能とすることで,生産終
息に対する顧客の負担を軽減する.
3
製品の概要と特長
3.1 概要
「高速メモリ共有カード」は,AR シリーズ専用のオ
プションカードである.複数の AR シリーズのメモリ間
で,CPU 軽負荷での高速データ転送及びデータ共有が
可能である.
AR シリーズの PCI Express スロットに搭載し,二
つの通信ポートを使って複数の AR シリーズ間を mini
SAS ケーブルで接続することにより,3 種類の接続構
成が可能である.また,各種 OS に対応し,自由な接
続形態を特長としており,AR シリーズの用途をさらに
◆図 - 1 製品外観◆
(Fig.1-Product outlook)
注3)製品ライフサイクルマネジメントとは,製品開発において,
設計,製造,出荷後の対応など,すべての工程で製品を総合的
に管理する方法.
14
注4)あるプログラム(ソフトウェア)が保持する機能やデータを,
外部のプログラムから呼び出して利用するための規約のこと.
PFU Tech. Rev., 26, 1, (09,2015)
組込みコンピュータ AR シリーズの機能を拡張する「高速メモリ共有カード」
◆表 - 1 「高速メモリ共有カード」仕様概要◆
機能
内容
ホストインターフェース
PCI Express x4
最大伝送速度
10Gbps ※1
接続形態
1対1,デイジーチェーン,リング
最大接続台数
ケーブル
16
インターフェース
Mini SAS
ケーブル長
対応機種
対応 OS ※3
※1
※2
※3
※4
※5
最大 10m
Atom™ ※2プロセッサ E3845 搭載機種のみ),
AR2100 モデル 100J(インテル
AR4400 モデル 100H/200H,AR8300 モデル 300J/310J,AR8300 モデル 320H
® ※2
Windows 7 Professional SP1 32bit 版 /64bit 版,
Windows Embedded Standard 7 SP1 32bit 版 /64bit 版,
Windows 8.1 Pro 32bit 版 /64bit 版,
Windows Embedded 8 Standard 32bit 版 /64bit 版,
Windows Server® ※4 2008 R2 64bit 版,
Windows Server 2012 64bit 版,
Red Hat ※5 Enterprise Linux 6.5 32bit 版 /64bit 版,
Red Hat Enterprise Linux 7 64bit 版,
Ubuntu 14.04 LTS 32bit 版 /64bit 版
理論上の値であり,実環境での速度ではない.
インテル,インテル Atom は,アメリカ合衆国およびその他の国における Intel Corporation の商標である.
対応機種により異なる.ドライバ及びサンプルコードを提供可能.
Windows Server は,米国 Microsoft Corporation の,米国およびその他の国における登録商標または商標である.
Red Hat は,Red Hat, Inc. の米国およびその他の国における登録商標若しくは商標である.
ち,1 対 1 接続,装置を数珠つなぎに接続するデイジー
CPU
CPU
CPU
チェーン接続,装置を環状に接続するリング接続の三つ
の中から用途に合わせた接続形態を選択することが可能
メモリ
メモリ
メモリ
である.また,接続形態を自動認識することと,それぞ
れの構成で最大 16 台まで接続することを可能としてい
る.
図 - 2に示すデイジーチェーン接続や,図 - 3に示す
高速メモリ共有カード
リング接続を使用すれば,一般的なネットワークに使用
◆図 - 2 デイジーチェーン接続◆
されるスイッチの機能を専用ハードウェアが代行するた
(Fig.2-Daisy chain connection)
め,高価なスイッチなどを追加接続する必要がなく,シ
ステム全体として,よりシンプルで安価に構成すること
が可能となる.
(3)
高信頼性
メモリ
メモリ
CPU
CPU
ケーブル異常時には,自動的に転送ルートを変更する
ことにより継続動作を可能とし,信頼性を高めている.
図 - 4のように,リング接続で構成していた場合に,
ある経路でケーブルや通信ポートの異常が発生すると,
メモリ
メモリ
CPU
CPU
その異常を検知し,別のルートからの転送に切り替える.
これにより,システムダウンを起こすことなく,データ
転送を継続することが可能となる.
転送データの信頼性を確保するため,誤り検出方式の
ひとつである巡回冗長検査(CRC)によりデータチェッ
PFU Tech. Rev., 26, 1, (09,2015)
高速メモリ共有カード
◆図 - 3 リング接続◆
(Fig.3-Ring connection)
15
組込みコンピュータ AR シリーズの機能を拡張する「高速メモリ共有カード」
ソフトウェア階層
ケーブル異常時も
継続動作可能
異常
階層
担当ソフトウェア
アプリケーション層
アプリケーション
トランスポート層
インターネット層
ハードウェア階層
オペレーティング
システム
ネットワーク
インターフェース層
ドライバ
◆図 - 5 TCP/IP 階層モデル◆
◆図 - 4 転送ルート変更による継続動作◆
(Fig.5-TCP/IP hierarchical model)
(Fig.4-Continuous operation by switching the
transmission route)
とで問題解決を行っている.
TCP/IP のようにソフトウェア階層を複数跨いで転
クを行っている.エラー発生時には,ハードウェアが誤
送している方式においては,メインメモリ内でソフト
りを検出するとソフトウェアを介さずに自動的にデータ
ウェアがデータを複数回コピーすることが必要となるた
の再送処理を行っている.
め,CPU に負荷をかけるとともに,メモリ帯域を使用
(4)
拡張性
してしまう.
「高速メモリ共有カード」は,図 - 6のよ
ドライバは完全自社設計のため,AR シリーズが対応
うにドライバ処理でメインメモリから直接専用ハード
する各種 OS のドライバを準備する.そのため,顧客
ウェアを介してケーブルまでデータを転送する方式を
は従来採用していた OS を使用することで,アプリケー
とっている.この方式によりメインメモリ内でのコピー
ション資産の有効活用が可能になる.また,以下のよう
回数を削減している.
な顧客のカスタム要求への対応も可能である.
また,専用ハードウェア内にアドレス変換機能を持っ
1)
ドライバへの機能追加や仕様変更
ており,OS が管理するページ単位ごとに,メモリ内で
2)
未サポート OS への移植
ばらばらに配置されている転送データを,1 回の転送指
示で転送可能である.転送指示は仮想アドレスを指定し,
4
製品開発のポイント
アドレス変換機能を使うことにより物理アドレスに変換
して転送を行う.アドレス変換機能は,専用ハードウェ
「高速メモリ共有カード」を実現する上で専用ハード
アのメモリ内に変換テーブルを持ち,読み出しについて
ウェア及びドライバを自社開発することにより,様々な
は先読み機能を付けることにより待ち時間を無くし,連
課題について対応を行っている.
続で高速な転送を行うことを可能とする.その結果,転
送処理におけるソフトウェアの介在の回数及び負荷を削
4.1 CPU 負荷を軽減する高速通信の実現
高速通信を実現するためには,PCI Express やケー
ブルの高速伝送といったハードウェアやインターフェー
減している.
このような転送方式により CPU 負荷を軽減し,高速
通信を実現している.
スの高速化が必要となる.一方,TCP/IP などの一般
的な通信手順でみられるように,通信を高速化すると,
4.2 効率的なデータ転送方式
ソフトウェア階層(図 - 5参照)での処理が増加し,
「高速メモリ共有カード」においては,構成としてデ
CPU への負荷が高くなる.結果として高速通信を利用
イジーチェーン接続やリング接続をとることが可能であ
してシステムを構築した場合,通信に多くの CPU 資源
る.これらの構成は,隣り合う装置への転送を繰り返し
を使い,本来実行したい処理に使用できる CPU 資源が
て行うことですべての装置にデータを転送する方式のた
減ってしまうという問題が発生する.
め,自装置以外へ転送されるデータも通過していくこと
「高速メモリ共有カード」ではこの問題を解決するた
となり,不要なデータ転送に時間を費やすことになる.
めに,特に CPU に負荷がかかるデータの転送処理に対
この構成において,効率的にデータ転送する手段として,
してできるだけハードウェアが主体となって処理するこ
すべての装置に同時にデータ転送するブロードキャスト
16
PFU Tech. Rev., 26, 1, (09,2015)
組込みコンピュータ AR シリーズの機能を拡張する「高速メモリ共有カード」
ARシリーズ
ARシリーズ
アプリケーション
アプリケーション
ドライバ
ドライバ
専用
ハードウェア
専用
ハードウェア
メモリ
メモリ
高速メモリ共有カード
ケーブル接続
通常時の転送
高速メモリ共有カード
◆図 - 6 データ転送イメージ◆
(Fig.6-Data transfer overview)
と,特定の装置を指定してデータ転送するユニキャスト
の双方の転送の機能を持たせることで対応した.
複数装置とデータを共有する場合には,ブロードキャ
ケーブル異常時も
継続動作可能
スト転送によって,高速にデータ転送を行うことができ
る.一方で,特定装置だけとデータを共有する場合には,
異常
ユニキャスト転送を行うことができるので,システム全
体として伝送路を効率的に使う転送方法を選択すること
が可能である.
◆図 - 7 異常検知時の転送切り替え◆
4.3 信頼性向上への対応
(Fig.7-Transmission switching when an error is
detected)
「高速メモリ共有カード」間はケーブルで接続するた
め,システムを構成する場合に接続台数が増えると,そ
れに比例してケーブルの切断や抜けなどの異常が発生す
に通信を継続して行える.
るおそれが増える.このような異常が発生した場合でも,
システム全体としては通信や運用を続けることが求めら
れる.また,異常が発生した場合に,いかに早く異常を
検知して,復旧までの時間を短くするかも課題となる.
この問題を解決する方法として,
「高速メモリ共有カー
5
活用事例
半導体製造や工業機械の分野での活用事例を以下に示
す.
ド」ではリング接続でのシステム構築がある.リング接
続の構成では,ある装置から別の装置にデータ転送を行
う場合,右回りと左回りの二つの経路が存在し,通常時
5.1 データ分散処理の高速転送とメモリ共有
(1)
パイプライン型
はどちらか片方の経路を使用して転送を行っている.各
半導体製造の分野では,製造過程のデータを分析する
装置の専用ハードウェアでは,通信路のリンク状態,転
ため,異なる OS(Linux と Windows など)により
送時のデータの誤り検出,転送先へのデータ到達応答確
処理を行う場合がある.本製品を搭載した AR シリーズ
認など複数の手段により,伝送が正常に行われているか
を使用することで,複数のデータ処理を分散して実行す
を確認し,早期に異常を検知できるようにしている.こ
るシステムの構築を容易に行うことが可能になる.
の状態でケーブル異常などが発生した場合は,ケーブル
例えば,図 - 8のように半導体製造工程を監視するカ
の両端の「高速メモリ共有カード」が異常を検知し,
カー
メラからの大量画像データや,温度センサーからの定期
ド内で通信を折り返して,逆回りで通信先にデータ転送
データを Linux アプリケーションで受け取り,処理 A
を行い,通信を継続させる(図 - 7参照)
.
を実行した後に,Windows アプリケーションで処理 B,
また,この機能を専用ハードウェアにより実現するこ
処理 C を連続実行する場合,CPU への通信負荷を軽減
とで,自動的に瞬時の切り替えを行うことが可能となり,
するため,各装置のデータ処理は高速化され,システム
上位のアプリケーション層においては,タイムラグなし
全体の性能向上が可能になる.
PFU Tech. Rev., 26, 1, (09,2015)
17
組込みコンピュータ AR シリーズの機能を拡張する「高速メモリ共有カード」
画像データ
○○○
カメラ
定期データ
処理A
Linux
センサー
処理A
Windows
画像データを
各装置が共有
処理B
Windows
処理C
Windows
□□□
◆図 - 8 パイプライン型分散処理◆
画像データ
(Fig.8-Pipeline decentralized processing)
処理B
Windows
カメラ
(2)
パラレル型
半導体製造の分野では,ラインを流れる製造物をリア
△△△
Linux
ルタイムで撮影し,その画像データをもとに製造物の良
処理C
Windows
否判定を行っていくことがある.ここでは,大量データ
の高速処理が必要になる.本製品を搭載した AR シリー
◆図 - 9 パラレル型分散処理◆
ズを使用することで,データを複数装置のメモリで共有
(Fig.9-Parallel decentralized processing)
し,各装置で別々の処理を同時実行するシステムの構築
が可能になる.
例えば,図 - 9のようにカメラからの大量画像データ
制御情報
を転送
を Linux アプリケーションで受け取り,各装置のメモ
リでデータを共有し,Windows アプリケーションで画
アーム駆動
処理PC1
メカ制御同期
像データに対して処理 A,処理 B,処理 C と別々の処
理を同時実行する場合,CPU 軽負荷でのデータ共有に
Linux
より,各処理が高速化され,システム全体の性能向上が
10110001…
処理PC2
可能になる.
5.2 制御情報の配信
データ送出
10110001…
工業機械の分野では,複数装置の制御を同時に行う場
処理PC3
合がある.本製品を搭載した AR シリーズを使用するこ
データ送出
◆図 - 10 制御情報の配信◆
とで,複数処理を高速に同時実行するシステム構築が可
(Fig.10-Control information distribution)
能になる.
例えば,図 - 10のようにコントローラーから各装置
に制御情報を転送し,ロボットアーム駆動やメカ制御を
行う場合,特定装置だけとデータを共有するユニキャス
6
ト転送を行うことにより,各装置の CPU は通信負荷が
「高速メモリ共有カード」は,AR シリーズの機能を
軽減され,本来実行したいアーム駆動やメカ制御の処理
拡張するオプションであり,PFU のハードウェア技術
に集中できるため,システム性能の向上が可能になる.
とソフトウェア技術によりデータの高速転送及びメモリ
また,各装置の性能最適化により,システムのコスト削
共有と,高信頼性の確保を実現した.今後も組込み市場
減や小型化も可能となる.
のニーズに応えるため,オプションカード製品の拡充を
むすび
図っていく.
参考文献
参1)組込みコンピュータ ホームページ
18
http://www.pfu.fujitsu.com/prodes/product/ar/
PFU Tech. Rev., 26, 1, (09,2015)