End-to-End Virtualization