Not necessarily a solution to this performance issue, but I was thinking about
how to get to that next level of performance for haproxy.
Here is an idea I had that is a bit far out. Supermicro and others now have GPU servers - TESLA from NIVDIA, etc. A project from Korea has used these "GPGPU"s to create a high speed Linux based router - they have achieved around 40 Gbps. They have a related package for packet I/O:
Packet I/O Engine is a high-performance device driver for Intel 82598/82599-based network interface cards. This program is based on Intel IXGBE driver (version 2.0.38.2), but heavily modified for throughput-oriented user-level applications.
They take a different approach to memory for packet processing, rather than handing out memory like a Grandma slowing digging out her coin purse and handing out a few pennies each time the kids ask, they pre-allocate healthy amounts of memory. Details here:
http://shader.kaist.edu/packetshader/
http://shader.kaist.edu/packetshader/io_engine/index.html
Could this be a future for high speed dedicated haproxy machines - some interfaces are "taken over" by haproxy and dedicated to it using something similar to the above. Other interfaces are left to the normal kernel for management, logging, etc. Maybe not but there might be some usable ideas there.
12 Core CPU, 2 x16 PCIe, one for GPU, one for Intel 10GB X520-T2 Card: http://www.supermicro.com/Aplus/system/1U/1122/AS-1122GG-TF.cfm
On 5/6/11 11:25 PM, Jason J. W. Williams wrote:
> Generally the Caviums are used for SSL offload. The CPUs in F5s generally do the bulk of the L7 + iRules application.
>
> -J
>
> Sent via iPhone
>
> Is your e-mail Premiere?
>
> On May 7, 2011, at 0:06, Baptiste<bedis9#gmail.com> wrote:
>
>> On Sat, May 7, 2011 at 12:14 AM, Vincent Bernat<bernat#luffy.cx> wrote:
>>> OoO En cette soirée bien amorcée du vendredi 06 mai 2011, vers 22:46,
>>> Baptiste<bedis9#gmail.com> disait :
>>>
>>>> It seems that the CPU speed of your F5 3900 is 2.4GHz with 8G of
>>>> memory.
>>>
>>> The F5 is using some Cavium chip to forward requests. The main
>>> processor is mainly used for the web interface which can be pretty
>>> slow. ;-)
>>> --
>>
>> mmmhhhh...
>> I thought the cavium would be used for L4 balancing only.
>> But it seems they can do layer 7 as well within the chip:
>> http://www.caviumnetworks.com/processor_NITROX-DPI.html
>> Must be quite expensive :D
>>
>> To come back to haproxy, since it's event driven, the fastest the CPU,
>> the most request it will handle :)
>> and the more memory you'll have in your chassis, the more TCP
>> connection you'll be able to maintain.
>>
>> Good luck with your testing.
>>
>> Baptiste
>>
>>
>>> I WILL NOT BARF UNLESS I'M SICK
>>> I WILL NOT BARF UNLESS I'M SICK
>>> I WILL NOT BARF UNLESS I'M SICK
>>> -+- Bart Simpson on chalkboard in episode 8F15
>>>
>>
>
Received on 2011/05/07 11:54
This archive was generated by hypermail 2.2.0 : 2011/05/07 12:00 CEST