+- +-
Say hello if visiting :) by Gecko
11 Jan 2023, 07:43:05 pm

Seti is down again by Mike
09 Aug 2017, 10:02:44 am

Some considerations regarding OpenCL MultiBeam app tuning from algorithm view by Raistmer
11 Dec 2016, 06:30:56 am

Loading APU to the limit: performance considerations by Mike
05 Nov 2016, 06:49:26 am

Better sleep on Windows - new round by Raistmer
26 Aug 2016, 02:02:31 pm

Author Topic: What BOINC features we need and what don't  (Read 22665 times)

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
What BOINC features we need and what don't
« on: 18 Jul 2009, 03:26:22 pm »
I trying to get max performance for my quad with ATI GPU installed with BOINC 6.6.36 and have already some impression about this version.

For those who neber used ATI GPU with BOINC:
there is no official support for ATI GPU in BOINC but there are at least one project (MilkyWay) that has already optimized app that uses ATI GPU.
Cause there are some special CPU acceleratot boards exist for which BOINC has no support also ATI GPU can be good example what difficulties we could meet if will try to use any CPU accelerator beside nVidia's GPUs.

First and most global problem: BOINC  have no abilities nor options for project pairing. I mean, there is no way to tell BOINC to run this project in pair with that project on multi-CPU systems.
Only indirect influence is possible - via project shares, number of CPUs and CPU shares for project apps.

Now more thorough about ATI GPU + MW tasks running on them.
MW app uses almost no CPU at all.
So it's natural to set its avg_ncpus and max_ncpus to some small value. This will allow MW tasks to run in parallel with CPU intensive tasks. (Note, this model also accounts for any low CPU project like HDD intensive or network intensive apps). But BOINC tends to ignore this opportunity:

situation 1:
MW has lower project share than SETI.
BOINC tends to run 5 SETI tasks (quad system with ncpus setted to 4) that suboptimal and no MW tasks at all, that too unoptimal to tolerate, GPU stays completely idle.

situation 2:
MW has higher (or equal)  project share with SETI:
BOINC tends to run as much MW tasks as it have in cache. Fortunately, there are very low limit of tasks in queue for this project so with 24 MW tasks running BOINC still able to run 4 SETI tasks.
That config is suboptimal too, but at least both CPU and GPU are busy with work.

situation 3:
and what will be if some third "backup" project is active (einstein@home in my case):
cause it's backup project, it should get work only when main projects can't feed host with work. So, its project share is very low.
When einstein has some work and SETI starting to give work too, BOINC 6.6.36 tends to switch einstein tasks into high priority mode putting MW tasks in "waiting for run" state. That is, GPU stays idle again.

That is, there is only one, very unstable, case when both CPU and GPU completely busy with work.

What we need IMHO to be changed in BOINC:

1) project pairing ability should be developed and added to BOINC client.
2) "high priority" mode should be used with much greater care than now. In case 2 MW taks recive "high priority" status too although completion time for each task is less than 3 minutes. And deadline ~3-4 days. Cause MW had bigger project share there is no need to run these tasks in high priority mode at all. Current BOINC 6.6.36 shceduling is broken obviously.
3) option needed to restrict BOINC from using transition to "waiting for run" state (as it exists to restrict BOINC from leaving app in memory, to use CPU, GPU and so on).
Such transition in case of MW app can completely destroy any BOINC's estimations about completion times of these tasks.

Offline arkayn

  • Janitor o' the Board
  • Knight who says 'Ni!'
  • *****
  • Posts: 1230
  • Aaaarrrrgggghhhh
    • My Little Place On The Internet
Re: What BOINC features we need and what don't
« Reply #1 on: 18 Jul 2009, 05:58:38 pm »
situation 1:
MW has lower project share than SETI.
BOINC tends to run 5 SETI tasks (quad system with ncpus setted to 4) that suboptimal and no MW tasks at all, that too unoptimal to tolerate, GPU stays completely idle.


I think I know why mine works a bit better than yours on MW, I don't use the config file and just let it run as needed.
Recently I have gotten a lot of work and while it will start up 10 units it leaves the rest as "ready to start"

Of course I also drop down to 3 processing SETI as well.

Offline Richard Haselgrove

  • Messenger Pigeon
  • Knight who says 'Ni!'
  • *****
  • Posts: 2819
Re: What BOINC features we need and what don't
« Reply #2 on: 18 Jul 2009, 08:03:59 pm »

What we need IMHO to be changed in BOINC:


Shouldn't you add:

4) Native detection of ATI graphics cards, and supported scheduling of applications which use them
???

Offline MarkJ

  • Knight o' The Realm
  • **
  • Posts: 96
Re: What BOINC features we need and what don't
« Reply #3 on: 19 Jul 2009, 01:31:07 am »

What we need IMHO to be changed in BOINC:


Shouldn't you add:

4) Native detection of ATI graphics cards, and supported scheduling of applications which use them
???

Slated for BOINC 6.10 apparently.
« Last Edit: 19 Jul 2009, 01:54:39 am by MarkJ »

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: What BOINC features we need and what don't
« Reply #4 on: 19 Jul 2009, 02:45:59 am »

Shouldn't you add:

4) Native detection of ATI graphics cards, and supported scheduling of applications which use them
???
Actually not. It's not possible to support all current and future coprocessors in the world. Some mechanism should be devised that will not need separate support for each such device

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: What BOINC features we need and what don't
« Reply #5 on: 19 Jul 2009, 02:53:54 am »
situation 1:
MW has lower project share than SETI.
BOINC tends to run 5 SETI tasks (quad system with ncpus setted to 4) that suboptimal and no MW tasks at all, that too unoptimal to tolerate, GPU stays completely idle.


I think I know why mine works a bit better than yours on MW, I don't use the config file and just let it run as needed.
Recently I have gotten a lot of work and while it will start up 10 units it leaves the rest as "ready to start"

Of course I also drop down to 3 processing SETI as well.
Hm, if you get idle CPU cores time to time it's not better ;)
Currently I managed to have MW RAC >52k with peak >56k (then einstein started in high priority mode and BOINC with great sadism began to put into waiting state exactly that MW tasks which was actually run) It's MW opt app pecularity so I didn't mention it in starting post but if those 3 (in my case number ==3, default setting) MW tasks that actually run will be put in waiting state, all MW tasks will be stopped. BOINC can set remaining "running" tasks into high priority  state - no matter. They will do no progress at all.
User intervention (BOINC restart) absolutely required in such situation.

Offline arkayn

  • Janitor o' the Board
  • Knight who says 'Ni!'
  • *****
  • Posts: 1230
  • Aaaarrrrgggghhhh
    • My Little Place On The Internet
Re: What BOINC features we need and what don't
« Reply #6 on: 19 Jul 2009, 03:22:44 am »
I go full idle on occasion, it is also my gaming machine and playing games and crunching at the same time do not mix at all.
Either the ATI app crashes, the driver crashes or the computer just BSOD's.

I don't mind the idle CPU all that much since I am mostly concentrating on getting my MW RAC up.

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: What BOINC features we need and what don't
« Reply #7 on: 21 Jul 2009, 04:10:05 am »
Ok, so we pursue different aims in our setups :)
I trying to get best possible MW performance (almost pure ATI GPU processing) almost not hurting SETI performance (CPU processing).
And came to sad conclusion that it's impossible to achieve with BOINC 6.6.36.
Sheduling is broken. High priority mode in use on every sneeze... And running 4 CPU taks in high priority mode makes impossible to run additional tasks even with avg_cpu setted to 0.01.
So, if 4 SETI or einstein tasks are running in high priority mode, no MW tasks running at all :(
Situation with BOINC resembles situation with robots described in Shekly's story "A Ticket to Tranai".... they unfeature their robots in same manner BOINC devs degrade BOINC... :(

Offline arkayn

  • Janitor o' the Board
  • Knight who says 'Ni!'
  • *****
  • Posts: 1230
  • Aaaarrrrgggghhhh
    • My Little Place On The Internet
Re: What BOINC features we need and what don't
« Reply #8 on: 21 Jul 2009, 08:32:03 am »
Lets also not forget that I only use 6.6.20 on my PC's as well.

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: What BOINC features we need and what don't
« Reply #9 on: 21 Jul 2009, 08:52:34 am »
Lets also not forget that I only use 6.6.20 on my PC's as well.
Oh, you lucky one :)
I installed some special build of 6.6.36 to diminish current SETI's problems with bandwidth, but it seems will be forced to return to 6.6.20. I used it before and had only one problem - too much running MWs.... Now I have completely different problem, no MWs at all too often...

WHRoeder

  • Guest
Re: What BOINC features we need and what don't
« Reply #10 on: 21 Jul 2009, 02:32:35 pm »
On another forum (MW or Boinc) someone reported that 6.3.?-6.6.37 has a bug in the scheduling calculation. That why we get the won't complete in time message.
Its been fixed in the main trunk.

Offline Raistmer

  • Working Code Wizard
  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 14349
Re: What BOINC features we need and what don't
« Reply #11 on: 21 Jul 2009, 02:40:02 pm »
yes,geles posted on BOINC and I on MW, will see what that fix is. But  unfortunately, it solves fetching problem but not solves scheduling problems...

ralph

  • Guest
Re: What BOINC features we need and what don't
« Reply #12 on: 24 Aug 2009, 11:05:13 pm »
I think that trying to lay all this on the BOINC Manager might make it too complex, but a "BOINC Setup advisor"  might be a good thing to design.

The setup advisor could:

1) analyze your hardware, along with BOINC projects, and figure out what science applications to recommend, based on effiencies and/or workunit data sizes.  For example, if I have an nVidia GPU, it could recommend applications that used that feature.

2) connect to your friends (based on their e-mail address, or where you went to high school or college) or 'geek buds' (based on their hardware similarity) and invite/encourage them to complete with you to process workunits.

Any other suggestions?

Vid Vidmar

  • Guest
Re: What BOINC features we need and what don't
« Reply #13 on: 18 Oct 2009, 07:57:48 am »
I would like to have the ability to set resource shares between projects per resource (cpu / gpu ... ).

Triumph

  • Guest
Re: What BOINC features we need and what don't
« Reply #14 on: 19 Oct 2009, 08:32:53 am »
I would like to have the ability to set resource shares between projects per resource (cpu / gpu ... ).

What, like having 4 core cpu with different projects running on each core at the same time(+gpu)
It seems to be easier to schedule properly each project

 

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?
Members
Total Members: 97
Latest: ToeBee
New This Month: 0
New This Week: 0
New Today: 0
Stats
Total Posts: 59559
Total Topics: 1672
Most Online Today: 4
Most Online Ever: 983
(20 Jan 2020, 03:17:55 pm)
Users Online
Members: 0
Guests: 58
Total: 58
Powered by EzPortal