Patent ID: 8850446
Filing Date: 2014-09-30
Classification: G06F

Abstract:
1. A method for preventing starvations of tasks in a multiple-processing entity system, the method comprising: moving a task data structure of a group of data structures in a pending tasks queue to a sorted tasks queue when all pre-requisites for the task data structure are fulfilled; determining whether the sorted tasks queue is frozen; sorting task data structures within the sorted tasks queue in response to the sorted tasks queue being unfrozen, during each of a plurality of scheduling iterations, according to values of the task data structure from multiple sorting rules, wherein each sorting rule is either an ascending sorting rule or a descending sorting rule; examining, during each of the scheduling iterations, an eligibility of the task data structure to be moved from the sorted tasks queue to a running tasks queue; updating a value, during the each of the scheduling iterations, of a queue starvation watermark value of the task data structure when the task data structure is not eligible to move from the sorted tasks queue to the running tasks queue, until a queue starvation watermark value of the task data structure reaches a queue starvation watermark threshold; generating a task starvation indication if during an additional number of scheduling iterations, the certain task data structure is still prevented from being moved to the running tasks queue, wherein the additional number of scheduling iterations is responsive to a task starvation watermark; and performing, in response to the task starvation indication, one or more actions selected from a list of actions: