Patent ID: 8938588
Filing Date: 2015-01-20
Classification: G06F

Abstract:
1. A method of ensuring forward progress of token-based cache operations in a shared cache, the method comprising: snooping, by a snooper in a cache controller in a shared cache level, an instruction to execute a token-required cache operation that owns a token or an instruction that is a joint instruction that includes a request for a token and the token-required cache operation for execution; determining, by the snooper, if a snoop machine is available and if the snoop machine is set to a reservation state, wherein the reservation state indicates that the snoop machine will dispatch the cache controller to handle only token-required cache operations that include a token; if the snoop machine is available and the snoop machine is in the reservation state, determining whether the instruction to execute the token-required cache operation includes a token or is a joint instruction; if the instruction is a joint instruction, instructing the instruction to retry; if the instruction to execute the token-required cache operation includes a token, dispatching the cache controller that includes the snoop machine to execute the token-required cache operation; determining, by the cache controller, whether all required cache controllers of relevant compute nodes are available to execute the instruction and executing the instruction if the required cache controllers are available; and if all required cache controllers of the relevant compute nodes are not available to execute the instruction, not executing the instruction.