Re: Java or C++?
- From: Scott Moore <samiamsansspam@xxxxxxx>
- Date: Fri, 28 Oct 2005 13:58:04 -0700
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.
.
- Follow-Ups:
- Re: Java or C++?
- From: jimmaureenrogers@xxxxxxxxxxxxxxxx
- Re: Java or C++?
- References:
- Java or C++?
- From: Flaran
- Re: Java or C++?
- From: Scott Moore
- Re: Java or C++?
- From: Jussi Jumppanen
- Re: Java or C++?
- From: Chris Dollin
- Re: Java or C++?
- From: Alan Balmer
- Re: Java or C++?
- From: Scott Moore
- Re: Java or C++?
- From: Alan Balmer
- Re: Java or C++?
- From: Imre Palik
- Re: Java or C++?
- From: Scott Moore
- Re: Java or C++?
- From: jimmaureenrogers@xxxxxxxxxxxxxxxx
- Java or C++?
- Prev by Date: Re: zooming
- Next by Date: Re: zooming
- Previous by thread: Re: Java or C++?
- Next by thread: Re: Java or C++?
- Index(es):
Relevant Pages
|