3 ms·
How is this different from what Solarflare (https://twitter.com/Solarflare_Comm/status/1113471731379843072 https://twitter.com/Solarflare_Comm/status/1113471731
by tinktank 7y ago
How is this different from what Solarflare (https://twitter.com/Solarflare_Comm/status/1113471731379843072 https://twitter.com/Solarflare_Comm/status/11134717313798430...) is doing with Cloud Onload? From what I understand they don't require any application changes and they work on any networking application.
- wmf 7y agoDPDK and Solarflare Onload are conceptually similar since they're both OS bypass network stacks. DPDK is open source and portable but lower-level and more complex to use while Onload looks much easier to use but proprietary-ish.
- neomantra 7y agoOpenOnload transparently replaces the UDP/TCP network stack and epoll calls of an applications with highly tunable userspace components. It can work with any application that uses these system calls. Of course, that application could be Redis. If you search around, I've commented on using them together. This is a Redis module, so will only work with Redis. Although I don't see its implementation (?), it appears to connect Redis' Unix Socket interface to a network stack running on DPDK (a user-space low-level network interface). In SolarFlare world, ef_vi is their library to DPDK -- it is a packet buffer interface. They then have OpenOnload (transparent acceleration that cooperates well with the kernel) and TCPDirect, a proprietary userspace TCP/UDP library that has its own interface. It's even higher performance than OpenOnload because it doesn't have to coordinate with the kernel and you manage the sharing of the network resources. SolarFlare has a DPDK driver too. OpenOnload doesn't accelerate UNIX sockets. One thing this module doesn't accelerate is epoll... I think a properly tuned SolarFlare solution would be higher performing -- especially on the same machine with TCP-loopback acceleration. But you don't know until you try it... edit: added note about epoll
- jing 7y agoYep. And Mellanox does it too fwiw - https://community.mellanox.com/s/article/vma-improves-redis-transaction-rate-and-latency--memtier-benchmark-x https://community.mellanox.com/s/article/vma-improves-redis-...