Transcript ppt

ATLAS実験イベントビルダへの
品質保証機能の適用と性能評価
信州大理,高エ研A,広工大工B,長崎総科大工C,阪大理D
長谷川庸司,安芳次A,真鍋篤A,長坂康史B,下島真C,能町正治D,
藤井啓文A,渡瀬芳行A
日本物理学会 年次大会
2003年3月30日
話の内容
ATLASイベントビルダ
品質保証機能
測定のセットアップ
測定結果
まとめ
ATLAS実験のイベントビルダ(1)
●
●
●
Level2 Triggerを満足したイベントに対し,多数の検出器からの
データ(Event Fragment) を集めEvent Buildを行う.
–
ROS : Readout System 数100 − 1000ノード
–
DFM : Data Flow Manager
–
SFI : Subfarm Interface 数10ノード
Event Build Rateは,1〜3
kHz以上でなければならな
い.
1つのROSからSFIに転送さ
れるEvent Fragment Sizeの
平均値 ≦ 1kBと予想される
.
ATLAS実験イベントビルダ(2)
●
●
Push シナリオ
–
MulticastによりDFMがROSに転
送先のSFIを知らせる.
–
実装が単純.
–
Traffic Shaping を行わないので
,転送先(SFI)でCongestionが起
こりやすく,結果としてパケッ
トロスが起こりやすい.
Pull シナリオ(要求・応答型)
–
DFMからSFIにイベントIDが送
られ,それに基づいて,SFIは
ROSにデータを要求する.
–
実装が複雑.
–
Congestionが起こりにくい.
品質保証機能(Quality of Service; QoS)
●
ネットワークを流れるData Flowに対し,帯域・エラーレート・
遅延の制御を行う.
–
キューの出口でSchedulerによりFlowが制御される.
–
宛先,ポート番号等を基にパケットをクラス分けし,それぞ
れのキューに振り分ける.
–
Estimatorは送出されるパケットを監視しフィードバックをか
ける.
イベントビルダへのQoSの導入
●
Pushシナリオの欠点のCongestionを防ぐために,QoSによりTraffic
Shapingを行う.
–
●
転送元(ROS)から送出されるデータフローに対しQoSを適用す
る.
イベントビルダプログラムを変更する必要がない.
PushシナリオにQoSを適用し,
Congestionが減り,性能が向上
するかどうか確かめる.
セットアップ @ CERN
●
DFM, ROS, SFI : Dual Xeon(2.2-2.4GHz) PCs with 1GB RAM, GbE NIC
●
GbE Switch : BATM
●
OS : RedHat 7.2 Linux kernel
2.4.9-31 (QoS included) with :
–
Scheduling time HZ =
4096 (Hz)→ パケットの
送出時間間隔を細かく
制御(Default = 100).
–
Kernel Buffer size = 8 MB
→SFIでのCongestionを
防ぐ.
●
EB software : DC-00-02-02
●
データ転送にはUDP/IP
を用いる.
Online software: Online-00-17-02
–
PC
GbE スイッチ
1×1システム(QoSなし)
●
●
●
●
ROS × SFI = 1×1,RoB Data
Size 1kB (ROSから送出され
るEvent Fragment Size)
Trigger Rate (Level2 trigger
rate)を変えてEvent Build Rate
を測定.
最大レート:
–
Push:
20 kHz → SFIの
CPUで制限
–
Pull:14 kHz → SFIのCPU
で制限
Trigger Rateが40kHz以上にな
ると,Event Buildできなくな
る.
1×1システム(QoSなし)
●
●
ROSから送出されるRoB
Data Sizeを変えてEvent
Build RateとThroughputを測
定.Trigger Rage は25 kHz
に固定.
最大Throughput :
–
●
Push, Pull : 52 MB/s
@RoB Data Size = 14 kB
RoB Data Size ≧ 15 kB では
Event Buildできなくなる.
1×1システムではPushと
Pullに定性的な差は見ら
れない.
6×1システム(QoSなし)
●
●
●
ROS × SFI = 6 × 1,RoB
Data Size = 1 kB (ROSから
送出されるEvent Fragment
Size)
Trigger rate (Level2 trigger
rate)を変えてEvent Build
Rateを測定.
最大Event Build Rate:
–
Push: 5 kHz → SFIの
CPUで制限
–
Pull: 3.8 kHz → SFIの
CPUで制限
6×1システム(QoSなし)
●
PushはRoB Data Size > 5 kBで
EventBuildできなくなる.
–
●
●
SFIでCongestionが発生.
SFIでの最大Throughput :
–
Push : 82MB/s → SFIのCPU
とSFIでのCongestionが制限
.
–
Pull : 95MB/s → SFIのCPU
が制限.
PullもRoB Data Size > 14 kBで
性能が低下.
PushシナリオにQoSを適用
し,Congestionを防ぐこと
は可能か?
6×1システム(QoSあり)
●
●
●
●
PushシナリオにQoSを適用 帯域設定 : 20, 40, 50 Mbps
20, 40MbpsではRoB Data Size
≧ 5 kBでEvent Build可能 →
Congestionが起こらない.
PushのSFIでの最大Throughput:
–
20Mbps : 18MB/s
–
40Mbps : 〜40MB/s
50Mbps ではCongestionが起こ
る.
QoSにより適当な帯域を設定
することで,Pushシナリオの
場合のCongestionを防ぎ,性
能改善が可能である.
まとめ
●
●
●
ATLAS DataCollection ソフトウエアにQoS機能を適用し,ROS ×
SFI = 6 × 1のシステムで性能評価を行った.
RoB Data Size(EventFragment Size)が小さく,EventBuildできる条件
では,Pushシナリオの方がPullシナリオより性能が良い.
–
Pushシナリオ: SFIが動くCPUの負荷が制限.
–
Pullシナリオ : SFIが動くCPUの負荷が制限.
Pushシナリオの場合,EventFragment サイズ≧ 5 kBでEventBuild で
きなくなる.Pullシナリオではそのようなことが起こらない.
–
●
PushシナリオでCongestionが起こっている.
PushシナリオにQoSを適用:
–
帯域 ≦ 40Mbps : RoB Data Size ≧ 5kBでもEventBuildできる.
–
帯域 ≧ 50Mbps : QoSなしと変らずCongestionが起こる.
–
Congestionが起きない範囲で帯域を設定しても,Pullシナリオ
の性能に達するには至らなかった.
今後の展望
●
●
●
ATLAS実験で使われるような,より大きなシステムでテス
トを行う.→ Scalabilityの確認.
QoSを適用したPushシナリオの性能を,Pullシナリオより改
善することは難しい?.
PullシナリオでもQoSを適用して性能が改善するところを考
える.
–
例えば,control メッセ−ジと dataメッセ−ジを,QoSによ
り,別々のクラスに振り分け,controlメッセ−ジの帯域を
確保する.