1. A method of selecting suitable nodes to host virtual machines (VMs) in a grid containing a plurality of machine nodes capable of hosting VMs, said method comprising: maintaining information indicating corresponding resources available for hosting VMs in each of said plurality of machine nodes, wherein said information comprises resource availability data for each of said plurality of machine nodes and is maintained on a plurality of management nodes of said grid, said resource availability data for each machine node indicating the resources available in the machine node for hosting VMs, wherein a specific management node of said plurality of management nodes for maintaining the resource availability data of a machine node is selected according to a convention which maps the resource availability data of the machine node to the specific management node whereby a respective portion of said information maintained by each management node comprises resource availability data for corresponding multiple machine nodes external to the management node; receiving an indication that a first VM requiring a first set of resources is sought to be hosted on a suitable one of said plurality of machine nodes; mapping, according to said convention, said first set of resources to a first management node of said plurality of management nodes; identifying, by said first management node, a first machine node having available said first set of resources, wherein said first machine node is contained in said plurality of machine nodes, wherein said identifying comprises examining the corresponding portion of said information maintained in said first management node to identify said first machine node; and provisioning said first VM on said first machine node as said suitable one of said plurality of machine nodes, after said identifying.