5

让任何人开始的简单问题:

  1. 我知道我需要一个特殊的网络接口卡 (nic) 来执行此操作。我假设它必须是SolarFlare制造的。我能得到的最便宜的可以让我实现和测试内核绕过的工具是什么?

  2. 看起来他们使用OpenOnLoad作为网络堆栈。在哪里可以找到有关如何使我的网络应用程序使用 OpenOnLoad 的示例代码和示例?我很想知道我的程序使用这项技术有多容易或多复杂。

从这里的另一个问题产生的问题:使用 Java 中的内核绕过网络

4

1 回答 1

7

要使用 OpenOnLoad,您需要更改您的环境,特别是您的 LD_LIBRARY_PATH 以便它加载它们的库而不是内置的系统库。当您执行此操作时,“正常”网络 IO 调用将根据需要重定向以使用内核绕过。

这个库的重点是您可以在不更改代码的情况下使用它,因此没有代码示例。

过去使用过它,我发现它要么工作得很好,要么你会遇到一些问题,例如你以他们不满足的方式使用网络,它会失败。在不太可能出现的情况下,您必须更改代码,以便它以不同的方式使用网络。(或等待修复)

要真正测试内核绕过,您将需要两个网络适配器和一个低延迟开关(或者您可以跳过该开关)这是因为如果您只有一个低延迟网卡,您将很难确定它有什么不同.

于 2012-08-29T07:18:48.360 回答