JobStart(char *job_identifier, TaskMap[])

   struct TaskMap {
      int index;
      char *name;
   }

  - bases on sge_gdi(schedd order)
  - we will provide JobStart() and a source snippet using JobStart() to show
    how to have SGE start a job by using a specific number of tasks for each
    SGE execution host

JobCancel(char *job_identifier, int purge_or_reschedule)

  - we will provide JobCancel() basing on sge_gdi(qdel) and a source
    snippet using JobCancel() to show how to "terminate and purge"
  - when time allows we will enhance JobCancel() towards "terminate
    and reschedule" basing on sge_gdi(qmod -s) and provide a source
    snippet using JobCancel() to show how to "terminate and reschedule"
    SGE jobs. This will work only for jobs supporting SGE "userdefined
    checkpointing"

GetData(via global data)

  - bases on event client interface
  - we will provide GetData()
  - this call is used to collect all relevant resource manager information
    into Maui's local memory. No processessing or updating of Maui object
    should be done in this call. The loaded data should include the
    following:

      execution host list
      job list
      PE list

GetClusterInfo(lList *hosts)

  - bases on data retrieved by GetData()
  - we will provide GetClusterInfo() and a code snippet which steps through all
    detected execution hosts and prints host id as well as the following attributes:

      NodeID (hostname?)
      CPU load
      Architecture
      Operating System
      Configured and available real memory
      Configured and available processors
      Configured and available swap
      Configured and available local disk

GetWorkloadInfo(lList *jobs)

  - bases on data retrieved by GetData()
  - we will provide GetWorkloadInfo() and a code snippet which steps through all
    SGE jobs and prints the following attributes

     +job identifier
      user name
      group name
      wall time requested
      job start time
      processors requested
      hostlist requested (if specified)

GetPolicyInfo(lList *pes)

  - bases on data retrieved by GetData()
  - we will provide GetPolicyInfo() and a code snippet which steps through all SGE PE
    objects and prints information about determine PE task distribution policies,
    PE to host mappings, PE defaults, and PE job and policy constraints. The first
    instantiation of the interface will require a SGE configuration with one unlimited
    queue per host.
