comp.lang.ada
 help / color / mirror / Atom feed
From: Dr Adrian Wrigley <amtw@linuxchip.demon.co.uk>
Subject: Re: Ada Annex E (Just curious :-)
Date: Tue, 06 Mar 2001 01:24:40 +0000
Date: 2001-03-06T01:24:40+00:00	[thread overview]
Message-ID: <3AA43C58.105B970D@linuxchip.demon.co.uk> (raw)
In-Reply-To: 980ekl$p4h$1@nh.pace.co.uk

Marin David Condic wrote:
...
> I would agree that the lack of predictable latency makes it of somewhat
> dubious value for realtime systems.
...

I was thinking about the viability of using Annex E in a system with
multiple microprocessors, sharing only part of their memory space.
Suppose there was a coherent cache or multi-port memory, the
Annex E implementation could work by referring to blocks of memory,
making response times predictable, and performance high.

Ideally, you could create a big data structure in shared memory, and
access it from many partitions at once.  If the memory pattern was
entirely read-only, once created, each partition could locally
cache the shared data, without serious time penalty for maintaining coherency.

> Or possibly if you had multiple processors in a system that controlled
> different hardware? Say, having a graphics processor to which you performed
> RPC's to get certain things rendered? (Of course, this would require either
> a very standardized processor/communications-interface or you'd never get
> the compiler modified to suit the environment. :-)

Funny you should say that... I was thinking of implementing rendering algorithms,
using Annex E over shared memory.  The performance I got from the little demo
(over 100Mbps network, 100kB transfers) was disappointing though.
I think hacking into the parameter marshaling code might sort that out.

> It would seem that it might be useful for either computationally intensive
> applications that lend themselves to distribution (I've seen it done with
> CFD calculations) or database systems such as, say, teller machines that
> want to verify a bank balance with a central computer before allowing a
> withdrawal.

I was thinking of the teller machines example as "controlling many remote
peripherals".  Each machine has its own local screen, keyboard, etc.
and Annex E could be used to put a partition in each machine to control them.
I don't think it would be considered a very practicable system though,
since people want to implement each machine independently, using an
agreed protocol, rather than unifying everything into a single 5000 partition
program.  How do you upgrade systems? Implement redundancy? etc.

> Maybe its just the application domain you are usually involved in? Remember,
> it is a "Special Needs Annex" and may just be the kind of thing that is more
> common for a different problem domain. (I'd think it would be used heavily
> in business applications where there was at most a soft-realtime
> requirement.)

I've been involved in several diverse domains.  Embedded systems with
hard realtime and soft realtime components and many peripherals
seems most plausible use today. Take a mobile 'phone, for example -
that might have hard realtime voiceband (maybe RF) DSP, as well as
keyboard, display, power control etc.  Currently, there would be
a "standard" DSP, and a "standard" microcontroller, but with
separate development groups, and an ad-hoc inter-processor communications
protocol.  Annex E could help here.  In theory.
--
Adrian Wrigley



  reply	other threads:[~2001-03-06  1:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <yJSm6.8482$X_2.140961@news1.oke.nextra.no>
2001-02-28 13:28 ` Ada Annex E (Just curious :-) Marc A. Criley
2001-03-01 17:33   ` Frank
2001-03-02 17:42     ` Robert Spooner
     [not found]       ` <x7vu25bcl22.fsf@smaug.pushface.org>
2001-03-05 19:26         ` Robert Spooner
2001-03-02  9:38 ` Pascal Obry
2001-03-04 19:12   ` Dr Adrian Wrigley
2001-03-05 14:56     ` Ted Dennison
2001-03-05 16:24       ` Marin David Condic
2001-03-06  1:24         ` Dr Adrian Wrigley [this message]
2001-03-06 14:51           ` Ted Dennison
2001-03-06 15:23             ` Marin David Condic
2001-03-06 18:42               ` Kevin Rigotti
2001-03-06 20:56                 ` Marin David Condic
2001-03-06 22:47                   ` Robert A Duff
2001-03-07 14:43                     ` Marin David Condic
2001-03-07 18:02                       ` Randy Brukardt
2001-03-07 19:52                         ` Marin David Condic
2001-03-07 21:04                           ` Robert A Duff
2001-03-07 21:45                       ` Robert A Duff
2001-03-07  6:54             ` Jeffrey Carter
2001-03-07 21:39               ` Robert A Duff
2001-03-08  5:53                 ` Jeffrey Carter
2001-03-07 21:47             ` Robert A Duff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox