PDA

View Full Version : While I was over at the Aqua site, I posted.....



YoDude9999
07-22-11, 02:06 AM
I'll submit my personal opinion on this topic.....

What I see as the problem with the credit situation is that, there is no standard for any project to work from as far as how much credit should be awarded per work unit.

If a standard was implemented, then things would be even across all projects. As an example I would suggest that CPU and GPU crunching still be separated from each other. The reason is because there are so many different versions of CPUs and likewise so many different versions of GPUs available to the consumer that attempting to pool them all together into a single credit system seems impractical. The types of work units being different from each other gives good reason to keep them separated.

With this thought in mind, let us look into a standard that could be implemented for both type of crunching processors. I'll begin by starting with CPU work units as the example of a standard.

If say, there was a standard stating that all CPU work units, for all projects, can allot "X" amount of credit per work and the duration of the work unit must meet a standard in expected duration, then every project would be equal in the amount of credit that could allotted per work unit.

For instance, BOINC sets a standard that all projects are assigned an amount of 2500 credits (just as a number in our example) per work unit. This means that any work unit for any project gives the same amount of credit for any single work unit completed and validated. This in itself (partially) makes things even across the BOINC community but because the various project's work units are in various lengths of duration for completion, the time variable exists.

What this means is that if Aqua gives out work units that take a specific CPU 30 minutes to complete and SETI gives out work units that only take 15 minutes using the same CPU to complete, then, everyone will flock over to SETI because they are essentially giving out twice the credit for the same amount of time it takes to complete the one work unit. Obviously, setting only the amount of credit per task such that all projects give the same credit for every task done does not solve the problem.

If however, the various different projects were to adhere to a specific amount of expected time it takes to complete a work unit, then things would even up quite nicely for everyone.

So now if we look into this a bit more closely, by saying (for instance) that all work units for every project should be completed in a timely fashion, say 1 hour (just as number), then this brings all projects to the same playing field.
All project CPU work units give out 2500 credits and are expected to be completed in 1 hour. This means every project has the exact same potential for granting credit as any other. Suddenly, no matter what project you crunch for, the credit potential is the same. This would eliminate, "project preference" as we see it now, as in the fact that project "X" work units will no longer draw more crunchers to it simply because project "X" gives out more credits than project "Y". This would be a good thing indeed as now crunchers could crunch any project they see fit and would still be granted the same credit. Finally, no more favoritism over projects based solely on the amount of credit granted by an individual project but rather equal credit over all projects.

Now, we have to entertain another standard. Because of the competitive nature of people and the challenges we so love, being on teams and joining in on rallies, etc., having all the projects giving out the same credit per work unit and expecting the work unit to be completed within the specific amount of time, introduces yet another problem.

How does one gauge the actual amount of credit that should be awarded to crunchers that don't meet the expectations of the time frame of the work unit the project gives out?

In the suggestion of equal credit for every work unit (no matter the project), a standard could be implemented that states that from the total allotment of credit being completed (2500 credits in our example) during the expected time frame of one hour, 2500 credits are awarded. If a time verses credit multiplier was implemented, it should degrade the amount of credit awarded to crunchers that do not complete the work unit at the expected time, yet still grant a fair amount of credit to those that participate.

In simple terms, you are allotted 2500 credits for a work unit. If you complete the work unit in one hour, you get the allowed 2500 credits. If it takes you twice as long to complete the work unit as expected, you only get half the credit for it. If you have a slow cruncher and it takes you four times longer, then you get only one quarter the allotted amount of credit. On the other hand, if a cruncher completes the same task faster than the expected time (due to over clocking), the multiplier should grant credit, in proportion to the set standard, over the credit allotment given to the work unit.

This provides a means to keep the projects competitive in nature for the people that have very fast crunching abilities verses those that don't. If it turns out that a cruncher is awarded zero credits for a work unit, then they should upgrade their hardware, simple as that.

To come up with the standard for a credit multiplier based on the example I've given here, it could (and should) be done by an entity that can provide the best single CPU core available to the consumer. What I mean by single CPU core is, the best multi-core processors that are available. A work unit would be crunched by a single core of the processor running at stock clock speed. (Perhaps several work units and an average taken might be better.) From that, would become the standard for the multiplier of how well and how much credit should be awarded to the cruncher.

With these three standards implemented, I believe the credit issue could finally be put to rest. It might not be an easy thing to implement. DA and the BOINC people would have to abide by it as would the projects, but over all, I believe it could make the BOINC community a much happier place than it is now.

The same idea could be applied to GPU crunching with a different set of standards implemented.

All in all, it would take both DA, the BOINC team and the cooperation of all the projects in order to achieve such a goal. Projects would have to restructure their work units to fit within the set parameters. DA would have to quit screwing around all the time and just think, maybe he could actually take a vacation for a while and not have to fret over is so much and just let things roll along smoothly for a while if these simple standards were put into effect.

I don't know if it's even possible at all. I would tend to think however, that if everyone would take a step back and look at this proposal, perhaps something good could come of it?

Yo-

rgathright
07-22-11, 04:58 AM
Thank you! CPU credits are different!
~X(

Thank you for echoing my frustration... in my own mind, I am a "mega cruncher" but will never reach the same level of recognition for my efforts as those with GPU's.

For example, my daily CPU RAC is about 20,000 right now over @ QMC.

Please, come over and attempt that with your cluster @ QMC.

You will find that this is no simple task, yet why does poor Reuben only get 20,000 credits for all his work?

In the same breath, 3 of my cheap NVIDIA GTX 550Ti video cards get over 50,000 @ Einstein per day.

What's the worst part?
My cheap video cards could get more RAC if I just turned off all CPU work on the 16 AMD Opteron!
~X(
:mad:

Fire$torm
07-22-11, 01:15 PM
Thank you! CPU credits are different!
~X(

Thank you for echoing my frustration... in my own mind, I am a "mega cruncher" but will never reach the same level of recognition for my efforts as those with GPU's.

For example, my daily CPU RAC is about 20,000 right now over @ QMC.

Please, come over and attempt that with your cluster @ QMC.

You will find that this is no simple task, yet why does poor Reuben only get 20,000 credits for all his work?

In the same breath, 3 of my cheap NVIDIA GTX 550Ti video cards get over 50,000 @ Einstein per day.

What's the worst part?
My cheap video cards could get more RAC if I just turned off all CPU work on the 16 AMD Opteron!
~X(
:mad:

You have to keep in mind that you are comparing apples to oranges. CPUs are general purpose processors. They are designed to do many different kinds of tasks. GPUs on the other hand are very, very specialized processors and are extremely limited in the numbers of tasks that they can perform. BUT.... the tasks that GPUs can do, well they do them extremely well. They are much more efficient compared to a CPU.

Also remember that your "cheap" GPU was not always so cheap. Actually when compared to a mainstream CPU with its array of functions, a mainstream GPU is fairly expensive.

YoDude9999
07-22-11, 11:18 PM
@ YoDude

Pigs will stand on their heads and spit out gold coins before you ever get all the projects to design their work units to run in the same amount of time on the same CPU. If you don't believe me then shop your idea around to a few projects and see what they say about it. Be prepared to get laughed at if you do. Some projects, ABC@home for example, have little control over how long their tasks take... could be 2 hours, could be 12 hours. Their algorithm just can't be controlled/limited to a specific number of hours. CPDN used to have tasks that took months to complete and I believe they still do or will again in the future. There is no way they can limit their simulations to just a few hours. Sorry, your idea absolutely will not work.

I responded with:

@ Dagorath,

Though your words may quite likely be true to an extent, I find it continually amazing that when someone comes up with at least a decent idea on how to deal with a situation, the first persons to reply are seemingly always those that have nothing positive to say about it. It's always someone that comes along touting, "It'll never happen, Can't be done, You'll be laughed at", etc.

HAS ANY OF THE PROJECTS EVER TRIED SUCH AN IDEA? Of course not! They've never had to before. They've always just been running along in their individualistic state with no rule set to follow. This is why the credit situation is in a totally chaotic state.

As far as project work unit and time goes, I'll agree that some projects may not be able to conform to sure a requirement, however, there are a few that do supply work units that do run in at least approximately the same duration. For instance, look at Collatz, MW, PG as GPU examples. These work units run within a relatively consistent time frame. I haven't been watching CPU WUs on this topic as I don't normally pay close attention to them, mainly because the CPU WUs offer such crappy credit, it's hardly worthwhile to run them.

My point being here is quite simple. It'll NEVER work if it's not tried and as long as there are "nay sayers", it's very likely it will never even be tried because of all the doom and gloom spread around all the time. Don't you think it MAY be advantageous to take on a slightly more positive outlook and perhaps provide some support instead of just coming off with nothing but total negativity? If this is the basic attitude of the general public at large, it's no freakin' wonder our country sucks ass and is going in the toilet.

Yo-

Slicker
07-23-11, 03:03 PM
The entire cross project parity argument breaks down when you start talking about efficiency. I worked for a roofer years ago and we got paid by the square (1 sq yard of shingles, normally 3 packages) and by the height of the building. I used a hammer and nail. Another guy used a compressor and nailgun. I carried the shingles up the ladder one package at a time. He carried 4 (two on each shoulder and didn't use any hands on the ladder at all). He earned 4-5 times what I did. He spent thousands and thousands of dollars on his equipment whereas I spent $10. He took risks (no hands on the ladder) while I didn't. He could live year round on what he made in 4 months roofing. I worked other jobs the rest of the year. Should he have gotten paid more?

My systems have good MBs, fast RAM, fast HDDs, Gigabit ethernet, and run OC'd by 10-25%. Should I really get the same amount of credit as some guy who buys a cheap Dell and who runs a 32-bit operating system and can only do 30-40% of the same work in the same time just because they have the same CPU? That's socialism. Or is the new politically correct term Obama-ism?

The problem with a truly universal credit system is that it is impossible. There are just too many factors that affect how apps perform and those factors are different for each project. Whether it is large WUs which require fast internet connections for uploading and downloading or apps like AlmereGrid which need huge amounts of I/Os, or AQUA which wants all processors on the machine, there is no one way to make them all grant the same credit without penalizing one project or another, or one user or another. You can't have your cake and eat it too.

Collatz was developed specifically because it could run on a GPU (98-99% utilization) whereas SETI is a square peg in a round hole when it comes to GPU apps (10-40% utilization). Is it really fair to grant both the same credit per hour? What if I downclock my GPU by 50% and run SETI on top of that in order to keep my office cool. Should I still get the same credit per hour as another person with the same GPU on Collatz even though my GPU is only 1/8th utilized in comparison? If you think so, then you probably wouldn't mind paying as nuch for tolls on the interstate as the big semi's right? What about paying the exact same income tax regardless of how much you earn? Would you mind paying as much tax as the really rich people? How about everyone at a football stadium paying the same for their tickets regardless of where they sit? Isn't 1st row on the 50 yard line worth more money than the 120th row of the end zone?

Fire$torm
07-23-11, 03:43 PM
@Slicker: I like your analogy. Makes sense.

@Yodude9999: I understand where you are coming from and believe your heart is in the right place. Maybe redefining the objective is in order. It is true (in my mind at least) that parity among projects is unobtainable but what about equal pay for equal work? This would be in terms of processed data which fits with Slickers analogy. One would have to be realistic and acknowledge that even this "system" of credit would not be 100% equitable, but it would be much more so then DA's CreditNew.

My 2%

YoDude9999
07-24-11, 11:46 AM
@ Slicker & F$,

It would seem, perhaps you missed this part....


In the suggestion of equal credit for every work unit (no matter the project), a standard could be implemented that states that from the total allotment of credit being completed (2500 credits in our example) during the expected time frame of one hour, 2500 credits are awarded. If a time verses credit multiplier was implemented, it should degrade the amount of credit awarded to crunchers that do not complete the work unit at the expected time, yet still grant a fair amount of credit to those that participate.

In simple terms, you are allotted 2500 credits for a work unit. If you complete the work unit in one hour, you get the allowed 2500 credits. If it takes you twice as long to complete the work unit as expected, you only get half the credit for it. If you have a slow cruncher and it takes you four times longer, then you get only one quarter the allotted amount of credit. On the other hand, if a cruncher completes the same task faster than the expected time (due to over clocking), the multiplier should grant credit, in proportion to the set standard, over the credit allotment given to the work unit.

Fire$torm
07-24-11, 02:37 PM
@ Slicker & F$,

It would seem, perhaps you missed this part....

That quote has no bearing on my suggestion. That quoted idea is a bass ackwards way of granting credit. In my opinion its just a lazy mans way of doing things. Think GFlops. Yes, my idea would grant more credit to faster processing. Just like in NHRA, the fastest dragster gets more points (By winning more heats). So in crunching those who have spent more money for faster processing should be awarded more points in X amount of time. Therefore time is just one of the many factors in the credit granting equation.

YoDude9999
07-24-11, 08:37 PM
@ F$,

GFlops correlate directly to the time it takes to complete a WU, no? You will get more credit because you can crank out the WUs faster than slower cards can do them in. If card "A" has a 100 GFlop capability, and card "B" has a 500 GFlop capability, that makes card B 500% faster and therefore 5 times the workhorse of card A, no? Doesn't this already mean that a workhorse computer that can crank out the WUs 5 times faster, mean that they are getting 5 time the credit for it simply from the fact that they are completed and turned in 5 times faster?

I'm not talking about equal pay for work done by any cruncher. An AMD Athlon x2 @ 2ghz earning the same amount of credit as an I7 running the same WU is ridiculous and my suggestion does not state that!

Fire$torm
07-24-11, 08:45 PM
Ooops, That's what I get for reading & posting before my 1st + 2nd + 3rd cup of coffee. OK, as long as you are NOT talking about X number of credits granted per hour, no matter the amount of work done, then I'm good with that. The fixed credits/hour thing is along DA's thinking, which I abhor.