1. A non-transitory computer readable medium comprising software instructions, which when executed by a processor perform a method, the method comprising: binding, by a Non-Uniform Memory Access (NUMA) input/output (I/O) Framework, an I/O object group to a NUMA node of a plurality of NUMA nodes on a system, wherein the I/O object group is a group of references to I/O resources necessary to service requests to access an I/O device, and wherein the I/O object group comprises a first I/O object corresponding to a first thread and a second I/O object corresponding to an interrupt; obtaining an I/O object group size of the I/O object group bound to the NUMA node, wherein the I/O object group size is a value corresponding to a number of I/O objects within the I/O object group; determining an I/O object group target size based on an I/O object group aggregate load of the I/O object group wherein the I/O object group target size is calculated using a sizing policy and wherein the I/O object group aggregate load is calculated using a value corresponding to an amount of processing resources necessary to process the I/O object group; comparing, by the NUMA I/O Framework, the I/O object group target size and the I/O object group size; determining, by the NUMA I/O Framework, that a difference between the I/O object group target size and the I/O object group size exceeds a threshold; and instructing, by the NUMA I/O Framework, an I/O Subsystem associated with the I/O object group to change the I/O object group size, wherein the I/O Subsystem changes, in response to the instruction, a number of the references to the I/O resources necessary to service requests to access the I/O device, wherein after the changing, the I/O object group size is equal to the I/O object group target size.