I am in agreement with several ideas, but I would like to add a few of my own:
1) a profile selector: where you can select a program, when it loads, pause the gpu client, set cpu to 25% (or whatever % user selectable) max use. The profile selector should be able to do any function from pausing the whole client to reducing how much the client can use of the cpu/gpu and should be able to do this on the fly with out any user interaction. - just like the gaming keyboard - G15? - it would be nice if there could be separate profiles, to be able to select, user nameable even (say gaming 1, gaming 2, movie, surfing web, ect) then when you select a game executable for the profile to load. when I watch a BD movie I have to shut down all my fah clients or I'll get a BSOD from time to time, I don't watch a movie every day, maybe once a week... but still for that 2hrs I have to shut down fah if I don't want to have to shutdown my system and recover from the BSOD.
2) incorporate functions from the fahmon, so you can see what % the client is at (both for the GPU and SMP, or each single CPU client). what ppd you are getting, what the deadline is for each work unit, both preferred and final deadline would be nice. If you really want to get some bonus points, you can list TPF current, average, min, max - for the current project (you could click on it like GPU-Z to change between them). Include the current points that the user has generated - with out having to go to my folding page. Include the amount of work units the smp, gpu, single core client - has finished.
3) when the user sets up their client for the first time, make suggestions based on questions of how the user uses their system, ie: dedicated folder, part time folder - 4,8, 12hrs/day, run during work hours only, run as service (so that it runs even when logged out), these should be options that the user can choose and change whenever. you could have a setup wizard, and an advanced setup, for people that run servers 24/7 and know what all that advanced stuff means can choose it through the gui. You should be able to dock the client in the sys tray.
If the user selects dedicated server and runs smp, but is too heavily using the computer to make the deadline, a notification balloon should pop up at the bottom, upon user return that they can click on or dismiss notifying them that they missed the preferred/final deadline, and they should consider a different setup. If they dismiss the notification, they should still see the message when they open the client, it should not be another intrusive message box they have to dismiss, but instead be a note on the screen they can see and click to re-run the wizard, or make advanced changes. The client should learn how the user uses their computer, by how much they are pausing the clients, or using cpu time and request appropriate work units with deadlines that would coincide with the average usage. just because today I used my computer more than usual, or was working on my computer with some issue, or upgrading it, should not affect the average greatly. neither should it if I am away from my computer for the whole day unusually. Deadline should have more time to complete than the average would allow, for instance, if the user completes a WU in 1hr, there should be a 24-36hr window for final deadline, if the WU is usually completed in 48hrs there should be at least a 60-72hr final deadline. preferred deadline should be at least the average, or the server should NOT send the WU. when first setting up a client and there is no average then the server should send a longest deadline project to benchmark. The local client should keep track of the average for that machine(at least 1 month), to offload any additional tracking, so the only thing the server has to do is decide what project to give the client with x deadline. since every project can have a different tpf the client can take that into account when computing the average for the project deadline. if the client determines that the assigned project can not be completed it should be able to request the server for a different deadline project if it knows it will be unable to complete the given project before final deadline.
4) When a WU server goes down, the client should be able to tell the assignment server that XXX.XXX.XXX.XXX is not responding, please re-route me, and receive a different WU server.
I had a discussion not so long ago with someone about this:
guest3412 wrote:So the AS is supposed to keep up with what server is up and down? ok so when my client asks the AS for a WU server, and the AS gives it IP (A), then seconds later I ask it for a WU server again. Why would the AS continue to say IP (A) with out asking server at IP (A) if it is accepting? I would think that if the AS is repeatability asked by user X at ip X and machine X over and over for a WU server, that the AS would look up IP (A) and say "hey are you accepting?" And when it doesn't reply, make a note that it's down and not repeatably send me there, on the other hand it could be as simple as adding to the client an ability to tell the AS that "I can't reach that WU server, please try another" it just seems to me that it shouldn't be that hard to note that when a server goes down, that the clients can just ask for a different WU server. But I'm not a programmer, just a data analyst. I see things in different ways sometimes.
codysluder wrote:Nobody knows exactly how this works, but speaking as one who has done a moderate amount of programming I can see a couple of flaws in your suggestion.
First the AS doesn't keep track of who has asked it for an assignment or when. That would be a large amount of data to keep track of, and most of the time it would be useless. If I'm the information clerk in a sports stadium and somebody asks me where the restroom is, I judge whether they want the Men's room or the Women's room and direct them to where their needs will be met. This same process happens over and over. If somebody comes back and tells me that they need directions to a different one because that one is out of order, I'll gladly send them to a differnt one, but the client doesn't provide that information, so if they just come back and ask again, I'll (incorrectly) send them to the same place. Sooner or later I may learn that that restroom is out of order, and when I do, I'll send everybody to a different one. The only question here is how quickly I learn that the Men's server on Level 3-East is out of order or the Women's room on Level 2-West has a long line or there's no paper towels in Level 3-North.
Adding more complex software to the client is one possibility. Perhaps a better option would be for my employer to require me to check on the status of all of the restrooms in the stadium more frequently.
guest3412 wrote:i understand your point now, but i guess since the client needs to be overhauled and v7 is coming .. maybe they will implement the client telling the AS that "i can't talk to ip xx and need another WU server" this shouldn't be that hard to implement based upon your description.
7im wrote:It doesn't do any good if a new client has a new feature to tell the AS something, if the AS isn't also upgraded to listen for the something. Clients and servers are often updated at the same time, but not always. ;)
Oh and yes, if someone thought that blocking a ip would help them get a wu they wanted, well you could always tell the AS to ask the WU server if it's up before assigning another WU server.
5) although unnecessary, it would be nice if the user could put in a custom skin on their gui client, firefox has really come up with some nice ones and it would be neat for sure to be able to use a custom skin! Think of it, the teams could make those and cokes you to be a member for the use of their skin? or just give them out and make them a publicity item. the floating balls that the protein map does, would make a interesting screen saver, but those truly interested in folding, do not wish to spare the cpu/gpu cycles for something that is relatively useless.