Suggestion: Perform resource share calculations on the local machine

Message boards : BOINC client : Suggestion: Perform resource share calculations on the local machine
Message board moderation

To post messages, you must log in.

AuthorMessage
Matthew Burch

Send message
Joined: 1 Oct 11
Posts: 17
United States
Message 59586 - Posted: 13 Jan 2015, 13:29:22 UTC
Last modified: 13 Jan 2015, 13:31:19 UTC

If I, the operator of a machine, choose to donate the resources of the machine in a specific proportion based on resource share, then my machine should be devoting processing time in that ratio, and only based on local calculations of local resources.

This should be regardless of scheduling or crunch time shenanigans. For two months now, my machine, which is set with a resource share of one hundred (100) on SETI and five (5) on Asteroids, has touched no SETI work while SETI work units are locally available. This is apparently because, whether intentional or not, Asteroids is abusing BOINC's crunch time management.

I have SETI and Asteroids work units available on my machine now. I have partially completed SETI work units sitting idle.

Asteroids has taken over my machine, and BOINC is doing nothing about it because the work coming from Asteroids is automatically prioritizing itself over all SETI work.

In order to prevent my machine from simply donating computing power to the project with the most aggressive data schedule, resource share needs to have meaning. Right now, BOINC is not managing my donation of resources in the manner which I have indicated that I wanted the resources donated.

I have set Asteroids to stop retrieving more work. When my machine has completed the work currently available to it, I will be ending my association with Asteroids and concentrating 100% on SETI again. This is not how resource sharing should work. I should not have to manually disassociate myself from a project to force BOINC to perform work for another project.

Simply put, the simplest way to keep BOINC projects from gaming the system and voiding the wishes of donors is to move resource share calculations to the local machine.
ID: 59586 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 59592 - Posted: 13 Jan 2015, 16:06:35 UTC - in response to Message 59586.  

BOINC Manager is the graphical user interface, that allows you to command and control the BOINC client. BOINC Manager on its own makes no command decisions.

But as you have been told many times now, your problem stems from elsewhere, from your demand to run a cache with 10 days worth of work, when Seti cannot fulfill that demand due to them having a 100 task limit in place. Aside from varying deadlines.

You can continue to post your complaint in all forums we have, but in the end it is you who has to change your settings, or your choice of projects. And else... there's always the source code, now also available at Github. Download, change to your heart's content, compile and run your own MOINC.
ID: 59592 · Report as offensive
Matthew Burch

Send message
Joined: 1 Oct 11
Posts: 17
United States
Message 59626 - Posted: 13 Jan 2015, 22:37:43 UTC - in response to Message 59592.  
Last modified: 13 Jan 2015, 22:40:53 UTC

BOINC Manager is the graphical user interface, that allows you to command and control the BOINC client. BOINC Manager on its own makes no command decisions.

But as you have been told many times now, your problem stems from elsewhere, from your demand to run a cache with 10 days worth of work, when Seti cannot fulfill that demand due to them having a 100 task limit in place. Aside from varying deadlines.

You can continue to post your complaint in all forums we have, but in the end it is you who has to change your settings, or your choice of projects. And else... there's always the source code, now also available at Github. Download, change to your heart's content, compile and run your own MOINC.


I have changed my settings. I have made my choices. And they are being ignored.

As you say, BOINC Manager doesn't make it's own command decisions. However, it should abide by MY command decisions. I have required a certain division of resources in the BOINC manager. Those requirements are being ignored.

Your argument about the cache and the task limit are irrelevant when one looks at the underlying problem. The BOINC manager isn't managing. The BOINC manager is simply allowing individual projects to claim my machine resources, regardless of what I want my resources to be devoted to. My machine simply puts the vast majority of my system resources towards whatever project I am signed up for that has the most aggressive dev team.

I believe that part of the reason that BOINC exists is to allow people to participate in more than one project, should we wish to do so. I wish to do so. However, right now, I'm not. I am participating in one project, despite my clear wishes as noted in the resource share settings. And that one project is not the project that I would choose to be involved in if I can only participate in one project.

So, when my Asteroids work runs out, I will be dropping Asteroids and participating 100% in SETI again, since BOINC cannot properly manage my system resources. I will not participate in any other non-SETI project again unless I hear that BOINC has been modified so that it locally implements resource share allocations that are stipulated by donors.
ID: 59626 · Report as offensive
Aurora Borealis
Avatar

Send message
Joined: 8 Jan 06
Posts: 448
Canada
Message 59636 - Posted: 13 Jan 2015, 23:34:04 UTC - in response to Message 59626.  
Last modified: 13 Jan 2015, 23:41:14 UTC

You are still expecting immediate response. It doesn't work that way. It can take weeks before RS finds a balance. It took me 6 months to balance my SETI and Milkyway project. There is always overshoot by one or the other project, but in the long term a balance is maintained. The trick was to make incremental changes. Next I will tackle Einstein which took a big jump ahead when SETI was misbehaving for almost a month.

Boinc V 7.4.36
Win7 i5 3.33G 4GB NVidia 470
ID: 59636 · Report as offensive
Matthew Burch

Send message
Joined: 1 Oct 11
Posts: 17
United States
Message 59670 - Posted: 15 Jan 2015, 3:57:54 UTC - in response to Message 59636.  
Last modified: 15 Jan 2015, 3:58:27 UTC

You are still expecting immediate response. It doesn't work that way. It can take weeks before RS finds a balance. It took me 6 months to balance my SETI and Milkyway project. There is always overshoot by one or the other project, but in the long term a balance is maintained. The trick was to make incremental changes. Next I will tackle Einstein which took a big jump ahead when SETI was misbehaving for almost a month.


Two months is not an immediate response. Despite that, yes, I do expect resource sharing to be a process where there is immediate response.

Resource sharing is something that actually CAN be done with immediate response. I cannot imagine any reason why it wouldn't be, but I can clearly see that it isn't.
ID: 59670 · Report as offensive
Aurora Borealis
Avatar

Send message
Joined: 8 Jan 06
Posts: 448
Canada
Message 59673 - Posted: 15 Jan 2015, 8:26:07 UTC - in response to Message 59670.  
Last modified: 15 Jan 2015, 8:59:11 UTC


Resource sharing is something that actually CAN be done with immediate response. I cannot imagine any reason why it wouldn't be, but I can clearly see that it isn't.

The algorithms is anything but simple. BOINC is open source. You can always submit your simple fix for the developers to look at.

Edit
HINT: Starting point.
Separate the RS for CPU and GPU. Modify server and manager software to implement separate RS. Make sure that the new manager will work properly with projects running older server versions without split RS. Ensure that older version managers wont be broken by the split RS on the server.
Make sure everything works with a mix of projects with old and new software .
ID: 59673 · Report as offensive
Matthew Burch

Send message
Joined: 1 Oct 11
Posts: 17
United States
Message 59676 - Posted: 15 Jan 2015, 14:26:14 UTC - in response to Message 59673.  
Last modified: 15 Jan 2015, 14:30:06 UTC


Resource sharing is something that actually CAN be done with immediate response. I cannot imagine any reason why it wouldn't be, but I can clearly see that it isn't.

The algorithms is anything but simple. BOINC is open source. You can always submit your simple fix for the developers to look at.

Edit
HINT: Starting point.
Separate the RS for CPU and GPU. Modify server and manager software to implement separate RS. Make sure that the new manager will work properly with projects running older server versions without split RS. Ensure that older version managers wont be broken by the split RS on the server.
Make sure everything works with a mix of projects with old and new software .


Part of the reason why resource sharing is broken is clearly because the calculations are a Rube Goldberg nightmare.

Starting point.
In the next version, add an option for resource share to be processed on the local machine, based on actual resources used. You click the checkmark, and no more Rube Goldberg nightmare code that allows projects to ignore donor wishes.

Please remember the important part here. The current resource management simply does not work when you have one project that is not data aggressive, and another project that is. This needs to end. BOINC users want to choose how resources from our local machines are spent. Let us.
ID: 59676 · Report as offensive
Matthew Burch

Send message
Joined: 1 Oct 11
Posts: 17
United States
Message 59852 - Posted: 20 Jan 2015, 13:03:55 UTC - in response to Message 59676.  

I have completed the Asteroids work that was started, and will never again adopt any other project besides SETI, even if SETI runs out of work, unless I see that the BOINC project manager is tweaked so that resource control can be managed at the local machine.

To be clear:

If it's not possible for me to firmly control what my computing resources are used for when two or more projects are being 'managed' by BOINC, then I'm not wasting my time trying to finesse some sort of solution that tricks the BOINC manager into doing what I expect it to do without micromanaging.
ID: 59852 · Report as offensive
Profile Richie

Send message
Joined: 2 Jul 14
Posts: 186
Finland
Message 59930 - Posted: 23 Jan 2015, 1:18:53 UTC
Last modified: 23 Jan 2015, 2:02:44 UTC

I can also report I'm starting to get quite frustrated with how Asteroids@Home seems to be sharing resources in my computer.

For a long time already I have given share of "100" for Albert@Home and "20" for Asteroids@Home.

I have a computer that is crunching only for those two projects. Albert is doing only GPU work (1 CPUs + 0.49 NVIDIA GPUs). Asteroids is doing only CPU work. I have set "GPU utilization factor: 0.49" in the Albert project preferences. That way I can run two tasks at the same time.

There should be 2 Albert tasks running simultaneously and I know it really works, but at the moment for example, the situation has "balanced" like this:

10 Asteroids tasks + 1 Albert tasks

There SHOULD BE:
about 8 Asteroids tasks + 2 Albert tasks

Asteroids is dominating the computer. I have tried to change the "use at most xx% of processors" setting, but no matter how I set that value at the moment... I am not able to get a second Albert task to start.

If I lower the %-of-processors-value, Asteroids tasks will stop and wait and eventually for example only 6 Asteroids tasks + 1 Albert task are running there. But if I raise the value, always just more Asteroids tasks are starting... and still NOT another Albert task.

Deadlines for Asteroids tasks are shorter, but that shouldn't be the whole reason. At the moment, there is well enough time left for them to complete before deadlines. That's why they shouldn't be blocking the Albert running two simultaneous tasks.

I have blocked Asteroids from downloading more work. The work queue gets shorter, but that doesn't seem to help. And the tasks that are still in queue, they are not in a danger of getting completed late.

Is there a project thinking "I'm the King of the hill" or what? Is there somebody reserving some sort of "extra safe buffer", which is so luxorious that no other project at the same time can prosess what it should be processing?

Why do I need those "100" and "20" values there, if they don't seem to do anything with resource sharing in reality? I think those values should be teaching resources to go in a right direction, but I don't see that happening at all in my computer.

Well, I'm sure there isn't any "extra safe buffer" or stuff like that. But I don't know. It's January 2015 and I think it would be great if some changes could be made somewhere. Scheduling is not working the best way at the moment.

I'm lucky though: I know there are skilled people with deep technical wisdom, and they are developing this thing. I trust problematic things are observed and possibly fixed.



edit: more background info...

It went actually like this:

I was at the computer yesterday and checking out what Boinc was crunching. There were 8 Asteroids tasks + 2 Albert tasks running.
I was like "Okay, good... that's how I want it to be". Then I went to sleep.

I woke up seven hours later and looked again how things are going there. There were 10 Asteroids tasks + 1 Albert tasks running.

Especially based on the "100 / 20" setting of resource share, I would expect there should ALWAYS be 2 Albert's running and after that... IF additional free resources are left, then also some Asteroids could be processed. This is especially because Asteroid tasks were not in a critical hurry. But that resource sharing clearly isn't happening.
ID: 59930 · Report as offensive

Message boards : BOINC client : Suggestion: Perform resource share calculations on the local machine

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.