1

Is there an free alternative to National Instruments' NI Real-Time Hypervisor? National Instruments provides both a Windows and Linux versions.

jscott
  • 24,204
  • 8
  • 77
  • 99
Roberto
  • 21
  • 3

4 Answers4

0

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"

Jim B
  • 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
0

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.

janneb
  • 3,761
  • 18
  • 22
0

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.

ewwhite
  • 194,921
  • 91
  • 434
  • 799
  • 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
0

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.

Marcin
  • 2,281
  • 1
  • 16
  • 14