2012-08-29 2 views
3

Des questions simples pour obtenir tout le monde a commencé:Où puis-je trouver un exemple de code Java pour SolarFlare OpenOnLoad Kernel Bypass?

  1. Je sais que je besoin d'un spécial carte d'interface réseau (NIC) pour le faire. Je suppose qu'il doit être les SolarFlare. Quel est le moins cher que je puisse obtenir qui me permettra d'implémenter et de tester le contournement du noyau?

  2. Il semble qu'ils utilisent OpenOnLoad comme pile réseau. Où puis-je trouver un exemple de code et des exemples sur la façon de rendre mon application de réseau OpenOnLoad? Je suis curieux de savoir à quel point il est facile ou complexe pour mes programmes d'utiliser cette technologie.

Question née de cette autre question ici: Networking with Kernel Bypass in Java

+0

À l'avenir, gardez le à une question par question. Si l'un est lié à l'autre, vous pouvez ajouter un lien vers l'autre question. –

+0

@JoachimPileborg Fait! – chrisapotek

Répondre

5

Pour utiliser OpenOnLoad vous devez changer votre environnement, en particulier votre LD_LIBRARY_PATH il charge leurs libraryies au lieu de la construction dans les systèmes. Lorsque vous effectuez ces appels d'E/S réseau "normaux" sont redirigés comme requis pour utiliser le contournement du noyau.

L'intérêt de cette bibliothèque est que vous pouvez l'utiliser sans modifier votre code, donc il n'y a pas d'échantillons de code. Je l'ai utilisé dans le passé, j'ai trouvé que cela fonctionne très bien, ou vous rencontrerez un problème, par exemple. vous utilisez le réseau d'une manière qui n'a pas été prise en compte, et cela échouera. Dans le cas peu probable que vous voyez le plus tard, vous devez changer votre code afin qu'il utilise le réseau d'une manière différente. (ou attendre un correctif)

Pour tester réellement le contournement du noyau, vous devez disposer de deux cartes réseau et d'un commutateur à faible latence (ou vous pouvez ignorer le commutateur). En effet, si vous disposez d'une seule carte réseau à faible latence, vous aura beaucoup de mal à déterminer quelle différence cela fait.

+0

Merci, Peter. Savez-vous si cela fonctionne bien avec NIO Epoll sur Linux (Java 1.6)? – chrisapotek

+0

Nous n'avons pas eu de problème avec les sélecteurs. –

Questions connexes