FairShare Recommendations
Initially: Do Nothing
The first recommendation is to do nothing. Start with the simplest FairShare tree, where every job belongs to the fsgroup /time/users.USERNAME where USERNAME is of course the owner of the job. This means that CPU cycles are allocated to all users in equal parts.
Later: Design a FairShare Tree for Both Applications and Projects
Over time, as you acquire experience in FairShare, you may want to design a more complex FairShare tree, one that accounts for allocations of expensive licenses and for all the projects going on in your organization.
## Example of design of a production fairshare tree.
## This file could be vnc.swd/fairshare/main_fs_tree.tcl
set listOfApps "spice dc pt"
set listOfProjects "X3 X5 X8 RT SW chameleon"
FSGROUP / -w 0 -t 1h {
foreach app $listOfApps {
FSGROUP $app -w 100 -t 1h {
foreach proj $listOfProjects {
FSGROUP $proj -w 100 -t 1h {}
}
FSGROUP other -w 10 {} ;# All jobs not in a project
FSGROUP default -w 1 {} ;# In case a new projects appear, give a small weight
}
}
FSGROUP extra -w 10 -t 1h {} ;# All jobs not in an app.
FSGROUP default -w 1 {} ;# In case new apps appear, give them a small weight.
}
% vovfsgroup delete -unused
% vovfsgroup loadconfig .../main_fs_tree.tcl
This will add the tree in addition to all currently used groups in your system.
% nc run -g /app/spice/chameleon -r License:spice -- myspice -i ckt.spi
# This could be file vnc.swd/jobclass/spice.tcl
set VOV_JOB_DESC(resources) "License:spice RAM/200"
set VOV_JOB_DESC(group) "/app/spice/$env(PROJECT)"
% nc run -C spice myspice -i ckt.spi
# Assuming C-shell syntax
foreach g ( `vovselect fullname from fairshare -where name==chameleon`)
vovfsgroup modify $g weight 300
end