SlideShare a Scribd company logo
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_
Abstraction

‣ PacketShader
‣ GPUによるパケット処理のための高性能ソフトウェアルータ
‣ 現在のソフトウェアルータにおけるCPU負荷をGPUにオフロードする
‣ この高性能Packet I/O Engineと併用すると,既存のソフトウェアルータと比
  較して4倍以上のスループットとなる

‣ 64BのIPv4パケットを処理するスループットは39Gbps
‣ その他,IPv6,OpenFlowおよびIPsecについてGPUで高速化
Introduction

‣ PCベースのソフトウェアルータは低コストかつProgrammability
 が高い

‣ 既存のソフトウェアルータは10Gbps近くのForwarding性能
‣ しかし,より計算量の多いアプリケーションに対してはCPUがボトル
 ネックとなる
‣ IPsecの場合,IPv4のForwardingスループットの約20%の性能
‣ 数100コアをもつGPUに計算処理をオフロードする
‣ GPUのメモリは帯域幅が大きいため,巨大なテーブルのlookupに適している
Introduction


‣ PacketShaderは以下の2つの要素で構成される
‣ パケットごとのメモリ管理オーバヘッドを排除するためのI/O Engineの実装
‣ IPテーブルのlookupやIPsecの暗号化処理をGPUにオフロード
‣ IPv4:40 Gbps,IPv6:38.2 Gbps,IPsec:10 20 Gbps
GPU as a Packet Processor

‣ 15個のStreaming Multiprocessors(SMs)
‣ 1個のSMは32個のScalar Processors(Sps)をもつ
‣ 合計480コア
‣ SMはSIMT演算を行う
‣ 32個の同一の演算命令を
  1クロックで実行
‣ 統合開発環境CUDA
Optimizing Packet I/O Engine
‣ 高性能なソフトウェアルータは NIC を介したパケットの受信と転送に
 多くの CPU サイクルを費やしている(約60%)

‣ Linux Network Stack の問題
‣ パケットごとにバッファを確保している
‣ Huge Packet Buffer を実装
‣ 2つの巨大なバッファを確保
 ‣ メタデータ
 ‣ パケットデータ
Packet I/O Performance

‣ IPテーブルのlookupなしで,送受信/Forwardのみの性能測定
‣ スループットは約40Gbps(RX+TX(青))で抑えれれている
‣ ボトルネックはI/O
‣ コア数を減らしても同一の結果
‣ 一定のメモリアクセスを要する
  バックグラウンドプロセスを
  走らせても同じ結果
PacketShader Architecture
‣ Packet API:カーネルレベルのI/O Engineのラッパー
‣ masterスレッドと3個のworkerスレッド
‣ masterスレッドのみがGPUにアクセス
 ‣ 複数スレッド同時にGPUにアクセスすると
   性能が落ちる
‣ workerスレッドはPacket I/Oを担当
‣ masterスレッドはGPUにアクセスする
  するためのプロキシのように振る舞う
Workflow
‣ パケットのグループをチャンクとして,チャンク単位で処理する
‣ Pre-shading
 ‣ 各workerスレッドがRXキューからチャンクをフェッチする
 ‣ GPUに渡すための前処理(ヘッダからIPアドレスを抽出するなど)
‣ Shading:
 ‣ masterスレッドがCPU-GPU間
  のデータ転送
‣ Post-shading:
 ‣ 結果をアウトプットキューに格納
Optimization Strategies


‣ Chunk Pipelining
 ‣ masterスレッドの処理とWorkerスレッドの処理をパイプライン化する
‣ Concurrent Copy and Execution
 ‣ GPU上でのプログラム実行中にCPU-GPU間
  のデータ転送が可能
Evaluation - IPv4 and IPv6
‣ IPv4,IPv6ともに最大スループット(40Gbps)に達している
‣ パケットサイズが64Bのとき若干スループットが低い
‣ IOハンドラが主記憶-GPUメモリ間のIPアドレスとlookup結果の転送に
‣ IPv6のほうがメモリアクセス回数が大きいため,メモリ帯域幅の大き
 いGPU実装の速度向上率は大きい
Evaluation - OpenFlow and IPsec
‣ OpenFlow:32K + 32のとき,NetFPGAの実装と比べて8倍の 
 性能向上

‣ IPsec:CPU onlyと比較して,約3.5倍
‣ 計算量の多い処理でもGPU実装は有効である
Conclusions

‣ 安価なハードウェア上で高スループットなパケット処理を実現する
 PacketShaderを提案した

‣ ネットワークスタックにおけるパケットごとのオーバヘッドを最小化
 し,NICから直接ユーザ空間にパケットを転送可能にした

‣ 計算量の多い処理とメモリ集約な処理をGPUにオフロードした
‣ 40GbpsのスループットをもつPCベースのソフトウェアルータを示し
 た

More Related Content

What's hot

OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
Satoshi Shimazaki
 
Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-
Go Chiba
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
ykuga
 
BEAR.Sunday 1.X
BEAR.Sunday 1.XBEAR.Sunday 1.X
BEAR.Sunday 1.X
Akihito Koriyama
 
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Deep Learning JP
 
Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Kazuho Oku
 
Windows HPC Server 講習会 第2回 開発編
Windows HPC Server 講習会 第2回 開発編Windows HPC Server 講習会 第2回 開発編
Windows HPC Server 講習会 第2回 開発編
Osamu Masutani
 
MPSoCのPLの性能について
MPSoCのPLの性能についてMPSoCのPLの性能について
MPSoCのPLの性能について
marsee101
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
Masahiro Sakai
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
tokudahiroshi
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP
Kohei KaiGai
 
GGEasyMonitor技術情報
GGEasyMonitor技術情報GGEasyMonitor技術情報
GGEasyMonitor技術情報
KitASP_Corporation
 
Scheme to x86コンパイラ
Scheme to x86コンパイラScheme to x86コンパイラ
Scheme to x86コンパイラ
Nobutaka Takushima
 
Website build exercise_opsguide_japanese
Website build exercise_opsguide_japaneseWebsite build exercise_opsguide_japanese
Website build exercise_opsguide_japanese
meilai521
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
Masaru Oki
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法Takuya ASADA
 

What's hot (20)

OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
 
Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-Apache CloudStack -コントリビューションの手引き-
Apache CloudStack -コントリビューションの手引き-
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
BEAR.Sunday 1.X
BEAR.Sunday 1.XBEAR.Sunday 1.X
BEAR.Sunday 1.X
 
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
 
Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
Windows HPC Server 講習会 第2回 開発編
Windows HPC Server 講習会 第2回 開発編Windows HPC Server 講習会 第2回 開発編
Windows HPC Server 講習会 第2回 開発編
 
MPSoCのPLの性能について
MPSoCのPLの性能についてMPSoCのPLの性能について
MPSoCのPLの性能について
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
 
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP
 
Papi
PapiPapi
Papi
 
GGEasyMonitor技術情報
GGEasyMonitor技術情報GGEasyMonitor技術情報
GGEasyMonitor技術情報
 
Scheme to x86コンパイラ
Scheme to x86コンパイラScheme to x86コンパイラ
Scheme to x86コンパイラ
 
Website build exercise_opsguide_japanese
Website build exercise_opsguide_japaneseWebsite build exercise_opsguide_japanese
Website build exercise_opsguide_japanese
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 

Similar to Packetshader: A GPU-accelerated Software Routerを読んだ

GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだGPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
y_uuki
 
ICD/CPSY 201412
ICD/CPSY 201412ICD/CPSY 201412
ICD/CPSY 201412
Takefumi MIYOSHI
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpu
Kohei KaiGai
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
Kohei KaiGai
 
オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルエンジニア通信
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
cyberagent
 
HPC 的に H100 は魅力的な GPU なのか?
HPC 的に H100 は魅力的な GPU なのか?HPC 的に H100 は魅力的な GPU なのか?
HPC 的に H100 は魅力的な GPU なのか?
NVIDIA Japan
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
Kohei KaiGai
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Preferred Networks
 
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
Amazon Web Services Japan
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
NTT DATA Technology & Innovation
 
Software forwarding path
Software forwarding pathSoftware forwarding path
Software forwarding path
Tomofumi Hayashi
 
20170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#120170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#1
Kohei KaiGai
 
Linux on Powerの最新情報(2014年11月)
Linux on Powerの最新情報(2014年11月)Linux on Powerの最新情報(2014年11月)
Linux on Powerの最新情報(2014年11月)
IBM Systems @ IBM Japan, Ltd.
 
20180914 GTCJ INCEPTION HeteroDB
20180914 GTCJ INCEPTION HeteroDB20180914 GTCJ INCEPTION HeteroDB
20180914 GTCJ INCEPTION HeteroDB
Kohei KaiGai
 
2012 1203-researchers-cafe
2012 1203-researchers-cafe2012 1203-researchers-cafe
2012 1203-researchers-cafe
Toshiya Komoda
 

Similar to Packetshader: A GPU-accelerated Software Routerを読んだ (20)

GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだGPUを用いたSSLリバースプロキシの実装についての論文を読んだ
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
 
ICD/CPSY 201412
ICD/CPSY 201412ICD/CPSY 201412
ICD/CPSY 201412
 
20130126 sc12-reading
20130126 sc12-reading20130126 sc12-reading
20130126 sc12-reading
 
Fpga local 20130322
Fpga local 20130322Fpga local 20130322
Fpga local 20130322
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpu
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)オラクルのHPC/GPUソリューションご紹介(2021/08版)
オラクルのHPC/GPUソリューションご紹介(2021/08版)
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
 
HPC 的に H100 は魅力的な GPU なのか?
HPC 的に H100 は魅力的な GPU なのか?HPC 的に H100 は魅力的な GPU なのか?
HPC 的に H100 は魅力的な GPU なのか?
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-clusterKubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
 
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
20171109 Amazon EC2 GPUインスタンス最新動向 P3 instance
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
Software forwarding path
Software forwarding pathSoftware forwarding path
Software forwarding path
 
20170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#120170310_InDatabaseAnalytics_#1
20170310_InDatabaseAnalytics_#1
 
Linux on Powerの最新情報(2014年11月)
Linux on Powerの最新情報(2014年11月)Linux on Powerの最新情報(2014年11月)
Linux on Powerの最新情報(2014年11月)
 
20180914 GTCJ INCEPTION HeteroDB
20180914 GTCJ INCEPTION HeteroDB20180914 GTCJ INCEPTION HeteroDB
20180914 GTCJ INCEPTION HeteroDB
 
2012 1203-researchers-cafe
2012 1203-researchers-cafe2012 1203-researchers-cafe
2012 1203-researchers-cafe
 

Recently uploaded

キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 

Recently uploaded (12)

キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 

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_
  • 2. Abstraction ‣ PacketShader ‣ GPUによるパケット処理のための高性能ソフトウェアルータ ‣ 現在のソフトウェアルータにおけるCPU負荷をGPUにオフロードする ‣ この高性能Packet I/O Engineと併用すると,既存のソフトウェアルータと比 較して4倍以上のスループットとなる ‣ 64BのIPv4パケットを処理するスループットは39Gbps ‣ その他,IPv6,OpenFlowおよびIPsecについてGPUで高速化
  • 3. Introduction ‣ PCベースのソフトウェアルータは低コストかつProgrammability が高い ‣ 既存のソフトウェアルータは10Gbps近くのForwarding性能 ‣ しかし,より計算量の多いアプリケーションに対してはCPUがボトル ネックとなる ‣ IPsecの場合,IPv4のForwardingスループットの約20%の性能 ‣ 数100コアをもつGPUに計算処理をオフロードする ‣ GPUのメモリは帯域幅が大きいため,巨大なテーブルのlookupに適している
  • 4. Introduction ‣ PacketShaderは以下の2つの要素で構成される ‣ パケットごとのメモリ管理オーバヘッドを排除するためのI/O Engineの実装 ‣ IPテーブルのlookupやIPsecの暗号化処理をGPUにオフロード ‣ IPv4:40 Gbps,IPv6:38.2 Gbps,IPsec:10 20 Gbps
  • 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にアクセスする するためのプロキシのように振る舞う
  • 9. Workflow ‣ パケットのグループをチャンクとして,チャンク単位で処理する ‣ Pre-shading ‣ 各workerスレッドがRXキューからチャンクをフェッチする ‣ GPUに渡すための前処理(ヘッダからIPアドレスを抽出するなど) ‣ Shading: ‣ masterスレッドがCPU-GPU間 のデータ転送 ‣ Post-shading: ‣ 結果をアウトプットキューに格納
  • 10. Optimization Strategies ‣ Chunk Pipelining ‣ masterスレッドの処理とWorkerスレッドの処理をパイプライン化する ‣ Concurrent Copy and Execution ‣ GPU上でのプログラム実行中にCPU-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実装は有効である
  • 13. Conclusions ‣ 安価なハードウェア上で高スループットなパケット処理を実現する PacketShaderを提案した ‣ ネットワークスタックにおけるパケットごとのオーバヘッドを最小化 し,NICから直接ユーザ空間にパケットを転送可能にした ‣ 計算量の多い処理とメモリ集約な処理をGPUにオフロードした ‣ 40GbpsのスループットをもつPCベースのソフトウェアルータを示し た

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n