Page 1 of 4

Building a new system

Posted: Thu Dec 06, 2012 12:56 am
by gboulton
So last weekend, my laptop took a dive (literally) and is a total loss. Looks like I'm building a new system. This one will be a desktop PC.

Astro (and some terrestrial) image processing will be the primary function, and I'm willing to spend a bit to get what I want. I've got fairly significant past experience building systems for all sorts of uses, and have in fact made my living in the IT industry for a couple of decades...so I'm not afraid to build my own, or to tinker with some new stuff. :)

That in mind, a few questions for Ivo et al:

1) Would a hyperthreaded quad core i7 significantly increase StarTools' performance over a quad core i5, all other things being equal?
2) Does StarTools make significant use of the GPU, as a hard core gaming system might, or are more of its demands on the CPU itself?
3) What single component of a system would you try hardest to maximize, if you could only choose one?

Re: Building a new system

Posted: Thu Dec 06, 2012 1:01 am
by mcbbcn
Hi Ivo,

I use a i7 and it's very fast, but I've noticed that when I use AstroTools, and I pull the Task Manager to see the 8 processors going, during certain activities when I push things like 512x512 in processes Life or others, I only see CPU activity in 2-3 processors out of the 8. I don't know why but I've meaning to share it with you...

M.

Re: Building a new system

Posted: Thu Dec 06, 2012 1:46 am
by admin
gboulton wrote: 1) Would a hyperthreaded quad core i7 significantly increase StarTools' performance over a quad core i5, all other things being equal?
For image processing, the number of cores is paramount, with other things like CPU cache also being important. If the number of cores are equal, I don't see an i7 have a huge advantage over an i5. To get a better idea on CPU performance differences, you could consult some multi-core benchmark results. Memory access/performance is fairly important as StarTools shifts around huge quantities of data!
gboulton wrote: 2) Does StarTools make significant use of the GPU, as a hard core gaming system might, or are more of its demands on the CPU itself?
StarTools currently does not make use of the GPU at all for a number of reasons;
The more complex the algorithms become, the harder it becomes to efficiently implement these on GPUs. For example, the deconvolution algorithm in StarTools is a very complex beast that requires per-pixel Gaussian kernel generation and grabs input from 3 or 4 subtly different copies of the input image. GPUs hate that sort of stuff - they are very good at performing simple operations a lot of times, but not good at performing complex that require lots of input data.
Moving data back and forth between the CPU and GPU quickly becomes a bottleneck, while GPU performance really drops as well when handling 64-bit doubles 32-bit integers.
Then there is the matter of pervasiveness of the technology. OpenCL enabled computers are unfortunately too few and far between (my development rig unfortunately falls into that category too).[/quote]
gboulton wrote: 3) What single component of a system would you try hardest to maximize, if you could only choose one?
Assuming you have a decent amount of memory (upwards of 6Gb), then I would say the number of cores. These days, an enthusiast would probably not consider an AMD rig, however in StarTools' particular case they offer a real bang-for-your buck; AMD's newer offerings share an FPU per (otherwise full-fledged integer) core to keep the cost down. Since StarTools typically performs its calculations in integer math, this really mitigates that one AMD drawback. This means you could have the performance of an 8-core CPU for the price of an i3 which could be quite attractive.

Hope this helps!

Re: Building a new system

Posted: Thu Dec 06, 2012 1:57 am
by gboulton
admin wrote: For image processing, the number of cores is paramount, with other things like CPU cache also being important. If the number of cores are equal, I don't see an i7 have a huge advantage over an i5.
I had figured as much. Are you saying then that the 4 "logical" cores presented by the hyperthreading of the i7 are not utilized by StarTools, or would it still see those, resulting in it thinking it had 8?
admin wrote: StarTools currently does not make use of the GPU at all for a number of reasons;
Again, not a surprise, for exactly the reasons you mentioned...that's "good news" in the sense that I can get away with a "decent" card and call it good.
admin wrote: Assuming you have a decent amount of memory (upwards of 6Gb),
Not a problem there. RAM's pretty cheap, planning on loading it up with 32-64GB, depending on the MB.
admin wrote:then I would say the number of cores. These days, an enthusiast would probably not consider an AMD rig, however in StarTools' particular case they offer a real bang-for-your buck; AMD's newer offerings share an FPU per (otherwise full-fledged integer) core to keep the cost down. Since StarTools typically performs its calculations in integer math, this really mitigates that one AMD drawback. This means you could have the performance of an 8-core CPU for the price of an i3 which could be quite attractive.
I think, in this case, I'm likely to pass on the AMDs...which saddens me, I used to be a big fan of theirs...I just don't see the market supporting them very well for much longer, I fear.

==========

Thanks boatloads for the input, Ivo! Really good stuff.

Gordon

Re: Building a new system

Posted: Thu Dec 06, 2012 1:59 am
by admin
mcbbcn wrote:Hi Ivo,

I use a i7 and it's very fast, but I've noticed that when I use AstroTools, and I pull the Task Manager to see the 8 processors going, during certain activities when I push things like 512x512 in processes Life or others, I only see CPU activity in 2-3 processors out of the 8. I don't know why but I've meaning to share it with you...

M.
Unfortunately, multi-threading cannot always be effectively implemented for all algorithms. That said, there are still some areas in StarTools that could benefit from more and better paralleization. Multi-threading is huge boon to CPU intensive tasks, but it is not always the answer if one has to wait for other system components (ex. memory).
This is an awesome explanation in layman's terms on why multi-threading is not always a silver bullet to speeding up things.

Re: Building a new system

Posted: Thu Dec 06, 2012 2:11 am
by admin
gboulton wrote: Are you saying then that the 4 "logical" cores presented by the hyperthreading of the i7 are not utilized by StarTools, or would it still see those, resulting in it thinking it had 8?
HyperThreading is a clever trick to keep a multi-threaded program ticking along when one thread is waiting for another system to come on-line (ex. memory), while another thread could execute an instruction that does not have to wait. So while the core would otherwise be waiting, HyperThreading allows the core to 'help another customer' while the current customer is waiting for something that is outside the control of the core.
However, if both threads/customers are constrained by the same same scarce resource (ex. memory access), HyperThreading does little good.
gboulton wrote: I think, in this case, I'm likely to pass on the AMDs...which saddens me, I used to be a big fan of theirs...I just don't see the market supporting them very well for much longer, I fear.
I hear you. As a matter of fact, I can really see ARM-based designs taking over from x86 architecture chips soon. They have already started outperforming Intel's low-end chips in virtually every metric. StarTools was built to be ARM-ready. If I wanted to, StarTools could be running on, for example, Android within days! (you heard it here first... :P)
Thanks boatloads for the input, Ivo! Really good stuff.
Gordon
Here to help Gordon. :D

Re: Building a new system

Posted: Thu Dec 06, 2012 2:13 am
by mcbbcn
Thanks for sharing Ivo. Cool stuff!

I was one of those fortunate people that with a really good friend in Intel, I was able to get my hands (for free) on an Intel i7 Extreme edition 3.2Ghz...the processor alone was $2,000 not including anything else, so I build a system around it, and I put 6Gb of RAM -which is what you're recommending- on a Windows 7 Ultimate 64-bit. It's a pretty fast system but as you said, multiple cores is not everything. Obviously, I would have never spend the money on a processor like this one but I was happy to get it for the best price..Whatever system somebody chooses in the end, the combination of fast RAM, bus speed, high clock processor speed & multiple cores will make a difference, but it's definitely what you're saying, one thing alone (i.e. multiple processors) is not sufficient to make a great difference...

Cheers,

M.

Re: Building a new system

Posted: Thu Dec 06, 2012 2:35 am
by admin
mcbbcn wrote: I was one of those fortunate people that with a really good friend in Intel, I was able to get my hands (for free) on an Intel i7 Extreme edition 3.2Ghz...
Woah, nice! :eusa-drool:

One other way of making StarTools faster, is to run it from RAM-disk on Windows, or to have the /tmp folder reside in RAM on MacOSX or Linux. StarTools swaps to disk a fair amount when in Tracking mode...

Re: Building a new system

Posted: Thu Dec 06, 2012 6:01 am
by mcbbcn
Great tip! I'll make the tweak!

Re: Building a new system

Posted: Thu Dec 06, 2012 1:35 pm
by gboulton
Good stuff, Ivo, and thanks again.

I think, then, given what I'm reading here, that I'll go with an i5 3570K...most of the image manipulation benchmarks suggest it outperforms all other i5s, and indeed all but 3-4 i7s at those sorts of tasks, suggesting it'll be "plenty fast enough" for little ole me, especially with a vast expanse of memory to play around in. That'll save me $100 or so, which is always spiffy. :)

I'll throw a bunch of RAM at the thing, go with some high speed drives, and give my tired old eyes a couple of big monitors, and I should be quite happy with my new "astro imaging monster" :)
admin wrote: StarTools swaps to disk a fair amount when in Tracking mode...
That IS a great tip...and with 32GB of RAM I should have the room! :) I'll keep this in mind!

=========

Ivo, I told you over on Reddit how much I appreciate you and your software...wanted to echo that here. My two favorite pieces of software in this hobby are StarTools and BackyardEOS, and a large part of the reason is that you and Guylain seem not only willing, but genuinely enthusiastic about making the hobby a bit easier, and a bit more fun, for the "average guy". It's appreciated! :obscene-drinkingcheers: