Re: Real Time Behaviour

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Jim/All,

You are correct, What I was talking is not clear to.

Scenario:
=======
We are building high preformance trading systems, which is processing
10000 transactions per second. Our trade information traverse through
about 5-7 hops. We are trying to achive  about 10-50ms latencey in a
execution for 90% of the transactions. Although this may sound
extreme, the trading requirements are getting more & more tighter due
to Electronic order generators coming into the picture.

Currently there is very wide spread of the latency of the system
(sometime going to 700ms)

All the applciations are written the tight latency requirements in
mind( No blocking call / No synchronous I/O etc..)

In fact we have been able to succefully implement & benchmark the
system in Solaris 5.9 with  RT scheduling and CPU binding with a very
tight ( < 30 ms) latency for 90%.

But we are struggeling to narrow down the numbers for Linux. Was it a
bad choice to select Linux for RT applications.

What can we do  to tune the 2.6 kernel to improve the figures.

1. When HZ=1000, Latencey < 2ms (best case)
2. When HZ=2000, Latencey < 1ms (best case)
3. Real Time or Low Latancey Patching

Are there any other tuning nobe other than HZ....?

I must say, Im somewhat puzzled ..

considering 1- trading system + 2- a 2.6.9 RHEL kernel,
this seems like a requirement put upon you by marketing in the hope of
making
it more palatable to big (corporate) buyers.

Perhaps that explains your need to 'turn the HZ knob to eleven', when
its only labeled to 10.

trading system does sound like soft-RT.  The plane doesnt crash if youre
100ms late on the rudder / flaps / important things.

Why arent you more concerned with thruput ?
Youre clearly killing thruput when the system cant even take care of its
own business (at HZ=4000)

Yh. I could not start the System with 4000HZ. I just got stucked at
...TIMER APIC initialization.

Now running with 2000 HZ. Seems to be kernel is somewhat stable, not sure.


>>
>> CONFIG_PREEMPT_RT is in recent mainline, as is PREEMPT_VOLUNTARY
> I have settled PREEMPT_RT option
what is settled ?
Im pretty sure 2.6.9 had no PREEMPT_RT  icbw.

Yes, You are correct. I have just truned on CONFIG_PREEMPT only. Not RT.




--
Tharindu Rukshan Bamunuarachchi
all fabrications are subject to decay

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux