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; 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 in an execution group concurrently; and wherein the execution groups are configured so that a plurality of schedule-before relationships are established, each schedule-before relationship being established among a respective set of instruction entities by executing the plurality of instruction entities in the plurality of execution groups.