Kernel-bypass techniques for high-speed network packet processing

Поделиться
HTML-код
  • Опубликовано: 28 ноя 2024

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

  • @xiaoqiangshi
    @xiaoqiangshi Месяц назад +1

    This is the best video I watched to explain how a NIC work and DPDK. Thanks !

  • @shailendrabhatnagar980
    @shailendrabhatnagar980 11 дней назад

    Excellent explanation. Great job !!

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

    This video is wonderful , short and crispy, thanks

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

    Nice introduction to inner working of linux network

  • @santoshsco
    @santoshsco 2 месяца назад

    This is best videos on DPDK on there on internet , thnk you very much .

  • @fujinafiul6044
    @fujinafiul6044 2 года назад +4

    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...

  • @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

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

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

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

    Amazing content on networking stack

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

    Very easy understandable and even beginners can gain lot of information

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

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

  • @berlin-unlocked
    @berlin-unlocked 3 года назад +1

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

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

    Awsm explanation - loved it!
    Thank You!

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

    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?

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

    excellent video and technical details. thank you.

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

    this is excellent tutorial of kernel bypass

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

    Nice video with good explanation. Appreciate the effort.

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

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

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

    Fantastic explanation, thank you for this

  • @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 Год назад

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

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

      every millisecond is money

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

      @@shivangupadhyay8002 kernel bypassing saves from interrupts , context switches, thus saves cache and latency.

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

    Excellent resource - very clear and informative.

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

    Wonderful presentation. Thanks

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

    very good content and very nice presentation

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

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

  • @richarddferri
    @richarddferri 3 года назад +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

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

    Great Explanation

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

    AMAZING VIDEO YOU HAVE A NEW SUBSCRIBER FOR SURE

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

    Very Nice explanation

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

    very well presented!

  • @SoumalyaSahoo-t6l
    @SoumalyaSahoo-t6l 5 месяцев назад

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

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

    This was very useful!, thank you

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

    helped me a lot, thank you very much .

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

    Excellent !!

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

    Great lecture

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

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

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

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

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

    CAN you do a detailed video on eBPF please

  • @Himani768
    @Himani768 2 месяца назад

    Hello Mam, i want to learn how exactly packet move once packet received in NIC card. Detail step by step packet processing. Plz guide me or if there is any way to learn this from you.

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

    Ton of information

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

    Hi Priyanka , Upload such videos

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

    What a video.. Thanks

  • @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?

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

    In Dpdk , the dma is done from userspace ?

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

    well explained

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

    nice one!!

  • @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

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

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

  • @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 9 месяцев назад

    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 Год назад

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

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

    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