Grid(Engine_CKPT)                  GE 6.2u2                  Grid(Engine_CKPT)



NNAAMMEE
       Grid Engine Checkpointing - the Grid Engine checkpointing mechanism and
       checkpointing support

DDEESSCCRRIIPPTTIIOONN
       Grid Engine supports two levels of checkpointing: the user level and  a
       operating  system  provided transparent level. User level checkpointing
       refers to applications, which do their  own  checkpointing  by  writing
       restart  files  at  certain  times or algorithmic steps and by properly
       processing these restart files when restarted.

       Transparent checkpointing has to be provided by  the  operating  system
       and  is  usually  integrated in the operating system kernel. An example
       for a kernel integrated checkpointing facility is the Hibernator  pack-
       age from Softway for SGI IRIX platforms.

       Checkpointing  jobs  need to be identified to the Grid Engine system by
       using the _-_c_k_p_t option of the _q_s_u_b_1() command.  The  argument  to  this
       flag refers to a so called checkpointing environment, which defines the
       attributes of the checkpointing method to be  used  (see  _c_h_e_c_k_p_o_i_n_t_5()
       for  details).   Checkpointing  environments  are setup by the _q_c_o_n_f_1()
       options _-_a_c_k_p_t, _-_d_c_k_p_t, _-_m_c_k_p_t and _-_s_c_k_p_t. The _q_s_u_b_1() option _-_c can be
       used  to  overwrite the _w_h_e_n attribute for the referenced checkpointing
       environment.

       If a queue is of the type CHECKPOINTING, jobs need to have  the  check-
       pointing attribute flagged (see the --cckkpptt option to _q_s_u_b_1()) to be per-
       mitted to run in such a queue. As opposed to the behavior  for  regular
       batch  jobs, checkpointing jobs are aborted under conditions, for which
       batch or interactive jobs are suspended or even stay unaffected.  These
       conditions are:

       +o  Explicit  suspension  of the queue or job via _q_m_o_d_1() by the cluster
          administration or a queue owner if the  _x  occasion  specifier  (see
          _q_s_u_b_1() _-_c and _c_h_e_c_k_p_o_i_n_t_5()) was assigned to the job.

       +o  A load average value exceeding the migration threshold as configured
          for the corresponding queues (see _q_u_e_u_e___c_o_n_f_5().)

       +o  Shutdown of the  Grid  Engine  execution  daemon  _g_e___e_x_e_c_d_8()  being
          responsible for the checkpointing job.

       After  abortion, the jobs will migrate to other queues unless they were
       submitted to one specific queue  by  an  explicit  user  request.   The
       migration  of  jobs leads to a dynamic load balancing.  NNoottee:: The abor-
       tion of checkpointed jobs will free all resources (memory, swap  space)
       which  the  job occupies at that time. This is opposed to the situation
       for suspended regular jobs, which still cover swap space.


RREESSTTRRIICCTTIIOONNSS
       When a job migrates to a queue on another machine at present  no  files
       are  transferred  automatically  to  that  machine. This means that all
       files which are used throughout the entire job including restart files,
       executables and scratch files must be visible or transferred explicitly
       (e.g. at the beginning of the job script).

       There are also some practical limitations regarding use of  disk  space
       for  transparently  checkpointing  jobs. Checkpoints of a transparently
       checkpointed application are usually stored in  a  checkpoint  file  or
       directory  by  the operating system. The file or directory contains all
       the text, data, and stack space for the process, along with some  addi-
       tional control information. This means jobs which use a very large vir-
       tual address space will generate very large checkpoint files. Also  the
       workstations  on  which  the jobs will actually execute may have little
       free disk space. Thus it is not always possible to transfer a transpar-
       ent  checkpointing  job to a machine, even though that machine is idle.
       Since large virtual memory jobs must wait for a machine  that  is  both
       idle,  and  has  a  sufficient amount of free disk space, such jobs may
       suffer long turnaround times.

SSEEEE AALLSSOO
       _g_e___i_n_t_r_o_1(,) _q_c_o_n_f_1(,) _q_m_o_d_1(,)  _q_s_u_b_1(,)  _c_h_e_c_k_p_o_i_n_t_5(,)  _G_r_i_d  _E_n_g_i_n_e
       _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _A_d_m_i_n_i_s_t_r_a_t_i_o_n _G_u_i_d_e_, _G_r_i_d _E_n_g_i_n_e _U_s_e_r_'_s _G_u_i_d_e

CCOOPPYYRRIIGGHHTT
       See _g_e___i_n_t_r_o_1() for a full statement of rights and permissions.



$Date: 2007/11/08 23:04:23 $           1                     Grid(Engine_CKPT)
