Patent ID: 9207977
Filing Date: 2015-12-08
Classification: G06F

Abstract:
1. A system for grouping instruction entities, the system comprising: a processing cluster to execute software, the processing cluster comprising a plurality of processing units; wherein the processing cluster is configured to execute the software as a plurality of instruction entities in a time partitioned execution environment, wherein processing budgets are allotted to specify execution time available during each time period in which an instruction entity in the plurality of instruction entities can execute; wherein the processing cluster is further configured to execute the plurality of instruction entities in a plurality of execution groups, each execution group comprising one or more instruction entities; wherein the processing cluster executes a group of instruction entities in the one or more instruction entities as an execution group, wherein instruction entities that execute concurrently on the processing cluster are constrained to belong to a same execution group, wherein the execution group comprises a first set of instruction entities executing on a first processing unit in the processing cluster, wherein the group of instruction entities in the execution group are constrained to execute within a processing budget allotted to the first set of instruction entities and instruction entities that are not part of the execution group are prevented from executing on the processing cluster during the execution of the first set of instruction entities, wherein, when the execution group comprises instruction entities other than the first set of instruction entities, the instruction entities other than the first set of instruction entities in the execution group execute on a processing unit in the processing cluster other than the first processing unit the; and wherein the execution groups are configured so that a plurality of schedule-before relationships are established, each schedule-before relationship being established between different instruction entities by ordering the execution of instruction entities within the plurality of execution groups and ordering the execution of instruction entities in different execution groups in the plurality of execution groups.