Is it possible?
In the past, I've been told, "No.".
I've just read an article which states "With a little extra work, you can get hard real-time support with the PREEMPT_RT patch."
Dear Lazyweb, is this so?
Thursday, October 16, 2008
Subscribe to:
Post Comments (Atom)
Popular Posts
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
This hard-to-see screenshot is a Generic Node Graph Editing framework I'm building. I'm hoping it can be used for any kind of node...
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
It is about 8 degrees C this morning. So cold, especially when last week we had high twenties. To help solve the problem, a friend suggeste...
-
At the last few GameJams, I've seen an increase in the use of RAD game tools, some of them even being developed by the participants them...
-
MiddleMan: A Pub/Sub and Request/Response server in Go. This is my first Go project. It is a rewrite of an existing Python server, based o...
-
I've just uploaded Fibra 2 to the cheeseshop. Fibra 2 includes the promised non-blocking plugin, which allows a generator based task to...
-
I've just read a newspaper article (courtesy of Kranzky ) from WA Business News documenting the malfeasance, gross negligence and misc...
-
#!/usr/bin/env python import io import asyncio import websockets import logging import collections logger = logging.getLogger('w...
3 comments:
I don't know if would call the PREEMPT_RT patch hard real time, but its very close. Probably close enough for most real time uses. What is hard real time though is using something like Xenomai. Which provides support for numerous common real time APIs. Its mentioned in the article and it uses the "Thin-kernel" approach.
It is very much possible. Take a look at the Linux RT wiki http://rt.wiki.kernel.org/index.php/Main_Page for more information and background.
But keep in mind that the RT_PREEMPT patch is not magic. You don't just boot a PREEMPT_RT kernel and bingo! your application is meeting 30 microsecond deadlines. To achieve deterministic performance, you're going to need to write your code in a way that avoids known determinism killers (see the RT wiki for a checklist). You will also need to ensure the system and hardware are not working against you by tuning the OS. For example correctly prioritizing IRQ threads and using CPU sets to segregate realtime vs normal workloads.
These are issues that pertain to any realtime system, and are not exclusive to PREEMPT_RT Linux. However other RT systems may have different defaults or ways to tune that make it easier to do RT work out-of-the-box.
Go have a look at Xenomai
Post a Comment