1. A computer readable medium carrying one or more sequences of one or more instructions for execution by one or more processors to perform a method of allocating registers in a register array to a plurality of workloads, the instructions when executed by the one or more processors, cause the one or more processors to: (a) identify an incoming workload as belonging to a first process group or a second process group; and (b) allocate one or more target registers from the register array to the incoming workload, wherein the register array is logically divided to a first ring and a second ring, wherein the first ring and the second ring have at least one register in common, and wherein the first process group is allocated registers in the first ring and the second process group is allocated registers in the second ring.