[HN Gopher] The Demikernel Datapath OS Architecture for Microsec...
       ___________________________________________________________________
        
       The Demikernel Datapath OS Architecture for Microsecond-Scale
       Datacenter Systems
        
       Author : zdw
       Score  : 24 points
       Date   : 2021-11-16 04:54 UTC (18 hours ago)
        
 (HTM) web link (www.micahlerner.com)
 (TXT) w3m dump (www.micahlerner.com)
        
       | deadgrey19 wrote:
       | Yet another academic work in the OS space that should have been
       | tested against the the state of the art in (commercially backed)
       | networking space.
       | 
       | From the abstract:
       | 
       | > However, none of these systems offer a general-purpose datapath
       | OS replacement that meet the needs of us-scale systems
       | 
       | One of the key points that the authors use to motivate their work
       | is that using kernel bypass technologies is hard because it
       | requires software engineers to rearchitect their code.
       | 
       | Call me sceptical of that claim. I can think of 3 (open source)
       | systems that provide drop-in replacement network interfaces for
       | existing software, but offer nanosecond (not microsecond!) scale
       | performance.
       | 
       | - Solarflare/Xilinx Open Onload - https://github.com/Xilinx-
       | CNS/onload
       | 
       | - Exablaze/Cisco - ExaSOCK - https://github.com/cisco/exanic-
       | software
       | 
       | - Melanox/NVidia VMA - https://github.com/Mellanox/libvma
       | 
       | With each of the above systems, they are designed to offer low
       | latency network stack replacement for existing applications,
       | without code modification or even recompilation. Exactly the
       | authors' goals.
       | 
       | But there is not a single reference to any of these technologies
       | in the paper. And crucially no comparison to any of them in the
       | evaluation.
       | 
       | The authors seem blissfully unaware of what work has actually
       | been done to solve these problems. Which makes the contributions
       | of the paper ... somewhat dubious.
        
         | scrubs wrote:
         | Note that Solarflare requires a per NIC license to get that by-
         | pass. And like Melanox those NICs are not cheap. Kernel by-pass
         | on COTS without recourse to high end NICs w/ or w/o FPGA and
         | the like is needed. I am benchmarking eRPC built on top of DPDK
         | on AWS to that end [1]. And not having to play sys-admin and
         | figure out configs or at least simplifying that work would
         | help. [1] https://www.usenix.org/system/files/nsdi19-kalia.pdf
        
         | tobz wrote:
         | One crucial difference I was able to spot is that Demikernel
         | seems to have an approach that can work for OSes other than
         | Linux. To wit, examples of the performance of the Demikernel
         | approach are shown on a Windows system running in Azure.
         | 
         | Of the three examples you listed, none of them seem to support
         | their kernel bypass capabilities in anything other than Linux.
        
           | deadgrey19 wrote:
           | Fair enough. My guess is that the commercial solutions are
           | simply going where the money is. If there was a commercially
           | pressing need to port to other systems, I'm sure it can be
           | done.
           | 
           | With that said, it's one thing to have a legitimate reason
           | for preferring an alternative approach. But the paper doesn't
           | even mention these solutions, which means that the authors
           | are either ignorant of what's already been done (bad), or
           | deliberately avoiding comparisons to alternative approaches
           | (worse).
        
       | sujayakar wrote:
       | hey, sujay (one of the authors from the paper) here! happy to
       | answer any questions about the paper/system.
        
         | eqvinox wrote:
         | Well, not a question.
         | 
         | POSIX and Linux are not the same. There is no epoll in POSIX,
         | it's a Linux addition. The BSDs have kqueue which according to
         | some people is actually better [cf.
         | https://www.youtube.com/embed/l6XQUciI-Sc?start=3362 ]. But
         | kqueue isn't POSIX either. Only poll() and select() are...
        
       ___________________________________________________________________
       (page generated 2021-11-16 23:01 UTC)