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...
-
Unfortunately I've not secured a venue for the GGJ. With 9 days left, things are not looking hopeful. It could be that GGJ Perth will no...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
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...
-
Often, when building a game, you need to test if objects are colliding. The objects could be spaceships, rocks, mouse pointers, laser beams....
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
I've just read a newspaper article (courtesy of Kranzky ) from WA Business News documenting the malfeasance, gross negligence and misc...
-
Space is awesome. Especially when it is generated using Perlin noise, and some cool shaders. You can try it out over here.
-
If you're using DontDestroyOnLoad to preserve a game object across levels, you might find that you get duplicated instances of that obje...
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