Initial Group Scheduling Tutorial Sequence

These examples show how Group Scheduling and CCSM can be used to provide arbitrary scheduling semantics for an application.

Group Scheduling Introduction

Group Scheduling (GS) allows for a hierarchy of groups to be created that represents how an application should be scheduled. Groups can contain tasks or groups and both tasks and groups can belong to multiple groups. Each group is associated with an scheduling decision function that controls the members of the group.

CCSM Introduction

The Computation Component Set Manager (CCSM) is a sub-system supporting the tracking of set membership, which is useful for a wide range of purposes. The most relevant in this context is that, since each set can have a name, CCSM is useful in associating names with threads for purposes of GS hierarchy specification. The CCSM can be used to track other components as well, and for reasons beyond its use with GS, but that is beyond the scope of this dscussion.

The motivation for a name space of threads is grounded in the fact that specifying the instrumenation configuration for an experiment or specifying the GS hierarchy that will control execution is considerably easier if names can be used for application threads that are invariant across application execution instances.

References

For more information on Group scheduling and CCSM see:

Group Scheduling User Manual

Group Scheduling Internals Manual

CCSM User Manual

CCSM Internals Manual.

Group Scheduling Framework Examples

  1. Signal Pipeline Group Scheduling :

    Places a signal pipeline under group schedulng control using the pid API.

  2. Signal Pipeline Group Scheduling And CCSM :

    Places a signal pipeline under group scheduling control using the name API and identifies its components to CCSM.

  3. Signal Pipeline Group Scheduling Control :

    Places a signal pipeline under group scheduling control using a group scheduling configuration file read by thegschedctrl tool and CCSM support for thread naming.

  4. Socket Pipeline Group Scheduling :

    Places a socket pipeline under group schedulng control using the pid API.

  5. Socket Pipeline Group Scheduling And CCSM :

    Places a socket pipeline under group scheduling control using the name API and identifies its components to CCSM.

  6. Socket Pipeline Group Scheduling Control :

    Places a socket pipeline under group scheduling control using a group scheduling configuration file read by the gschedctrl tool and CCSM support for thread naming.

  1. Balanced Progress Pipeline :

    Using a balanced progress SDF to control the socket pipeline stage execution

  1. Process Based Balanced Pipeline :

    Using a framed progress loadable module SDF to control progress of multiple piplines, each of which is represented by a process.