1. A non-transitory computer-readable medium storing a set of instructions that when executed cause a computer system to perform a method of allocating a physical processing unit (PU) resource, said method comprising: processing instructions of a thread on a first PU; identifying a given instruction contained in said thread that is mapped to data having a data location in a given PU; and determining whether to transfer said thread containing said given instruction from said first PU to said given PU, for execution therein, based on said data location in said given PU; and wherein: said data is not required to be moved from the given PU in order for said data to be processed by said given instruction.