Index  | Recent Threads  | Unanswered Threads  | Who's Active  | Guidelines  | Search
 

Quick Go »
No member browsing this thread
Thread Status: Active
Total posts in this thread: 18
Posts: 18   Pages: 2   [ Previous Page | 1 2 ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 2481 times and has 17 replies Next Thread
Ingleside
Veteran Cruncher
Norway
Joined: Nov 19, 2005
Post Count: 974
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

Hello.
I have a i7 processor with 4 cores.
It runs 8 tasks simultaneously.

This is good, but not perfect.
I wish that it could do fewer tasks, but faster.

The only DC-project I'm aware of there this is possible is in Folding@home that unfortunately doesn't use BOINC...

... but, FAH's SMP-client basically demands you're running your computer 24/7, so isn't an option for you...


andzgrid has already mentioned it, but just to give some numbers, let's say you're wanting to run a project, assumes users only runs quad-core computers, and has the choise between:
1: Finishing a single wu in 1.1 days.
or 2: Finishing 4 wu's in 4 days.

Now, #1 will obviously finish a single wu much faster than option 2. But, while option #2 will use 4 days/4 wu's, #1 will use 4.4 days/4 wu's.

If you've got a project with 100 M wu's to crunch, and let's say you'll manage to get 100 k quad-core computers to run this project continuously, option #1 will take 3.01 years while #2 will take 2.74 years, assuming 1 task/wu. If you also needs redundancy, the numbers doubles, so #1 is 6.03 years and #2 is 5.48 years.

Now, I don't know about you, but finishing the project 6 months earlier looks like a good thing to me...

Also, not to forget, in most cases you won't manage to make an SMP-client that's so efficient like the one in my example. You'll maybe need 1.5 days per wu, something that will increase #1 to 8.22 years if 2 tasks/wu, meaning 2.74 years longer than option #2.

The reason SMP often doesn't scale is that the result of calculation #1 must be used as input in calculation #2.
----------------------------------------


"I make so many mistakes. But then just think of all the mistakes I don't make, although I might."
[Nov 22, 2011 9:51:52 AM]   Link   Report threatening or abusive post: please login first  Go to top 
sk..
Master Cruncher
http://s17.rimg.info/ccb5d62bd3e856cc0d1df9b0ee2f7f6a.gif
Joined: Mar 22, 2007
Post Count: 2324
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

You have to use the advanced (more tricky) package at Folding; the standard client only runs on one thread. Also, some numbers of threads don't work; so you may be able to use 4 but not 5, for example.
Aqua (now closed) use to use Multi-threading, but it had issues, not least the fact that the number of threads in use varied, usually dropping towards the end of a run, and you could not use these free threads for other Boinc projects.

The reason you might want to run multi-threaded is task duration. It's fine having 8, 16 or even 24 separate tasks running on different threads/cores, so long as they each complete quickly (a few hours). The longer the task takes the greater the likelihood of problems. So if a task can complete using all cores/threads in say 12h, on a 24 thread dual skt high end server, then one task would take 288h (12days) if run on one thread. On a standard desktop that could take >400h. Some people would just give up if a task runs say for 40h, or 100, or 150h... and abort the task, retarding the project (resends); sometimes the science requires a fast turn around of a complete batch of tasks, to build the next batch, and therefore has to run several batches (or internal projects) concurrently, or the project is up and down repeatedly.

Not many applications are designed to cater for multi-threading. It takes a lot of time to refine applications, and there is a learning curve. My understanding of recent Intel processors, and available building tools, is that to some extent this is becoming easier, but I'm not sure that its catching up with ever-increasing core/thread counts. Perhaps the drive towards cloud computing will improve the situation.
[Nov 22, 2011 1:33:34 PM]   Link   Report threatening or abusive post: please login first  Go to top 
mikey
Veteran Cruncher
Joined: May 10, 2009
Post Count: 824
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

What does it take for cores to cooperate better? Will newer versions of BOINC support that? And when?

- Mannen med ljaaen [Nov 21, 2011 10:04:14 PM] post > (original post)
BOINC already supports this. It's the science apps that don't. Sorry but multithreaded sciences still don't exist in WCG.

- Falconet [Nov 21, 2011 10:17:49 PM] post > (response post)
The idea of using multiCores to cooperatively crunch for a single WU competes with the idea that WUs can be sized and coded to crunch in parallel across multiCores. That is, if, say 8 cores, are cooperatively run and took 1-hr to crunch a given WU, that WU can be re-sized so that 1-core would take 1-hr to crunch. The output is the same: 1hr-perCore-perDoneWu.

To code for cooperative cores (multiThreading) is difficult and does not scale as well with the number of cores. To code for parallel execution (multiProcessing) is a lot simpler, and scales well not only with the processor capabilities, but also with the number of cores. Put simply, multiProcessing beats multiThreading.

If each task is too slow for you, I would suggest running projects with faster run-times, like HCC.

- ryan222h [Nov 21, 2011 11:48:14 PM] post > (response post)
Exactly, and that is why HCC is the project that would give birth to the first GPU-aware app in WCG! Rather than look for ways to run 4 or 8 cores (for a task that used to take CPUcores*WUruntime) cooperatively, it is a lot better in many respects to size-down a WU and run them in the hundreds-of-cores of today's GPU -- all in parallel.
;


One other thing to consider is that if you were to use "multithreading" each cpu MUST remain available to Boinc for the entire duration of the run or things could get complicated. A 'super computer', such as a Cray, does ONE task at a time very fast, but it only does one thing at a time, no checking mail no AV running, no nothing else running while crunching. Then what about those people that don't have multiple core pc's, yes there are still some out there laptops for instance. So then a project would have to code its units to use the "multithreaded" or not to use it depending on what it finds, or even worse the project has to make different kinds of workunits for the different kinds of machines. Right now today "multiprocessing" is better, in the future who knows!
----------------------------------------


----------------------------------------
[Edit 1 times, last edit by mikey159b at Nov 22, 2011 1:41:52 PM]
[Nov 22, 2011 1:39:29 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Hypernova
Master Cruncher
Audaces Fortuna Juvat ! Vaud - Switzerland
Joined: Dec 16, 2008
Post Count: 1908
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

I like the post by andzgrid. Just to make sure that everybody understands hyperthreading, assume that a project runs in 5-hours. Then 4 cores will run 4 work units in 5 hours (ignoring minor time losses due to contention). Running 2 such units on a hyperthreading core might complete both work units in 8 hours and 45 minutes rather than the 10 hours it would take to run the 2 work units sequentially. So this is greater throughput but each individual work unit tales longer. There is also some increased heat. In general it is a bad idea to disable hyperthreading. After all, the OS keeps running a lot of threads in addition to the work units. If you want individual work units to finish quickly, just use the BOINC 50% command to schedule 1 unit per core rather than 2.

Lawrence


In the past I tested a lot the Intel 980X a six core, with (12 threads)or without (6 threads) hyperthreading.
There are differences per project but one can say that with hyperthreading on you get about 15% more work done. (I do not know how things are in the AMD world)
It is not important the time one WU takes at a given moment. What is important is statistically on a a longer period, (ex. ten days or more) how much output you produce. After all we are here to crunch for a long time.
Conclusion, keep hyperthreading on.
I will have in the coming days a Intel X3960 running, and will check how it does behave with hyperthreading on and off.
----------------------------------------

[Nov 28, 2011 5:35:33 PM]   Link   Report threatening or abusive post: please login first  Go to top 
sk..
Master Cruncher
http://s17.rimg.info/ccb5d62bd3e856cc0d1df9b0ee2f7f6a.gif
Joined: Mar 22, 2007
Post Count: 2324
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

I would expect more than a 15% performance boost using HT on the 3960X; assuming you mean this CPU and not the X3960 laptop! As these OC using Turbo, you could in theory switch HT off, up the Turbo and get a similar performance. Would be interesting to see the power usage with HT on and Off.
I would be interested in seeing some stock performances. It's anticipated that the improvement over the SB i7-2600K is only around 6% clock for clock, but crunching is not the same as gaming, work or general usage.
At £800 the CPU is far too rich for me, as are the boards..., but I would be interested in reading about real performances. Look for a PCIE3 motherboard!
One things for sure, these will help reduce heat come the summer months, so you might be able to keep crunching that little bit longer.

Good luck,
----------------------------------------
[Edit 1 times, last edit by skgiven at Nov 28, 2011 7:08:50 PM]
[Nov 28, 2011 6:10:53 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Hypernova
Master Cruncher
Audaces Fortuna Juvat ! Vaud - Switzerland
Joined: Dec 16, 2008
Post Count: 1908
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

3960X; assuming you mean this CPU


You are right skgiven. I misplaced the X wink

The motherboard is an Asus Sabertooth and it is indeed a PCIE 3.0.
----------------------------------------

----------------------------------------
[Edit 1 times, last edit by Hypernova at Nov 28, 2011 9:17:45 PM]
[Nov 28, 2011 9:14:51 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

Another thing to note wiht the i7 processors.
In preferences you can select "use at most 100% cpu time". This will get you faster results.
With previous processors doing so made the machine run sluggish if doing something else while runnign WCG in the background. With the i7 the machine will run smoothe.
[Dec 11, 2011 4:47:05 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Can cores work together to reduce time?

With ThreadMasterGui [for WXP/W2K and up] as replacement for the BOINC setting you get an all-round smoother experience. You only need to change the ceiling factor that default applies to all lowest priority" BOINC science apps, and it will run your tasks smoothé too, not the hacksaw profile you get with the BOINC throttle... running X seconds, pausing Y seconds... which is the reason why BOINC is noticed in the first place by some sensitive programs.

Apologies for that interjection.

Calling the beast by it's name as what the title is asking for, SMP processing on BOINC I've only experienced when testing with the MW project. Ruthlessly, when it had it's turn, you get kind of the Hi priority processing experience. All running tasks are put in stasis, and MW grabs all BOINC allowed cores [and with running CEP2 only and LAIM on, a serious memory hogging situation]. The odd view then observed in BOINCTasks is how you see the CPU time column run 4 times as fast as the elapsed column, so an task of 1 hour counts as 4 hours on a quad. Similar to GPU, it requires very special coding, which most types of science tasks are not suited for as they are serial processing oriented, or so they seem to me.

--//--
[Dec 11, 2011 5:15:51 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Posts: 18   Pages: 2   [ Previous Page | 1 2 ]
[ Jump to Last Post ]
Post new Thread