Page 1 of 1

Intermachine signaling mechanism ?

Posted: 25. Jan 2017, 12:08
by Elly Ott
Hello !

I'm working on a new communication driver to speed-up communications between virtual machines sharing a some host system. I was wondering if there is a low-latency signaling mechanism that would allow a virtual machine (or the host) to signal another virtual machine (or the host) that an event has happened ? I'm not searching for a high-level communication mechanism such as sockets, I'm searching for a low-level, low-latency mechanism. Thank you for your help !!

Best Regards,

Elly

Re: Intermachine signaling mechanism ?

Posted: 25. Jan 2017, 14:23
by scottgus1
The only low-latency system I know is a network. You can have more than one network in a guest (4 in the main Virtualbox window, up to 8 or 36 depending on virtual chipset via Vboxmanage commands), and one of the networks can be an internal heartbeat network. If you want the host PC to be in on the heartbeat, use a Host-Only instead of an Internal network.

There is a watchdog service that is supposed to test if a host PC 'cannot reach a Virtualbox guest anymore' (whatever that means, see the manual, section 9.22, ignore the memory-ballooning stuff) and do something to the 'missing' guest. I don't know if that comes anywhere close to what you want.

Finally, if you can put Guest Additions in the guest, there's 'VBoxManage getextradata/setextradata' in the host, and 'VBoxControl getextradata/setextradata' in the guest. (manual, section 8.29). This is a string-passing system; it requires a script to either set the desired data or to poll the results of getting the data to see what has happened. It can be rather high latency, though, depending on your script looping times.

Re: Intermachine signaling mechanism ?

Posted: 25. Jan 2017, 15:10
by Elly Ott
Thank you for this answer, I'll look at these mechanisms !