More Related Content Similar to Packetshader: A GPU-accelerated Software Routerを読んだ
Similar to Packetshader: A GPU-accelerated Software Routerを読んだ (20) Packetshader: A GPU-accelerated Software Routerを読んだ1. PacketShader: A GPU-
Accelerated Software Router
Sangjin Han, Keon Jang, KyoungSoo Park, Sue Moon
Department of Computer Science, KAIST, Korea
id:y_uuki / @y_uuki_
5. GPU as a Packet Processor
‣ 15個のStreaming Multiprocessors(SMs)
‣ 1個のSMは32個のScalar Processors(Sps)をもつ
‣ 合計480コア
‣ SMはSIMT演算を行う
‣ 32個の同一の演算命令を
1クロックで実行
‣ 統合開発環境CUDA
6. Optimizing Packet I/O Engine
‣ 高性能なソフトウェアルータは NIC を介したパケットの受信と転送に
多くの CPU サイクルを費やしている(約60%)
‣ Linux Network Stack の問題
‣ パケットごとにバッファを確保している
‣ Huge Packet Buffer を実装
‣ 2つの巨大なバッファを確保
‣ メタデータ
‣ パケットデータ
7. Packet I/O Performance
‣ IPテーブルのlookupなしで,送受信/Forwardのみの性能測定
‣ スループットは約40Gbps(RX+TX(青))で抑えれれている
‣ ボトルネックはI/O
‣ コア数を減らしても同一の結果
‣ 一定のメモリアクセスを要する
バックグラウンドプロセスを
走らせても同じ結果
8. PacketShader Architecture
‣ Packet API:カーネルレベルのI/O Engineのラッパー
‣ masterスレッドと3個のworkerスレッド
‣ masterスレッドのみがGPUにアクセス
‣ 複数スレッド同時にGPUにアクセスすると
性能が落ちる
‣ workerスレッドはPacket I/Oを担当
‣ masterスレッドはGPUにアクセスする
するためのプロキシのように振る舞う
11. Evaluation - IPv4 and IPv6
‣ IPv4,IPv6ともに最大スループット(40Gbps)に達している
‣ パケットサイズが64Bのとき若干スループットが低い
‣ IOハンドラが主記憶-GPUメモリ間のIPアドレスとlookup結果の転送に
‣ IPv6のほうがメモリアクセス回数が大きいため,メモリ帯域幅の大き
いGPU実装の速度向上率は大きい
12. Evaluation - OpenFlow and IPsec
‣ OpenFlow:32K + 32のとき,NetFPGAの実装と比べて8倍の
性能向上
‣ IPsec:CPU onlyと比較して,約3.5倍
‣ 計算量の多い処理でもGPU実装は有効である
Editor's Notes \n \n \n \n \n \n \n \n \n \n \n \n \n