From: Marco Recuay <marco@(email surpressed)> Subject: Temporarily limit max # of CPUs on a host Date: Fri, 08 Feb 2008 21:09:04 -0500 |
Msg# 1678 View Complete Thread (2 articles) | All Threads Last Next |
We just got a few 8-core workstations, and I was thinking that it would
be nice to be able to online only some of the cores, allowing artists
to work with half, and rush to utilize the other half at times when
full threading isnt needed.
I understand that this can be accomplished by setting a submited job to use a minimum RAM value, but this would require specific foresight by the submitter. Adjusting the host file also seems to be unmanageable. Is there a way to achieve an adjustable "Online X out of Y processors" behavior? I thought maybe it would be possible for the 8-core user to submit a "dummy" job to their own machine, which would grab a certain number of cores without doing any real processing, but I'm sure that I'm underestimating what is needed to do this. -Marco |
From: Greg Ercolano <erco@(email surpressed)> Subject: Re: Temporarily limit max # of CPUs on a host Date: Mon, 11 Feb 2008 06:05:37 -0500 |
Msg# 1679 View Complete Thread (2 articles) | All Threads Last Next |
Marco Recuay wrote: > We just got a few 8-core workstations, and I was thinking that it would > be nice to be able to online only some of the cores, allowing artists > to work with half, and rush to utilize the other half at times when > full threading isnt needed. There's a couple of ways. RUSH -RESERVE ------------- You can use 'rush -reserve' from the command line to reserve processors at a particular priority. For instance, if you're on machine "tahoe" and want to reserve 2 processors at 500 priority: rush -reserve tahoe=2@999 This creates a "RESERVE" job that you can manage just like a normal job; dump it when you want to get rid of the reservation. For more info and examples see: http://www.seriss.com/rush-current/rush/rush-command-line-options.html#-reserve There is currently no GUI way to create a reserve job, it must be done from the command line. RUSH HOSTS FILE --------------- You can enable/disable processors in rush in a more permanent way by modifying the CPUS column in the rush/etc/hosts file. For instance if machine "tahoe" has 8 processors, but you only want 4 to be available to rush, you can set the CPUS column in the rush/etc/hosts file to '4'. You can use 'rushadmin' to do this easily: 1) Run rushadmin 2) Click on 'hosts' 3) Change the CPUS column for the machine in question 4) Hit 'Save' 5) Hit 'Send' > I thought maybe it would be possible for the 8-core user to submit a > "dummy" job to their own machine, which would grab a certain number of > cores without doing any real processing, but I'm sure that I'm > underestimating what is needed to do this. This is exactly what 'rush -reserve' does, running commands that are essentially 'sleep' commands that do nothing, and just take up slots in rush. If you wanted to make your own 'reserve' job, you can 'roll your own', for example the almost-equivalent of 'rush -reserve tahoe=2@500' would be: rush -submit tahoe << EOF title RESERVE frames 1-10 cpus tahoe=2@500 command rush -sleep -1 EOF ..which kicks off a job that runs 'rush -sleep -1', which just does a 'sleep forever'. Note that the only way another job can usurp this reservation is for the job to ask for this machine with a killer priority that is higher than 500. (eg. "tahoe=2@501k") -- Greg Ercolano, erco@(email surpressed) Seriss Corporation Rush Render Queue, http://seriss.com/rush/ Tel: (Tel# suppressed) Fax: (Tel# suppressed) Cel: (Tel# suppressed) |