From: Dylan Penhale <dylan@(email surpressed)> Subject: Time Based Host Groups Date: Sun, 23 Jan 2011 20:49:42 -0500 |
Msg# 1997 View Complete Thread (5 articles) | All Threads Last Next |
We currently split our render groups and criteria according to machine specs, software and department. We would like to be able to reserve a pool selection from 9-00 till 22-00 and then open that pool to the rest of the farm out of those hours. e.g. Comp renders are fast, we don't want 3D renders on those machines during the day. However at night comp isn't (always) there so those machines could be used by 3D. Currently the only way I can think to do this is to: 1) Play about with priorities - this has proved to be unsatisfactory because 3D renders can take so long. 2) Push out the hosts files as part of a cron - I've not tried this but imagine it wouldn't be robust. 3) Employ a render wrangler. Any suggestions? Dylan Penhale CTO Fuel VFX Sydney |
From: Daniel Browne <dbrowne@(email surpressed)> Subject: Re: Time Based Host Groups Date: Sun, 23 Jan 2011 23:06:16 -0500 |
Msg# 1998 View Complete Thread (5 articles) | All Threads Last Next |
The trick is to put host group assignment into the jobstartcommand script. On Jan 23, 2011, at 5:49 PM, Dylan Penhale wrote: > [posted to rush.general] > > We currently split our render groups and criteria according to machine spec= > s, software and department. We would like to be able to reserve a pool sele= > ction from 9-00 till 22-00 and then open that pool to the rest of the farm = > out of those hours.=20 > > e.g. Comp renders are fast, we don't want 3D renders on those machines duri= > ng the day. However at night comp isn't (always) there so those machines co= > uld be used by 3D. Currently the only way I can think to do this is to: > > 1) Play about with priorities - this has proved to be unsatisfactory becaus= > e 3D renders can take so long. > 2) Push out the hosts files as part of a cron - I've not tried this but ima= > gine it wouldn't be robust. > 3) Employ a render wrangler.=20 > > Any suggestions? > > Dylan Penhale > CTO > Fuel VFX > Sydney > > > > > > |
From: Brent Hensarling <brent@(email surpressed)> Subject: Re: Time Based Host Groups Date: Sun, 23 Jan 2011 23:08:31 -0500 |
Msg# 1999 View Complete Thread (5 articles) | All Threads Last Next |
We have been using option #2 for a while now, We started with a cron pushing a updated Day or Night host file, but now we do it though puppet. We generally run the change from day to night around an hour or so before the normal end of the day, so lighters can submit jobs before the end of the day and they will get the changes. Then the change from night to day about an hour before people come in so any jobs that are running have some time to finnish. Its not fullproof, but in most cases its worked for us. At some point I need to investigate how to add the machines that are dedicated during the day to the greater pool at night. I just haven't had the time to look into it. BTW, congrats Greg on the Academy award! -Brent On Jan 23, 2011, at 5:49 PM, Dylan Penhale wrote: > [posted to rush.general] > > We currently split our render groups and criteria according to machine spec= > s, software and department. We would like to be able to reserve a pool sele= > ction from 9-00 till 22-00 and then open that pool to the rest of the farm = > out of those hours.=20 > > e.g. Comp renders are fast, we don't want 3D renders on those machines duri= > ng the day. However at night comp isn't (always) there so those machines co= > uld be used by 3D. Currently the only way I can think to do this is to: > > 1) Play about with priorities - this has proved to be unsatisfactory becaus= > e 3D renders can take so long. > 2) Push out the hosts files as part of a cron - I've not tried this but ima= > gine it wouldn't be robust. > 3) Employ a render wrangler.=20 > > Any suggestions? > > Dylan Penhale > CTO > Fuel VFX > Sydney > > > > > > |
From: Greg Ercolano <erco@(email surpressed)> Subject: Re: Time Based Host Groups Date: Sun, 23 Jan 2011 23:44:22 -0500 |
Msg# 2000 View Complete Thread (5 articles) | All Threads Last Next |
Dylan Penhale wrote: > We currently split our render groups and criteria according to machine spec= > s, software and department. We would like to be able to reserve a pool sele= > ction from 9-00 till 22-00 and then open that pool to the rest of the farm = > out of those hours.=20 > > e.g. Comp renders are fast, we don't want 3D renders on those machines duri= > ng the day. However at night comp isn't (always) there so those machines co= > uld be used by 3D. Currently the only way I can think to do this is to: I see, so you have 'day' machines that should only run comps during the day, but open up to all jobs at night? And since the 3d jobs are long, you probably want them to be killed at 9am so that they don't continue to run for what could be hours. So doing something like online/offline'ing the processors at 10pm/9am via cron wouldn't be good, because it would affect comps AND 3d jobs, eg: # min hour dom mon dow command 0 9 * * 1,2,3,4,5 /usr/local/rush/bin/rush -getoff +resv_day 0 22 * * 1,2,3,4,5 /usr/local/rush/bin/rush -online +resv_day So instead of that.. I'd say the easy thing to do would be to leave the rush/etc/hosts file alone, and just write a script that runs on a single machine at 9am and 10pm that alternately: 1) Adds the "+day" group to all the 3d jobs at 10pm 2) Removes the "+day" group from the 3d jobs at 9am By removing them, that will kill them immediately. The jobs likely have enough info in them that the script can use to determine 3d jobs from comps, eg. the job title, job notes, or if nothing else, each job's 'command' (by checking for either 'submit-maya' or 'submit-nuke', etc) For instance, if it's maya jobs you're worried about, you can walk all the jobs looking at the 'Command:' (from the 'rush -ljf +any -t 5' report) checking for the word 'submit-maya, and for all that are found: 1) At 9am use 'rush -rc +day <JOBIDS>' to remove them, (first saving the +day cpu values into the job's notes field, so they can later be added back at 10pm) 2) At 10pm use 'rush -ac <SPEC> <JOBIDS>' to add them back. (<SPEC> would be info saved in the job notes at 9am) I think something like that would work well, and would take immediate effect. > 2) Push out the hosts files as part of a cron - I've not tried this but ima= > gine it wouldn't be robust. Probably not a good solution, since hostgroup memberships are expanded at the time the job is submitted, so changing them back and forth are unlikely to be useful, unless the jobs render in less time than a full shift (ie. a job running 24 hours). -- Greg Ercolano, erco@(email surpressed) Seriss Corporation Rush Render Queue, http://seriss.com/rush/ Tel: (Tel# suppressed)ext.23 Fax: (Tel# suppressed) Cel: (Tel# suppressed) |
From: Dylan Penhale <dylanpenhale@(email surpressed)> Subject: Re: Time Based Host Groups Date: Wed, 26 Jan 2011 01:44:55 -0500 |
Msg# 2001 View Complete Thread (5 articles) | All Threads Last Next |
Thanks Guys Greg I like that sound of that script, it certainly sounds like the simplest method, I didn't think of doing it that way. I'll report back when I've had a chance to play. Thanks again. Dylan On 24 January 2011 15:44, Greg Ercolano <erco@(email surpressed)> wrote: > [posted to rush.general] > > Dylan Penhale wrote: >> We currently split our render groups and criteria according to machine spec= >> s, software and department. We would like to be able to reserve a pool sele= >> ction from 9-00 till 22-00 and then open that pool to the rest of the farm = >> out of those hours.=20 >> >> e.g. Comp renders are fast, we don't want 3D renders on those machines duri= >> ng the day. However at night comp isn't (always) there so those machines co= >> uld be used by 3D. Currently the only way I can think to do this is to: > > I see, so you have 'day' machines that should only > run comps during the day, but open up to all jobs at night? > > And since the 3d jobs are long, you probably want them to > be killed at 9am so that they don't continue to run for > what could be hours. > > So doing something like online/offline'ing the processors > at 10pm/9am via cron wouldn't be good, because it would affect > comps AND 3d jobs, eg: > > # min hour dom mon dow command > 0 9 * * 1,2,3,4,5 /usr/local/rush/bin/rush -getoff +resv_day > 0 22 * * 1,2,3,4,5 /usr/local/rush/bin/rush -online +resv_day > > So instead of that.. > > I'd say the easy thing to do would be to leave the rush/etc/hosts > file alone, and just write a script that runs on a single machine > at 9am and 10pm that alternately: > > 1) Adds the "+day" group to all the 3d jobs at 10pm > 2) Removes the "+day" group from the 3d jobs at 9am > > By removing them, that will kill them immediately. > > The jobs likely have enough info in them that the script > can use to determine 3d jobs from comps, eg. the job title, > job notes, or if nothing else, each job's 'command' (by > checking for either 'submit-maya' or 'submit-nuke', etc) > > For instance, if it's maya jobs you're worried about, > you can walk all the jobs looking at the 'Command:' > (from the 'rush -ljf +any -t 5' report) checking for > the word 'submit-maya, and for all that are found: > > 1) At 9am use 'rush -rc +day <JOBIDS>' to remove them, > (first saving the +day cpu values into the job's > notes field, so they can later be added back at 10pm) > > 2) At 10pm use 'rush -ac <SPEC> <JOBIDS>' to add them back. > (<SPEC> would be info saved in the job notes at 9am) > > I think something like that would work well, and would take > immediate effect. > >> 2) Push out the hosts files as part of a cron - I've not tried this but ima= >> gine it wouldn't be robust. > > Probably not a good solution, since hostgroup memberships are > expanded at the time the job is submitted, so changing them > back and forth are unlikely to be useful, unless the jobs > render in less time than a full shift (ie. a job running 24 hours). > > -- > Greg Ercolano, erco@(email surpressed) > Seriss Corporation > Rush Render Queue, http://seriss.com/rush/ > Tel: +1 626-576-0010 ext.23 > Fax: +1 626-576-0020 > Cel: +1 310-266-8906 > -- Dylan Penhale |