Armadilloフォーラム

イーサネット高負荷時のCPU効率について

s_kato

2015年11月17日 13時46分

加藤と申します。
お世話になります。

Armadillo-460の利用を検討しています。

イーサネットの通信量が多い環境下での利用を想定しています。
Armadillo-460において、イーサネットの最大負荷がかかる環境下で
ユーザアプリケーション向けにどの程度のCPU処理能力が残るのか
(どの程度使えるのか)知りたいのですが、情報はありますでしょうか。

例えば、
 ・イーサネット未接続状態でのtop値
 ・高負荷のイーサネット接続状態でのtop値
が分かれば参考になるのではと考えています。

コメント

> イーサネットの通信量が多い環境下での利用を想定しています。
> Armadillo-460において、イーサネットの最大負荷がかかる環境下で
> ユーザアプリケーション向けにどの程度のCPU処理能力が残るのか
「イーサネットの最大負荷」がネットワーク構成などにより変わるため、
適切な回答ができません。

「イーサネットの通信量が多い環境」と「Armadillo-460のユーザアプリケーション」について、
もう少し教えて下さい。
(例えば、Armadilloが通信するサーバは何なのか、どれくらいの頻度で通信する必要があるのか、など)

>  ・イーサネット未接続状態でのtop値
>  ・高負荷のイーサネット接続状態でのtop値
「top値」は「topコマンドで表示される値」で
ロードアベレージを指しているかと思うのですが、間違いないでしょうか。

> 「top値」は「topコマンドで表示される値」で

ご認識のとおりです。言葉が不正確で申し訳ありません。

条件を申し上げますと、100BASE-TのLANにおいてブロードキャストパケットが
ワイヤースピード、または90%程度で流れているところへArmadilloを接続した場合です。
(これでも曖昧かもしれませんが)。
LANに接続しただけで他の処理が滞るほどの状況になると
支障がありますので確認させて頂きたかった次第です。

過去の投稿では、こちらが近いかと考えています。
「処理が遅くなる」とはありましたが、どの程度かは判断できませんでした。
http://lists.atmark-techno.com/pipermail/armadillo/2009-May/004275.html

今回はArmadiilo側の余力が知りたいので、他のプロセスの動作有無は
無関係との認識ですが、ネットワーク関連の状況は以下で考えています。

Armadillo側がサーバーとなります。
通信相手はTCP/IPを用いた独自プロトコルを使用し、他に
 net-snmp
 samba
を併用する予定です。

なお、上記条件でなくとも、ご確認済みのデータがあれば、そちらでも構いません。
大凡で構いませんので情報がありましたら、ご提供頂ければ幸いです。

> 「イーサネットの最大負荷」がネットワーク構成などにより変わるため、
> 適切な回答ができません。
前回のこの回答は私の認識間違いでした、すみません。
「イーサネットの負荷に対し、ユーザアプリケーション向けに残るCPU処理能力」を考える際に、
上位のレイヤーの実装は関係ありません。

結論としては、Linux 2.6.26-atの場合、
「イーサネットの負荷が高い場合にもユーザアプリケーションが動作できるようにする」仕組み(NAPI)に
FAC(Fast Ethernet Controller)ドライバーが対応していない状況です。

そのため、例えば、ネットワーク内にストームを発生させた所、
ストーム発生中はArmadillo-460のコンソールがキー入力を何も受け付けない状況におちいる事を確認しています。

> FAC(Fast Ethernet Controller)ドライバーが対応していない状況です。
"FEC"の記載ミスです。すみません。

ご回答ありがとうございます。

ちなみにですが Armadillo-420向けのv3.14-at4 は
NAPIに対応していますか。

> ちなみにですが Armadillo-420向けのv3.14-at4 は
> NAPIに対応していますか。
はい、対応しています。

Linuxカーネルのmain lineでv3.9-rc1からFECドライバーのNAPI対応が始まっているので、
それ以降のバージョンであれば対応しています。