Understanding the Differences Between Client JSVs and Server JSVs

Grid Engine Home > Using Job Submission Verifiers >

Understanding the Differences Between Client JSVs and Server JSVs

To maximize this feature's usefulness, it is important to understand the differences between client JSVs and server JSVs.

  Client JSV Server JSV
Configured by Any user (see below under Configuration Location(s) for information on the exception) An administrator or by a user who has been given administrative access in the global configuration
Executed by Client application Master daemon
Lifetime of JSV Process After the verification is completed regardless of the result, the JSV instance is stopped. The JSV remains active and unchanged as long as the master daemon remains running.
Configuration Location(s) You can configure client JSVs in the following four locations:
  • By adding the -jsv submit parameter and a jsv_url to a submit client (qsub, qrsh, qsh, and qlogin only) at the time of job submission.
    For more information jsv_url syntax, see the sge_types(1) man page. For more information on -jsv, see the qsub(1) man page.
  • By adding the -jsv switch to the $cwd/.sge_request file.
    For more information on sge_request file syntax, see the sge_request(5) man page.
  • By adding the -jsv switch to the $HOME/.sge_request file.
  • By adding the -jsv switch to the $SGE_ROOT/$SGE_CELL/common/sge_request file.
You can only configure server JSVs in the following location:
  • By including a jsv_url in the global configuration.
    For more information on the cluster configuration parameters, see the sge_conf(5) man page. For more information jsv_url syntax, see the sge_types(1) man page.
Additional Information Note the following about client JSVs:
  • The execution context for all client JSV configuration options is the same.
  • Client JSVs do not consume cluster resources because they are executed during job submission. In clusters where hundreds of jobs are submitted per second,server JSVs can reduce the submit rate by 30% or more.
  • Client JSVs log activity to stdout.
  • Client JSVs are an excellent way to test server JSV scripts.
  • A client JSV defined in the global sge_request file can only be defined by an administrator.
  • A client JSV defined in the global sge_request file is executed last of all client JSVs. This means this JSV script can touch a job after all user-defined JSV scripts have been executed.
Note the following about server JSVs:
  • Server JSVs can not be bypassed by end users.
  • Server JSV scripts can perform administrative functions.
  • Server JSVs can log activity to the global message file.
  • Server JSVs can perform tasks specific to one host.
  • Server JSVs are always executed last, after all client JSVs have been executed.
  • If you use a server JSV, then all qalter and qmon modification requests are rejected by the master daemon. As an administrator, you can configure the jsv_allowed_mod parameter in the global configuration to allow a set of switches to be used with submit clients.

Participate
Have a best practice to share? Questions? Suggestions? Comments?

Learn More
For more on this topic, check out the following resources:

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact