
My personal perspective is to emphasize the importance of good programming fundamentals. I cannot emphasise how often I've seen code written for fancy pancy hardware platforms/offboard processors that fails basic CS. Linear lookups instead of hashes or trees, failure to grasp memory fragmentation, unnecessarily heavyweight system calls, that kind of thing. The fast hardware turns out to be necessary just to run something otherwise so defective. I'm not saying good algorithmic and coding practices will overcome the limitations of COTS hardware when trying to capture and process off 10 Gb interfaces at wire speed or anything like that. But it is amazing how far a little optimization will get you. I get the feeling a lot of folks writing this stuff today learned to program in an era when playing save-the-bytes with limited resources was no longer fashionable or, from certain points of view, necessary, so they approach system programming the way they do Java accounting apps. On Jun 25, 2010, at 2:51 PM, Nathan Stratton <nathan at robotics.net> wrote:
On Wed, 23 Jun 2010, Nicholas Sten wrote:
If you find yourself in that gray area where COTS hardware can't save the day anymore, but you're not looking to spend Empirix money, Endace makes some really good cards on which to develop your own very robust systems:
Hardware capture cards really become critical as your traffic grows. With cards like Endance your able to do hardware level filtering and your software still gets the nice libpcap interface it has been using.
As a bridge gap before you spend the money on hardware capture cards check out PF Ring.
http://www.ntop.org/PF_RING.html
<> Nathan Stratton CTO, BlinkMind, Inc. nathan at robotics.net nathan at blinkmind.com http://www.robotics.net http:// www.blinkmind.com
VoiceOps mailing list VoiceOps at voiceops.org https://puck.nether.net/mailman/listinfo/voiceops