仮想ネットワークを考慮した SoftIRQ制御によるCPU割当ての手法 〇村松 真† 川島 龍太† 齋藤 彰一† 松尾 啓志† † 名古屋工業大学大学院 2015/09/28 東海支部連合大会 研究背景 • クラウドコンピューティングサービスの普及 データセンタの需要が増加 › 膨大な数の物理サーバとストレージを管理 • マルチテナント方式を採用 物理サーバ上に様々なテナントの仮想マシン(VM)を集約 › 各テナントに独立した仮想環境を提供 › 物理サーバの台数を削減 トンネリングプロトコルによる仮想ネットワークの構築 › 既存のデータセンタネットワーク上で構築可能 1 マルチテナント方式の構成 User A Virtual Router User B VM Tunneling Header Packet Format Decapsulate Virtual Switch Physical Server User A User B User A User B VM VM VM VM 仮想ネットワークの性能向上が重要 Virtual Switch Physical Server Virtual Switch Encapsulate Traditional Datacenter Network Physical Server 2 仮想ネットワーク性能向上のアプローチ • トンネリングプロトコルの改善 • ハードウェアスイッチ CPU負荷の低減、通信の高速化 特定のハードウェア機能が必要となり ベンダロックインに陥る可能性がある ホスト内処理の受信処理負荷に着目 特定のハードウェアオフロード機能を利用せず ホスト内受信処理のCPUリソース割当てを制御 3 シングルキューNICにおける問題点 • 特定のCPUコアに受信処理負荷が集中 VM1 vhost net1 vhost net2 VM2 VM3 Core #5 Core #6 vhost net3 vSwitch Tunnel Protocol SoftIRQ Driver Core #1 Core #2 Core #3 Core #4 HardIRQ CPU Single Queue NIC 4 Receive Side Scaling (RSS) VM1 vhost net1 vhost net2 vSwitch vSwitch vSwitch Tunnel Tunnel Tunnel Protocol Protocol Protocol VM2 VM3 Core #5 Core #6 vhost net3 Driver Core #1 Core #2 Core #3 Core #4 CPU Q1 Q2 Q3 Q4 Q5 Q6 IP address/Port hashing Hash Function RSS-NIC 5 Receive Side Scaling (RSS) VM自体の性能が低下 VM1 vhost net2 vhost net1 VM2 VM3 仮想ルータ vhost net3 vSwitch 仮想ネットワーク全体 の性能に影響を与える Tunnel Protocol Driver Core #1 Core #2 Core #3 Core #4 Core #5 Core #6 CPU Q1 Q2 Q3 Q4 Q5 Q6 IP address/Port hashing Hash Function RSS-NIC 6 提案手法:Virtual Switch Extension (VSE) VM1 vhost net1 vhost net2 VM2 VM3 vhost net3 Flow Table vSwitch vSwitch vSwitch Match Actions Tunnel Tunnel Tunnel VM1 flow SoftIRQ : 1- Protocol Protocol Protocol VM2 flow SoftIRQ : 2- VM3 flow SoftIRQ : 3- ... ... VSE Driver Core #1 Core #2 Core #3 Core #4 . . . Core #5 Core #6 CPU 7 提案手法:Virtual Switch Extension (VSE) VM1 vhost net1 vhost net2 VM2 VM3 vhost net3 Flow Table vSwitch vSwitch Match Actions Tunnel Tunnel VM1 flow SoftIRQ : 1 Protocol Protocol VM2 flow SoftIRQ : 1 VM3 flow SoftIRQ : 2 ... ... VSE Driver Core #1 Core #2 Core #3 Core #4 . . . Core #5 Core #6 CPU 8 優先フローの性能評価 • 評価環境 priority VM1 VM3 VM5 VM7 Iperf client Iperf client Iperf client Iperf client Virtual Switch TCP communication VM2 VM4 VM6 VM8 Iperf server Iperf server Iperf server Iperf server Virtual Switch VXLAN Physical Server 1 40 Gb Ethernet • マシン性能 Physical Server 1 Physical Server 2 • ベンチマーク : Iperf Physical Server 2 VM OS CentOS 6.6 (2.6.32) Ubuntu 14.04 CPU Intel Core i7 (6 core) 1 core Memory 16G bytes 2G bytes Buffer 4M bytes 4M bytes Network 40GBASE-SR4 - Driver MellanoxConnect-X(R)-3 virtio (MTU:1450) vSwitch OpenvSwitch 2.3.0 - Protocol TCP (Tunnel : VXLAN) Packet Size 65535 bytes Flow Duration Time 30 s Flow Generation Time 15 times Flow Generation Rules Common for all patterns 優先フローの性能評価 • 評価パターン RSS VM2 VM4 vhost net2 Core #1 VM6 vhost net4 Core #2 Core #3 VM8 vhost net6 Core #4 vhost net8 Core #5 Core #6 HardIRQ VSE VM2 vhost net2 Core #1 Priority VM4 vhost net4 Core #2 HardIRQ VM6 VM8 vhost net6 Core #3 SoftIRQ 2, 4, 6 vhost net8 Core #4 Core #5 SoftIRQ 8 Core #6 10 評価結果 8000 Throughput [Mbps] 7000 6000 RSS VM2 Total Ave. 11934Mbps VM4 VM6 VM8 VMとフロー処理のCPUコアが衝突 5000 4000 3000 フローのハッシュ値が衝突 2000 1000 0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 time [s] 8000 VM2 Total Ave. 13181Mbps VSE VM4 VM6 VM8 Throughput [Mbps] 7000 6000 5000 常に高スループットかつ安定 4000 3000 2000 1000 0 非優先・優先フローのソフトウェア割り込み先を制御することで 常に高スループットかつ安定した通信性能を提供することが可能 30 60 90 120 150 180 210 240 time [s] 270 300 330 360 390 420 450 11 まとめと今後の課題 • まとめ SoftIRQ制御によるCPUリソース割当て手法VSEを提案 › VSEは常に優先フローに対して高スループットかつ安定した通信 性能を提供 • 今後の課題 各パケット処理における詳細なサービス時間の評価 送信処理を考慮した場合のモデルの検討 12
© Copyright 2024 ExpyDoc