Re: Mars Rover Controlled By Java

From: Jan C. Vorbrüggen (jvorbrueggen_at_mediasec.de)
Date: 01/26/04


Date: Mon, 26 Jan 2004 17:07:50 +0100


> Here often anything greater than a few processor instruction cycle
> latency leads to a non-recoverable error situation.

On a current processor, "a few [...] cycles" is about a nanosecond. Unless
you want to depart at warp speed from a sun going supernova, I see no
application requiring that small a reaction time. The Shuttle avionics runs
on "cycles" of evaluation that are on the order of several milliseconds,
IIRC - and that is in a _very_ dynamic environment.In particular...

> This is precisely why interrupt level service routines, fast device
> drivers, and similar time-critical operations are generally
> implemented in assembly or other low-level code optimized to minimize
> the number and duration of required machine instruction executions.

...experience shows that's not usually the case. The context-switching
overhead determined by software (OS) architecture, but also by the hardware
(size of processor context, memory hierarchy, etc) seem to have led to
latencies that seem not to have improved much in the past decade, if not
worsened.

> With today's focus on high-level programming languages and software
> implemented virtual machines, many people lose sight of the very
> fundamental differences that exist between software that simply
> executes quickly and real-time system software where interrupt level
> response processing must be assured to be alway less than some
> critical latency limit.

...which is very difficult to evaluate on a modern processor in any case.

        Jan



Relevant Pages

  • Re: Mars Rover Controlled By Java
    ... > Here often anything greater than a few processor instruction cycle ... > latency leads to a non-recoverable error situation. ... > the number and duration of required machine instruction executions. ... (size of processor context, memory hierarchy, etc) ...
    (comp.object)
  • Re: Mars Rover Controlled By Java
    ... > Here often anything greater than a few processor instruction cycle ... > latency leads to a non-recoverable error situation. ... > the number and duration of required machine instruction executions. ... (size of processor context, memory hierarchy, etc) ...
    (comp.programming)
  • Re: Mars Rover Controlled By Java
    ... > Here often anything greater than a few processor instruction cycle ... > latency leads to a non-recoverable error situation. ... > the number and duration of required machine instruction executions. ... (size of processor context, memory hierarchy, etc) ...
    (comp.lang.java.programmer)
  • Re: Mars Rover Controlled By Java
    ... > Here often anything greater than a few processor instruction cycle ... > latency leads to a non-recoverable error situation. ... > the number and duration of required machine instruction executions. ... (size of processor context, memory hierarchy, etc) ...
    (comp.theory)