Systems and methods for dynamically modifying coherence domains
First Claim
1. A system for dynamically modifying coherence domains, the system comprising:
- a plurality of partitions, wherein each of one or more of the plurality of partitions is executing at least one application and is associated with one of a set of cache coherence domains; and
a controller configured to;
reconfigure the set of cache coherence domains while one or more of the plurality of partitions is executing at least one application;
obtain a cache coherence policy for one or more of the plurality of partitions;
receive user input indicating one or more modifications to the cache coherence policy; and
responsive to the user input, implement the modifications to the cache coherence policy based on the user input while one or more of the plurality of partitions is executing at least one application.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for dynamically modifying coherence domains are discussed herein. In various embodiments, a hardware controller may be provided that is configured to automatically recognize application behavior and dynamically reconfigure coherence domains in hardware and software to tradeoff performance for reliability and scalability. Modifying the coherence domains may comprise repartitioning the system based on cache coherence independently of one or more software layers of the system. Memory-driven algorithms may be invoked to determine one or more dynamic coherence domain operations to implement. In some embodiments, declarative policy statements may be received from a user via one or more interfaces associated with the controller. The controller may be configured to dynamically adjust cache coherence policy based on the declarative policy statements received from the user.
-
Citations
23 Claims
-
1. A system for dynamically modifying coherence domains, the system comprising:
-
a plurality of partitions, wherein each of one or more of the plurality of partitions is executing at least one application and is associated with one of a set of cache coherence domains; and a controller configured to; reconfigure the set of cache coherence domains while one or more of the plurality of partitions is executing at least one application; obtain a cache coherence policy for one or more of the plurality of partitions; receive user input indicating one or more modifications to the cache coherence policy; and responsive to the user input, implement the modifications to the cache coherence policy based on the user input while one or more of the plurality of partitions is executing at least one application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for dynamically modifying coherence domains in a system comprising a plurality of partitions, wherein each of one or more of the plurality of partitions is executing at least one application and is associated with one of a set of cache coherence domains, the method comprising:
-
monitoring cache traffic involving one or more of the set of cache coherence domains; determining one or more operations to reconfigure the set of cache coherence domains based on one or more memory-driven algorithms and the cache traffic; executing the one or more operations while one or more of the plurality of partitions is executing at least one application; obtaining a cache coherence policy for one or more of the plurality of partitions; receiving user input indicating one or more modifications to the cache coherence policy; and responsive to the user input, implementing the modifications to the cache coherence policy based on the user input while one or more of the plurality of partitions is executing at least one application. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A hardware controller configured to dynamically modify coherence domains in a system comprising a plurality of partitions, wherein each of one or more of the plurality of partitions is executing at least one application and is associated with one of a set of cache coherence domains, the controller comprising:
one or more physical processors programmed by computer program instructions that, when executed by the one or more physical processors, configure the controller to; monitor cache traffic involving one or more of the set of cache coherence domains; and reconfigure the set of cache coherence domains while one or more of the plurality of partitions is executing at least one application; obtain a cache coherence policy for one or more of the plurality of partitions; receive user input indicating one or more modifications to the cache coherence policy; and responsive to the user input, implement the modifications to the cache coherence policy based on the user input while one or more of the plurality of partitions is executing at least one application. - View Dependent Claims (20, 21, 22, 23)
Specification