A comparison of software and hardware techniques for x86 virtualization | Synapse