1. A method of managing a plurality of queues in a network interface card (NIC) of a host that executes a plurality of virtual machines (VMs), the method comprising: in a network virtualization layer: assigning first and second sets of data traffic respectively to first and second pools of queues in the NIC, wherein the first pool is identified as a high priority pool of the queues and the second pool is identified as a low priority pool of the queues; using a first set of management processes to manage the first pool; using a second set of management processes to manage the second pool, wherein the first and second sets of management processes are different sets of management processes; and managing the first and second pools of queues with separate management processes having unique allocation criteria, including dynamically adjusting a number of the queues which are allocated to each pool and dynamically reassigning traffic from one queue to another queue within each pool; wherein the criteria for the first set of management processes is defined to spread the data traffic among the queues in the first pool in order to ensure that the traffic through any queue does not exceed a maximum threshold value, wherein the criteria for the second set of management processes is defined to aggregate the data traffic on the queues in the second pool in order to ensure that the traffic through any queue is not less than a minimum threshold value, wherein the first and second sets of data traffic concern the VMs, and wherein assigning the first and second sets of data traffic respectively to the first and second pools of queues comprises defining filters that associate identifiers for the queues (i) to source addresses of the VMs for traffic from the VMs, and (ii) to destination addresses of the VMs for traffic to the VMs.