Re: Real Time Behaviour

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

 



Hi all/jim,

On 9/17/06, Jim Cromie <jim.cromie@xxxxxxxxx> wrote:
Tharindu Rukshan Bamunuarachchi wrote:
> Hi all,
>
> What is the best method of improving the real time behaviour of an
> application.
>
'best' needs more elaboration.

- what constraints ?
We have trading system with 4-7 hops connected in a loop. When a
network packet reach each host, we need minimum latecey to wake up
application and do the processing. Processin time is very samll and
usually takes around 50-60microseconds.

I have tested this with two HZ values;

1. 1000 set to HZ
2. 1500 set to HZ

for 1000HZ i got around 2000 microsecond latencey in best case
for 1500HZ i got around 1300 microsecond latencey in best case

    old / new kernels ?

This new 2.6.9 kernel (Actually RHEL 4 update 2)

    keeping old apps ?
We have minimized other appllications. Only application per host.

    how hard/soft is your RT reqs ?

I think we need soft RT


CONFIG_PREEMPT_RT is in recent mainline, as is PREEMPT_VOLUNTARY
I have settled PREEMPT_RT option

then theres the -rt tree, and xenomai.org for a co-kernel approach.

> I can see two approaches
>
you seem to limit your consideration to main-line kernels.

> 1) setting the scheduling class & priority (chrt & nice)
>
> 2) setting of kernel parameters  ( The option 1 is not available, bcos
> of app is not allowed to adjust its scheduling attributes)
>
> We have already set HZ =1000.
>
> Can we reduce the default time slice to 10ms or 20 ms without any side
> effects.

I think for 1000 HZ default timeslice is around 100ms; ( i may be wrong ;)
whats the default timeslice ?
loss of thruput is a side effect, and cutting slice 10-fold is bound to
increase context switches.


--
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