From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Adam Jensen Newsgroups: comp.lang.ada Subject: Re: What is the current language profile for concurrent, multi-core, safety-critical, hard real-time systems? Date: Tue, 1 Aug 2017 01:45:22 -0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Tue, 1 Aug 2017 01:45:22 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="871748ef578d3d4d5922c569353607a5"; logging-data="5776"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19MjGITS7kPVxPreWNw7IM7" User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Cancel-Lock: sha1:+swYZ+S++YvCuuUVMj0wR6nGsWE= Xref: news.eternal-september.org comp.lang.ada:47535 Date: 2017-08-01T01:45:22+00:00 List-Id: On Mon, 31 Jul 2017 20:54:08 -0400, Dennis Lee Bieber wrote: > On Tue, 1 Aug 2017 00:25:18 -0000 (UTC), Adam Jensen > declaimed the following: > > >>What is the current Ada language profile for concurrent, multi-core, >>safety-critical, hard real-time systems? > > As soon as you say "multi-core" you enter the realm of experimental > science. For example -- in the four years I spent at GE Aviation, > multi-core processors used in flight management software would be run > with all but one core shutdown. > > Reason: there has not been enough experience/study of how multiple > cores/cache/etc. affect hard real-time latency (how can you evaluate > WCET for a process on core-A when you don't have control of what happens > on core-B, which could cause cache line flushing, etc. affecting the > timing of core-A) > > What multi-core processors I saw being used in development were for > non-safety critical functions -- data logging type operations, wherein > loss of the logging processor wouldn't affect the flight management > system; only reducing the post-flight analysis capabilities should there > be anomalous flight operations. That's interesting, thanks. I've been looking at the ARM Cortex-R8[1] which seems like it might address some of these issues in its hardware architecture. [1]: https://developer.arm.com/products/processors/cortex-r/cortex-r8 I suppose that mapping an Ada run-time system onto that specific hardware might require a significant investment. But more simply, this web page says: "Ravenscar for multiprocessor systems adapts a safe and widely used tasking profile to modern architectures". Doesn't that seem to suggest that there exists an Ada-2012 Ravenscar profile for multi-core systems? Is that mostly hype or hokum?