Searched for : console

Can we get more (unlimited - well, within reason!) preferences than home, school and work? Three profiles isn't enough for me and I'm only running a small number of computers. I know these can be overridden (although the project preferences for Rosetta (i.e. runtimes) cannot)I'd find it really useful if these profiles could be added to as required, and please can you make them renamable?!?

I believe the account manager folks are working on some features which will allow greater configuration flexibility. The BOINC client is capable of dealing with a greater number of zones, there just hasn't been an easy way of configuring them on a project's web site. Rytis is now at the helm of the project web site and forum features. I'm looking forward at seeing what he is going to cook up.

Also, any update on BOINC on the consoles?

Well there is a lot of buzz, but nobody has signed on the dotted lines yet. David and Eric are going to a Sony R&D center next week to meet some engineers for the PS3. I haven't heard anything new about the XBOX 360, the XNA Game Studio from Microsoft is a bust for BOINC, it assumes all of the game code is going to be managed code on the 360. So that leaves us with the need of the same development kit as the professional game studios use.

Again moor of a request i am attached to a lot of projects and when I need to take a box out of service(without throwing away wu) I have to click "no new tasks" over 30 times. A bit tedious especially over VNC. A global (per host)no new tasks button would be of great use to me.


Is the global update ever returning? Although I can see where it can be abused.

Right now many things are on hold until after we can get the BSG out the door. Tentatively I have some time allocated to re-work the Advanced UI and playing around with Vista has inspired me on how to handle the multi-selection cases in a list view control. We shall see though.

'Retry Communications' is about as close as your going to get for an update all type function. It basically resets the countdown timer for any pending action.

With regards to the whole '-return_results_immediately' thing, from a project perspective it is altogether evil. I'll write up another post about that separately.

1) What are the typical things which cause the work unit to fail?
(Environmental - antivirus, graphics drivers, excessive overclocking, PC crashes, playing games for hours, video encoding, etc.
Human factors - Misunderstanding boinc messages, for example incorrect URL - they detach and attach, then get upset that x months of work is 'down the pan'. Ditto installation of berkeley version over bbc version, easy to fix but they don't know how)

You have nailed the majority of cases. I mean we could go off into the really obscure cases like cosmic rays and the like, but you covered all the things in the majority case.

In the future we won't be allowing a directory name change for any software package that we build for others, so that should take care of any potential future BBC issues. Now before you all think I'm making up the whole cosmic ray thing here is an article from ZDNet about eBay suffering one to two crashes a month due to a defect in their ECC memory which left them prone to cosmic rays.

2) Is there anything which can be done to avoid these, either by the science app or by Boinc itself?
(Uploading partial results as the WU runs. Exception handlers, both at science app and callbacks at boinc? Restart from checkpoint/backup if error code 0,-107...,etc etc received? Going into hibernation if PC is very busy, out of memory, etc)

This is one of those really cool but really though questions. Each environment handles things a bit differently. About the best advice I can give is for each project to really understand how the programming language they are using interacts with the operating system they are using.

CPDN is advancing the trickle model to the point where they could resend out a workunit that has timed out and take the previous users trickles and reuse them as the starting point of the new work unit.

One thing I would like to point out is that BOINC itself cannot do anything about a science application failure except fail the workunit and move on to the next one. To BOINC each of the science applications are a little black box and the only way BOINC knows anything about what is going on inside is through a little 8k chunk of shared memory broken up into 8 channels. Simple commands are passed around in these channels like show graphics, hide graphics, and here is the amount of CPU time I've used.

Now exceptions, and error tracking in general, use pointers in the local address space for the science application. For BOINC to be able to track exceptions in a science application would mean that BOINC would have to act like a debugger while the science application is running which would cause a 20-30% performance decrease for all science applications, and would more than likely negate any optimizations available to an application.

We did add a little something to the BOINC API library which we internally refer to the 'BOINC runtime debugger'. This little chunk of code is compiled into the science application and informs the OS that if any unhandled exceptions happen, it needs to execute a chunk of code. Using stackwalker as a template we expanded the functionality and improved the data returned to the project using a Microsoft library on Windows to dump out as much information about the exception as possible. This code isn't ever executed or used unless an unhandled exception happens within an application, so no performance decrease is experienced.

I'm going to need to write a whole different article on this topic.

3) What support does Boinc have / plan to have which relate to this category of work unit specifically?
(e.g.) some ideas, many of which may be impractical -
* Separation of graphics from the work unit so that a temporary problem with the graphics drivers doesn't cause the WU to fail

Separation of the graphics code from the worker code will probably start at the beginning of next year. It is going to be a requirement for supporting Vista and other OS's as they increase in their defense in depth models.

* Automatic backups
* Backups which are per-workunit rather than for all workunits which happen to be running

There are other tools that can be used for backups. Frankly, trying to tackle that role is complicated and really outside the design scope for BOINC.

* Callbacks from Boinc into science app to allow the science app to handle boinc exceptions it wouldn't normally be able to trap

What kind of exceptions do you think the science applications need to handle?

* Handling of the situation where the PC is very busy, out of memory or other resources, about to crash, TCP/IP stack blocked...)

We are adding more smarts into the CPU scheduler to handle the memory/paging cases.

Crashing is a random event, the only way you could know something is about to crash would be to already know what the bug is.

We added some code awhile back to test the various communication mechanisms when BOINC is first launched, that should have taken care of the TCP/IP blocks. If you know of any cases we haven't covered with recent builds let me know.

how's the progress with allowing AMS/BMS/BAM (whatever it's called these days) to control the state of projects and WUs
such as setting NNW, or suspending a project/task?

I believe this code is in for the 5.8.x release.

Farm Managers ?
Farm Manager ability came with Account Managers, I cannot find any programs on the BOINC website to install a Farm Manager on my computer, what is it? is it working? or has it been abandoned?

A farm manager is an idea that James Drews had, I believe, that is geared towards managing hundreds of machines. Basically you setup a web server which acts as a private AMS, the BOINC client includes it's IP address, port number, and GUI RPC password (I think) when it first connects to the farm manager. After that if you want to do something specific to a machine the farm manager can issue a GUI RPC just like the BOINC Manager. I'm not sure if anybody besides James has done anything about creating a farm manager package.

BOINCView is probably the best bet unless you come by several hundred machines.

Auto update of 'BOINC' ?

Funny you should ask this, WCG was asking about this very same thing. We'll probably start looking into something like this for the 5.10 release.

We were always concerned if we had put something like that in place it might be exploited by an attack vector we never even thought of. At least with a human at the other end of the equation the amount of damage would be limited.

Now with WCG as a contributor we can get the IBM security department to look things over and let us know if something is really wrong. IBM has looked over the BOINC source once already so we are confident we have our i's dotted and our t's crossed but with auto-deployment of code without user intervention you can never be too careful.

I am new to BOINC and I'm loving it, but I was wondering: are any plans for BOINC to use the powerful new age GPU's and PhysX processors that are perfect for floating point computations?

FluffyChicken Wrote:

I can answer the last one,
ATI(AMD) have asked BOINC if they would like help, though it would be the projects that would need the help if the GPU is capable. NVIDIA would probably need to jump in if your(we) are going to get it running on that, or somebody like Microsoft developes an easy to use API (Accelerator in research ?)
As for PhysX, we (some members in the forum) contacted them from Rosetta@home and had no real rosponse.
Rosetta@Home are in talks with Microsoft for the XBOX360 though, apparently.

I would just like to add that with the next release BOINC currently detects your video card and processor capabilities and reports them to the project. If/when a project commits to using a graphics card or physics accelerator we could go through with the rest of the work items to turn them into a resource that can be scheduled for use.

We added in the detection code so we could try and get the stats sites to break down video card usage and processor capabilities, maybe spur on the projects to develop specific customized applications to harness the untapped capabilities of the machines.

It is much easier to go to a project and sell them with hard numbers than to say we think this could help you by 'x' amount.

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

Thanks in advance.

----- Rom

Previous Articles:

BOINC Q&A -- 13/10/06
BOINC Q&A -- 10/06/06
BOINC Q&A -- 09/30/06
BOINC Q&A -- 09/22/06

References:

http://news.zdnet.com/2100-9595_22-525403.html
http://www.codeproject.com/threads/StackWalker.asp

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?

Here is 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

A very common request we have from the community is to be able to run BOINC and various projects on a gaming console, whether it be the PS3, XBOX360, or Wii.

As many have heard Folding@Home has announced that they have a client package for the PS3.

This is great news for all distributed computing projects, personally I think this will begin the domino effect of having all the console manufacturers want to be able to support this kind of development.

We had gotten some push back from one of the manufacturers about doing something like this at the begining of the year and since we had the stuff with the CPDN/BBC to do and then stuff with WCG we decided to put the console issue on hold.  We are almost done the the WCG workitems and the CPDN/BBC stuff is already done.

When Microsoft announced XNA Game Studio Express I applied to participate in the Beta.  Now I need to get ahold of the SDKs for the PS3 and Wii.

People should realize however, this is only half the battle.  Once BOINC is ported, we'll have to get a few projects running on a console.

This kind of adds another diminsion to the whole notion of console wars.  I mean, can you imagine one of the administrative staff at a university getting a request to purchase 5,000 PS3s?  I would really love to be in that office when that request hits their desk.

----- Rom

So I got my hands on the Feb CTP of Windows Vista.  All I can say is... WOW, nice eye candy.

I haven't been gutsy enough to actually load it up on a real computer yet, I installed it on a virtual machine using Microsoft Virtual PC 2004.  I did run into a few problems in the beginning, it turns out that Vista didn't like my captured DVD-ROM and I had to capture a virtual DVD-ROM to actually keep the Vista setup program from crashing.  A couple of problems with running Vista under emulation is that Vista removed support for ISA devices, so it doesn't support the emulated sound card and of course the emulated video card doesn't support Aero Glass.

Instructions for setting up Vista to run on Virtual PC 2004 can be found here.

The first thing I did after getting it all setup was to install BOINC (Berkeley Open Infrastructure for Network Computing) on it.  There are a few things I need to do to improve the user experience of BOINC on Vista, for instance opening up the firewall so that the various components can talk to one another.

One thing I noticed is that services run in terminal services session 0 instead of the console session.  This completely ruined my plans for a more secure design without the need of the local system account to display graphics for science applications.  When you sign in with a real user account the console is moved to which ever session is assigned to the user logging in.  I have not discovered a way to move an application window from one terminal server session to another.

My revised design up until this point was to create two user accounts for BOINC, one for boinc.exe to use and manage the sciences applications and the other one for the science applications themselves.  Now the account for boinc.exe would manage the file permissions such that the contents of the BOINC directory itself would be off limits to the science applications and the account for the science applications would be limited to the project and slots directories.

Now to make all of the work with the screensaver involved the screensaver asking boinc.exe ‘Which user account is running the science applications?” which boinc.exe would pass back the name.  Now the screensaver would proceed to modify the current desktop and window station ACL’s to allow that user to create and display windows within that desktop and window station.  Then the science application would be informed of which windows station and desktop to display itself on.  Everything was fine until Vista.

We may only be able to support the single-user installation scenario for graphics on Vista until I can figure out a better way to display graphics in the screensaver.

----- Rom

Theme design by Jelle Druyts
Header image by FreeWebPageHeaders