News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Lean to max?

Started by daydreamer, June 14, 2006, 04:10:51 PM

Previous topic - Next topic

daydreamer

having 3 computers so far in renderfarm and thinking lowlevel
usually setup them to run lean, no autostart or anything in trayicon to take cycles
now thinking lowlevel with interrupts taking cycles and what best hardware to use to least bug memory bandwidth/ cpu ?
interrupts, does it help to not install drivers for hardware with no use for a only cpu rendering?
for example no soundcard drivers etc? or it doesnt matter?

hardware?, should I best bet on extreme lowres when run it to minimize screenupdate bandw ?
old crappy pci, old crappy agp, top end 3d agp, top end 3d pci express vcard, whats best and what disturbs cpu least to plugin a machine that is only a renderclient?

Mark Jones

Daydreamer, all these things take up, maybe, 1% of your CPU. Don't worry about them! You are far better off installing additional CPUs and/or Mainboards.

Just start your task manager, and enable the CPU TIME column, and run each box through a 24hr render. Then you'll see how much time each thread is using. Some can be eliminated, but if these systems are already this bare, it probably wouldn't make much of a difference.

If possible, you could try to run each without a video card and connect into it with VPN or VNC or something over ethernet.
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

daydreamer

Quote from: Mark Jones on June 15, 2006, 07:07:39 PM
Daydreamer, all these things take up, maybe, 1% of your CPU. Don't worry about them! You are far better off installing additional CPUs and/or Mainboards.

Just start your task manager, and enable the CPU TIME column, and run each box through a 24hr render. Then you'll see how much time each thread is using. Some can be eliminated, but if these systems are already this bare, it probably wouldn't make much of a difference.

If possible, you could try to run each without a video card and connect into it with VPN or VNC or something over ethernet.
1% is still much when you doing animations and making big posters, and it costs me nothing to have uninstall, unplug hardware compare to buy hardware, especially when they are memorydemanding stuff, it wont do with cheapest memory stick in all
I dont think you can start without video card, all you hear is beeping

Casper

A computer without a video card is a paper weight, you are being silly.

Casper

Roger

Hi Daydreamer,

Quote from: daydreamer on June 17, 2006, 01:29:54 PM
I dont think you can start without video card, all you hear is beeping

Your problem starts with the POST - Power On System Test. This is part of the BIOS PROM/Flash/etc. and is supposed to check the Computer is working bevore loading the OS. It also displays that absurdity :-

    Keyboard error or no keyboard present

    Press F1 tocontinue, Del to enter SETUP

I never have been able to discover if it tries to display the equivalent:-

    Display error or no Graphics Adaptor present


There used to be (back in the 1980s) a method of runing a PC from a terminal via a serial port. I saw this done at a company where everyone had terminals on the mainframe whereas PCs were only used for specialist uses. When a PC's Display Adaptor failed the computor support staff linked up a spare terminal until a new card was bought in. Off course the faulty card may have been left in situ to fool the POST.

The last company I worked for went over to using unatended industrial grade (ruggedized) PCs for use in speech switching systems and these had no vidio system. However they had special BIOSes which could have allowed for this.

Of course having got past the POST you then have to delude plug and play and Windows that every thing is fine.

Quote
1% is still much

If you have no screen saver and your program makes no API calls which access the vidio card or other non esential hardware what is this 1% doing anyway?

Regards Roger

Mark Jones

Well regardless of the exact details of the videocard (use a cheap PCI then), 1 percent of a single-CPU, 24-hour job is about 14 minutes. After waiting 24 hours, can't you wait an extra 14 minutes?

Sorry I do not know any "hardware secrets" to reducing this 1%. My best advice would be to try as many different configurations and drivers as you can, or try googling for others who might have been here before.
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

MichaelW

I seem to recall that the BIOS will refuse to boot a system without a display adapter if the CMOS setup specifies that the primary display adapter has an option ROM (EGA/VGA). I think you can bypass this by specifying that the primary display adapter is CGA or Monochrome.

eschew obfuscation

hutch--

Magnus,

Like a few others have mentioned here the processor time used by a video card would be almost impossible to measure from ring3 access. The biggest culprit is the OS scheduling in win2000 and later OS versions which chomp away at processor time just on idle. You do the normal things like make sure you don't have any high sample rate software running and this can include drivers like the infamous Sony rootkit. The sysinternals process explorer is a good toy for checking processor usage and at idle, the OS does the most.

You have another factor of course, modern video cards do a lot of processing of their own so if you are doing this type of work with a video card, it will save main processor time with this form of delegation.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

daydreamer

thanks all
its maybe not possible to get it down more

Mark Jones

Quote from: hutch-- on June 18, 2006, 03:39:34 PM
...the processor time used by a video card would be almost impossible to measure from ring3 access.

To clarify, a render "drone" or "slave" doesn't actually use the videocard for anything other than displaying the desktop. The render thread is simply a minimized application which contributes "bucket" calculations to the entire render project.

Quote
You have another factor of course, modern video cards do a lot of processing of their own so if you are doing this type of work with a video card, it will save main processor time with this form of delegation.

True, but the vast majority of render slaves don't use the T&L hardware found on newer videocards. The market is slowly creeping towards this though, i.e. http://www.mentalimages.com/1_1_news/news_texte/040419.html
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

daydreamer

Quote from: Mark Jones on June 25, 2006, 03:41:48 PM
Quote from: hutch-- on June 18, 2006, 03:39:34 PM
...the processor time used by a video card would be almost impossible to measure from ring3 access.

To clarify, a render "drone" or "slave" doesn't actually use the videocard for anything other than displaying the desktop. The render thread is simply a minimized application which contributes "bucket" calculations to the entire render project.

Quote
You have another factor of course, modern video cards do a lot of processing of their own so if you are doing this type of work with a video card, it will save main processor time with this form of delegation.

True, but the vast majority of render slaves don't use the T&L hardware found on newer videocards. The market is slowly creeping towards this though, i.e. http://www.mentalimages.com/1_1_news/news_texte/040419.html
offcourse gpus get more and more execution units for programmable shaders and have long already run on 128bits and no complex OS or other program and no need to have area of chip waste time for being backwards compatible with 70's 16bit cpu's
and more and more functionality has been added, conditional jumps etc, which wasnt aviable in first generation shaders, and custommade opcodes for usual light-equations need

if this continue I need to spend a fortune on highend gpus


Arnold Archibald

If you're reading this thread you'll notice a big time difference between this post and the previous post.

I felt, having had some hobby experience with 3D Studio Max 6's render features (yeap even Max 6 is getting old), that a few of my observations on the topic may help any aspiring Render Farmers.
I run an eclectic band of about ten (when they aren't off work and sick) bought and orphaned PCs running WinXP with MAX 6 hardline networked to a WD World Edition NAS.

Here's what I've found from experience.

1. Max out the core system with memory. 4GB for a 32bit platform, some of the old Pentiums only support 256, 512MB or 2GB.
    This might help to utilize more of it:
     http://dwf.blogs.com/beyond_the_paper/2009/04/enabling-3gb-switch-on-windows-vista.html
     http://www.microsoft.com/whdc/system/platform/server/pae/paemem.mspx
     http://www.maxi-pedia.com/3GB+switch+Windows+boot.ini+3+GB

2. Minimize installation to necessary components, this includes system tray items and other autorun software.
    Run "msconfig" and goto the startup tab and untick anything useless, if you're not sure then run a program like Ashampoo WinOptimizer to find out if it's necessary.
    Make sure WinOptimizer isn't running any background stuff too, keep it on the system for tweaking and cleaning though.
    Video drivers can help but don't install any of their special software, just the basics, and set your screen resolution low.
    Audio is useless, if windows keeps bugging you about it use Device Manager to disable the hardware.

3. Tweak the system using Windows System Properties and software like "Powertoys for Windows" (I think it might be written by Microsoft), tuneXP (DriverHeaven) and WinOptimizer (Ashampoo).
    Essentially stop or reduce any kind of activity or Windows service or process from being run that isn't necessary for rendering.
    You're System Tray should be as empty as possible.
    Set USB polling interval to a higher value so it interrupts the system less or if you don't need it disable it (not recommended as a thumbdrive is a great way to quickly move files onto a pre/freshly-installed OS environment).

4. Setup the render server program to auto execute. If you have a less powerful PC sitting around (I've picked up some for a couple of hundred bucks), most end of production laptops are cheap, use that to run the Manager/Monitor programs.
    This way if you setup a secure wireless LAN for just the laptop whilst keeping the servers hardlined to the NAS (Network Attached Server) that contains all of the assets then if you're in the mood for some sunshine you can still keep an eye on it.

5. Now for the Software Developer's side of this. Write a simple application that loads on startup, starts a user defined process, stops the Explorer.exe process and then closes itself.
    Explorer isn't needed by the servers during render time, though it can be easily rerun from Task Manager.

6. Make a backup of each system if they are different or one if you have a clone army and store it on the NAS.
    Macrium Reflect with a BartPE or Linux restore CD is pretty good for this.
    I don't know if they do a Restore Thumbdrive version, though I'm sure it wouldn't be to hard to implement, this would allow the cost of each server to be reduced as a single USB optical drive can be used instead of one per server.

7. When Rendering (in 3D Studio MAX's case) set the render to NOT start automatically so the project's settings can be checked and tweaked with the Monitor program.



I hope this all helps, the key here is to know as much as possible about the hardware and software you're using.
;)