* Sharing physical pages between virtual machines
@ 2012-05-29 16:07 Ben Shelton
2012-05-29 16:50 ` Avi Kivity
0 siblings, 1 reply; 2+ messages in thread
From: Ben Shelton @ 2012-05-29 16:07 UTC (permalink / raw)
To: kvm
Hi all,
I work in the Real-Time Systems Lab at Virginia Tech. We're looking at building a new OS design where multiple guest OS's run on the same machine and can communicate with each other by passing messages through shared memory regions (similar to Barrelfish, if you've seen that), and we'd like to implement it using KVM.
We've looked at the Nahanni project, which provides a shared memory window for KVM guests via POSIX shared memory and an emulated PCI device, but the overhead would be too high for what we would like to do. We'd like the guests to be able to write to, and to poll on, actual physical pages in memory.
It would seem that one could simply use EPT to map the same physical page into the guest physical address spaces of multiple virtual machines. Would this be something that would be possible to do, given the way KVM dynamically maps physical pages to guests as needed? If not, would there be a better way to go about it?
Thanks,
Ben Shelton
Virginia Tech
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Sharing physical pages between virtual machines
2012-05-29 16:07 Sharing physical pages between virtual machines Ben Shelton
@ 2012-05-29 16:50 ` Avi Kivity
0 siblings, 0 replies; 2+ messages in thread
From: Avi Kivity @ 2012-05-29 16:50 UTC (permalink / raw)
To: Ben Shelton; +Cc: kvm
On 05/29/2012 07:07 PM, Ben Shelton wrote:
> Hi all,
>
> I work in the Real-Time Systems Lab at Virginia Tech. We're looking at building a new OS design where multiple guest OS's run on the same machine and can communicate with each other by passing messages through shared memory regions (similar to Barrelfish, if you've seen that), and we'd like to implement it using KVM.
>
> We've looked at the Nahanni project, which provides a shared memory window for KVM guests via POSIX shared memory and an emulated PCI device, but the overhead would be too high for what we would like to do. We'd like the guests to be able to write to, and to poll on, actual physical pages in memory.
>
> It would seem that one could simply use EPT to map the same physical page into the guest physical address spaces of multiple virtual machines. Would this be something that would be possible to do, given the way KVM dynamically maps physical pages to guests as needed? If not, would there be a better way to go about it?
>
That is what Nahanni does. After the initial page fault everything
happens at memory/cache speeds.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-05-29 16:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-29 16:07 Sharing physical pages between virtual machines Ben Shelton
2012-05-29 16:50 ` Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox