vCPU as a Container: Towards Accurate CPU Allocation for VMs