Re: AMP on an SMP system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux