Re: Java or C++?



jimmaureenrogers@xxxxxxxxxxxxxxxx wrote On 10/28/05 13:01,:
> Scott Moore wrote:
>
>>There are gcol algorithims that don't impact real time performce. The collection
>>process can be run only when the processor is completely idle, and constructed
>>in such a way that it is both interruptable and preemptable.
>
>
> Many real time control systems never have a time when the processor is
> completely idle during steady state operations. Of course, running when
>
> the processor is completely idle implies a separate garbage collection
> thread.
>
> Many real time systems use no threading because of the additional
> complexities
> created for reliability and temporal determinism analyses.
>

Sorry, but I have worked for many people who held these theories about
their code, and the code didn't bear it out. What in fact was happening was
that they were mixing various amounts of polling and other time wasting
activities into the system, then calling the system "busy". There are
many ways to fool yourself that you aren't polling when you are.
A typical scenario is where the interrupt handler sets some flags, then
the tasks running wake up, check those flags, then give up their timeslice
when the flags don't prescribe action needed. That's not a non-polling
algothim, that's moving the status of a pheripheral to a flag, then
polling that in round robin fashion.

The idea of a "fully busy" processor for real time is against the
entire concept of real time in any case. If the machine is fully
occupied, then it is on the edge of failing, because if its load increases
even a little, it then fails. The theory of real time computing is that
the CPU is run far below its load level to keep the latency to handle
real time events low. Given this, yes, you always have idle time on
the CPU, and that time can be used as I mentioned.

I have worked on several projects which had an "overloaded CPU" and
the problem was solved by eliminating polling and other wasted work,
which resulted in dramatic decreases in CPU workload.

.



Relevant Pages

  • Re: Java or C++?
    ... >>>There are gcol algorithims that don't impact real time performce. ... > many ways to fool yourself that you aren't polling when you are. ... > the tasks running wake up, check those flags, then give up their timeslice ... > the CPU, and that time can be used as I mentioned. ...
    (comp.programming)
  • Re: Java or C++?
    ... Many real time control systems never have a time when the processor is ... completely idle during steady state operations. ... the processor is completely idle implies a separate garbage collection ... Once you allow the use of multiple threads in real time control systems ...
    (comp.programming)
  • Re: Choice of Weather Station?
    ... http://myweb.cableone.net/wxfreqrs/ REAL TIME WEATHER Pascagoula Ms ... Recently the CPU was zapped by a pulse ... Temperature sensor remote from the anemometer (I don't feel radiation ...
    (sci.geo.meteorology)
  • Re: biztalk server sizing
    ... in cpu utilization. ... real time request response with very low latency requests. ... When scaling the BTS box, I always recommend if its real time, and critical ... our environment consists of the following. ...
    (microsoft.public.biztalk.general)
  • Re: Considerations on sched APIs under RT patch
    ... which should be able to cause any form of priority inversion. ... I have 4 Real Time Threads distributed as follows: ... T4, instead, never execute (let's assume that each thread is a simple ... code, I want to migrate T4 from CPU #1 to #0, keeping its low ...
    (Linux-Kernel)