Why Isn't Cache Sise Linked to Resource Share?

Message boards : Number crunching : Why Isn't Cache Sise Linked to Resource Share?
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile MikeSW17
Volunteer tester

Send message
Joined: 3 Apr 99
Posts: 1603
Credit: 2,700,523
RAC: 0
United Kingdom
Message 108826 - Posted: 8 May 2005, 9:48:15 UTC

Why Isn't Cache Sise linked to Resource Share?

If I have 'Connect to network about every n days' (Cache Size) set to 3 days.
And I have 3 projects A, B and C with respective Resource shares of 50, 30 and 20.

Currently, as I connect to each project, each downloads enough work units for about 3 days. After all three are connected I now have 9 days work to do. I only wanted 3!

Surely this is daft?


Alternatively projects could get "cache * resouce share %", then:

Project A would request 3 days * 50% = 1.5 days work,
Project B would request 3 days * 30% = 0.9 days work,
Project C would request 3 days * 20% = 0.6 days work,

IMO this solves everything, I have 3 days work to cover outages, and it matches my resource share. Deadlines are unlikely to be missed.

Seems the scheduler is battling to correct a problem that should not exist in the first place.

So what am I missing, it seems so damn obvious?

ID: 108826 · Report as offensive
Ingleside
Volunteer developer

Send message
Joined: 4 Feb 03
Posts: 1546
Credit: 15,832,022
RAC: 13
Norway
Message 108850 - Posted: 8 May 2005, 11:54:30 UTC - in response to Message 108826.  

<blockquote>Why Isn't Cache Sise linked to Resource Share?

If I have 'Connect to network about every n days' (Cache Size) set to 3 days.
And I have 3 projects A, B and C with respective Resource shares of 50, 30 and 20.

Currently, as I connect to each project, each downloads enough work units for about 3 days. After all three are connected I now have 9 days work to do. I only wanted 3!
</blockquote>
The scheduling-server is already using your resource-shares when deciding on how much work to give you, so it can look like you'll get roughly 3 days from each project but the total expected cpu-time in all projects is 3 days not 9.

The last wu given is so you'll fill your request, except if you get into problems with deadline.

Examle: Project A has expected cpu-time 3 hours, project B 8 hours, project C 1 hour. Cache-setting 3 days = 72 hours.

Project A will give... 3h/0.5 = 6h; 72h/6h = 12. So, you'll get 12 or 13 wu in project A.
Project B will give... 8h/0.3 = 26.666h; 72h/26.666h = 2.7; So, you'll get 3 wu.
Project C will give... 1h/0.2 = 5h; 72h/5h= 14.4; So, you'll get 15 wu.

A: 13wu; 13*3h = 39h cpu-time
B: 3wu; 3*8h = 24h cpu-time
C: 15wu; 15*1h = 15h cpu-time
A + B + C = 39h + 24h + 15h = 78h cpu-time. This is also run-time.

So you'll get more than 72h, but only 6 hours more.

Of course, if one of the projects is CPDN, you'll have much more work than 3 days, but this is a slightly different matter. ;)

Note, if you've already got 3 days in project C, and when attachs to project B and afterwards project A you'll have much too much work, but later on you'll get roughly what you're asking for.

Also note, if you've got many projects with example 1% resource-share, if you're not using v4.35 or later you'll get one wu from each project and will have no hope to return everything by deadline.


BTW, the calculations is done on the scheduling-server, so while it can look like the client is asking for 3 days of work from each project, it will not get so much work. ;)
ID: 108850 · Report as offensive

Message boards : Number crunching : Why Isn't Cache Sise Linked to Resource Share?


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.