Virtual Machines (VM) offer data-center and cloud owners the option to lease computational resources such as CPU cycles, Memory, Disk space and Network bandwidth to end-users. Optimal usage of the resources of the Physical Machines (PM) that make up the cloud is an important consideration as a lot of major enterprises and institutions are opting for servers in the cloud. At any given time, the PMs should not be overloaded to meet SLO requirements and at the same time a minimum number of PMs should be running to conserve energy. The resource loads on individual VMs in the data center are not arbitrary. Finding patterns in the loads can help the data center owners arrange the VMs on the PMs such that both of the above requirements are met. In this paper we present a fast, low overhead, framework that intelligently predicts the behavior of the cluster based on its history and then accordingly re-distributes VMs in the cluster to free up PMs. These PMs are then re-purposed to accommodate more VMs or turned off to save energy. We analyze real world loads and show that they follow a Chaotic time series. At the core of our framework are concepts of Chaos Theory with optimizations that make our framework indifferent to the type of loads and inherent cycles in them. We set up this framework on our testbed cluster and analyze its performance. Extensive experimental results for a variety of real world loads, indicate our framework's efficacy compared to other methods reported to date.