CCDWare Support Community
Forums
Imaging Topics
Image Aquisition Best Practices
multi-core computers|
Go
![]() |
New
![]() |
Find
![]() |
Notify
![]() |
Tools
![]() |
Reply
![]() |
|
|
CCDWare, Ltd. Orbiting around Earth |
I received this via private email and thought it was worth wider discussion.
Unless an application is multi-process aware, the only scheduling of processors is by the OS. When I first went to dual core, I found guiding was unafftected by web browsing, unlike with a single processor. So my guess is that multiple apps may be assigned multiple processors but I have no clue as to how this is done. BTW, the next version of Mac's OSX, called snow leopard, is supposed to do the processor scheduling itself, which sounds like thread scheduling. That is a year away and it remains to be seen how that will work. Other comments welcome, of course. John CCDAutoPilot author |
||
|
|
Good Seeing |
There is a setting called CPU Affinity that I think can cause an application to use a specific CPU. Not sure if in a multi-core system whether that is really necessary to cause the OS to spread all the different processes across all the engines. One would hope that the OS wouldn't try to execute everything on a single core and leave all the others idle....
Jonathan |
|||
|
|
Orbiting around Earth |
That might be useful for a shaky application with critical time sensitivity (like maybe a large video camera that needs constant attention else corrupted or droped frames result if/when the CPU is not paying attention, though I run a Firewire camera and it doesn't take that much CPU time). Otherwise I would not mess with that. The fact is that a single CPU core is often most efficient when it runs 4 or 5 worker threads and an app running on multi-cores will often have different threads assigned to cores or even core switched by the OS. You can see this by monitoring a single non-multi-threaded app in “Task Manager” (Performance tab) – the total CPU will be near 50% (less if I/O bound, slightly more if computational) and sometimes one of the processors will be 80-100% and other times they will each be near 50%. A multi-threaded app will use all available CPU (unless I/O bound). CPU design is very complicated and sophisticated and unless you *really* know what you are doing you should just let the app and OS handle things. The benefit of dual (or more) core for non-multi-threaded apps is the ability to run several of them seamlessly. For example, you can deconvolve in one instance of CCDStack while processing images in another instance of CCDStack. BTW, future versions of CCDStack (in development) will be multi-threaded... Stan |
|||
|
|
Orbiting around Earth |
By the way, CCDIS registration plugin will create multiple threads, up to the number of CPU's available on the computer. Each thread is dedicated to a CPU.
Regards, -Paul |
|||
|
| Powered by Eve Community |
| Please Wait. Your request is being processed... |
|
CCDWare Support Community
Forums
Imaging Topics
Image Aquisition Best Practices
multi-core computers
