BOINC Q&A — 09/30/06

Can you explain more on Average CPU efficiency and Result Duration Correction Factor? There seems to be some confusion about this, and little definite knowledge. For instance, some say a lower RDCF is better, others say an RDCF closer to 1.0 is best. Which is the truth?

CPU efficiency is the difference between how much CPU time a process received relative to the amount of wall clock time that has passed. It is the answer to the question of “In the last ten minutes or so, how much CPU did BOINC based science applications receive?” The thing to remember here is that the OS is constantly doing things in the background and each of those things eats a little bit of the CPU.

Duration Correction Factor is a per project value that measures the difference between the the expected time to process a result based on the benchmark verses what it actually took. A score of 1.0 means that the benchmark and the application processing time are in sync. The lower the score the greater the variance between what the benchmarks predict verse what it actually took to complete the result.

BOINC tries very hard not to ask for more work than it can actually process in a given period of time, so it tries to keep track of the machine overhead by the CPU efficiency score and Duration Correction Factor. Another thing to keep in mind is that memory speed plays a big part in the Duration Correction Factor. When you see similar processing times for a result for a 3.0Ghz processor and a 2.0Ghz processor it normally means that the 3.0Ghz processor is running with memory that cannot keep up with the processor. Or that both processors are bottlenecked with the memory speed.

We haven’t come up with a good solution for measuring the memory bandwidth problem yet. However, we are working on it.

BOINC version release notes do not seam as complete as they were before or am I looking in the incorrect places?

You can checkout the latest and greatest changes to BOINC at this web address:
http://setiathome.berkeley.edu/cgi-bin/cvsweb.cgi/boinc/

The file you’ll want to look at is ‘checkin_notes’ which contains the latest changes made to the client and sever packages.

You can see the check-in history for a specific branch by changing the tag specified near the bottom of the web page. The 5.6 branch tag is ‘boinc_core_release_5_6’. If you want to see the changes for 5.4 you would use ‘boinc_core_release_5_4’ and on it goes.

Any plans on releasing the full minutes of what went on (when your back), I read up on the 1st one but was a bit disappointed with the info on show it only gave a brief overview of what went on.

You can find the workshop proceedings here:
http://boinc.berkeley.edu/ws_06.php

How was the vacation?

I had a blast. I met a bunch of great people. I’m looking forward to going again next year.

wxWidgets 2.7 has been released. Is this going to be used in 5.6 or is it too late?

Too late for this release.

I’ve seen and myself tried to compile 5.4.x using Microsoft’s free Visual Studio Express 2005 editions (with all the bits and bobs needed, wxWidgets, SDK that needed..) Errors show up and does not compile. Is this fixed in 5.6, given this would probably be the major environment used by people trying develop BOINC under windows (since it’s free).

The BOINC DLL relies upon the ATL libraries which are not included in the express editions of the MS Development tools. I’m not sure if this is going to change in the future or not. I suspect that if we can incorporate a torrent library that doesn’t use COM/DCOM on Windows then I’ll invest more time into removing the need for ATL/COM/DCOM so that the DLL can be built with VS Express.

On a side note, I do not believe the express editions of the Visual Studio toolset contain the optimizing compilers or linkers. You might have to upgrade for those, or use the GCC toolset’s.

Would it be possible for you (since afaik you compile the final Windows releases) to put up instruction on how you compile BOINC. This may help a lot of people who just wish to dabble.

I’ll see what I can do.

How is the progress on low-latency-computing? Which projects expressed their interest in this feature?

I believe this feature was put in for a hospital who wished to be able to process MRI images faster than their current method. I’m not sure this feature will be used by a public project in the near future.

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

Thanks in advance.

—– Rom

BOINC 2nd Pan-Galactic Workshop

This years workshop was very informative. It was really exciting to see the project leaders for some of the large projects as well as meet the project leaders for projects like PrimeGrid and Chess960@Home who started the projects as hobbies and who pay for them out of donations and out of their own pocket.

Here are a list of projects that I remember seeing right off the top of my head, sorry if I missed anybody:

  • BOINCStats
  • GridRepublic
  • S@H
  • CPDN
  • PrimeGrid
  • Chess960@Home
  • LHC@Home
  • Africa@Home
  • malariacontrol.net
  • QMC@Home
  • SIMAP
  • R@H
  • WCG
  • Condor

On the first day, David gave an overall BOINC update of everything thast has been accomplished within the last year, since the first pan-galactic workshop and various projects described what they had been up too. People also had a chance to list out what topics of interest they had for break out sessions on the second day.

We wrapped up after the first day and went out to eat dinner at a fairly nice place to eat. I had to leave early since the motel I was staying at closed their gates at 11pm.

The next day we spent the morning in breakout sessions which included some of the following topics:

  • Credits
  • Grid Integration
  • Security
  • AMS Issues
  • Project Issues
  • Science Application Feature requests

I attended the sessions on security and project issues.

I can’t wait to see the summary role up for all the break-out sessions.

After lunch, we assembled and brain stormed about how to attract new members and new projects.

The last session of the day was for David and I to listen to everybodies wishlist of features. Some of which included the server-side code for CPU feature scheduling, torrent downloads, some more work refining our sample application, and others.

All-in-all it was a great event. Now we just need to come up with a plan to implement it all.

Catch you all later. I’m still on vacation and will return to my normal schedule after the 28th.

If you all want to see additional pictures from the conference you can go here.

—– Rom

BOINC Q&A — 09/22/06

I would just like to know more info about the kind of technical challenges you will face whilst attempting to port BOINC over to them?

At this time I really don’t know. Until I can get some documentation on the supported API sets it’ll be hard to give any answer. The only thing I’m pretty sure about is that the management interface will have to be written from scratch for each console.

How is the simple GUI coming on any ETA on this?

As far as I know it is almost feature complete. The guys at WCG are probably going to kickstart the beta process with their WCG beta testers since it looks as though we’ll still be putting the finishing touches on 5.6. I believe we’ll start to see clients with the BOINC Simple GUI (BSG) in a few weeks.

Does it work well from what you have seen?

Kevin Reed has been doing an awesome job polishing up the interface. I like what I see and this will give us a way to add more to the Advanced GUI without having to worry about confusing people.

How is the sand-boxing of BOINC on Windows coming along?

I haven’t started that work item yet. I probably won’t be able to start until we have completed our agreements with WCG.

When will 5.6 be released and what are the main improvements?

The best answer I can give about when it will be released is when it is ready. Improvements include a new CPU scheduler and work-fetch policy, CPU feature detection, and video card detection. This release will be the first time the BM will use GTK2 on Linux and sandboxing science applications on the Mac.

Will we ever get column sorting in BOINC Manager?

Someday.

Talk between BOINC projects and BOINC and vise versa seems minimal (and project to project). No-one seems to know what each other is doing, could there be an improvement of talk between them, like modifications to the servers, message boards, stats and developments in the pipeline.

I believe that is what the BOINC Workshops are about. We just finished the second one last week. It was productive and the projects gave us a bunch of work to do. I believe David is going to publish the results of the workshop within a week or two. I won’t know timeframe until after I return from vacation.

Where does BOINC need help?

Hereis a list of things we have identified that we would like to have. Contact David before starting anything though in case somebody else has already started the project. That list is likely to grow after the notes of the second workshop have been processed.

Can you explain more on Average CPU efficiency and Result Duration Correction Factor? There seems to be some confusion about this, and little definite knowledge. For instance, some say a lower RDCF is better, others say an RDCF closer to 1.0 is best. Which is the truth?

I’ll have to get back to you on that. I need to look over the code again.

BOINC version release notes do not seam as complete as they were before or am I looking in the incorrect places?

We are moving toward the firefox style of release notes. For a detailed list of changes you’ll need to lookup the checkin_notes for a specific release. I’ll follow-up in another post on how to do that.

Any plans on releasing the full minutes of what went on (when your back), I read up on the 1st one but was a bit disappointed with the info on show it only gave a brief overview of what went on.

I left the note taking to David and a few others, we’ll just have to wait and see what is published. I wouldn’t have been able to type fast enough to keep up with all the discussion and I still needed to be able to answer questions.

Sorry for being late with this weeks Q@A but I’m still on vacation. 🙂

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

Thanks in advance.

—– Rom

BOINC Q&A — 09/15/2006

Well, since Martin was the only one to post any questions before I go to bed I guess the top ten will be his questions for the week.

When do we get to crunch on the new ALFA WUs?
When next for a reobservation run?
How well do the s@h-enhanced recrunched WUs compare to the s@h-classic results?

Ouch, these questions are best left to the S@H group. I had meant for this to be about the BOINC software itself since I really can’t speak for any of the projects.

I suppose I could attempt to clear up any confusion in what my roll is.

First off let me start out by saying that David A. manages multiple projects, of which S@H and BOINC are but two of them. I was hired to be a BOINC developer.

At the time I was hired bug investigations and fixes for SETIBOINC was divided up amongst the existing team which also had to manage SETI Classic. SETI Classic kept people pretty busy most of the time as people were running from one fire to the next. Under the existing model SETIBOINC was going to take awhile to finish up, so after discussing things over with David we decided that the best course of action would be to have me to head up the SETIBOINC migration until the migration was complete. SETIBOINC completed its migration in December 2005 and so my regular participation in the day to day happenings with S@H came to an end.

My role these days mostly involve helping David design and implement new features that will help drive further adoption by both new projects and new participants. I also manage the build, test, and release processes for BOINC.

These days I know just about as much as you all do about what S@H is up too. When David and I talk, in our daily phone calls, it is all about what is going on with BOINC.

What happened to utilising GPUs for processing WUs? (Are single precision floats good enough?)

Starting with BOINC 5.6 it will detect CPU features such as SSE and 3DNow as well as video cards. All the demand for video card detection has come from the community at large, so I don’t know of any project that is actively developing a client.

Whether single precision floats are good enough, that is up to the project.

I believe the biggest problem is actually the memory bus bandwidth between the systems main memory and the video card. Until PCI-Express was released the video card bus was design to push data to the video card as quickly as possible but didn’t do very well transferring data from the video card to system memory. It is my understanding that PCI-Express can handle the loads that DC apps will generate.

I suspect that once BOINC 5.6 is released we’ll be able to start publishing video card and CPU feature data to the stat sites and let them start generating some useful graphs for projects to look at. Once the projects know what is out there they might be able to justify the expense of specialized clients.

What of continued funding for Boinc and for s@h?

I can only speak about BOINC here, but I believe BOINC has secured funding for a couple of years.

Well, off to bed now.

—– Rom

BOINC Questions and Answers

Well, I’m back from my visit with family and friends. I leave again on Monday to attend the BOINC workshop in Geneva though.

After going over various pieces of feedback in this blog and in email it appears the general feeling is that we are not doing a very good job on the communication and outreach effort.

Starting this Friday I’ll try to answer the top ten questions posted to this blog entry. Every Friday after that I’ll try and answer the top ten questions posted to the previous Q&A post.

What do you all think?

—– Rom