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: 30
Posts: 30   Pages: 3   [ Previous Page | 1 2 3 | Next Page ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 10073 times and has 29 replies Next Thread
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: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

After painstakingly trawling through the arguments about CPU matching (pairing) on the above mentioned thread, I have now come to the conclusion that I have been sucked into a separate discussion of work in progress. Yes, this is excellent work but in fact it does not actually tackle the potential I am talking about. It does something different; basically it tackles the problems with the WCG Servers system of task dispensing, but at the level of WCG sub-project (HCMD2).
The above formula will not identify a 64bit platforms productivity advantages and encourage it to run one WCG task over another. It does not deal with this potential to optimise at this one-project level. It cant because it merely calculates CPU abilities of systems on one project and only affects that project, by CPU-pairing for it, and that is based on Whetstone benchmarking – not Operating system and not actual CPU capabilities or actual performances. I’m not knocking what you are doing here, just saying that it is different to what I am suggesting and does not optimise systemically.
Yes, there will be a rise in performance on that project, but that is not what I am getting at. Whetstone performance does not tell you that a certain CPU is naturally 5% more efficient at running HCC than FAAH or that it is on a 64bit platform that actually performs an additional 20% better on some tasks due to the operating system.
Any benefit to other projects using CPU-Pairing will only be as a side effect of expediting the throughput of that sub-project (HCMD2). I am talking about a system that benefits the whole WCG project, and all its sub-projects, all at once.

For what I am talking about, tables and algorithms for dispensing work units in one project are at the wrong level. Although I don’t want to presume any method, what I suggest would be like creating a table (or database) of system efficiencies that can be used to select computers to do tasks based on those computers specific abilities. Then selectively allocate project tasks, specifically based on these sub-project optimisation factors. This would be a WCG project and not a Boinc project.
You could still keep an equal weight for all projects approach by setting preference levels for each computers factor level.
The system I am thinking about would not just increase throughput for one project and as a result free up a small amount of time for the others, it will inherently speed up all projects at the same time; acceleration towards a new speed.

One simple way to do this would be to put together a system measurement task that runs a sample task for each sub-project for a small amount of time and is then returned and used to calculate system efficiency factors WRT each WCG sub-project. This would give a base line approximation of system performance for each sub-project. Then when the completed tasks come home, run the performance results through some efficiency matrix and update the sub-project efficiencies (productivity factors) accordingly. Then continue to use it to allocate tasks.

This way someone with 2 or 3 systems on the WCG would have their systems optimised for points, which equals work. For example my Phenom II might run HCC most of the time and my Q9400 might run HPF2 most of the time, rather than 50/50. The result could be 5 or 10% more work done.

The badge collectors don’t have to opt in, or might choose to after say getting bronze, or gold... Most of those with large numbers of computers attached to several projects would be happy to participate. They would actually get more points and the same number of badges. The order in which they reach the badges might change. Such a system would still allow people to select sub-project preferences, but could also facilitate greater control of the WCG projects by the WCG team. Something that might one day make or break a science group; if the project does not finish on time, you don’t get published, you don’t get a grant, the research takes a big knock and there is less work for the WCG.
[Dec 11, 2009 10:45:32 AM]   Link   Report threatening or abusive post: please login first  Go to top 
rembertw
Senior Cruncher
Belgium
Joined: Nov 21, 2005
Post Count: 275
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

I've been following the topic, because it is actually interesting. These things come to mind:

- Strictly opt-in should be the norm

- The ethical part: I don't want to open Pandora's box, but what about the tech throttle? In a way the user now already gives WCG the power to decide the mix of projects.

- If the system as suggested by skgiven can be set up, then there are possibilities to avoid the "ethical" question. Let the user decide by giving the user the information. Additionally, WCG can add a checkbox where the user gives permission to WCG to select the mix between the projects that the user selected. Something like "Optimize my projects". At that moments the "optimized" settings can even act as an extra throttle for techs by finetuning the system demands for a certain project. (If they wish so)

- In case of micromanagement:
1/ A single-pc user can get the information which projects are best suited for his/her system based on an index. Let's say HCMD stands at 110%, rice at 105%, HCC at 85%. With this information, help the user to decide which projects to choose. With this information the user can decide to forgo the less effective projects for his/her system.
2/A multi-pc user can get the same information as above for every system, and an index over the total farm so the decision which project to pick is easier.

If the settings for automatic optimising define that there have to be minimum 2 projects selected, then other problems can be avoided.

If this optimizes points or not can be another discussion. It can optimize the research, and will certainly have no ill effects for point collectors. Badge hunters can opt-out again when hunting a target.
[Dec 11, 2009 12:48:07 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: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

rembertw, lots of good suggestions and interesting points.

I am all for choice and on the face of it, your €Optimise the Projects I Participate in €™ button would do the trick. However the reality is that we all participate in the WGC Project, and the WCG has a rule to balance projects; so when someone opts out of one project the people that opt in to all projects end up doing more of the tasks the first person chose not to participate in.

As an asside, I think to some extent the badge system has facilitated this balancing, as it encourages everyone to participate in each project. Unfortunately it facilitates balancing at both the cost of real choice and optimisation for everyone.

So, given this balancing rule is set to continue, it makes more sense that people with systems inherently optimised to do one task actually be encouraged to do that task, even if it is not their preferred choice of task; because with balancing in place, their preferred choice will benefit by others doing more work on their preferred sub-project!

It is worth noting that even if someone has reasons to opt out of a WCG sub-project, their mere participation in the WCG will, as a result of balancing, mean that the tasks they opt out of get more work done!
It is a false choice.
----------------------------------------
[Edit 2 times, last edit by skgiven at Dec 11, 2009 5:33:49 PM]
[Dec 11, 2009 5:09:11 PM]   Link   Report threatening or abusive post: please login first  Go to top 
rembertw
Senior Cruncher
Belgium
Joined: Nov 21, 2005
Post Count: 275
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

[Offtopic]It would given even more choice to the user if the possibility is given to add sliders inside WCG concerning projects. Something similar to the Boinc resource allocation thingy over the different projects. Now the choice is to participate or not, and the techs handle the sliders. I don't want to promote this, I just want to mention a way to give more free choice to users.[/offtopic]

The idea of optimizing projects computer-based does have an interesting sound to it. This may increase the total speed of the research if enough people choose to opt-in.

There are different ways of calculating efficiency numbers. Things to think about:
- How efficient is your computer compared to other computers participating in this project
- How efficient is one project compared to another project
- How much need for processors does a project have (based on the current throttle)
- Mix these numbers so to get 1 efficiency number to get a nice efficiency rate.
- guarantee a mix if the user wants to. The most efficient project might get 70% of the user resources, the second most efficient might get 20% of the resources, the 10% remaining can be divided in some other way. Or the mix can be made based on the efficiency index. A project with an index of 140 can get 60% of the resources while a second project with an index of 60 gets 40% of resources (in a 2-project setup).

Then, give the user the choice to manually select projects, with these numbers guiding the user. Add the warning that efficience rates can and will change over time.

Also give the user the choice to let WCG "Optimize my projects". Add the warning that it means that the user may get zero work units from certain projects. Getting zero work units from vertain projects is not a bad thing, it means that you free resources from other people to work optimized as well. The "optimized" computers become one big efficiency pool.

- Now that I think of it, it actually can be used as an optimized version of the current throttle - from the vieuwpoint of the techs.
- From the user vieuwpoint, you know that your computers work optimal, and that other projects that are good too but you don't have an optimal computer for will be crunched by better computers.
- Still, projects that you choose not to support do not get direct support from you. (I remember UD forcing US military-based Anthrax research on me in early 2002. What others choose is none of my business. My choice is.)

Other parameters could be added, other explanations can be given. If enough people like the optimizing idea, and there is actually time to implement this, then it can give a boost to research done. Whether the increase is 1%, 10%, 500% is something I have no idea of. If this increase is worth the energy spent programming is also something I have no idea of. That's up to WCG.
[Dec 12, 2009 10:23:19 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: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

I would be happy to support all the present WCG projects and I expect this to continue, given the vetting system. With project support balancing in place, perhaps users should simply be given the choice to participate or not. There is a lot to be said about simplification. It would certainly help the credit system and perhaps the badge system has got a bit out of hand too!
----------------------------------------
[Edit 1 times, last edit by skgiven at Dec 14, 2009 2:04:46 PM]
[Dec 13, 2009 8:43:06 PM]   Link   Report threatening or abusive post: please login first  Go to top 
rembertw
Senior Cruncher
Belgium
Joined: Nov 21, 2005
Post Count: 275
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

The more I think of it, the more I am convinced that the "optimizing system" can be used by the techs, invisible for the user. The argument that every user should get an equal share of the projects is not valid. Even today it's not so due to the throttle. Sekerob's charts give a nice overview of that.

At this moment users get WU's of all selected projects, in quantity differing depending on the standard throttle. If that throttle is refined, and includes system specifications as extra parameter then there can be a way to spread the work more efficiently. By giving more weight to systems that are more fit for certain programs their relative share can increase.

Or, say that WCG can decide to make certain that a computer receives a certain percentage of the project that's most optimal for that computer. The higher the percentage that WCG decides on, the faster the overall return rate and the smaller the spread of projects over the users. For instance, a computer could receive 25% WU's of the optimal project, and 75% mix as decided by the current tech throttle.

There still can be an "optimize my projects" button so that a (multi-computer) user agrees on WCG deciding what projects to crunch. Within the limits of selected projects, of course. That can even be more refined by a "Optimize my projects for ...%". Let the user decide again. The higher the number that the user enters, the smaller the share that's directly regulated by the throttle.

About badges: that doesn't need to change. People who want a badge can opt out from other projects. Just like things happen now.

About credit: No idea. I leave that for people who care about it.
[Dec 14, 2009 4:31:15 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: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

It might be best to leave optimisation up to the techs, as if we do it ourselves, we wont be as effective, and it might even prevent them from doing it!

Credit should accurately reflect the amount of work actually done and could well be important if it allows a method to calculate optimisation. It is also to some extent important in that it allows people to set goals and targets, gives people something to aim for, sort of like the badge system but overall. It outlasts projects.

Perhaps it would be better for optimisation if there were no more badges (purple for 4 years, or whatever) as this might take away from would be attempts at optimisation?

That said I dont have any Blue badges, yet.
[Dec 14, 2009 5:37:53 PM]   Link   Report threatening or abusive post: please login first  Go to top 
nasher
Veteran Cruncher
USA
Joined: Dec 2, 2005
Post Count: 1423
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

Personaly i like to control the projects myself

if i feel this week to crunch all i will ... if i opt out of all but one that is my choice too...

now the idea i eithor sugested or asked about was letting us choose the priority of jobs

would love a pick project 1.. if no project 1 pick 2.. if not pick 2 then pick 4 choice or the ability to say 10% to HFCC 25% to HCC 63% to Fight AIDS and the remaing to whatever.. coud love to see but any more choice that dosnt take more time i am intrested in
----------------------------------------

[Dec 14, 2009 7:29:56 PM]   Link   Report threatening or abusive post: please login first  Go to top 
knreed
Former World Community Grid Tech
Joined: Nov 8, 2004
Post Count: 4504
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

Let me comment about the 'tech throttle'.

First a bit of explanation about how the scheduler works. When a request arrives at the server, the scheduler starts at a random spot in an array of results that are ready to send. It scans this array multiple times doing the following in order:

  • If the host is 'reliable', then find any results that need to be sent to a reliable host. If found, assign to that host.
  • If the host is willing to accept beta work, then scan the array for beta results. If found, assign to that host.
  • Scan the array for results that were marked 'infeasible' by another computer (this would be because of hr_class, memory requirements, etc). If found, assign to that host.
  • Scan the array for any results. Assign as needed

In all cases, if the user has said they don't want work from that application then they will not receive work from that application. If the host does not belong to the required hr_class for the result, then it will not be assigned. If the host does not meet the requirements for the result, then it will not be assigned.

The only control we have over the distribution of results is controlling the number of spots in the array each project gets.

As a result of these rules, if we were to assign the same number of slots to each project then the number of results distributed would not be even. Help Cure Muscular Dystrophy and Help Conquer Cancer would have the most results assigned because as soon as the first result of the pair was assigned, the other would distributed at a higher priority because it would now have an hr_class. Next would come FightAIDS@Home and Help Fight Childhood Cancer. When 2nd copies are generated for these, those 2nd copies would belong to an hr_class and would therefore be sent our at a higher priority. The last would be Human Proteome Folding Phase 2 and Rice. This do not use any hr_classes.

The next item is that everyone looks at the amount of run-time between the projects, not the rate at which workunits are distributed. The run-time for each result varies between each project and over time. As a result, the distribution of runtime varies over time. If we set a specific 'weight' and left it alone, then the distribution of runtime per project would vary due to this.

We currently do not have a way to determine what the users 'want'. The files that represent which projects users have opted to run on their machines are stored in either BLOB columns in the databases. We need to migrate them to XML columns. This would then allow us to run a query and find out what people have opted to run. Unfortunately, we cannot do that now without writing a custom app.

Even if we could determine those values, we have had issues in the past with the process of 'opting-in' people who want to be opted in to new projects. There are a couple of projects where it appears that as much as a third of the population did not get opted in as they had indicated. We have improved the process significantly, but I'm still not sure that it works 100%. As a result, taking what is stored in the database as an accurate reflection of what people want to run is a bit dicey.

Finally, there is a constant stream of issues minor issues with each of the projects. Disks fill up, people get sick, work generation falls behind. We are frequently adjusting the weights to smooth all of this out to keep work flowing for all projects even if the amount of work for the projects adjusts over time.

This is why there is a 'tech throttle' and why we have to adjust it over time.
[Dec 15, 2009 3:28:21 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: WCG Global Performance Optimisation by Allocating or Requestion Tasks According to System Specs

I now better understand your predicament. You appear to be very constrained by the delivery system. Perhaps there is still some scope to optimise on a project by project basis in a way that would both facilitate the canopy-heads and keep the rest of us sweet. You might be able to better define reliable host.
[Dec 16, 2009 11:27:28 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Posts: 30   Pages: 3   [ Previous Page | 1 2 3 | Next Page ]
[ Jump to Last Post ]
Post new Thread