Is there an free alternative to National Instruments' NI Real-Time Hypervisor? National Instruments provides both a Windows and Linux versions.
4 Answers
you mean like Hyper-v. I don't see from the link that the hypervisor your link to does anything special that every type 1 hypervisor doesn't do.
Update - after reviewing it further it appears it contains support for some specialized hardware : "In addition, the Real-Time Hypervisor is specially designed to maintain the determinism of LabVIEW Real-Time programs"
- 23,938
- 4
- 35
- 58
-
From the words "real-time" in the name of the product, presumably it offers deterministic interrupt latency which is not something a general purpose OS offers. – janneb Jun 01 '11 at 11:46
-
Yes. Hard real time + hypervisor - I am surprised there even is such a product. kudos to the manufacturer. – TomTom Jun 01 '11 at 12:14
-
You can run real time OSes in EVERY hypervisor AFAIK. You simply have to adjust the scheduler to prioritize the guests – Jim B Jun 01 '11 at 12:35
-
@janneb from the link "To ensure access to all Real-Time Hypervisor capabilities, use the LabVIEW 2009 Real-Time Module to program applications for the real-time side of hypervisor systems....In addition, the Real-Time Hypervisor is specially designed to maintain the determinism of LabVIEW Real-Time programs" at best this means it has specialized drivers for access to the hardware. – Jim B Jun 01 '11 at 12:39
I suppose that depends on what you want.
If what you need is a real-time OS to run some DAQ and/or control software, then yes, Linux with the RT patchset offers the usual real-time OS features.
If you want an alternative hypervisor for running Labview RT, then I don't know. It wouldn't surprise we if it refused to run on anything but their own hypervisor.
- 3,761
- 18
- 22
I'm not sure what you're looking to accomplish, but it sounds like a mix of wanting a realtime OS, CPU shielding/affinity and a standard Linux or Windows userspace for development; all on standard hardware.
On the Linux side, this can definitely be accomplished with a realtime OS like RedHat MRG Realtime (commercial), Scientific Linux Realtime (Free) or SuSE's realtime offering (commercial).
That gets you a realtime kernel and OS. If you need to run specific tasks on a specific CPU or CPUs, you can use CPU shielding techniques to perhaps, create a group of CPUs for the OS and another group reserved for your realtime application execution.
Usually realtime and virtualization don't go hand-in-hand. The operating systems listed above provide extremely granular control over processes, scheduling, priority and interrupt handling.
-
Consider this target: - standard multicore PC. - Run a standard app that can manage a GUI, connections to DB, & Hi level communication with other devices using reserved RS232 /ethernet resources (like PC-SCADA-supervisor).- At the same time a CPU core works in a deterministic way(1 usec. resolution), controlling sennsor, digital/analog I/O, or motors, using reserved resources. Realtime and not realtime communicates through a virtual TCP/IP channel but are indipendent – Roberto Jun 01 '11 at 13:26
-
This is possible, I believe. I'll use the example from my industry (high-frequency financial trading). You have a standard OS userland like RedHat or CentOS, but maybe an FPGA or high-end 10GbE network card processing a 15Mb/sec stream of financial market data. Multiple cores are dedicated to one task. Hardware interrupts are assigned to specific CPUs. It'll take some research, but the tools are out there. I also updated my post with a link to CPU shielding resources. – ewwhite Jun 01 '11 at 15:51
VxWorks and LynuxWorks both have hypervisors based on hard-realtime schedulers, certified to go airplanes and such. They're NOT cheap, but they do their job.
- 2,281
- 1
- 16
- 14