Scalable I/O paper online
Our new paper is online: "Scalable I/O---A Well-Architected Way to Do Scalable, Secure and Virtualized I/O", by Julian Satran, Leah Shalev, Muli Ben-Yehuda, and Zorik Machulsky. This is an overview paper showcasing the main ideas underlying a system we've been working on on and off since 2004. It's not as detailed as I would've liked due to the space constraints, but hopefully it will be followed by more detailed papers. The slides I'll be presenting later today at WIOV '08 are also available and go into a bit more details in areas.
Today in both virtualized and non-virtualized systems the entire I/O functionality is based on device drivers. They are central to any system structure; both anecdotal and informed evidence indicates device drivers as a major source of trouble in the classical OS and a source of scaling and performance issues in virtual I/O, due to "trusted intermediary" required for the shared I/O. We propose an architecture which virtualizes the entire I/O subsystem rather than each I/O device, and provides device-independent I/O at higher level of abstraction than the traditional I/O interfaces. In our suggested architecture the system robustness is increased by isolating drivers; efficient and scalable virtualization becomes possible by a complete separation of the I/O and compute function and introducing a protection model that does not require a trusted intermediary for I/O.