Definitions

                                    pragma

  (pragmatic information) A standardised form of comment which has
   meaning to a compiler. It may use a special syntax or a specific form
   within the normal comment syntax. A pragma usually conveys
   non-essential information, often intended to help the compiler to
   optimise the program.

				gang scheduling

   gang scheduling refers to giving more than one processor to an
   application at once, and making sure that the processes of the
   application run on the group of processors at approximately the same
   time. Gang scheduling may be preemptive or non-preemptive.

or ...

      Gang scheduling is a special scheduling technique that
      coordinates the scheduling of related processes running on
      separate processors.  Gang scheduling is typically used only in
      the compute partition, or is not used at all (this is determined
      by your system administrator).  In a partition that uses gang
      scheduling, the nodes are scheduled so that all the processes in
      an application are active at the same time.  If there are
      multiple processes per node in the active application, standard
      scheduling is used to schedule these processes against each other
      while the application is active.

      Partitions that use gang scheduling may contain subpartitions,
      and may overlap other partitions of any type.

      In a partition that uses gang scheduling, not only does each
      process have a priority, but there is a separate priority for the
      application as a whole. An application's priority is a number
      from 0 (low priority) to 10 (high priority). A gang-scheduled
      partition also has a priority of its own, as well as two other
      quantities called the effective priority limit and the rollin
      quantum:

	

    # A partition's priority is the lower of the
      following:
	 @ The priority of the highest-priority
	   application or subpartition in the partition.
	@ The partition's effective priority limit.
    A partition's effective priority limit is a number
      from 0 to 10 that places an upper limit on the
      partition's priority. It does not affect the
      priorities of applications or partitions within the
      partition.
    A partition's rollin quantum is the amount of time
      each application in the partition is allowed to be
     active before the system considers running another
      application instead. The term "rollin quantum"
      comes from the application being "rolled in" when
      it is made active, and "rolled out" when it is made
      inactive.
      A gang-scheduled partition's effective priority
      limit and rollin quantum are set when the partition
      is created, and do not vary unless you change them
     with the chpart command. A gang-scheduled
      partition's priority may vary over time, depending
     on the priorities of the applications and
      subpartitions in the partition.
      A partition that uses standard scheduling does not
     have an effective priority limit or rollin quantum.
     It also does not have a numeric priority; instead,
      its priority is "infinite" (that is, higher than
      the priority of any gang-scheduled partition or
      application).
      Gang scheduling is performed recursively, partition
      by partition. For each gang-scheduled partition in
      the system, starting with the root partition, the
      operating system examines all the entities
      (applications and partitions) within the partition:
	 @ 1. Entities that do not overlap other entities
		   (that is, they have no nodes in common with
		   any other entity in the partition) are simply
		  scheduled to run for the partition's rollin
		   quantum.
		 @ 2. Where two or more entities overlap, the
		   priorities of the overlapping entities are
		   compared, and the highest-priority entity is
		   scheduled to run for the partition's rollin
		   quantum.
		 @ 3. If two or more entities overlap and are
		   tied for highest priority, they are scheduled
		  in a round-robin fashion (each takes turns
		   running for one full rollin quantum).
		 @ 4. If an entity that is scheduled to run is a
		  partition, the operating system examines and
		   schedules the entities in the partition as
		   described above. This process continues
		   recursively as necessary.
	      At the end of each partition's rollin quantum, the
	      operating system examines and schedules the
	      entities in the partition again.
	      Note that rules 2 and 3 mean that, when
	      applications or partitions overlap, the one with
	      the highest priority gets one rollin quantum after
	      another until it completes. Entities with lower
	      priorities get no processor time at all until the
	      higher-priority entity has completed. If there is a
	      tie for highest priority, the tied high-priority
	      entities take turns running, but entities with
	      lower priority get no processor time until all the
	      high-priority entities complete. Partitions that
	      use standard scheduling always have the highest
	      priority, so if a standard-scheduled partition
	      overlaps a gang-scheduled partition or an
	      application, the standard-scheduled partition
	      always wins.

Your comments and suggestions are appreciated.
[Wilkins Home Page]
To cite this page:
Definitions
<http://www.physics.ohio-state.edu>
[]

Edited by: wilkins@pismo.mps.ohio-state.edu on