CompuServe Thread

#CPU Performance Hits

16 messages in this thread
#150564From: alec jasonFeb 1, 1995 11:18 PM
Hi Jonas, I'm still trying to track down the source of some chronic performance problems. I have six computers (3 486/66's and 3 P-90's). Whenever even one machine is in slave mode (idle or rendering), the performance of the "server" i.e., the machine on which the "network" directory resides, is substanially degraded. I have been using Norton Utilities "sysinfo" to observe the performance of the server's CPU. On the 486 server, the normal cpu speed is about 183. As soon as even one machine comes on line in slave mode, the speed will go down to 20 or so for about a second or two and then return to full speed. This "dip" in performance occurs regularly about every four seconds. When a P-90 is used as a server, it's cpu performance is also reduced although not as much but at more frequent intervals. Can you tell me: 1. Is this normal? 2. What the heck does a network slave do to draw down a server's cpu? 3. What can I do to fix it? Thanks, Alec Jason
#150580From: Gus GrubbaFeb 2, 1995 1:29 AM
This is a problem of the network software. There are, actually, two problems here. First is the raw performance of the "Server" software. This is the program running all the time waiting for requests and replying to those requests. The better the "Server" program the better the performance. The second problem is that when using a workstation as a server, this server software must run concurrently with whatever else is running on the foreground. DOS simply wasn't meant to do this. The whole process of "Terminate and Stay Resident" (TSR) is a kludge to say the least. For instance, if a file requests arrives in the middle of a DOS call, the request is queued 'till DOS is free again. This is because DOS cannot handle more than one call at a time. The problem is compounded when the foreground application is running in protected mode such as the case with 3D Studio or Windows. As the server software is a simple DOS TSR, the CPU must switch contexts (going from 386 protected mode to 8088 real mode) each time a request arrives. This context switch takes a heck of a long time (in terms of computer cycles). The simple solution to this is to dedicate a machine as a server. I think Lantastic has such option. You should be able to determine the gain in performance and compare that to the fact you've lost a rendering machine. Also make sure you've got lots of disk cache (8 to 16 megs depending on how much texture maps and such you're using – 4 Megs is enough for writing files only). Another, more elaborate (read "more expensive") solution is to use a heavy duty network software. Novell, Windows NT, or even a Unix box. In neither of those you should see much of a degraded performance for a 5 (or 6) workstation network.
#150597From: Jonas Ruikis [ADESK]Feb 2, 1995 8:42 AM
Thanks Gus.
#150959From: alec jasonFeb 3, 1995 11:55 PM
Jonas, This is an official 3DS user tech support question and I believe I have a right to a serious, complete response to my question (which I have asked previously). What functions or operations do the slave machines perform which requires cpu activity from the server during non-rendering time? Alec Jason
#150982From: Gus GrubbaFeb 4, 1995 4:13 AM
I'm not 100% aware of everything that goes on while net rendering but I can tell you that an idle machine will check the server (NET-PATH) looking for stuff to do. I assume it does that by opening 3DS.MCS. In order to avoid problems, it also probably "locks" the file while reading it. I don't know how often this happens but all these "requests" are being serviced by the server. The degradation of performance on the server is directly related to the amount of time it takes to process these requests times the frequency of requests times the number of idle machines.
#151052From: alec jasonFeb 4, 1995 3:30 PM
Gus, The performance reduction in the cpu occurs with even one slave sitting idle. When other slave machines are brought on line, the hits are more frequent but something occurs every four seconds which reduces the cpu performance by about 90 percent. From my limited understanding of the mechanics, this should not occur with simple file locking or checking operations. I can have all sorts of other more intensive network operations going on without significant performance degradation — only 3DS slaves cause this problem. Thanks, Alec Jason
#150996From: Jonas Ruikis [ADESK]Feb 4, 1995 9:32 AM
Hi Alec, << official question.. >> Brian Rudolph will be back at work on Monday. He's most knowledgable in network rendering. I'll make sure he sees this thread. jonas[adesk]
#151050From: alec jasonFeb 4, 1995 3:29 PM
Thanks, Jonas. Alec Jason
#151030From: Feb 4, 1995 12:39 PM
Alec: >> I believe I have a right to a serious, complete response to my question… On this forum? <bg> OK, reasonably seriously – when you first start a slave, it writes a file out to the server telling the system that it is available. It then constantly checks to see if there is anything to do. In your 3DSNET.SET file there are a number of settings for what is going on between the slaves and the server. How often it happens is governed by those settings. Here are the relevant settings: ;—————————————————– ; NET COMMUNICATIONS SETTINGS ;Sets time interval in minutes between "squawks". Each ; machine "squawks" periodically to notify network of ; its status. Range is 1-10. NET-SQUAWK = 1 ; ;Sets time interval in seconds between inquiries from this ; system to others on the network. Range is 1-100. NET-POLL-TIME = 3 ; ;Sets the time interval in minutes that a machine is allowed ; to sit without squawking before it's treated as having ; crashed. Range is 1-60. NET-TIMEOUT = 4 ;—————————————————– Was that serious and complete enough? :^) Greg Pyros
#151051From: alec jasonFeb 4, 1995 3:30 PM
Hi Greg, Thanks much for your response but it doesn't answer my question. My network functions quite well with all other non-3DS operations. File tansfers, etc all go smoothly and nothing else except the 3DS slaves draw down my server's CPU. I want to know what the idle slaves do that will affect the server's cpu. I am aware of all the things you mentioned (net polling time, etc) but those little operations should not bring a 486/66 cpu to its knees. Something ELSE is going on, I believe, and that's is what I'm trying to learn about. Thanks, Alec Jason
#151194From: Feb 5, 1995 9:56 PM
Alec: >> Something ELSE is going on, I believe… The butler did it! <g> I don't think anything that Gus or I didn't mention is happening. Perhaps something else could be causing a problem? Is the shared drive properly locking the control files (as it has to)? If not, many of the computers will open it up at the same time and try to write to the same file, messing everything up. I've seen this happen before – do you have SHARE running? Greg Pyros
#151222From: alec jasonFeb 6, 1995 2:24 AM
Greg, Aha! I think you're on the right track. I do have share running but something is probably set wrong somewhere. Have you got any ideas how share should and should not be setup? The line in my autoexec.bat file shows: C:\dos\share.exe /l:500 /f:5100 (with Qemm loading it high). Alec Jason
#150655From: alec jasonFeb 2, 1995 2:04 PM
Thanks Gus, I don't know anything about all this but I suspect there is more going on than simply the standard network operations you very well described. The network functions very well with everything else except 3DS in slave mode. And I'm not the only person using Lantastic with 5 machines or so but I seem to be (once again) the only one with this performance problem. Do you mean that the situation I'm experiencing is normal and predictable for anyone using Lantastic and 6 machines? I'd still like to know WHAT THE IDLE SLAVE MODE MACHINE DO WHICH REQUIRES CPU TIME FROM THE SERVER. No one at Autodesk nor YG seems to know. The best solution I've found so far is to simply map the network directory to one of the P90's as they don't seem to be affected. Thanks again for your insight, Alec Jason
#150814From: ALAN IGLESIASFeb 3, 1995 11:26 AM
Alec, I think if I were putting together a 6+ machine rendering farm for 3DS, I'd definitely consider setting up a dedicated server running Windows NT network software. I'v seen it done a couple of times recently with good results. Just a thought, -Alan
#150958From: alec jasonFeb 3, 1995 11:55 PM
Thanks Alan, I've got enough problems without trying to set up a new network with new software. I'm getting by now and I can't afford new problems. But thanks for the advice. Alec Jason
#151158From: DONALD NEWLANDSFeb 5, 1995 4:01 PM
Alec, << WHAT THE IDLE SLAVE MODE MACHINE DO WHICH REQUIRES CPU TIME FROM THE SERVER?>> The slaves periodically check the 3DS network control files — but I can't imagine that this eats up noticable CPU time — unless it is a slow machine and/or you are using it as a workstation. -Donald