1. A method for enabling a computing system, comprising: dividing a main memory into a plurality of pools, wherein each of the plurality of pools is associated with a set of one or more lines in a cache; determining a criticality of a first thread; and assigning the first thread to a first pool of the plurality of pools, wherein the first pool is chosen based on the criticality of the first thread and on the set of one or more lines in the cache that is associated with the first pool.