6
PFU Tech. Rev., 26, 1,pp.13-18 (09,2015) 13 組込みコンピュータ 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 まえがき PFU は組込みコンピュータとして AR シリーズを幅 広い製品ラインナップで展開してきた 参1) .組込みコン ピュータは通常の PC とは異なり,高信頼性や長期供給 などが要求される.また,半導体製造装置や工作機械な どの分野では,システム全体の高機能化や高性能化に伴 い,これらを制御する組込みコンピュータも高い性能が 求められている.PFU はこれらのさらなる機能拡張や 信頼性確保の要求に応えるため,AR シリーズ専用のオ プションカードを開発した. 2 開発の背景と狙い 2.1 開発の背景 組込みコンピュータで構成されるシステムに対し,顧 客が抱えている課題は様々である. 1)システム性能を上げたいが,LAN などの一般的 なネットワークは CPU 使用率が高く,通信負荷が システム性能向上を妨げる要因となる場合がある. 2)組込みシステムの制御では,時間的な制約がある 処理を実行するためにリアルタイム OS 注1) を使用 したコンピュータや,アプリケーションの動作環境 として Windows ®注2) を使用したコンピュータが混 在しており,OS に依存しないソリューションが必 要となる. 3)複数のコンピュータでシステム構成する場合, 万一,そのコンピュータのいずれかに問題が発生し ても,継続稼働と早期復旧を実現したい. 4)拡張機能を実現するためのオプションカードは, 一般的に長期供給の仕組みがなく,継続供給への懸 注1) 時間的な制約がある処理を実行するための機能や特性を備え たオペレーティングシステム.組込みシステムの制御用として よく用いられる. 注2) Windows は,米国 Microsoft Corporation の,米国,日本お よびその他の国における登録商標または商標である.

組込みコンピュータARシリーズの機能を拡張する 「高速メモリ … · Red Hat※5 Enterprise Linux 6.5 32bit版/64bit版, Red Hat Enterprise Linux 7 64bit版,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 組込みコンピュータARシリーズの機能を拡張する 「高速メモリ … · Red Hat※5 Enterprise Linux 6.5 32bit版/64bit版, Red Hat Enterprise Linux 7 64bit版,

PFU Tech. Rev., 26, 1,pp.13-18 (09,2015) 13

組込みコンピュータ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 まえがきPFU は組込みコンピュータとして AR シリーズを幅

広い製品ラインナップで展開してきた参1).組込みコン

ピュータは通常の PC とは異なり,高信頼性や長期供給

などが要求される.また,半導体製造装置や工作機械な

どの分野では,システム全体の高機能化や高性能化に伴

い,これらを制御する組込みコンピュータも高い性能が

求められている.PFU はこれらのさらなる機能拡張や

信頼性確保の要求に応えるため,AR シリーズ専用のオ

プションカードを開発した.

2 開発の背景と狙い2.1 開発の背景

組込みコンピュータで構成されるシステムに対し,顧

客が抱えている課題は様々である.

1) システム性能を上げたいが,LAN などの一般的

なネットワークは CPU 使用率が高く,通信負荷が

システム性能向上を妨げる要因となる場合がある.

2) 組込みシステムの制御では,時間的な制約がある

処理を実行するためにリアルタイム OS注1)を使用

したコンピュータや,アプリケーションの動作環境

として Windows®注2)を使用したコンピュータが混

在しており,OS に依存しないソリューションが必

要となる.

3) 複数のコンピュータでシステム構成する場合,

万一,そのコンピュータのいずれかに問題が発生し

ても,継続稼働と早期復旧を実現したい.

4) 拡張機能を実現するためのオプションカードは,

一般的に長期供給の仕組みがなく,継続供給への懸

注1) 時間的な制約がある処理を実行するための機能や特性を備えたオペレーティングシステム.組込みシステムの制御用としてよく用いられる.

注2) Windows は,米国 Microsoft Corporation の,米国,日本お よびその他の国における登録商標または商標である.

Page 2: 組込みコンピュータARシリーズの機能を拡張する 「高速メモリ … · Red Hat※5 Enterprise Linux 6.5 32bit版/64bit版, Red Hat Enterprise Linux 7 64bit版,

14

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

PFU Tech. Rev., 26, 1, (09,2015)

念がある.具体的には,生産終息時のストックや代

替品評価の対応が負担となる.

そこで,これらの課題を解決するため,「高速メモリ

共有カード」を開発することとした.

2.2 狙い顧客が抱える課題を解決するため,以下の四つを狙い

とした.

(1) 通信における CPU 負荷を軽減する

専用ハードウェア技術と独自方式により,CPU に負

荷をかけずにデータの高速転送や共有を実現すること

で,顧客システムの性能向上を図ることができる.

(2) システム構築を容易にする

AR シリーズが対応している各種 OS 用のドライバを

準備し,異種 OS 間でのデータの転送や共有をすばや

く容易に実現することを可能とする.これにより顧客は

採用 OS を意識することなく,システム構築を行うこ

とができる.

(3) 信頼性を向上させる

万一,故障が発生した場合には,故障箇所を使用せず

に動作を続けることで,システムとしての継続稼働を可

能とする.また,自社設計により問題発生時の迅速な原

因究明を可能とし,AR シリーズへの搭載評価を徹底的

に行うことで装置としての可用性,信頼性を確保する.

(4) 供給性を確保する

自社製造により,AR シリーズと同期した製品ライフ

サイクルマネジメント注3)を可能とすることで,生産終

息に対する顧客の負担を軽減する.

3 製品の概要と特長3.1 概要「高速メモリ共有カード」は,AR シリーズ専用のオ

プションカードである.複数のARシリーズのメモリ間

で,CPU 軽負荷での高速データ転送及びデータ共有が

可能である.

AR シリーズの PCI Express スロットに搭載し,二

つの通信ポートを使って複数の AR シリーズ間を mini

SAS ケーブルで接続することにより,3 種類の接続構

成が可能である.また,各種 OS に対応し,自由な接

続形態を特長としており,AR シリーズの用途をさらに

注3) 製品ライフサイクルマネジメントとは,製品開発において,設計,製造,出荷後の対応など,すべての工程で製品を総合的に管理する方法.

拡大する製品である.

ハードウェアとソフトウェア(ドライバ)は自社設計,

自社製造であるため,カスタム要件への対応や問題発生

時の早期解決が可能な上,AR シリーズのライフサイク

ルに合わせた供給も可能である.

図-1に本製品の外観,表-1に仕様概要を示す.

3.2 特長(1) データの高速転送及び共有

データを高速に転送し共有する方式は次のとおりであ

る.まず,ドライバが獲得したメインメモリ内の領域を

共有メモリ領域とする.そして,送信側からデータの書

き込みを行い,その後,ドライバが提供する API(ア

プリケーションプログラミングインターフェース)注4)か

ら共有(Sync)を指示することで,受信側のメインメ

モリにデータ転送を行う.このようにシンプルなオペ

レーションで高速にメインメモリ間のデータ共有を行う

ことができる.

データ転送を行う中で,パケットの生成やエラー検

出など転送の基本部分を専用ハードウェアで実現してい

る.このことにより,通信における CPU 負荷を低減し

ている.

(2) 自由な接続形態

「高速メモリ共有カード」は二つの通信ポートを持

注4) あるプログラム(ソフトウェア)が保持する機能やデータを,外部のプログラムから呼び出して利用するための規約のこと.

◆図 -1 製品外観◆

(Fig.1-Productoutlook)

Page 3: 組込みコンピュータARシリーズの機能を拡張する 「高速メモリ … · Red Hat※5 Enterprise Linux 6.5 32bit版/64bit版, Red Hat Enterprise Linux 7 64bit版,

PFU Tech. Rev., 26, 1, (09,2015) 15

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

ち,1 対 1 接続,装置を数珠つなぎに接続するデイジー

チェーン接続,装置を環状に接続するリング接続の三つ

の中から用途に合わせた接続形態を選択することが可能

である.また,接続形態を自動認識することと,それぞ

れの構成で最大 16 台まで接続することを可能としてい

る.

図-2に示すデイジーチェーン接続や,図-3に示す

リング接続を使用すれば,一般的なネットワークに使用

されるスイッチの機能を専用ハードウェアが代行するた

め,高価なスイッチなどを追加接続する必要がなく,シ

ステム全体として,よりシンプルで安価に構成すること

が可能となる.

(3) 高信頼性

ケーブル異常時には,自動的に転送ルートを変更する

ことにより継続動作を可能とし,信頼性を高めている.

図-4のように,リング接続で構成していた場合に,

ある経路でケーブルや通信ポートの異常が発生すると,

その異常を検知し,別のルートからの転送に切り替える.

これにより,システムダウンを起こすことなく,データ

転送を継続することが可能となる.

転送データの信頼性を確保するため,誤り検出方式の

ひとつである巡回冗長検査(CRC)によりデータチェッ

◆表 -1 「高速メモリ共有カード」仕様概要◆

機能 内容

ホストインターフェース PCIExpressx4

最大伝送速度 10Gbps※1

接続形態 1対1,デイジーチェーン,リング

最大接続台数 16

ケーブル インターフェース MiniSAS

ケーブル長 最大10m

対応機種 AR2100モデル100J(インテル ®※2Atom™※2プロセッサE3845搭載機種のみ),AR4400モデル100H/200H,AR8300モデル300J/310J,AR8300モデル320H

対応OS※3 Windows7ProfessionalSP132bit 版 /64bit 版,WindowsEmbeddedStandard7SP132bit 版 /64bit 版,

Windows8.1Pro32bit 版 /64bit 版,WindowsEmbedded8Standard32bit版 /64bit 版,

WindowsServer®※42008R264bit 版,WindowsServer201264bit 版,

RedHat※5EnterpriseLinux6.532bit 版 /64bit 版,RedHatEnterpriseLinux764bit 版,Ubuntu14.04LTS32bit 版 /64bit 版

※1 理論上の値であり,実環境での速度ではない.※2 インテル,インテルAtomは,アメリカ合衆国およびその他の国における IntelCorporation の商標である.※3 対応機種により異なる.ドライバ及びサンプルコードを提供可能.※4 WindowsServer は,米国MicrosoftCorporation の,米国およびその他の国における登録商標または商標である.※5 RedHat は,RedHat,Inc. の米国およびその他の国における登録商標若しくは商標である.

◆図 -2 デイジーチェーン接続◆

(Fig.2-Daisychainconnection)

高速メモリ共有カード

CPU

メモリ

CPU

メモリ

CPU

メモリ

◆図 -3 リング接続◆

(Fig.3-Ringconnection)

CPU

メモリ

CPU

メモリ

CPU

メモリ

CPU

メモリ

高速メモリ共有カード

Page 4: 組込みコンピュータARシリーズの機能を拡張する 「高速メモリ … · Red Hat※5 Enterprise Linux 6.5 32bit版/64bit版, Red Hat Enterprise Linux 7 64bit版,

16

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

PFU Tech. Rev., 26, 1, (09,2015)

クを行っている.エラー発生時には,ハードウェアが誤

りを検出するとソフトウェアを介さずに自動的にデータ

の再送処理を行っている.

(4) 拡張性

ドライバは完全自社設計のため,AR シリーズが対応

する各種 OS のドライバを準備する.そのため,顧客

は従来採用していた OS を使用することで,アプリケー

ション資産の有効活用が可能になる.また,以下のよう

な顧客のカスタム要求への対応も可能である.

1) ドライバへの機能追加や仕様変更

2) 未サポート OS への移植

4 製品開発のポイント「高速メモリ共有カード」を実現する上で専用ハード

ウェア及びドライバを自社開発することにより,様々な

課題について対応を行っている.

4.1 CPU負荷を軽減する高速通信の実現高速通信を実現するためには,PCI Express やケー

ブルの高速伝送といったハードウェアやインターフェー

スの高速化が必要となる.一方,TCP/IP などの一般

的な通信手順でみられるように,通信を高速化すると,

ソフトウェア階層(図 -5参照)での処理が増加し,

CPU への負荷が高くなる.結果として高速通信を利用

してシステムを構築した場合,通信に多くの CPU 資源

を使い,本来実行したい処理に使用できる CPU 資源が

減ってしまうという問題が発生する.

「高速メモリ共有カード」ではこの問題を解決するた

めに,特に CPU に負荷がかかるデータの転送処理に対

してできるだけハードウェアが主体となって処理するこ

とで問題解決を行っている.

TCP/IP のようにソフトウェア階層を複数跨いで転

送している方式においては,メインメモリ内でソフト

ウェアがデータを複数回コピーすることが必要となるた

め,CPU に負荷をかけるとともに,メモリ帯域を使用

してしまう.「高速メモリ共有カード」は,図-6のよ

うにドライバ処理でメインメモリから直接専用ハード

ウェアを介してケーブルまでデータを転送する方式を

とっている.この方式によりメインメモリ内でのコピー

回数を削減している.

また,専用ハードウェア内にアドレス変換機能を持っ

ており,OS が管理するページ単位ごとに,メモリ内で

ばらばらに配置されている転送データを,1 回の転送指

示で転送可能である.転送指示は仮想アドレスを指定し,

アドレス変換機能を使うことにより物理アドレスに変換

して転送を行う.アドレス変換機能は,専用ハードウェ

アのメモリ内に変換テーブルを持ち,読み出しについて

は先読み機能を付けることにより待ち時間を無くし,連

続で高速な転送を行うことを可能とする.その結果,転

送処理におけるソフトウェアの介在の回数及び負荷を削

減している.

このような転送方式により CPU 負荷を軽減し,高速

通信を実現している.

4.2 効率的なデータ転送方式「高速メモリ共有カード」においては,構成としてデ

イジーチェーン接続やリング接続をとることが可能であ

る.これらの構成は,隣り合う装置への転送を繰り返し

て行うことですべての装置にデータを転送する方式のた

め,自装置以外へ転送されるデータも通過していくこと

となり,不要なデータ転送に時間を費やすことになる.

この構成において,効率的にデータ転送する手段として,

すべての装置に同時にデータ転送するブロードキャスト

◆図 -4 転送ルート変更による継続動作◆

(Fig.4-Continuousoperationbyswitchingthe

transmissionroute)

◆図 -5 TCP/IP階層モデル◆

(Fig.5-TCP/IPhierarchicalmodel)

ケーブル異常時も継続動作可能

異常

担当ソフトウェア階層

アプリケーションアプリケーション層

オペレーティングシステム

ドライバハードウェア階層

トランスポート層ソフトウェア階層

インターネット層

ネットワークインターフェース層

Page 5: 組込みコンピュータARシリーズの機能を拡張する 「高速メモリ … · Red Hat※5 Enterprise Linux 6.5 32bit版/64bit版, Red Hat Enterprise Linux 7 64bit版,

PFU Tech. Rev., 26, 1, (09,2015) 17

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

と,特定の装置を指定してデータ転送するユニキャスト

の双方の転送の機能を持たせることで対応した.

複数装置とデータを共有する場合には,ブロードキャ

スト転送によって,高速にデータ転送を行うことができ

る.一方で,特定装置だけとデータを共有する場合には,

ユニキャスト転送を行うことができるので,システム全

体として伝送路を効率的に使う転送方法を選択すること

が可能である.

4.3 信頼性向上への対応「高速メモリ共有カード」間はケーブルで接続するた

め,システムを構成する場合に接続台数が増えると,そ

れに比例してケーブルの切断や抜けなどの異常が発生す

るおそれが増える.このような異常が発生した場合でも,

システム全体としては通信や運用を続けることが求めら

れる.また,異常が発生した場合に,いかに早く異常を

検知して,復旧までの時間を短くするかも課題となる.

この問題を解決する方法として,「高速メモリ共有カー

ド」ではリング接続でのシステム構築がある.リング接

続の構成では,ある装置から別の装置にデータ転送を行

う場合,右回りと左回りの二つの経路が存在し,通常時

はどちらか片方の経路を使用して転送を行っている.各

装置の専用ハードウェアでは,通信路のリンク状態,転

送時のデータの誤り検出,転送先へのデータ到達応答確

認など複数の手段により,伝送が正常に行われているか

を確認し,早期に異常を検知できるようにしている.こ

の状態でケーブル異常などが発生した場合は,ケーブル

の両端の「高速メモリ共有カード」が異常を検知し,カー

ド内で通信を折り返して,逆回りで通信先にデータ転送

を行い,通信を継続させる(図-7参照).

また,この機能を専用ハードウェアにより実現するこ

とで,自動的に瞬時の切り替えを行うことが可能となり,

上位のアプリケーション層においては,タイムラグなし

に通信を継続して行える.

5 活用事例半導体製造や工業機械の分野での活用事例を以下に示

す.

5.1 データ分散処理の高速転送とメモリ共有(1) パイプライン型

半導体製造の分野では,製造過程のデータを分析する

ため,異なる OS(Linux と Windows など)により

処理を行う場合がある.本製品を搭載したARシリーズ

を使用することで,複数のデータ処理を分散して実行す

るシステムの構築を容易に行うことが可能になる.

例えば,図-8のように半導体製造工程を監視するカ

メラからの大量画像データや,温度センサーからの定期

データを Linux アプリケーションで受け取り,処理 A

を実行した後に,Windows アプリケーションで処理 B,

処理 C を連続実行する場合,CPU への通信負荷を軽減

するため,各装置のデータ処理は高速化され,システム

全体の性能向上が可能になる.

◆図 -6 データ転送イメージ◆

(Fig.6-Datatransferoverview)

◆図 -7 異常検知時の転送切り替え◆

(Fig.7-Transmissionswitchingwhenanerroris

detected)

メモリ

高速メモリ共有カードケーブル接続

高速メモリ共有カード

ARシリーズ

アプリケーション

ドライバ

専用ハードウェア

メモリ

ARシリーズ

アプリケーション

ドライバ

専用ハードウェア

通常時の転送

ケーブル異常時も継続動作可能

異常

Page 6: 組込みコンピュータARシリーズの機能を拡張する 「高速メモリ … · Red Hat※5 Enterprise Linux 6.5 32bit版/64bit版, Red Hat Enterprise Linux 7 64bit版,

18

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

PFU Tech. Rev., 26, 1, (09,2015)

(2) パラレル型

半導体製造の分野では,ラインを流れる製造物をリア

ルタイムで撮影し,その画像データをもとに製造物の良

否判定を行っていくことがある.ここでは,大量データ

の高速処理が必要になる.本製品を搭載したARシリー

ズを使用することで,データを複数装置のメモリで共有

し,各装置で別々の処理を同時実行するシステムの構築

が可能になる.

例えば,図-9のようにカメラからの大量画像データ

を Linux アプリケーションで受け取り,各装置のメモ

リでデータを共有し,Windows アプリケーションで画

像データに対して処理 A,処理 B,処理 C と別々の処

理を同時実行する場合,CPU 軽負荷でのデータ共有に

より,各処理が高速化され,システム全体の性能向上が

可能になる.

5.2 制御情報の配信工業機械の分野では,複数装置の制御を同時に行う場

合がある.本製品を搭載したARシリーズを使用するこ

とで,複数処理を高速に同時実行するシステム構築が可

能になる.

例えば,図-10のようにコントローラーから各装置

に制御情報を転送し,ロボットアーム駆動やメカ制御を

行う場合,特定装置だけとデータを共有するユニキャス

ト転送を行うことにより,各装置の CPU は通信負荷が

軽減され,本来実行したいアーム駆動やメカ制御の処理

に集中できるため,システム性能の向上が可能になる.

また,各装置の性能最適化により,システムのコスト削

減や小型化も可能となる.

6 むすび「高速メモリ共有カード」は,AR シリーズの機能を

拡張するオプションであり,PFU のハードウェア技術

とソフトウェア技術によりデータの高速転送及びメモリ

共有と,高信頼性の確保を実現した.今後も組込み市場

のニーズに応えるため,オプションカード製品の拡充を

図っていく.

参考文献参1) 組込みコンピュータ ホームページ

http://www.pfu.fujitsu.com/prodes/product/ar/

◆図 -8 パイプライン型分散処理◆

(Fig.8-Pipelinedecentralizedprocessing)

◆図 -9 パラレル型分散処理◆

(Fig.9-Paralleldecentralizedprocessing)

◆図 -10 制御情報の配信◆

(Fig.10-Controlinformationdistribution)

カメラ

センサー

定期データ

画像データ

処理ALinux

処理BWindows

処理CWindows

カメラ

画像データ

画像データを各装置が共有

Linux

処理AWindows

○○○

処理BWindows

□□□

処理CWindows

△△△

Linux

制御情報を転送

処理PC1 メカ制御同期

データ送出

データ送出処理PC2

処理PC3

10110001…

10110001…

アーム駆動