Virtualization is one of the core technologies used in cloud computing to provide services on demand for end users over the Internet. Most current research allocates virtual machines to physical machines based on CPU utilization. However, for many applications that require communication between s…