I have to wonder why you are using a multi-processor (physically separate processor chips) server oriented motherboard
The motherboard it s a T5610 Precision Workstation. It is not a server.
for 'normal' photo processing?
Sorry, I know I posted this in the Digital Photography forum, but photography is only one use I have actually.
I am an animation and visual effects student, so Photoshop is only one program I use. When I am not editing photos though, I am frequently working on extremely large 16 or 32 bit height map files in the 200MP range. Fortunately, they're greyscale, so Photoshop isn't necessarily the problem.
I'm currently studying Cinema 4D, Houdini, Maya, After Effects and Nuke. Frequently I'll flat out run out of memory. I'll admit, a lot of that specifically is inexperience and poor optimization or just making stupid mistakes with order of magnitude. But really 16gb is WAY too little headroom - especially when I forget that 1000^3 is a heck of a lot bigger than 100^3
Also I frequently have to have more than one of these programs open with large files loaded. For example, I might have Photoshop open to edit a texture or some graphic element, while having After Effects or Cinema 4d opn. Or I might have Cinema open and caching an Alembic file to use in Maya. Or I might have Houdini open and doing something idiotic no amount of RAM handle .. because it's REALLY easy to do that in Houdini.
I have no idea whether products such as Photoshop and other modern editors can take advantage of physically separate processors vs a quad- or octo-processor all on one chip.
As I understand it, the operating system and associated libraries (openMP, openCL) handle thread scheduling, not software. So basically what it does is say "I have this list of stuff I need done all at once" and the OS is responsible for dividing those tasks according to available resources.
If every application were responsible for scheduling and load balancing it would be a free for all.
The software I use do utilize all available cores for most situations, and in the case of 3d rendering and simulations they are highly optimized for multithreading. But one significant advantage of having 24 threads available is that I can set thread utilization for larger processes that might take hours to, say 20 or 22 and still have a very usable machine for doing other assignments, catching up on tutorials or watching cat videos.
If I had 8 threads are available a greater percentage of the the processor capacity is taken up. If I freed two threads on an 8 thread machine, I would have used up 1/4 of the resources available, which is way more than is necessary for cats on youtube.
I did look into the many core i7 options, but none were cost effective, especially when considering that the machine I got was refurbished.
I'm no 'RAM guru' but I do know that mixing RAM sizes and even manufacturers on the motherboard will cause the internal RAM-controller chipset to do 'extra work' to keep everything straight. The problem is that each manufacturer and speed-rating of RAM is different from all others in terms of 'cycle time'
That does make sense, and I would imagine that CAS timing would be considered in system-specification.
I've never really 'dug deep' on the subject other than some minor tweaks ('guesstimates') needed for overclocking on my computer.
I do not overclock. It'd kind of defeat the purpose of owning a workstation.
Putting different speed RAM or even different sized RAM in 'paired' slots may result in anything from failure to boot to BSOD (Blue Screen Of Death). On (I think) all the ASUS motherboards I've used to build and upgrade computers with through the years, if there's 4 slots for RAM, they are always 'paired' A-B-A-B where if two sticks are used, they should be in both A slots, etc.
IIRC my manual only specifies a specific order which ram must be installed, not any mention of pairing. Obviously the machine does run reliably with an odd-number of memory slots filled. I just don't know if slots are shared by both processors in such an instance. So like, if Processor A has 4+8gb available, while Processor B has only 4GB available; if both processors have access to the 4gb associated with their slots while sharing the 8gb installed in Processor A's second slot; or if they both share all memory according to what is available at the time.
So, would installing additional memory be an improvement?
I frequently get an "out of memory" error. So yes, that is the issue. Again, sometimes this is me just being stupid, and there is something to be said about learning on limited hardware, but it's pretty ridiculous at times. Plus I think excessive processing times would be a big enough deterrent to not add too many zeros without having everything just crash out on me.
I would still run into the same 'wall', just later than before.
Well, yes! I upgraded to this machine so I could "handle anything school demands". But I ended up just putting more demands on my work, so I don't really see any net performance gain!
One other issue is that of the capabilities of the motherboard.
Maximum capacity is 128gb. So this isn't an issue.
It might be slow processor speeds.
I do have a good feel for processor speed as my render times are reasonable. The issue is in simulation time, and more significantly in RAM usage. For larger simulations, memory usage does start to peak out at 80-95% with very slow response, making even cancelling out a slow simulation sometimes impossible. Even ending the process entirely is sometimes impossible.
If I can't cancel a mistake without having to watch a few episodes of Pawn Stars while waiting for Houdini to crash, it puts a lot of downtime on my assignment.
So double-check what RAM speeds are needed by your XEON processors
I think that this is a good argument for buying the system-specific RAM.
It could also be slow hard drive speeds. That could be the result of using IDE drives or SATA 2 drives instead of SATA 3 drives. (Don't even THINK of using external USB or eSATA drives if you want any kind of speed at all!)
HDD for files and OS is on SAS with a SSD for cache and applications on SATA3. I'd like to get an M.2 SSD for cache and put the OS on the SATA SSD, but that's not priority ATM. External USB for backup and transport only. HDD is getting around 130gb/s in hardware RAID 1 (obviously I have two drives mirrored as one), SSD is getting around 340gb/s.
Also, for what it's worth, I have a cheap, 2MB, non-fan-cooled video card in my computer.
I have a very expensive 2gb video card (Quadro K2000). It's what came with the computer. I'm not sure how I feel about it. It's pretty lousy for GPGPU, but runs viewport adequately.
GPUs are pretty tricky in my case, actually. There is an awkward handle on the inside of my case that limits the size of the GPU I can install, though I don't really trust the overclocked gamer cards anyway. The PSU is also very, very hairpin about overage, and one disadvantage with buying a factory-built PC is that they use a proprietary PSU .. and for a Precision Workstation, they're not cheap ... at all.
There is a whole host of complications in my case, least of which is the technology is changing pretty quickly. Maxwell Render is likely to use GPU more, while Pixar Renderman is rumored to also. But what technology and to what extent they'll be using is unknown.
I also don't have a good feel for which cards perform best with OpenCL, What my OpenCL workload looks like, whether or not I want to ditch the Quadro for a GTX and what Radeon cards perform well and by what margin under OpenCL. And because I don't do much with GPGU as my card isn't well-suited for it, I also don't know what kind of memory usages I'd require.
Kinda like this idea though
Dell CloudEdge C410x 16x M2090 GPU PCI Exansion Systems 2x PW, 4x HBA with cable
I'd have to ditch my Quadro and HD controller, but who needs a monitor or hard drive if you have 16 processing units?
Edit: as far as buying on
ebay, I've learned the hard way to stay away.
I think you've answered my questions pretty clearly actually. Considering CAS timing and other specifications, it's going to be best to buy system-specific memory from Newegg or directly from the manufacturer (or if I want to waste money, from Dell).
I bought this machine rather than building one to simplify matters like this, the engineers at Dell has already figured this stuff out.