Computing system, method and computer-readable medium for managing a processing of tasks
AssigneeSamsung Electronics Co., Ltd.
InventorsJeong Joon Yoo, Shi Hwa Lee, Seung Won Lee, Young Sam Shin, Min Yung Son
Life of this patent
Estimating the term…
Abstract
A computing system, method and computer-readable medium is provided. To prevent a starvation phenomenon from occurring in a priority-based task scheduling, a plurality of tasks may be divided into a priority-based group and other groups. The groups to which the tasks belong may be changed.
Claims16
A computing system, comprising:
- a task management unit to divide a plurality of tasks to be processed into a first group and a second group, and to manage the tasks, the first group based on a priority and comprising a virtual task representing at least one of the tasks in the second group;
- a load rate measuring unit to measure a rate of a time taken to process the virtual task with respect to a time taken to process the tasks in the first group, and
- a processing unit to process tasks in the first group according to the priority, wherein, when the virtual task is to be processed, the processing unit selects one of the tasks in the second group and processes the selected task,
- wherein, when the measured rate is equal to or greater than a first threshold, the task management unit moves a highest priority task among the tasks in the second group to the first group,
- wherein the task management unit manages a first pointer to point to a lowest priority task among the tasks in the first group, and
- when the measured rate is equal to or greater than the first threshold, the task management unit moves the highest priority task among the tasks in the second group to the first group, and adjusts the first pointer to point to the moved task.
A computing system comprising,
- a task management unit to divide a plurality of tasks to be processed into a first group and a second group, and to manage the tasks, the first group based on a priority and comprising a virtual task representing tasks in the second group;
- a processing unit to process tasks in the first group according to the priority, and
- a load rate measuring unit to measure a rate of a time taken to process the virtual task with respect to a time taken to process the tasks in the first group,
- wherein, when the virtual task is to be processed, the processing unit selects one of the tasks in the second group and processes the selected task,
- wherein, when a new task to be processed is generated, and when a priority of the new task is higher than a priority of a lowest priority task among the tasks in the first group, the task management unit moves the new task to the first group, and
- when the priority of the new task is equal to or lower than the priority of the lowest priority task, the task management unit moves the new task to the second group,
- wherein the task management unit manages a first pointer to point to a lowest priority task among the tasks in the first group, and a second pointer to point to a highest priority task among the tasks in the second group,
- when a new task to be processed is generated, and when a priority of the new task is higher than a priority of the lowest priority task pointed to by the first pointer, the task management unit moves the new task to the first group,
- when the priority of the new task is equal to or lower than the priority of the lowest priority task pointed to by the first pointer, the task management unit moves the new task to the second group, and
- when the priority of the new task moved to the second group is compared with a priority of the highest priority task pointed to by the second pointer, the task management unit adjusts the second pointer to point to a highest priority task among the tasks and the new task that are in the second group.
A computing method, comprising:
- dividing, by a processor, a plurality of tasks to be processed into a first group and a second group, the first group based on a priority and comprising a virtual task representing at least one of the tasks in the second group;
- measuring, by a load rate measuring unit, a rate of a time taken to process the virtual task with respect to a time taken to process the tasks in the first group;
- and
- processing, by the processor, tasks in the first group according to the priority,
- wherein, when the virtual task is to be processed, the processor selects one of the tasks in the second group and processes the selected task,
- wherein, when the measured rate is equal to or greater than a first threshold, the processor moves a highest priority task among the tasks in the second group to the first group,
- wherein the processor manages a first pointer to point to a lowest priority task among the tasks in the first group, and
- when the measured rate is equal to or greater than the first threshold, the processor moves the highest priority task among the tasks in the second group to the first group, and adjusts the first pointer to point to the moved task.
At least one non-transitory computer-readable recording medium comprising computer readable instructions that control at least one processor to implement a method, comprising:
- dividing a plurality of tasks to be processed into a first group and a second group, the first group based on a priority and comprising a virtual task representing at least one of the tasks in the second group;
- measuring a rate of a time taken to process the virtual task with respect to a time taken to process the tasks in the first group;
- and
- processing tasks in the first group according to the priority,
- wherein, when the virtual task is to be processed, selecting one of the tasks in the second group and processes the selected task,
- wherein, when the measured rate is equal to or greater than a first threshold, moving a highest priority task among the tasks in the second group to the first group,
- wherein the processor manages a first pointer to point to a lowest priority task among the tasks in the first group, and
- when the measured rate is equal to or greater than the first threshold, moving the highest priority task among the tasks in the second group to the first group, and adjusts the first pointer to point to the moved task.
A computing method, comprising:
- dividing, by a processor, a plurality of tasks to be processed into a first group and a second group, the first group comprising a virtual task representing at least one of the tasks in the second group;
- processing tasks in the first group according to the priority, and
- measuring a rate of a time taken to process the virtual task with respect to a time taken to process the tasks in the first group,
- wherein, when the virtual task is to be processed, selecting one of the tasks in the second group and processes the selected task,
- wherein, when a new task to be processed is generated, and when a priority of the new task is higher than a priority of a lowest priority task among the tasks in the first group, moving the new task to the first group, and
- when the priority of the new task is equal to or lower than the priority of the lowest priority task, moving the new task to the second group,
- wherein the processor manages a first pointer to point to a lowest priority task among the tasks in the first group, and a second pointer to point to a highest priority task among the tasks in the second group,
- when a new task to be processed is generated, and when a priority of the new task is higher than a priority of the lowest priority task pointed to by the first pointer, moving the new task to the first group,
- when the priority of the new task is equal to or lower than the priority of the lowest priority task pointed to by the first pointer, moving the new task to the second group, and
- when the priority of the new task moved to the second group is compared with a priority of the highest priority task pointed to by the second pointer, adjusting the second pointer to point to a highest priority task among the tasks and the new task that are in the second group.
At least one non-transitory computer-readable recording medium comprising computer readable instructions that control at least one processor to implement a method, comprising:
- dividing a plurality of tasks to be processed into a first group and a second group, the first group comprising a virtual task representing at least one of the tasks in the second group;
- processing tasks in the first group according to the priority, and
- measuring a rate of a time taken to process the virtual task with respect to a time taken to process the tasks in the first group,
- wherein, when the virtual task is to be processed, selecting one of the tasks in the second group and processes the selected task,
- wherein, when a new task to be processed is generated, and when a priority of the new task is higher than a priority of a lowest priority task among the tasks in the first group, moving the new task to the first group, and
- when the priority of the new task is equal to or lower than the priority of the lowest priority task, moving the new task to the second group,
- wherein the processor manages a first pointer to point to a lowest priority task among the tasks in the first group, and a second pointer to point to a highest priority task among the tasks in the second group,
- when a new task to be processed is generated, and when a priority of the new task is higher than a priority of the lowest priority task pointed to by the first pointer, moving the new task to the first group,
- when the priority of the new task is equal to or lower than the priority of the lowest priority task pointed to by the first pointer, moving the new task to the second group, and
- when the priority of the new task moved to the second group is compared with a priority of the highest priority task pointed to by the second pointer, adjusting the second pointer to point to a highest priority task among the tasks and the new task that are in the second group.
Dependencies are inferred from the claim text.