linux-embedded.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Schnell <mschnell@lumino.de>
Cc: linux-embedded@vger.kernel.org
Subject: Re: AMP on an SMP system
Date: Mon, 05 Aug 2013 09:25:18 +0200	[thread overview]
Message-ID: <51FF535E.2050006@lumino.de> (raw)
In-Reply-To: <20130803191149.GU3880@pengutronix.de>

On 08/03/2013 09:11 PM, Robert Schwebel wrote:
> One recent example: on MX6 (quadcore Cortex-A9), when you run a 
> certain cpuburn tool, the temperature rises up to the maximum allowed 
> value in just a couple of seconds, and then you either have the choice 
> to burn your hardware or to use the tempmon interrupt to throttle down 
> the speed of the cpu. You can imagine what all that means for 
> latencies. So if you want to use a reasonably modern hardware, it is 
> always a matter of "high system probability" of not missing a cycle. 
I see.

OTOH. with hard realtime embedded Systems, you always need to determine 
the max latency for any critical reaction (which of course is missed 
when the system is defective, e.g. because the temperature gets higher 
than predicted by design in worst case - e.g. because of a fan fail - or 
things like power fail. Here of course the system needs to do a save 
shutdown before such a worst case hits. )

(In fact what I have in mind is "virtual peripherals", which I define as 
"hard realtime with extremely low latency", usable as an alternative to 
FPGAs.)

> You can't. And you can't, even if you try to run bare-metal software on
> a dedicated core. I can't imagine how for example the cache influences
> between the cores could be determined.
This would render all efforts for hard realtime embedded Linux 
applications useless. You always need to calculate the max latency.

Of course you are right that cache issues need to be taken into account. 
But this is on top of the latency that is imposed by process scheduling 
(if you consider user space) Kernel locks and interrupt delays (if you 
consider Kernel space).

Using a dedicated Core will certainly reduce the max latency, but of 
course it will not do away with the necessary calculations that take 
into account what the other CPUs might do (regarding second level Cache, 
cache synchronization, bus scheduling, etc.)

To eliminate this, you would need another dedicated chip (Processor or 
FPGA). And this is exactly, what I would like to avoid regarding that a 
quad core system with much higher Clock rate nowadays will cost less 
than any homebrew multi chip solution.

IMHO, a good compromise is the TI 335x chip that has a single 1 GHz 
Cortex A8 and two 300 MHz Cortex A3 cores for a very reasonable price 
and and "embedded" specs for temperature range and future chip 
availability.
> The really great thing with preempt-rt is that it is all Linx and 
> POSIX. No need to invent new things like program starters, inter- 
> process-communication and even inter-processor-communication. 
Sounds very good - provided it is possible to calculate the the max 
latency and same is a lot better than "usual".
> I'd suggest that you measure yourself.
That of course is necessary in any case.

Right now, I am just investigating viable ways to do things, before 
doing a pre-decision for any hardware and starting do dive into that.

-Michael

  reply	other threads:[~2013-08-05  7:25 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-02  8:33 AMP on an SMP system Michael Schnell
2013-08-02 11:42 ` Robert Schwebel
2013-08-02 12:13   ` Michael Schnell
2013-08-02 14:53     ` Marco Stornelli
2013-08-02 15:24       ` Michael Schnell
2013-08-02 15:37         ` Marco Stornelli
2013-08-02 16:00           ` Michael Schnell
2013-08-02 15:58             ` Marco Stornelli
2013-08-03 19:11       ` Robert Schwebel
2013-08-05  7:25         ` Michael Schnell [this message]
2013-08-05  8:17           ` Robert Schwebel
2013-08-05  9:04             ` Michael Schnell
2013-08-04 21:28 ` Lambrecht Jürgen
2013-08-05  7:36   ` Michael Schnell
2013-08-05 10:00   ` Lambrecht Jürgen
2013-08-07  8:23     ` Michael Schnell
2013-08-07  8:29       ` Michael Schnell
2013-08-07  9:04       ` Michael Schnell
2013-08-08  7:41 ` Michael Schnell
  -- strict thread matches above, loose matches on Subject: below --
2013-08-02 16:16 Jon Sevy
2013-08-05  7:45 ` Michael Schnell
2013-08-05  8:21   ` Robert Schwebel
2013-08-05  8:42     ` Michael Schnell
2013-08-05  9:06 Guenter Ebermann
2013-08-05  9:34 ` Michael Schnell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51FF535E.2050006@lumino.de \
    --to=mschnell@lumino.de \
    --cc=linux-embedded@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).