BOINC Q&A — 23/02/07

What are you most chuffed about getting fixed/working/added?

To be honest most of my contribution to this release has been in the manager role, most of the code changes were from David and 3rd party contributors.

I guess the thing I’m most jazzed about in the release of this new client that I pushed for would be the CPU feature detection stuff the community has been wanting for a long time. Along with that the client makes an attempt to detect which video card the machine is using.

It has been a ‘chicken and the egg’ problem, it wasn’t something any of the projects were specifically looking for and therefore kept being dropped from the list. Of course the major problem with that is we didn’t have any firm numbers on what percentage of the base of machines could handle the more advanced instruction sets.

Now that the information is part of the host record, I’m hoping the stat sites can build some fancy graphics and charts which might encourage one or more of the projects to create a client with specialized instruction sets.

We’ll need to improve the server-side scheduler to handle scheduling specialized clients, but in the end I think it’ll benefit everyone. Undoubtedly this is going to cause some angst amongst those who are only in it for the credits, as the credit granting gap between a stock client and an optimized client is going to shrink further.

How is boinc going to get around the problem on Windows VISTA where you are not suppose to (and often cannot) write to the ‘program files’ directory?

We’ll be breaking apart the data from the executables using the SHGetFolderPath API. Although we’ll need to put a possible override registry value for those who want to store the data on a different drive.

Right now I’ve been brainstorming on the various upgrade scenario’s. ( XP to Vista and 32-bit to 64-bit )

It is a messy problem.

To submit questions for next week just click on the comments link below and submit your question.

Thanks in advance.

—– Rom

BOINC Q&A — 16/02/07

Is it possible to include a (empty) “skins” folder in the next release?

Sure.

Seems that SETI@Home is a victim of its own success; or maybe a run-away train. Has there been any discussion on methods to allocate resources between projects? For example, implementing a per user work unit limit based on the users contributions to the project; contributions such as money, time, other projects in which user participates.

The philisophy of the BOINC the framework is to let the participants decide how they want to volunteer their resources. To that end, it is up to each project to sell their project to the community. Donating computation time to a project is already an expensive proposition, it costs time, electrictity, and internet bandwidth. To be honest I cannot see a project being successfull if they started selling workunits to process. At that point I think a project would loose it’s fun and cool factors and would find it’s big iron contributors defecting to other projects. Eventually that project would only be left wth the die hard fans wth money to burn and those who were not affected by the cap.

At that point the project is pretty much on life support, and waiting for the people who are funding the project to pull the plug.

What’s the development progress in getting the boinc code (I assume 5.9.x now) up to scratch to use wxWidgets 2.8?

Charlie started the port to 2.8, there are a few things on my plate to tackle. Text gets clipped in the wizard for instance. We’ll have it up to spec when we start the 5.9-5.10 release push.

Can auto update (I see it in the code for 5.9.x) be turned on in 5.8.8+ or has it been left out?

I’m not sure what the client will do at this point if it receives the auto update tag, it should just be ignored at this point. That feature has another month of work or more before it is ready for use.

What do you think are the major improvement in 5.8.8+ over 5.4.9/11?

There have been so many under the cover improments, I think the big ones are the improved CPU scheduler, the improved work fetech policy, and CPU throttling. On the Mac we have the sand boxed environment which is a huge improvement.

What are you most chuffed about getting fixed/working/added?

What do you mean by chuffed?

To submit questions for next week just click on the comments link below and submit your question.

Thanks in advance.

—– Rom

BOINC Q&A — 01/02/07

Have you seen this GPU programming kit:
http://www.nvidia.com/object/IO_37226.html
What do you think are the difficulties of GPU programming with this and would some work still need to be done by the CPU like on F@H?

I suspect every project would have to be a hybrid and use both the CPU and GPU. At the end of the day the OS needs to know what is going on, otherwise it would just overwrite whatever work you assigned to the GPU with something else.

To be honest, I haven’t studied the S@H or R@H source closely enough to know how easy or hard it would be to port using the various toolkits released by the video card manufacturers.

Hopefully we’ll start to see more traction in this area with the release of 5.8, since it has some basic video card detection code in it.

—– Rom

BOINC Q&A — 12/01/07

I’ve tried to install BOINC as a service on a computer of my fiance’s mother’s but she has no password on her XP computer account. BOINC won’t install (service) without a XP password. The obvious would be to password the account on the computer and then install but she doesn’t want a password. Is there another way around this issue?

As another later in the thread has mentioned, I would also just create a different account and let it run in the background.

http://bbugs.axpr.net/index.php is down:
DB Error: connect failed
[nativecode=Can’t connect to local MySQL server through socket ‘/var/run/mysql/mysql.sock’ (2)] ** Array

It appears to be up at the moment. although the address I have for it is http://boinczilla.axpr.net/.

boinc.berkeley.edu is scheduled for some hardware upgrades, after that it is my understanding that we’ll be bringing the bug database in house. I’m trying to get David onboard for using Tracwhich I think is pretty neat software. I’ve started using it for a pet project of mine.

Is there a fix for the next boinc version later 5.8?
ERROR: buffer too small in MFILE::vprintf() –>continuously logs in stderrdae.txt

This should be fixed now.

I need a better xml administration because all changes you get only by restarting boinc (url changing, skins etc.)

I’m not sure I understand this? Which controls are not updating on a skin change?

1) In the advanced view – Help – first entry starts http://www.rechenkraft.net/manager_links.php?target=advanced . Is it possible to configure this URL in skin.xml? i can only configure the domain.

I’m afraid we are in lockdown for 5.8, that is something we can fix for 5.10 though. Or sooner I suppose.

2) If I click with the right mous button on the icon in the taskbar (windows) and select the first entry the page bam.boincstats.com is loaded. Is this URL configurable?

Nope, when your attached to an account manager, that is their URL.

3) My skin on windows looks good, but on Mac the pictures seems not to fit. See in the middle above “Graphics Available”.
Windows: http://www.altes-beckhaus.com/cf_miko/dlc/rk.jpg
Mac: http://farm1.static.flickr.com/134/332170353_d39c4ca101.jpg?v=0

I’ll send an email to our Mac dev and checkout what is going on.

4) Would be also nice to be able to change the font color in skin.xml (for elapsed time, time remaining, application name,…).

We could introduce this in the 5.10 time frame.

5) There is something wrong with these files:
-background_image
-project_area_background_image
-dialog_background_image
-workunit_area_background_image
If the format is “.jpg” such as documented in Creating Skins the Manager shows only standard, with “.png” no problem.

Does stderrgui.txt have an entry stating it failed to load each of those images defined in your skin? It is only supposed to use the default images if wxWidgets throws an error while attempting to load the image. Which tool are you using to create a jpg file?

The current beta linux clients show about a 10% improvement in benchmarks. Is this as good as it gets, or are further improvements likely in the future?

That was from Tekwyzrd. I’m sure he and others will figure out more generic ways to speed up the client.

—– Rom

BOINC Q&A — 22/12/06

During the install of BOINC as a Windows service, you are required to enter an account which will be used to launch the BOINC service. Why do you need this? I can manually convert the service over to “Local System” without requiring credentials at all and it still seems to work OK.

“LocalSystem” is a special account, it has more permissions on the system then even the administrator account.

My goal in setting up the installer that way was to try and get people to be a little more paranoid about which account they were going to use as the service account.

For instance if you use your computer to track your finances you probably don’t want to be running BOINC using the LocalSystem account. Even if you initially removed permissions from your financial records for the LocalSystem account any process running under that account can take ownership of those files and read them anyway.

We actually talked about the whole trust thing at the conference, how do we as a community know if a new project is trust worthy? How do we know their application is doing what it claims to be doing?

As an off shoot of that conversation, how do we minimize the damages a potential project can cause on a computer system? The most obvious answer is don’t run as LocalSystem/Administrator/root.

The safest way to run BOINC as a service is to create a limited user account just for the BOINC service.

—– Rom

FOLLOW-UP: Duration Correction Factor

JM7 posted a nugget of information I missed about how DCF is used in this S@H post.

Actually, ROM missed a little. A score less than 1 means that your computer finishes work faster than expected for its benchmarks. A score that is higher indicates that it finishes slower than expected for its benchmarks. It is calculated as a safety for the CPU scheduler (finish on time) and work fetch (not too much), therefore under estimates are corrected very quickly (single step) and over estimates are corrected much more cautiously.

Thanks John.

—– Rom