문제

Simple questions to get anyone started:

  1. I know I need a special Network Interface Card (nic) to do this. I am assuming it has to be the ones SolarFlare makes. What is the cheapest one I can get that will allow me to implement and test kernel bypass?

  2. It looks like they use OpenOnLoad as the network stack. Where can I find sample code and examples on how to make my networking application use OpenOnLoad? I am interested to know how easy or complex it is for my programs to make use of this technology.

Question born from this other question here: Networking with Kernel Bypass in Java

도움이 되었습니까?

해결책

To use OpenOnLoad you need to change your environment, specifically your LD_LIBRARY_PATH so it loads their libraryies instead of the built in system ones. When you do this "normal" Network IO calls are redirected as required to use kernel bypass.

The whole point of this library is you can use it without changing your code, so there are no code samples.

Having used it in the past, I have found it either works very well, or you will run into some issue e.g. you are using the network in ways they didn't cater for, and it will fail. In the unlikely case you see the later, you have to change your code so it uses the network in a different way. (or wait for a fix)

To really test kernel bypass, you will want two network adapters and a low latency switch (or you can skip the switch) This is because if you have only one low latency network card, you will have a lot of trouble determining what difference it makes.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top