T.R | Title | User | Personal Name | Date | Lines |
---|
493.1 | I calculated PI to many digits | STAR::NOZELL | Marc Nozell - VMS Development | Tue Jun 09 1987 23:36 | 10 |
| Why don't you $SUBMIT SOAK-CPU-TIME.COM a job that:
SOAK-CPU-TIME.COM
$set proc/prio=1
$run something-interesting.exe
-marc
(Remember to check on the CPU usage occasionally to make sure it's not
trashing the system!)
|
493.2 | | KRAKAR::WARWICK | DNA puts life into your network | Wed Jun 10 1987 06:33 | 11 |
|
You can't actually get rid of NULL itself, it is assembled into
the VMS exec. However, as Marc suggests, you can have a low priority
process which will override NULL itself.
There was an interesting one posted in this file or the Toolshed quite
a long time ago called NULLHANOI. It attempts to solve a large towers
of Hanoi problem, and continually sets its process name to the current
state. There is a copy of the files in KRAKAR::SYS$PUBLIC:.
Trev
|
493.3 | Re .1 -- It works! Thanks. | ZFC::DERAMO | Daniel V. D'Eramo | Wed Jun 10 1987 20:15 | 32 |
| I tested the advice in .1 (see test file below).
During the roughly one-half hour that the program was
running, I worked on the system normally and did not notice
any delays or anything slowing down. MONITOR PROC/TOPCPU
did not show NULL as active during this time. So [except
for NULL still being in the SHOW SYSTEM list] this will do
everything I am looking for.
My actual "background" process will be ready to go soon ....
Thanks.
Dan
SOAK-CPU-TIME.COM ! This was SUBMIT'd.
$ set process/priority=1
$ run test.exe
TEST.C ! A simple loop.
int main(argc, argv)
int argc ;
char *argv[] ;
{
int i = 1000000001 ;
while (--i != 0)
;
}
<From the log file>
Charged CPU time: 0 00:24:58.15 Elapsed time: 0 00:28:48.51
|
493.4 | I think there IS a difference | 52451::NITSAN | Duvdevani, DEC Israel | Wed Jun 24 1987 04:13 | 17 |
| Correct me if I'm wrong:
Posting a low-priority process (other than the NULL process) which runs
in the background, spoils the [not-so-smart] load balancing algorithm,
if you use a cluster with terminal server(s).
The load balancing attempts to "equalize" the load on all cluster members.
The "load" is calculated by the amount of processes, and the CPU % BUSY TIME.
Any low-priority process (other than NULL) on one of the clsuter members,
especially a cpu-bound one (e.g., towers of Hanoi), makes the CPU to be
[almost] 100% busy, and the load balancing becomes wrong.
How can I overcome this problem (without putting artificial delays in the
low priority process)?
/Nitsan
|
493.5 | Load balancing - again... | TALLIS::FISHER | Battery, Mags, & Gas Off! | Thu Jun 25 1987 13:23 | 27 |
| re .4
You are wrong.
Having low priority process fixes the load balancing problem created
by the terminal servers.
Imagine a cluster of 14 CPU that runs many batch jobs thru the night.
By morning 12 CPUs are still processing long (many hour) batch jobs.
The terminal servers in their wisdom determine that all interactive
users should be logged into the only 2 nodes with null time.
First thing in the morning folks only read their mail and take a coffee
break so there is plenty of null time till about 10:00AM.
Mean while the low priority batch jobs are getting all the CPU time on
the other 12 CPUs. Several folks have purposely ran low priority
compute bound jobs just to fix this problem. In most places the correct
way to balance is by raw numbers. If you have 14 CPUs then put
one person on each until the 15th person then start putting 2 on each, etc.
Null time without considering priorities is a big mistake.
_!_
Bye ----O----
Kay R. Fisher / \
================================================================================
|
493.6 | tweak it yourself | TOOK::HEFFERNAN | Jonny Most For President | Thu Jun 25 1987 14:21 | 5 |
| Note: In the future, you will have more control over the terminal server's
load balancing algorithm so you can tweek it yourself inside a program.
I think this is an area where you can't please everyone...
John
|