Adaptive queuing methodology for system task management
First Claim
1. In a Multiple Instruction Multiple Data (MMID) architecture in which tasks are mapped to task queues in a first mapping, task queues are mapped to threads in a second mapping, and threads are mapped to processing resources in a third mapping, a method comprising:
- monitoring a queue pressure of at least one task queue; and
adapting a queue topology of the architecture based on said queue pressure and at least one threshold level associated with said queue pressure, wherein said queue topology is selected from at least two different queue topologies;
wherein said first mapping, said second mapping and said third mapping are based on said queue topology; and
wherein said at least two different queue topologies comprise a fine grained queue topology for reducing contention when said queue pressure is greater than said at least one threshold level, and a coarse grained queue topology for reducing computational overhead when said queue pressure is less than or equal to said at least one threshold level.
1 Assignment
0 Petitions
Accused Products
Abstract
A task management methodology for system having multiple processors and task queues adapts a queuing topology by monitoring a queue pressure and adjusting the queue topology from a selection of at least two different queue topologies. The queue pressure may be periodically monitored and queues with different granularities selected. The methodology reduced contention when there is high pressure on the queues while also reducing overhead to manage queues when there is less pressure on the queues.
18 Citations
21 Claims
-
1. In a Multiple Instruction Multiple Data (MMID) architecture in which tasks are mapped to task queues in a first mapping, task queues are mapped to threads in a second mapping, and threads are mapped to processing resources in a third mapping, a method comprising:
-
monitoring a queue pressure of at least one task queue; and adapting a queue topology of the architecture based on said queue pressure and at least one threshold level associated with said queue pressure, wherein said queue topology is selected from at least two different queue topologies; wherein said first mapping, said second mapping and said third mapping are based on said queue topology; and wherein said at least two different queue topologies comprise a fine grained queue topology for reducing contention when said queue pressure is greater than said at least one threshold level, and a coarse grained queue topology for reducing computational overhead when said queue pressure is less than or equal to said at least one threshold level. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a Multiple Instruction Multiple Data (MMID) architecture, a method of operating a task manager logically programming tasks to physical processing resources, comprising:
-
monitoring a shared memory resource supporting at least one task queue, wherein each task queue comprises at least one task mapped to said task queue; and adaptively changing a queue configuration of the architecture based on a queue pressure of said at least one task queue and at least one threshold level associated with said queue pressure, wherein said queue configuration is selected from at least two different queue configurations; wherein a task is mapped to a task queue based on said queue configuration; and wherein said at least two different queue configurations comprise a fine grained queue configuration for reducing contention when said queue pressure is greater than said at least one threshold level, and a coarse grained queue configuration for reducing computational overhead when said queue pressure is less than or equal to said at least one threshold level. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A Multiple Instruction Multiple Data (MMID) system, wherein lightweight tasks are mapped to task queues, and wherein task queues are mapped to threads, the system comprising:
-
multiple processing cores and associated links; memory space for at least one task queue, wherein each task queue comprises at least one task mapped to said task queue; and a task manager monitoring queue pressure of said at least one task queue and adapting a queue topology of the system based on said queue pressure and at least one threshold level associated with said queue pressure, wherein said queue topology is selected from at least two different queue topologies; wherein a task is mapped to a task queue based on said queue topology; wherein a task queue is mapped to a thread based on said queue topology; and wherein said at least two different queue topologies comprise a fine grained queue topology for reducing contention when said queue pressure is greater that than said at least one threshold level, and a coarse grained queue topology for reducing computational overhead when said queue pressure is less than or equal to said at least one threshold level. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product for a Multiple Instruction Multiple Data (MMID) architecture in which tasks are mapped to task queues, task queues are mapped to threads in a second mapping, and threads are mapped to processing resources in a third mapping, comprising computer code stored on a non-transitory computer readable medium to implement a method comprising:
-
monitoring a queue pressure of at least one task queue; and adapting a queue topology of the architecture based on said queue pressure and at least one threshold level associated with said queue pressure, wherein said queue topology is selected from at least two different queue topologies; wherein said first mapping, said second mapping and said third mapping are based on said queue topology; and wherein said at least two different queue topologies comprise a fine grained queue topology for reducing contention when said queue pressure is greater than said at least one threshold level, and a coarse grained queue topology for reducing computational overhead when said queue pressure is less than or equal to said at least one threshold level.
-
Specification