Tag: load_sensors

Custom “default” load sensors & multiple sensor scripts

Posted by – October 6, 2005

Supporting the contention that a significant amount of useful Grid Engine admin/usage information is often found outside of the formal documentation:

I learned two new things today while working on a load sensor project. The information was recently discussed on the mailing list and is hidden in plain view within the manpage but you certainly will not see it mentioned in the official documentation.

Lessons learned:

  • The load_sensor parameter can accept a comma-separated list of script(s). Assuming SGE would only accept a single script path for that parameter I’ve often written load sensor scripts that called multiple other scripts.
  • If you drop an executable program named qloadsensor into the SGE binary path on an execution host, it will be run as a load sensor!

The relevant excerpts from the sge_conf manpage are here:

A comma separated list of executable shell script paths or programs to be started by sge_execd(8) and to be used in order to retrieve site configurable load information (e.g. free space on a certain disk partition) …

… In addition to the load sensors configured via load_sensor, sge_exec(8) searches
for an executable file named qloadsensor in the execution host’s Grid Engine binary
directory path. If such a file is found, it is treated like the configurable load
sensors defined in load_sensor. This facility is intended for pre-installing a
default load sensor.

FlexLM licensing and grid engine – a new HowTo draft

Posted by – September 30, 2005

A thread about managing licenses with grid engine got Mark to post a draft version of a new HowTO document he is working on (along with a teaser mention of some other code he has in the works).

The draft document is in perl POD format. Translated html and text versions can be found here:

http://gridengine.info/files/Mark_Olesen-HowTo-Licenses-n1ge.html

http://gridengine.info/files/Mark_Olesen-HowTo-Licenses-n1ge.txt

some Load Sensor tips

Posted by – September 22, 2005

1) turning off output stream buffering

By default scripting languages such as Perl and Python have the output stream buffered. If a load sensor is written in one of those languages, buffering needs to be turned off. For example:

– in Perl: $|++;

– in python: python -u

2) the suggested sequence of collecting external load

Collecting external load can be slow. A good example is contacting a flexlm server for the number of licenses available.

Charu wrote, “… in any case a good
idea is to grab the values *before* the ‘read input’ part. IE, [grab
values] –> [read input, check it] –> [echo output] –> [repeat]. In
this way, you perform the (potentially) slow step of getting license
values during the load report interval, instead of between the read and
the echo.”

Link to Charu’s mail.