SlideShare a Scribd company logo
IO
syuu@openbsd.org
•
                          IO



•            Linux



•
    Vyatta           PC
Process(User)




         Process(Kernel)
socket
queue




 input   SW Intr Handler
queue




         HW Intr Handler
•   NIC

    •   NIC:1GbE→10GbE
    •   CPU:1GHz→3.2GHz       :CPU   1/10

•              CPU

    •   1CPU              →

    •
• NIC
    NIC



•
Process(User)




         Process(Kernel)
socket
queue




 input   SW Intr Handler
queue




         HW Intr Handler
Interrupt Coalescing
•
•

•
•
•
    •   NIC
              NIC



•
    •
        →NAPI Linux   http://tinyurl.com/LinuxNAPI
NAPI
                 Process(User)




                Process(Kernel)
socket
queue




                SW Intr Handler




                HW Intr Handler
•          NIC                  CPU



    →CPU

•                1Gbps
    Pentium4 2.4GHz CPU   80%

•   CPU
Process(User)




         Process(Kernel)
socket
queue




         SW Intr Handler




         HW Intr Handler
TOE
(TCP Offload Engine)
•   NIC             TCP/IP



•
    •               TOE
          OS

    •          OS            TOE


                    TOE
TOE
(TCP Offload Engine)
• Linux
• Windows                     OS
       http://bit.ly/offload

•           RDMA, iSCSI HBA
•   TCP Checksum Offload
    TCP

•   Large Segment Offload
                           64KB
        NIC MTU

•   Large Receive Offload
    LSO          NIC
Linux
•   TCP Checksum Offload
    TCP

•   Large Segment Offload
                           64KB
        NIC MTU

•   Large Receive Offload
    LSO          NIC
•         NIC
    CPU



•
CPU
         cpu0                              cpu1



                 Process(User)                     Process(User)




                Process(Kernel)                   Process(Kernel)
socket                            socket
queue                             queue




                SW Intr Handler                   SW Intr Handler




                HW Intr Handler                   HW Intr Handler
Receive Side Scaling
•

•                     CPU
          CPU

•   CPU

•               CPU
    →
Receive Side Scaling
     cpu0     cpu1     cpu2      cpu3




    RX       RX       RX       RX
   Queue    Queue    Queue    Queue
    #0       #1       #2       #3


                               hash     queue
                                ■         0
                                ■         1




                                          NIC
Receive Side Scaling
•   Microsoft Scalable Network Initiative
              http://bit.ly/ReceiveSideScaling

•   Windows Linux

•
    •   PCI         MSI-X

    •   NIC       RSS
RPS(Linux)
•   RSS         NIC



•         RSS

•                           CPU



•   CPU               CPU

•   RSS
cpu0   cpu1             cpu2      cpu3




                               socket
socket
                               queue
queue




hash     queue                 backlog
  ■        0                     #1
  ■        1
                                         backlog
                                           #2


                                                   backlog
                                                     #3
RFS(Linux)

•           CPU
                  RPS



•
RPS
CPU
•   Intel     http://bit.ly/IOATJ

•           NIC CPU                 OS



•                        CPU             I/O




•            CPU
TOE
•   TOE



•         CPU
    CPU
    →TCP/IP

•               TCP/IP   CPU
                  TOE
    →
Intel I/O Acceleration
      Technology
• Intel QuickData Technology
• Direct Cache Access
• Receive Side Scaling
• Large Receive Offload
• Low Latency Interrupts
Intel QuickData Technology

 • NIC     →
               DMA

 • CPU
 •             OS
Intel QuickData Technology
                 Process(User)




                Process(Kernel)
      socket
      queue




                SW Intr Handler




                HW Intr Handler
Direct Cache Access
•   NIC     DMA
    CPU



•   NIC

•           prefetch
DCA
              CPU
               Cache             Fetch
Snoop invalidate    Writeback

            Memory
                                Memory
           Controller
                          Memory Wirte
     DMA Write

          I/O Device
DCA
              CPU
               Cache            HW Prefetch
Snoop invalidate    Writeback
+hint
            Memory
                                  Memory
           Controller
                          Memory Wirte
     DMA Write

          I/O Device
• Intel VT-c
 • SR-IOV
    •               OS   NIC

 • VMDq
    • VM       IO
VM1         VM2




      Hypervisor
Intel VT-d
PCI Passthrough
      VM1          VM2




             Hypervisor
SR-IOV
 VM1         VM2




       Hypervisor
VMDq
      VM1               VM2




                  Hypervisor




RX1         RX2
RX1         RX2
RX1




        RX1
        RX2
        RX1
        RX1
        RX2
•

•

•

•   Intel

More Related Content

PDF
Linux network stack
PDF
Disruptive IP Networking with Intel DPDK on Linux
PDF
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
PDF
Trying and evaluating the new features of GlusterFS 3.5
PPTX
Enable DPDK and SR-IOV for containerized virtual network functions with zun
PDF
Intel DPDK Step by Step instructions
PDF
How to Speak Intel DPDK KNI for Web Services.
PDF
100 M pps on PC.
Linux network stack
Disruptive IP Networking with Intel DPDK on Linux
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
Trying and evaluating the new features of GlusterFS 3.5
Enable DPDK and SR-IOV for containerized virtual network functions with zun
Intel DPDK Step by Step instructions
How to Speak Intel DPDK KNI for Web Services.
100 M pps on PC.

What's hot (20)

PDF
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
PDF
L3HA-VRRP-20141201
PDF
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
PPTX
Understanding DPDK
PDF
DPDK in Containers Hands-on Lab
PPTX
Introduction to DPDK
ODP
Dpdk performance
PDF
FreeBSD and Drivers
PPTX
Linux Network Stack
PDF
Kvm performance optimization for ubuntu
PPTX
Accelerating Neutron with Intel DPDK
PDF
OpenStack networking juno l3 h-a, dvr
PPTX
High Performance Networking Leveraging the DPDK and Growing Community
PDF
Reconnaissance of Virtio: What’s new and how it’s all connected?
PPTX
Cpu高效编程技术
PDF
Userspace networking
PPTX
Userspace Linux I/O
PPTX
Dpdk applications
PDF
Recent advance in netmap/VALE(mSwitch)
PPTX
The n00bs guide to ovs dpdk
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
L3HA-VRRP-20141201
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Understanding DPDK
DPDK in Containers Hands-on Lab
Introduction to DPDK
Dpdk performance
FreeBSD and Drivers
Linux Network Stack
Kvm performance optimization for ubuntu
Accelerating Neutron with Intel DPDK
OpenStack networking juno l3 h-a, dvr
High Performance Networking Leveraging the DPDK and Growing Community
Reconnaissance of Virtio: What’s new and how it’s all connected?
Cpu高效编程技术
Userspace networking
Userspace Linux I/O
Dpdk applications
Recent advance in netmap/VALE(mSwitch)
The n00bs guide to ovs dpdk
Ad

Viewers also liked (20)

PDF
10GbE時代のネットワークI/O高速化
PDF
マルチコアとネットワークスタックの高速化技法
PPTX
United Fresh Global Food Safety Conference 24 April 2009
PPT
The art of disguise
PPTX
Best of steve jobs
PPT
Lsg4 dontaylor
PDF
Edukacja ekologiczna w Poznaniu
PPT
Kelly C. Ruggles
PPS
Arapski brojevi
KEY
Genkidama:実装と課題
PDF
IGNIUS | Training - Coaching
PDF
OSvパンフレット v3
PPT
Kogeneracja - efektywne wykorzystanie energii cieplnej
PDF
Bridge Detailed Construction
PPTX
Tin Can Experience - How we learn and work
PDF
Driving at Work HSE Guide
PPTX
A Message To Starbucks
PDF
Cyber Nasism
PPT
Kelly Ruggles
10GbE時代のネットワークI/O高速化
マルチコアとネットワークスタックの高速化技法
United Fresh Global Food Safety Conference 24 April 2009
The art of disguise
Best of steve jobs
Lsg4 dontaylor
Edukacja ekologiczna w Poznaniu
Kelly C. Ruggles
Arapski brojevi
Genkidama:実装と課題
IGNIUS | Training - Coaching
OSvパンフレット v3
Kogeneracja - efektywne wykorzystanie energii cieplnej
Bridge Detailed Construction
Tin Can Experience - How we learn and work
Driving at Work HSE Guide
A Message To Starbucks
Cyber Nasism
Kelly Ruggles
Ad

Similar to イマドキなNetwork/IO (20)

PDF
オペレーティングシステム 設計と実装 第3版(20101211)
ODP
2. operating systems
KEY
SMP Implementation for OpenBSD/sgi [Japanese Edition]
PDF
IL: 失われたプロトコル
PDF
ARM LPC2300/LPC2400 TCP/IP Stack Porting
PDF
Int 1010 Tcp Offload
PDF
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
PPTX
Steen_Dissertation_March5
PDF
Charlie Talk - Everything At The Click Of A Button
PDF
Filesystems, RPC and HDFS
PDF
A series presentation
PDF
Zero-Copy Event-Driven Servers with Netty
PPTX
I3 multicore processor
PPTX
PDF
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
ODP
Virtual net performance
PDF
Workload consolidation on ATCA with the advantech mic 5333 universal platform
PDF
Plan 9カーネルにおけるTCP/IP実装(未完)
PDF
introduction to linux kernel tcp/ip ptocotol stack
PDF
X86 hardware for packet processing
オペレーティングシステム 設計と実装 第3版(20101211)
2. operating systems
SMP Implementation for OpenBSD/sgi [Japanese Edition]
IL: 失われたプロトコル
ARM LPC2300/LPC2400 TCP/IP Stack Porting
Int 1010 Tcp Offload
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Steen_Dissertation_March5
Charlie Talk - Everything At The Click Of A Button
Filesystems, RPC and HDFS
A series presentation
Zero-Copy Event-Driven Servers with Netty
I3 multicore processor
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Virtual net performance
Workload consolidation on ATCA with the advantech mic 5333 universal platform
Plan 9カーネルにおけるTCP/IP実装(未完)
introduction to linux kernel tcp/ip ptocotol stack
X86 hardware for packet processing

More from Takuya ASADA (20)

PPTX
Seastar in 歌舞伎座.tech#8「C++初心者会」
PPTX
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
PDF
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
PDF
ヤマノススメ〜秋山郷 de ハッカソン〜
PDF
UEFI時代のブートローダ
PDF
OSvのご紹介 in 
Java 8 HotSpot meeting
PDF
OSvのご紹介 in OSC2014 Tokyo/Fall
PDF
OSv噺
PDF
OSvの概要と実装
PDF
Ethernetの受信処理
PDF
Presentation on your terminal
PDF
僕のIntel nucが起動しないわけがない
PDF
Interrupt Affinityについて
PDF
OSvパンフレット
PDF
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
PDF
「ハイパーバイザの作り方」読書会#2
PDF
「ハイパーバイザの作り方」読書会#1
PDF
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
PDF
仮想化環境での利用者公平性
PDF
仮想化環境におけるパケットフォワーディング
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
ヤマノススメ〜秋山郷 de ハッカソン〜
UEFI時代のブートローダ
OSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in OSC2014 Tokyo/Fall
OSv噺
OSvの概要と実装
Ethernetの受信処理
Presentation on your terminal
僕のIntel nucが起動しないわけがない
Interrupt Affinityについて
OSvパンフレット
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#1
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
仮想化環境での利用者公平性
仮想化環境におけるパケットフォワーディング

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Modernizing your data center with Dell and AMD
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Machine learning based COVID-19 study performance prediction
Mobile App Security Testing_ A Comprehensive Guide.pdf
A Presentation on Artificial Intelligence
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Network Security Unit 5.pdf for BCA BBA.
Reach Out and Touch Someone: Haptics and Empathic Computing
“AI and Expert System Decision Support & Business Intelligence Systems”
20250228 LYD VKU AI Blended-Learning.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Monthly Chronicles - July 2025
The AUB Centre for AI in Media Proposal.docx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Modernizing your data center with Dell and AMD
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

イマドキなNetwork/IO

  • 2. IO • Linux • Vyatta PC
  • 3. Process(User) Process(Kernel) socket queue input SW Intr Handler queue HW Intr Handler
  • 4. NIC • NIC:1GbE→10GbE • CPU:1GHz→3.2GHz :CPU 1/10 • CPU • 1CPU → •
  • 5. • NIC NIC •
  • 6. Process(User) Process(Kernel) socket queue input SW Intr Handler queue HW Intr Handler
  • 8. • NIC NIC • • →NAPI Linux http://tinyurl.com/LinuxNAPI
  • 9. NAPI Process(User) Process(Kernel) socket queue SW Intr Handler HW Intr Handler
  • 10. NIC CPU →CPU • 1Gbps Pentium4 2.4GHz CPU 80% • CPU
  • 11. Process(User) Process(Kernel) socket queue SW Intr Handler HW Intr Handler
  • 12. TOE (TCP Offload Engine) • NIC TCP/IP • • TOE OS • OS TOE TOE
  • 13. TOE (TCP Offload Engine) • Linux • Windows OS http://bit.ly/offload • RDMA, iSCSI HBA
  • 14. TCP Checksum Offload TCP • Large Segment Offload 64KB NIC MTU • Large Receive Offload LSO NIC
  • 15. Linux • TCP Checksum Offload TCP • Large Segment Offload 64KB NIC MTU • Large Receive Offload LSO NIC
  • 16. NIC CPU •
  • 17. CPU cpu0 cpu1 Process(User) Process(User) Process(Kernel) Process(Kernel) socket socket queue queue SW Intr Handler SW Intr Handler HW Intr Handler HW Intr Handler
  • 18. Receive Side Scaling • • CPU CPU • CPU • CPU →
  • 19. Receive Side Scaling cpu0 cpu1 cpu2 cpu3 RX RX RX RX Queue Queue Queue Queue #0 #1 #2 #3 hash queue ■ 0 ■ 1 NIC
  • 20. Receive Side Scaling • Microsoft Scalable Network Initiative http://bit.ly/ReceiveSideScaling • Windows Linux • • PCI MSI-X • NIC RSS
  • 21. RPS(Linux) • RSS NIC • RSS • CPU • CPU CPU • RSS
  • 22. cpu0 cpu1 cpu2 cpu3 socket socket queue queue hash queue backlog ■ 0 #1 ■ 1 backlog #2 backlog #3
  • 23. RFS(Linux) • CPU RPS •
  • 24. RPS
  • 25. CPU
  • 26. Intel http://bit.ly/IOATJ • NIC CPU OS • CPU I/O • CPU
  • 27. TOE • TOE • CPU CPU →TCP/IP • TCP/IP CPU TOE →
  • 28. Intel I/O Acceleration Technology • Intel QuickData Technology • Direct Cache Access • Receive Side Scaling • Large Receive Offload • Low Latency Interrupts
  • 29. Intel QuickData Technology • NIC → DMA • CPU • OS
  • 30. Intel QuickData Technology Process(User) Process(Kernel) socket queue SW Intr Handler HW Intr Handler
  • 31. Direct Cache Access • NIC DMA CPU • NIC • prefetch
  • 32. DCA CPU Cache Fetch Snoop invalidate Writeback Memory Memory Controller Memory Wirte DMA Write I/O Device
  • 33. DCA CPU Cache HW Prefetch Snoop invalidate Writeback +hint Memory Memory Controller Memory Wirte DMA Write I/O Device
  • 34. • Intel VT-c • SR-IOV • OS NIC • VMDq • VM IO
  • 35. VM1 VM2 Hypervisor
  • 36. Intel VT-d PCI Passthrough VM1 VM2 Hypervisor
  • 37. SR-IOV VM1 VM2 Hypervisor
  • 38. VMDq VM1 VM2 Hypervisor RX1 RX2 RX1 RX2 RX1 RX1 RX2 RX1 RX1 RX2

Editor's Notes