Kernel-bypass techniques for high-speed network packet processing

Поделиться
HTML-код
  • Опубликовано: 1 июл 2024
  • Basics on linux network stack and techniques to bypass it. Provides overview on DPDK, netmap and mTCP network stack.
    Slides: github.com/ppnaik1890/Learnin...
    Authors: Rinku Shah and Priyanka Naik ({rinku,ppnaik}@cse.iitb.ac.in)
    Follow up video on basics of DPDK programming here:
    • DPDK deep-dive
    Reference to video on epoll available here:
    • Operating Systems Lect...

Комментарии • 58

  • @narsimharajpentam4713
    @narsimharajpentam4713 3 года назад +6

    This video is wonderful , short and crispy, thanks

  • @melodiessim2570
    @melodiessim2570 3 года назад +2

    Excellent content and clear delivery on kernel bypass and linux networking i/o processing. Thanks :)

  • @WillSheppard1
    @WillSheppard1 2 года назад

    Excellent resource - very clear and informative.

  • @user-sl4th2pu1z
    @user-sl4th2pu1z 7 месяцев назад

    Wow. Lecture is short, but when i get into understanding this it took much more time to remember all of this information.

  • @fatty-it-man
    @fatty-it-man 3 года назад +1

    very very very usefull!!! Wow!!!
    best simple without any unneeded details but very precise explanation

  • @aviivi8497
    @aviivi8497 3 года назад +5

    Very easy understandable and even beginners can gain lot of information

  • @Refresh636
    @Refresh636 2 года назад

    Great video, very well organized. Defiantly will be downloading this

  • @nishantdhamija6699
    @nishantdhamija6699 3 года назад +4

    Amazing content on networking stack

  • @shubho5das
    @shubho5das 6 месяцев назад

    Awsm explanation - loved it!
    Thank You!

  • @_thehunter_
    @_thehunter_ 3 года назад +3

    Nice introduction to inner working of linux network

  • @varunrap
    @varunrap 2 года назад

    Nice video with good explanation. Appreciate the effort.

  • @muhammaduzairjawaid2613
    @muhammaduzairjawaid2613 Год назад

    Wonderful presentation. Thanks

  • @shreyabhandare6056
    @shreyabhandare6056 Год назад

    Fantastic explanation, thank you for this

  • @perfecto25
    @perfecto25 Год назад

    this is excellent tutorial of kernel bypass

  • @cantwaittowatch
    @cantwaittowatch 4 месяца назад

    excellent video and technical details. thank you.

  • @mdabubakershibly475
    @mdabubakershibly475 3 года назад +1

    Excellent !!

  • @pathayes2224
    @pathayes2224 2 года назад

    very well presented!

  • @kishorbhawar919
    @kishorbhawar919 2 года назад

    very good content and very nice presentation

  • @amroashram
    @amroashram Год назад

    helped me a lot, thank you very much .

  • @prabhakarrao8806
    @prabhakarrao8806 5 месяцев назад

    Great Explanation

  • @fujinafiul6044
    @fujinafiul6044 Год назад +3

    What a wonderful and well-designed video lecture that explained such a cutting-edge complex technology with such simplicity and confidence...! No wonder why IIT is praised so much for their great productivity of quality engineers.. Heartish love from BUET, Bangladesh...

  • @richarddferri
    @richarddferri 2 года назад +1

    Very good content.

  • @spoorthipanduranga6220
    @spoorthipanduranga6220 Год назад

    I’m interested in learning the Linux kernel network programming, and this is really good start! I’ll connect to seek some guidance. Thanks

  • @sateesh6644
    @sateesh6644 3 года назад +6

    U have saved lot of time madam. Thanks for the video. I'm really looking dpdk continues video. Please make a video on dpdk.

    • @priyankanaik7002
      @priyankanaik7002  3 года назад +1

      Thank you, Satish. The follow up video on DPDK can be found here:
      ruclips.net/video/VJ8CVN3oXMw/видео.html

  • @thilbala86
    @thilbala86 Год назад

    Very Nice explanation

  • @Cybernetic1
    @Cybernetic1 2 года назад

    What a video.. Thanks

  • @erana4124
    @erana4124 2 года назад

    Great lecture

  • @spiderbing
    @spiderbing Год назад

    Amazing video. Needed this concept for my own algo-trading. Was researching faster processing ideas and big name hedge funds are also looking at bypass kernel methods. This video provides the skeleton solution which can be scaled up by engineers.

    • @shivangupadhyay8002
      @shivangupadhyay8002 7 месяцев назад

      why does trading algo need to care about packet forwarding level optimization?

    • @vishnukl
      @vishnukl 6 месяцев назад

      every millisecond is money

  • @luv2crack
    @luv2crack 3 месяца назад

    Superb explanation... appreciate the effort put in.
    can you pls make a video on vector packet processing too..

  • @TNTsundar
    @TNTsundar Год назад

    Good intro. Would be good to start with the overheads involved in context switching, locking, cache miss penalties. Maybe those are part of another/previous video?

  • @sumitparashari2663
    @sumitparashari2663 2 года назад +1

    Ton of information

  • @user-he1fr1ck6u
    @user-he1fr1ck6u 24 дня назад

    Hello Nice Overview , Do you have any example that implements UDP server/client using DPDK ?

  • @Muralikrishna-yz7jl
    @Muralikrishna-yz7jl 2 года назад

    In the RX path, if the application is already blocked on the read() system call, does the bottom half processing involve moving the application's kernel thread to the READY queue, after the data is copied to the user buffer?

  • @HT-ym1fm
    @HT-ym1fm Год назад

    well explained

  • @pro-coder4493
    @pro-coder4493 Год назад

    nice one!!

  • @dudeabideth4428
    @dudeabideth4428 4 месяца назад

    When fragmentation and reassembly happens , do we have one sk buff or multiple ?

  • @realtime9363
    @realtime9363 2 года назад

    Hi Priyanka , Upload such videos

  • @spiraldynamics6008
    @spiraldynamics6008 6 месяцев назад

    CAN you do a detailed video on eBPF please

  • @anshukhanna6041
    @anshukhanna6041 2 года назад +1

    Hey, thank you, can you also make videos on network optimization techniques by changing the TCP/IP kernel paramters

  • @dudeabideth4428
    @dudeabideth4428 4 месяца назад

    In Dpdk , the dma is done from userspace ?

  • @nikhilpatil2697
    @nikhilpatil2697 2 года назад

    Very nice information 👍 , so any other consecutive tutorials are available ?

  • @anvinthomasjohn
    @anvinthomasjohn 3 года назад +2

    Hey, thanks a lot for uploading this wonderful explanation! From the video I understood that there are only 2 cpu context switches for a packet RX stage (for top half and bottom half processing). In that perspective I have few basic queries here,
    1. When the NIC driver creates the ring buffer when the packets are received, does it steal any cpu cycles ? (as it was mentioned that the cpu will be working on user mode and interruption is done after the creation of ring buffers)
    2. Does not the L3/L4 processing come under the bottom half processing as around 9:15, it was mentioned that context switching happens after the processing. If not then does L3/L4 processing need a different context switch by cpu for processing?
    Will appreciate your help in understanding these, Thank you!

    • @rinksshah
      @rinksshah 3 года назад +2

      Thanks for your kind words, Anvin! Yes, these are some interesting questions, and hopefully the following clarifies your queries.
      1. The TX/RX rings are the descriptors (pointers) to the packet buffers. Both data structures, rings & packet buffers, are allocated in DRAM by the NIC driver in advance. These data structures are static and are specific to the network device (NIC). So, coming back to your question, on packet receive the ring buffer is not created, the packets are copied from the hardware (NIC) buffers to the ring buffers using DMA. Yes, DMA steals the CPU's system bus for memory copy but the CPU does not context switch, we can consider that the CPU may halt for a while. Also, DMA could transfer a huge bunch of buffered packets at once.
      2. Yes, L3/L4 processing is part of the bottom half processing as softirqs. You can find details about RX bottom half processing here "www.embeddedlinux.org.cn/linux_net/0596002556/understandlni-CHP-10-SECT-7.html". After L4 processing the listening application is signaled to inform that the packet is available in the socket buffer for consumption.
      I hope this answers your queries.

    • @anvinthomasjohn
      @anvinthomasjohn 3 года назад +1

      That explains well, thank you. Also could you share the link to the slides (or via email), I would like to browse through the reference links embedded in them.

    • @rinksshah
      @rinksshah 3 года назад +1

      @@anvinthomasjohn You can find the slides here.
      github.com/rinku-shah/kernel-bypass/blob/master/Kernel-bypass-final.pdf

    • @anvinthomasjohn
      @anvinthomasjohn 3 года назад

      Thank you Rinku!

  • @awaneeshkumar7631
    @awaneeshkumar7631 3 года назад +1

    HI, Thanks for this nice lecture and this is really helpfull. Around 25:40, you are talking about the another lecture on epoll. I am unable to find out the same. Can you please point me to the same? Thanks! in advance.

    • @priyankanaik7002
      @priyankanaik7002  3 года назад

      Hey, thank you! This lecture was part of a course and it referred to a prior lecture which is not publicly available. However, you can look for notes related to epoll here:
      ruclips.net/video/2TrQXSFgqBY/видео.html

  • @subratausha
    @subratausha 2 года назад

    It would be very much helpful if you explain the things with the kernel code side by side. Otherwise it would not be very much helpful.

  • @dudeabideth4428
    @dudeabideth4428 4 месяца назад

    I found the explanations very lucidly conveyed. At least the kernel part .
    The style .. like a newsreader.. was a bit distracting and often difficult to follow .
    Would have been better if you talked as if you are talking to a friend rather than this so reading off a news article style.

  • @moshiurbhuiyan8403
    @moshiurbhuiyan8403 7 месяцев назад

    very vague and elementary level explanation of Kernel bypass .... poor content

  • @asterx_obelix653
    @asterx_obelix653 7 месяцев назад

    Good lecture, but Priyanka was evidently reading from a writeup. That is a horrible way to teach. If you know your stuff, you shouldn't have to write paragraphs of what you are going to talk about.

  • @narsimharajpentam4713
    @narsimharajpentam4713 3 года назад +2

    This video is wonderful , short and crispy, thanks

  • @feelsvlr
    @feelsvlr 4 месяца назад

    This was very useful!, thank you