Virtualizing Reconfigurable Architectures: From Fpgas To Beyond