Thread 'BOINC 7.0 Change Log and news'

Message boards : BOINC client : BOINC 7.0 Change Log and news
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · 4 · Next

AuthorMessage
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 38823 - Posted: 7 Jul 2011, 18:29:21 UTC
Last modified: 8 Sep 2011, 11:48:46 UTC

Putting the warning at the top of the thread, perhaps that people will see it then.

EXTRA WARNING

The new BOINC 6.13 range is using completely new, from the ground up rewritten code for many of its parts. It is not to be used if you are not an alpha tester. It is not to be used on all of your machines, just on one. When it doesn't work, report your problems to the developers and return to the latest 6.12.recommended.

At this time we're specifically testing whether or not the new CPU/GPU scheduling code works without using debt, and if projects will fetch work.

This is not a version that you install and walk away from, it needs constant checking, including the use of all the correct client configuration flags. Make sure your log files are of sufficient size so you can log through the night.

Minimum required flags to report with are <cpu_sched_debug>, <rr_simulation>, <sched_op_debug>, <work_fetch_debug>

Do not run experimental versions of BOINC on live projects, unless you also subscribe to the associated boinc_alpha mailing list, and have time to read and act upon any recall or hotfix notices for builds which turn out to be buggy.

Remember, these early 6.13s are not for prolonged use if you aren't going to send regular logs back to the developer. These versions will only annoy the heck out of you, since they will do work fetch completely different from what you have come to expect of BOINC. Just don't use it if you're not serious about it!



BOINC 6.13.0 available for testing for Windows and Macintosh.

Rom Walton wrote:
Howdy Folks,

We have a new client to test. This client uses a new scheduler which should be more accurate with regards to resource share and makes in-roads to OpenCL detection and utilization. UI changes include an improved Simple GUI which is accessible and localizable and an improved project list which should be localizable and more descriptive.

We are not completely done with changes yet, we still have work-items for OpenID and Virtual Machine framework testing. We have begun the test process early to try and sort out any remaining scheduler issues which appear over prolonged use. So please run it as soon as possible and let us know what is and is not working correctly.

I'm putting together a new set of build machines for Linux which I hope will address the many issues related to missing libraries when run on distros other than the last Ubuntu LTS.

You can see the new scheduling policy described here: http://boinc.berkeley.edu/trac/wiki/ClientSchedOctTen

Please report bugs on the Alpha email list.

Thanks in advance.


----- Rom


Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.


REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
<sched_op_debug>: problems involving scheduler operations and other low level information.

Use these flags from the cc_config.xml file.
When sending logs, make sure to CC David, Rom, or Charlie separately, since the email list will drop attachments!

Report any problems you get with it to the Alpha email list. This list needs registration.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.


The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.
ID: 38823 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 38829 - Posted: 8 Jul 2011, 0:42:34 UTC

Two fixes have gone into the 6.13.0 client already: 070711 and 070711.2

Change Log:

  • client: write log msgs saying whether GPUs are OpenCL-capable
  • client: fix bug introduced in [23765] that produced garbage in <coproc> elements in sched req msgs and elsewhere. peak_flops is a double. If you print it using %d, everything from that point forward is messed up.
  • client: fix typo that caused a lot of spurious "project has XXXXXX deadline misses" messages.
  • fix compile warnings


ID: 38829 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 38923 - Posted: 13 Jul 2011, 8:28:02 UTC
Last modified: 10 Feb 2017, 13:52:37 UTC

Charlie Fenton, one of BOINC's developers has explained the reasoning behind the new Simple View.

If you have been testing the 6.13.0 alpha release, you have probably seen the reworked Simple View. I am writing to explain the reasons for the changes and to explain the rationale for its design.

The old Simple View (as in 6.12.33) has a number of basic problems. It uses mostly non-standard controls, and most of the controls are actually bitmap images. For example, the buttons ("Add Project", "Messages", etc.) are actually small pictures of a rectangular button. The text labels are part of the image, rather than being encoded as actual text. This design causes several serious issues:

[1] Localization:

The use of bitmap controls makes it very difficult to localize the interface for different languages. In other parts of the BOINC Manager, the text in controls, menus etc. is represented as a series of characters (i.e., encoded as actual text.)

Our development system scans the source code for all such text, and generates a special file containing all the text strings. Our many volunteer translators take a copy of this file and add the translations into each language. They then return the localized file (which contains each English string followed by its localized equivalent) to us. We include these translation files with BOINC, and they are installed on each user's computer as part of BOINC.

The BOINC software includes logic which then applies the appropriate translation file, depending on the language the user selects. The software also adjusts the size of each interface element to fit the localized text, since the translation may be longer or shorter than the English original. Finally, the size of the entire window is adjusted to accommodate the resized buttons and other elements.

But when the buttons and other interface elements are images of text, rather than actual strings, none of this can work. The only way to create a localized version is to produce new images with the translated text, and generate a localized "skin" for each language. Not only is this very tedious and inefficient, it is not something most of our volunteer translators can do readily.

The Simple View is not so simple for users who don't speak English and so can't understand the button labels. And yet this is the interface all new users see.

[2] Accessibility:

Computer users who are blind or have limited vision often use special accessibility software known as screen readers, which convert the text on their screen to audible speech. Screen readers don't work with bitmap controls. So some of the users who could benefit most from a simplified user interface can't take advantage of it.

The use of non-native / non-standard controls also prevents implementing other accessibility features available for most computer systems, such as keyboard-only control access without using the mouse.

[3] Difficulty creating new skins:

Creating a new customized skin requires creating many bitmaps, as a separate image file is needed for every state of every control.

[4] Non-intuitive operation:

The use of non-native / non-standard controls violates the user interface guidelines on Mac and Windows. These guidelines are designed to provide commonality across different applications, making it easier for users to learn new applications in an intuitive manner. Because the old Simple View violates these standards, it is harder for new users to understand.

[5] Lack of flexibility:

The fixed size and position of items makes it hard to enhance the interface by adding new items or rearranging existing ones. Here are some examples:

  1. It is not obvious that you can click on the "Graphics Available" text at the bottom of the slide show to display the application's graphics.
  2. The project icons with the contextual menus give no visual indication that clicking them displays a drop-down menu.
  3. The task tabs near the top of the window, and the left and right arrows to scroll through them, are non-standard and less intuitive than they might be. And the meaning of the yellow (or other single color) dots next to some of the tasks is not self-evident.


All of the above issues can be solved by using standard native controls and user interface elements instead of the bitmap images, which provides automatic support for localization, automatic sizing and accessibility. The new Simple View attempts to keep the functionality of the old version, and adds a few more capabilities.

One challenge was finding a common set of controls that are standard native controls on Windows, Macintosh and Linux. This eliminated some choices that would have been obvious for one or another platform but would not work on others, and required some compromises. In particular, the use of push buttons to expose a pull-down / pop-up menu is a departure from typical user interface design, but it allowed us to use standard native controls for all the associated functions.

The use of green, yellow and red dots in the Task Selection pull-down menu / combo box uses the standard traffic light paradigm to indicate whether each task is running, waiting to run, or suspended.

Another challenge arises because the new Simple View is a bit larger than the old one, and some translations will make it larger yet. So the old background images for the different skins are all too small. We will be creating new, larger background artwork for the standard BOINC skin, and will encourage those who provide other skins to do the same. To help with the transition, the new Simple View anchors the upper-left corner of the background, and fills in the areas beyond the background image on the bottom and right side with the background color specified in the skin. In many cases, this reduces the impact of the undersized background artwork.

The new Simple View requires far less artwork, so creating new skins will be considerably easier in the future.

We hope you agree with us that these changes will improve the BOINC experience, especially for new users.

Cheers,
--Charlie



The new Simple View eliminates the need for many of the images in the skins, along with their corresponding entries in the skin.xml file. It also requires a larger background image and in some cases changes to the background artwork.

The new Simple View is slightly larger than the old version, but the actual size varies depending on the platform (Windows, macintosh or linux.) Since the new version is localizable, the size of the window also varies depending on the selected language. If you have a custom skin, you should create a larger version of the main background image (specified by the <background_image> tag in the skin.xml file), allowing plenty of extra area to accommodate very long translation strings.

Because most skins have a logo in the top left corner of the main background image, the new Simple View anchors that corner. In other words, the top left corner of the background will always be at the top left corner of the window, and more or less of the bottom and right-hand areas of the background image will be included depending on the size of the window.

For backward compatibility, if the background bitmap is too small, the right side and bottom are filled in with the background color specified in the skin.xml file by the <background_color> tag.

Note also that the task information and project information areas will vary in size and position. Some skins include 2 contrasting rectangles as part of the main background image, which frame these two areas. If your skin has these, you should eliminate them as they will no longer align with the controls. The new Simple View simulates a semi-transparent background for the task information and project information areas, allowing your main background to partially show through. This will automatically set these areas apart in a manner consistent with your custom skin.

The same is true for the background of the Simple Preferences dialog specified by the <dialog_background_image> tag in the skin.xml file. It needs to be larger, and will be anchored at its top left corner.

The new main and preferences background images are all you need to be compatible with the new Simple View. But many other images, and their corresponding skin.xml tags, which were needed by the old Simple View are no longer required and can be eliminated.

The following xml tags are no longer used and can be eliminated, along with their corresponding images:
<spacer_image>
<state_indicator_background_image>
<connecting_indicator_image>
<error_indicator_image>
<workunit_active_tab>
<workunit_suspended_tab>
<workunit_tab_area_background_image>
<workunit_area_background_image>
<workunit_animation_background_image>
<workunit_gauge_background_image>
<workunit_gauge_progress_indicator_image>
<project_area_background_image>
<attach_project_button>
<help_button>
<right_arrow_button>
<left_arrow_button>
<save_button>
<synchronize_button>
<cancel_button>
<close_button>
<copy_all_button>
<copy_button>
<messages_link_image>
<messages_alert_link_image>
<suspend_link_image>
<resume_link_image>
<preferences_link_image>
<advanced_link_image>

Under the [code]<wizards> <attach_to_project>[/code] tag: [code]<logo>[/code]
Under the [code]<wizards> <attach_to_account_manager>[/code] tag: [code]<logo>[/code] and [code]<title>[/code]

====================================================

The following tags in the skin.xml file (and their corresponding images) _are_ still needed and can be used without any changes:
[code]<static_line_color>
<workunit_animation_image>
<project_image>[/code]
Under [code]<advanced>:
<is_branded>
<application_name>
<application_short_name>
<application_icon>
<application_icon32>
<application_disconnected_icon>
<application_snooze_icon>
<application_logo>
<organization_name>
<organization_website>
<organization_help_url>
<open_tab>
<exit_message>
[/code]
One final note: some skins have erroneous xml tags [code]<company_name>[/code] and [code]<company_website>[/code]. These are incorrelink_image>
<resume_link_image>
<preferences_link_image>
<advanced_link_image>[/code]
Under the [code]<wizards> <attach_to_project>[/code] tag: [code]<logo>[/code]
Under the [code]<wizards> <attach_to_account_manager>[/code] tag: [code]<logo>[/code] and [code]<title>[/code]

====================================================

The following tags in the skin.xml file (and their corresponding images) _are_ still needed and can be used without any changes:
[code]<static_line_color>
<workunit_animation_image>
<project_image>[/code]
Under [code]<advanced>:
<is_branded>
<application_name>
<application_short_name>
<application_icon>
<application_icon32>
<application_disconnected_icon>
<application_snooze_icon>
<application_logo>
<organization_name>
<organization_website>
<organization_help_url>
<open_tab>
<exit_message>
[/code]
One final note: some skins have erroneous xml tags [code]<company_name>[/code] and [code]<company_website>[/code]. These are incorrect; the correct tags should be [code]<organization_name>[/code] and [code]<organization_website>[/code].
ID: 38923 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 39107 - Posted: 19 Jul 2011, 12:35:12 UTC
Last modified: 20 Jul 2011, 20:58:18 UTC

BOINC 6.13.1 available for testing for Windows, Linux and Macintosh.

Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.


REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
<sched_op_debug>: problems involving scheduler operations and other low level information.

Use these flags from the cc_config.xml file.

Report any problems you get with it to the Alpha email list. This list needs registration.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.


The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.

Change Log:

  • client: write log msgs saying whether GPUs are OpenCL-capable
  • client: fix bug introduced in [trac]changeset:23765[/trac] that produced garbage in <coproc> elements in sched req msgs and elsewhere. peak_flops is a double. If you print it using %d, everything from that point forward is messed up.
  • client: fix typo that caused a lot of spurious "project has XXXXXX deadline misses" messages.
  • fix compile warnings.
  • Mac: Fix bug where menubar icon menu did not work after changing skin.
  • WINSCR: Remove diagnostics screensaver dialog when the screensaver fails to be able open up the log files.
  • client: possibly fix bug that caused no-GPU prefs to be ignored.
  • Mac: Refine big fix for menubar icon menu not working after changing skin.
  • client: fix bug related to deselecting resource types in project prefs. Some logic was missing.
  • client: clear have_nvidia/ati flags in CC_STATE so you don't show garbage in project properties.
  • Manager and GUI RPC: Remove debt fields from PROJECT: not used anymore. Add sched_priority field.
  • client: fix scheduler bug that treated all CPU jobs as non-high-priority.
  • client: don't print spurious "domino prevention" and "thrashing prevention" msgs.
  • manager: show project descriptions in same size font as the rest of the dialog.
  • manager: do the above font change only on Windows.
  • manager: Handle string conversion at compile time instead of run time.
  • manager: fix messed up logic that caused projects to show "platform not support" incorrectly. Note: the code in this entire area seems way too complex.
  • manager: tweak project desc font size.
  • client, work fetch policy: adjust project REC by the amount of work queued, to increase variety.
    NOTE (David): at some point I think I had a reason to not do this, but I can't remember what it is.
  • client, job scheduling policy: fix how project REC is adjusted
  • manager: don't show "Estimated computation speed" in task properties. The quantity involved is not actually computation speed. Also don't show Max RAM usage.
  • lib: Fix the various '????' fields in the diagnostics framework during a crash on Windows. Somewhere along the lines I messed up with the conversions of single-byte characters vs. double-byte characters.
  • client: add <rec_half_life_days> config option.
  • client: if a project has zero resource share, don't piggyback a work request onto a non-work-request RPC.
  • client: show the right prefix for <cpu_sched_debug> messages.
  • MGR: Fix "Can't load Image" messages in Simple View; allow gaps in slide show file numbering; reload images if new project files downloaded.

ID: 39107 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 39117 - Posted: 19 Jul 2011, 22:07:11 UTC
Last modified: 8 Sep 2011, 11:49:32 UTC

REPEATED EXTRA WARNING

The new BOINC 6.13 range is using completely new, from the ground up rewritten code for many of its parts. It is not to be used if you are not an alpha tester. It is not to be used on all of your machines, just on one. When it doesn't work, report your problems to the developers and return to the latest 6.12.recommended.

At this time we're specifically testing whether or not the new CPU/GPU scheduling code works without using debt, and if projects will fetch work.

This is not a version that you install and walk away from, it needs constant checking, including the use of all the correct client configuration flags. Make sure your log files are of sufficient size so you can log through the night.

Minimum required flags to report with are <cpu_sched_debug>, <rr_simulation>, <sched_op_debug>, <work_fetch_debug>

Do not run experimental versions of BOINC on live projects, unless you also subscribe to the associated boinc_alpha mailing list, and have time to read and act upon any recall or hotfix notices for builds which turn out to be buggy.

Remember, these early 6.13s are not for prolonged use if you aren't going to send regular logs back to the developer. These versions will only annoy the heck out of you, since they will do work fetch completely different from what you have come to expect of BOINC. Just don't use it if you're not serious about it!
ID: 39117 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 39269 - Posted: 25 Jul 2011, 16:47:18 UTC
Last modified: 25 Jul 2011, 16:48:03 UTC

Rom Walton wrote:
Linux Build Issues

To date it looks like we have the following issues:

6.13.0+:

Boincmgr currently requires libboinc.so which is actually supposed to be statically linked into boincmgr. Our solution here is to fix whatever bug was introduced which keeps the static linking from happening.

6.12.0-6.12.xx:

Boinc dynamically links against OpenSSL 0.9.8 and the most recent distros have already upgraded to OpenSSL 1.x. Ubuntu won't be upgrading until 11.10 which will be released later this year. So our solution is to statically link OpenSSL 0.9.8 so that it can work aross both types of Distros.

Thanks for everybody's help.


----- Rom
ID: 39269 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40094 - Posted: 9 Sep 2011, 17:03:51 UTC
Last modified: 9 Sep 2011, 21:11:24 UTC

INCOMPATIBILITY WARNING FOR UPCOMING 6.13.3 BUILD

Howdy Folks,

I'm getting ready to release a new build of 6.13, this new build contains changes to support volunteer storage. You can see some of the
details here: http://boinc.berkeley.edu/trac/wiki/VolunteerStorage

Basically when you upgrade to this build there will be some changes to the client_state.xml file which will make it incompatible with older client software.

I strongly suggest making a backup copy of the data directory before upgrading to the new build just in case something happens and you need to roll-back to an earlier build of BOINC.


----- Rom


David Anderson wrote:
To clarify:
When you upgrade to 6.13.3, everything should work normally; jobs in progress will continue to run.

If you downgrade from 6.13.3 to an earlier version, jobs in progress will disappear. You'll still be attached to all your projects. The client will fetch work from them; typically it will be re-issued the previous jobs, and will start them from the beginning.

-- David
ID: 40094 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40099 - Posted: 9 Sep 2011, 18:34:20 UTC
Last modified: 9 Sep 2011, 18:35:41 UTC

BOINC 6.13.3 available for testing for Windows.


EXTRA WARNING

The new BOINC 6.13 range is using completely new, from the ground up rewritten code for many of its parts. It is not to be used if you are not an alpha tester. It is not to be used on all of your machines, just on one. When it doesn't work, report your problems to the developers and return to the latest 6.12.recommended.

At this time we're specifically testing whether or not the new CPU/GPU scheduling code works without using debt, and if projects will fetch work.

This is not a version that you install and walk away from, it needs constant checking, including the use of all the correct client configuration flags. Make sure your log files are of sufficient size so you can log through the night.

Minimum required flags to report with are <cpu_sched_debug>, <rr_simulation>, <sched_op_debug>, <work_fetch_debug>

Do not run experimental versions of BOINC on live projects, unless you also subscribe to the associated BOINC Alpha email list, and have time to read and act upon any recall or hotfix notices for builds which turn out to be buggy.

Remember, these early 6.13s are not for prolonged use if you aren't going to send regular logs back to the developer. These versions will only annoy the heck out of you, since they will do work fetch completely different from what you have come to expect of BOINC. Just don't use it if you're not serious about it!


INCOMPATIBILITY WARNING
When you upgrade to this build from any 6.12 or previous versions, or from 6.13.0 or 6.13.1, then do know that here will be some changes to the client_state.xml file which will make it incompatible with older client software. We strongly suggest making a backup copy of the data directory before upgrading to the new build just in case something happens and you need to roll-back to an earlier build of BOINC.


Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.


REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
<sched_op_debug>: problems involving scheduler operations and other low level information.

Use these flags from the cc_config.xml file.
When sending logs, make sure to CC David, Rom, or Charlie separately, since the email list will drop attachments!

Report any problems you get with it to the Alpha email list. This list needs registration.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.


The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.

Preliminary Change Log:

  • client write project sched priority in GUI RPC replies, but not to the state file.
  • client: changes to the client file model to support distributed storage, as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
    Compatibility:

    -- clients that upgrade to this version should see nothing unusual. Clients that downgrade from this version to a previous version should see all projects reset (i.e. tasks disappear and then get re-downloaded).

  • manager: always show whether a file transfer is upload or download.
  • client: don't scale work requests by resource share.
  • client: change the implementation of upload signatures as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
  • client: debug the above.
  • client: debug distributed storage functions.
  • Mac: Begin changes for XCode 4.1 and GCC 4.2
  • Mac: Finish changes for XCode 4.1 and GCC 4.2
  • lib: Initialize config_coprocs struct in CONFIG::defaults()
  • SCR: Fix delay dismissing screensaver under Mac OS10.7
  • client: fix bug in <exclude_gpu> config option.
  • client: extend <exclude_gpu> option so that if <device_num> is omitted, all GPUs of the given type are excluded.
  • client: change the way upload signatures are generated in an attempt to make them work with existing servers.
  • client: undo the above. It doesn't work.
  • client: fix bug in get_descendants(), which prevented the client from cleaning up subprocesses of misbehaving multiprocess apps.
  • VM apps: eliminate vbox64 plan class. Only vbox.
  • client: add optional <file_prefix> to APP_VERSION>. If present, "file_prefix/" is prepended to the logical names of input and output files of jobs using that app version. I.e. for Vbox wrapper based app versions, file_prefix is "share", so that I/O files are put in a "share" subdirectory of the slot dir.
  • client: if an app version has nonempty file_prefix, copy all its input and output files.
  • Mac: Fix warning about potential memory leak.
  • Mac: Updates for compatibility with current CUDA software and OS X through OS 10.7 Lion, etc.
  • client: projects with zero resource share are always lower priority, for both job sched and work fetch, than projects with positive resource share.
  • client: make round-robin simulator match what the job scheduler now does: give lowest priority to projects with zero resource share.
  • Changes for Charity Engine Desktop.
  • Mac Client: Call NSVersionOfRunTimeLibrary("cuda") to set cc.display_driver_version.
  • client: rename MODE to RUN_MODE, and rename vars accordingly.
  • client: pass XML_PARSER& rather than MIOFILE& to parse functions. Preparatory to using new-style XML parsing everywhere.
  • client: more XML parsing stuff.
  • client: XML tweak.
  • Mac installer: Bug fixes for OS 10.7 Lion.
  • WINSCR: Based on feedback from WCG about the screensaver lock-up problem attempt to provoke Windows into redrawing the primary display. It turns out that the screensaver image is a ghost image, so create a blank top-most window and close it after the graphics application has been terminated.
  • client: more XML parsing cleanup.
  • client: fix compiler warnings.
  • client: Correlate OpenCL results with CAL or CUDA results based on index of devices reported by each.
  • client: write / parse OpenCL info in COPROC XML data.
  • fix linux build errors in coproc stuff. I don't think unsigned long long is relevant here.
  • lib: fix compile error on Mac, Ubuntu and Windows.
  • client: fix compiler warnings on Mac and Ubuntu.
  • lib, client: revert recent changes to restore unsigned long long so we can determine cause of Linux build errors.
  • lib: try to fix Linux build errors.
  • lib: On Windows, call _strtoui64() instead of strtoull
  • client: fix bug where NVIDIA display driver version wasn't being set correctly for some laptop GPUs.
  • client/server: improve estimation of NVIDIA GPU peak FLOPS.
  • lib: use standard implementation of strtoull when available.
  • fix build error in Linux screensaver (at least on FC14).
  • client: fix off-by-1 error in buffer overflow logic for scanning keys.
  • manager: Communitcations -> Communications. Please, no spelling errors in function/variable names.
  • client: parse deprecated tags in <file_info>
  • client: fix bug that caused project attach to fail.
  • clientgui: Rom, we should do error-checking of most GUI RPCs; look for REPORT ERROR in ProjectProcessingPage.cpp
  • lib: Add boinc_getopencl_ids() to be called by OpenCL project applications.
  • lib: rename boinc_getopencl_ids() to boinc_get_opencl_ids()
  • move boinc_get_opencl_ids() from lib/ to api/. lib/ is for code that's used by >1 part of BOINC.
  • client: fix bugs related to white space around code signing keys.
  • win compile fixes.
  • lib, api: bring Xcode and make files into agreement.
  • Win: remove boinc_opencl from API lib.
  • client (and API and manager): change the data structure used for system process info.
    Old: vector of PROCINFO.

    Descendants of a process were found by recursively iterating through the vector. Operations are O(n).

    New: map of (id, PROCINFO), and each PROCINFO has a vector of its children. Operations are O(log(n)).
    Also combined Mac/Win/Linux? variants of code that was essentially the same.
  • Windows compile fixes.
  • code shuffling.
  • more code shuffling:
    - proc_control: controlling processes
    - procinfo: enumerating and querying processes
    - run_app_windows: launching apps as other users on Win
  • client/API/vboxwrapper:

    Add a mechanism so that apps can report sub-processes that are not descendants (e.g., virtual machines). These processes are then counted as part of the app, not as "non-BOINC CPU time". This fixes a bug where processing was incorrectly suspended because CPU usage by VM apps exceeded the "CPU usage limit" pref.

    Implementation:
    -- The PIDs of the processes in question are passed from app to client via shared-memory, in the app_status channel. A new variant of boinc_report_app_status() supports this.
    -- The VBox wrapper queries the PID of the VM, and reports it in this way.
    -- procinfo_app() includes a new argument: a list of PIDs that are part of the app, although not ancestrally related to the main process.
    -- In the client, ACTIVE_TASK now includes a vector "other_pids". If this is nonempty, it's passed to procinfo_app().
  • lib: Fix compile errors; add app_control.cpp to XCode project.
  • lib: minor code shuffle.
  • client: fix bugs with white space around code sign keys and file signatures.
  • client: when describing app versions in scheduler requests, we still must use CUDA instead of NVIDIA; that's what's in the server code.
  • scheduler: use new XML parser for most request elements.
  • scheduler: parse NVIDIA as well as CUDA in app version descriptions (workaround for recent clients).
  • client: make exit_before_start a cc_config.xml option (as well as a cmdline option).
  • client: if too many <coproc> elements in cc_config.xml, detect it and inform user.
  • client: new XML parser had a limit of 8KB for strings. This broke things. Increase it to 256KB.
  • Mac: More fixes for building under XCode 4.1

ID: 40099 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40109 - Posted: 10 Sep 2011, 12:19:57 UTC

I don't think you should use 6.13.3
All I get are validate errors on all the projects I used it on. This means you get no credit (for if you're an alpha tester & credit hound ;-)).
ID: 40109 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40127 - Posted: 11 Sep 2011, 17:23:39 UTC

David Anderson wrote:
There are (at least) two issues with 6.13.3:

1) For GPU apps, it passes an additional command-line argument that causes some apps to fail (usually by exiting immediately). This will be fixed in 6.13.4.

2) 6.13.3 handles file upload certificates (a mechanism that prevents DoS attacks on upload servers) differently than previous versions.
This change was necessary to make scheduler requests and replies readable by standard XML parsers. But it means that file uploads will fail to projects that a) use upload certificates, and b) aren't running current server code.

I sent email to boinc_projects describing this change, and recommending that projects disable upload certificates until they're able to upgrade their server code. Not all project admins read boinc_projects, so it may be necessary to contact them via their message boards or email, and I urge Alpha-testers to do so.

-- David


David Anderson, boinc_projects email list wrote:
"Upload certificates" are a mechanism that keeps bad guys from DoS'ing your upload servers (note: such an attack has never happened, as far as I know).

We're changing the format of upload certificates, and we're starting to test a version of the client for which old-format certificates won't work. Volunteers testers won't be able to upload completed jobs, and they may complain to you.

I suggest that all projects disable upload certificates. To do so, add the following to your config.xml file:

<dont_generate_upload_certificates/>
<ignore_upload_certificates/>

To resume using upload certificates, if you wish:

1) upgrade to the current server source code (from trunk)
2) wait for all jobs with old-format certificates to be dispatched
3) re-enable certificates by removing the above lines.

Let me know if any questions.

-- David
ID: 40127 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40163 - Posted: 13 Sep 2011, 8:10:47 UTC

6.13.3 has been removed from testing. Do not use it any further.
ID: 40163 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40264 - Posted: 20 Sep 2011, 17:12:50 UTC
Last modified: 20 Sep 2011, 17:20:01 UTC

BOINC 6.13.4 available for testing for Windows.

Rom Walton wrote:
Howdy Folks,

I had originally planned on releasing 6.13.4 today, but ran into a bump with my schedule. I'll release it tomorrow (21-09-2011).

For those who cannot wait there are two warnings you need to know about.

1. File uploads may not work with all projects. If you find upload errors for some of the projects you are running you will need to get in touch with the project staff and have them upgrade their file upload handler or disable upload signing certificate generation per David's email to project administrators.

2. Upgrading to this build, or anything newer, changes things internally so that downgrading to an older build causes the client software to abandon all work and re-fetch work from the projects. Depending on project configuration, you may get the same work over again or you may be assigned new work.

Thanks in advance.


----- Rom



WARNING

The new BOINC 6.13 range is using completely new, from the ground up rewritten code for many of its parts. It is not to be used if you are not an alpha tester. It is not to be used on all of your machines, just on one. When it doesn't work, report your problems to the developers and return to the latest 6.12.recommended.

At this time we're specifically testing whether or not the new CPU/GPU scheduling code works without using debt, and if projects will fetch work.

This is not a version that you install and walk away from, it needs constant checking, including the use of all the correct client configuration flags. Make sure your log files are of sufficient size so you can log through the night.

Minimum required flags to report with are <cpu_sched_debug>, <rr_simulation>, <sched_op_debug>, <work_fetch_debug>

Do not run experimental versions of BOINC on live projects, unless you also subscribe to the associated BOINC Alpha email list, and have time to read and act upon any recall or hotfix notices for builds which turn out to be buggy.

Remember, these early 6.13s are not for prolonged use if you aren't going to send regular logs back to the developer. These versions will only annoy the heck out of you, since they will do work fetch completely different from what you have come to expect of BOINC. Just don't use it if you're not serious about it!


INCOMPATIBILITY WARNING UPON RETURNING TO PREVIOUS BOINC VERSIONS: 6.13.3 or later
When you upgrade to this build from any 6.12 or previous versions, or from 6.13.0 or 6.13.1, then do know that here will be some changes to the client_state.xml file which will make it incompatible with older client software. We strongly suggest making a backup copy of the data directory before upgrading to the new build just in case something happens and you need to roll-back to an earlier build of BOINC. To clarify, when you upgrade to 6.13.3 or later, everything should work normally; work in progress will continue to run. When you downgrade from 6.13.3 or later to an earlier version, work in progress will disappear. You'll still be attached to all your projects. The client will fetch work from them; sometimes it will be re-issueing the previous work, but only if the project has 'resend lost work' on, and will start this from the beginning.



Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.


REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
<sched_op_debug>: problems involving scheduler operations and other low level information.

Use these flags from the cc_config.xml file.
When sending logs, make sure to CC David, Rom, or Charlie separately, since the email list will drop attachments!

Report any problems you get with it to the Alpha email list. This list needs registration.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.


The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.

Preliminary Change Log:

  • client: XML-escape the URLs in RSS feed lists.
  • lib: make xml_unescape work for arbitrarily large strings.
  • client: don't pass --gpu_type to GPU apps; this breaks many existing apps. Instead, pass the GPU type (and the device number) in app_init_data.xml.
  • client: fix error in parsing of XML comments.
  • client: make RR simulation more accurate by simulating time-slicing explicitly. Also simulate changes in project REC and hence in scheduling priority.
  • client: add a log flag "rrsim_detail" that prints time-slice-level info.
  • client: message tweak.
  • client: remove code related to debt-based scheduling.
  • client: make file upload work w/ old handlers.
  • client, GUI RPC, Manager: In GUI RPC, change RESULT.gpu_mem_wait to scheduler_wait. It means that the app did a boinc_temporary_exit(), and is waiting to be rescheduled. GPU mem wait is one source of this, not the only one.
  • lib, api: bring Xcode and make files into agreement.
  • client: get GPU available RAM at startup (only).
  • client: fix compile warning.
  • client: fixes to the above.
  • client: prevent infinite recursion (and stack overflow) in procinfo.cpp:add_child_totals(). Not sure how this could happen.
  • client: escape URLs for curl, otherwise filenames with spaces don't work.
  • client: curl_easy_escape() escapes way too much. Just escape spaces.
  • XML parsing: do XML unescaping in place rather than allocating a buffer on the stack. Fixes a Manager crash on the Mac, where the default thread stack size seems to be 512KB.
  • client: Update Windows detection code to support Windows 8. (From: [P3D] Crashtest)
  • client: change in the use of GPU available RAM:
    -- Measure the available RAM of each GPU when BOINC starts up. If this fails, set available = physical. Show available RAM in startup messages.
    -- Use available RAM rather than physical RAM in selecting the "best" GPU instance.
    -- Report available RAM to the scheduler.
    -- TODO: change the scheduler to use available rather than physical if it's reported.
  • fix more compile warnings.
  • client: report available GPU RAM to scheduler.
  • lib: parse <available_ram> in coproc XML.
  • lib: do coproc XML parsing using new XML parser.
  • lib: fix compiler warning.
  • Mac: Change XCode project to build both 32-bit and 64-bit BOINC libraries for debug as well as for deployment.
  • client: report network usage to the client when enforcing network quota preferences.
  • client: with VBox on Win, the process graph sometimes has cycles. Not sure where this comes from. But avoid infinite recursion when traversing descendants.
  • client: make the attributes of GUI RPCs (network, authentication) explicit rather than determined by position in a list.
  • client: add a new "read-only" attribute for GUI RPCs. This is in preparation for handling GUI RPCs in separate threads.
  • client: remove code to support pre-V6 graphics.
  • Win fixes.
  • lib: add generic interfaces for threads and thread synchronization.

ID: 40264 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40275 - Posted: 21 Sep 2011, 1:49:42 UTC

Charlie Fenton wrote:
I have posted 6.13.4 for the Mac. Note that as of 6.13, we are no longer supporting PowerPC macs.

Cheers,
--Charlie
ID: 40275 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40286 - Posted: 21 Sep 2011, 20:11:53 UTC - in response to Message 40275.  

Rom Walton wrote:
I've withdrawn the Mac and Windows builds from the download_all.php page until we can identify the various setup issues.

----- Rom
ID: 40286 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40308 - Posted: 22 Sep 2011, 22:36:56 UTC
Last modified: 23 Sep 2011, 10:43:10 UTC

Service installation problem?

The problem is still with the ATI 11.7 (or 11.8) catalysts, which break the detection of the card. If you do not use your GPU, you can get around this with a cc_config.xml file that contains the following lines:

<cc_config>
    <options>
        <no_gpus>1</no_gpus>
    </options>
</cc_config> 


This will require a restart of the client.

If you do use your GPU, you shouldn't install as a service on Windows 7 and Vista anyway due to the session 0 problem.

In the mean time, Rom is including a fix that will disable the GPU detection. It'll be in the forthcoming 6.12.38 and 6.13.6. This will however break GPU detection when installed as a service on Windows XP as well. Sorry for that, but it's either, or. That will get fixed in a future release, until that time, go complain at ATI/AMD that they need to fix their drivers! And please report back when they said they did. ;-)
ID: 40308 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40309 - Posted: 22 Sep 2011, 23:12:50 UTC
Last modified: 28 Sep 2011, 10:31:52 UTC

Testing 6.13s and running Test4Theory

This is a warning for those of you who make a backup of your BOINC Data directory (highly recommended!) and are running Test4Theory.

When running T4T work on a 6.13 client and you need to return to a previous 6.13 or older client, then do know the following: When you put your backup back and restart your older client, you will notice that your T4T task will go to computation error immediately. This is because the state of the task running in the Virtual Machine is past the state of the one in your backup. Upon restart, the CERN server will throw a fit and declare your task 'corrupt'.

You can work around this by:
- Suspending Test4Theory while you test run the newer client.
- Setting the T4T project to NNT, then running the T4T BOINC task to 100%.
- When you have the possibility, by updating your backup incrementally with only the newer T4T details (state of files in the slot directory, client_state.xml, etc.)
ID: 40309 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40415 - Posted: 28 Sep 2011, 10:18:46 UTC
Last modified: 30 Sep 2011, 22:38:41 UTC

BOINC 6.13.6 available for testing for Linux, Macintosh and Windows.

Charlie Fenton wrote:
I've uploaded the Mac builds of BOINC 6.13.6 to the download all page for testing.

Cheers,
--Charlie


Rom Walton wrote:
Howdy Folks,

We have a new build to test, I've included a summary of all the builds since 6.13.1 for those who didn't test drive newer builds. Remember to make a backup copy of your data directory before installing the new build just in case you need to roll back to an older build.

This build should have the fixes needed to upload work to all BOINC projects who have their upload certificate generation turned off.

Please focus your testing efforts on the CPU/GPU scheduler and Simple GUI.

Report bugs here and test results too http://boinc.berkeley.edu/alpha/

Thanks in advance.


----- Rom


WARNING

The new BOINC 6.13 range is using completely new, from the ground up rewritten code for many of its parts. It is not to be used if you are not an alpha tester. It is not to be used on all of your machines, just on one. When it doesn't work, report your problems to the developers and return to the latest 6.12.recommended.

At this time we're specifically testing whether or not the new CPU/GPU scheduling code works without using debt, and if projects will fetch work.

This is not a version that you install and walk away from, it needs constant checking, including the use of all the correct client configuration flags. Make sure your log files are of sufficient size so you can log through the night.

Minimum required flags to report with are <cpu_sched_debug>, <rr_simulation>, <sched_op_debug>, <work_fetch_debug>

Do not run experimental versions of BOINC on live projects, unless you also subscribe to the associated BOINC Alpha email list, and have time to read and act upon any recall or hotfix notices for builds which turn out to be buggy.

Remember, these early 6.13s are not for prolonged use if you aren't going to send regular logs back to the developer. These versions will only annoy the heck out of you, since they will do work fetch completely different from what you have come to expect of BOINC. Just don't use it if you're not serious about it!


INCOMPATIBILITY WARNING UPON RETURNING TO PREVIOUS BOINC VERSIONS: 6.13.3 or later.
When you upgrade to this build from any 6.12 or previous versions, or from 6.13.0 or 6.13.1, then do know that here will be some changes to the client_state.xml file which will make it incompatible with older client software. We strongly suggest making a backup copy of the data directory before upgrading to the new build just in case something happens and you need to roll-back to an earlier build of BOINC. To clarify, when you upgrade to 6.13.3 or later, everything should work normally; work in progress will continue to run. When you downgrade from 6.13.3 or later to an earlier version, work in progress will disappear. You'll still be attached to all your projects. The client will fetch work from them; sometimes it will be re-issueing the previous work, but only if the project has 'resend lost work' on, and will start this from the beginning.



Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.


REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
<sched_op_debug>: problems involving scheduler operations and other low level information.

Use these flags from the cc_config.xml file.
When sending logs, make sure to CC David, Rom, or Charlie separately, since the email list will drop attachments!

Report any problems you get with it to the Alpha email list. This list needs registration.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.


The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.

Preliminary Change Log -> 6.13.5:

  • client: in handling the acct_mgr GUI RPC, don't start the RPC directly; that might fail if CLIENT_STATE::gui_http is busy. Instead, set a timer field.
  • client: structure ACCT_MGR_OP the same as other GUI_HTTP_OP variants.
  • client: clarify the comments on GUI_HTTP and GUI_HTTP_OP.
    Note: GUI_HTTP and GUI_HTTP_OP are misnomers; they refer to any HTTP op other than scheduler requests and file transfers. Should change the name, maybe to CLIENT_HTTP*
  • client: intermediate checkin for replicated trickle-ups. Not finished yet.
  • client: fix bug in ATI GPU detection, caused zero RAM measurements.
  • client: fix ATI GPU max mem display issue.
  • client: more stuff for replicated trickle ups.
  • client: more work on replicated trickles. Not working yet.
  • client: replicated trickles. Seems to be working now.
  • client: added <trickle_debug> config option.

    -> 6.13.6
  • Mac: fixes for problems with OS 10.4 compatibility.
  • client: Disable GPU detection of Windows when running as a service to avoid a deadlock condition with the latest ATI drivers.

ID: 40415 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40646 - Posted: 12 Oct 2011, 18:19:27 UTC
Last modified: 14 Oct 2011, 18:09:35 UTC

BOINC 6.13.8 available for testing for Linux, Windows and Macintosh.

WARNING


The new BOINC 6.13 range is using completely new, from the ground up rewritten code for many of its parts. It is not to be used if you are not an alpha tester. It is not to be used on all of your machines, just on one. When it doesn't work, report your problems to the developers and return to the latest 6.12.recommended.

At this time we're specifically testing whether or not the new CPU/GPU scheduling code works without using debt, and if projects will fetch work.

This is not a version that you install and walk away from, it needs constant checking, including the use of all the correct client configuration flags. Make sure your log files are of sufficient size so you can log through the night.

Minimum required flags to report with are <cpu_sched_debug>, <rr_simulation>, <sched_op_debug>, <work_fetch_debug>

Do not run experimental versions of BOINC on live projects, unless you also subscribe to the associated BOINC Alpha email list, and have time to read and act upon any recall or hotfix notices for builds which turn out to be buggy.

Remember, these early 6.13s are not for prolonged use if you aren't going to send regular logs back to the developer. These versions will only annoy the heck out of you, since they will do work fetch completely different from what you have come to expect of BOINC. Just don't use it if you're not serious about it!

INCOMPATIBILITY WARNING UPON RETURNING TO PREVIOUS BOINC VERSIONS: 6.13.3 or later.
When you upgrade to this build from any 6.12 or previous versions, or from 6.13.0 or 6.13.1, then do know that here will be some changes to the client_state.xml file which will make it incompatible with older client software. We strongly suggest making a backup copy of the data directory before upgrading to the new build just in case something happens and you need to roll-back to an earlier build of BOINC. To clarify, when you upgrade to 6.13.3 or later, everything should work normally; work in progress will continue to run. When you downgrade from 6.13.3 or later to an earlier version, work in progress will disappear. You'll still be attached to all your projects. The client will fetch work from them; sometimes it will be re-issueing the previous work, but only if the project has 'resend lost work' on, and will start this from the beginning.

Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.
- Due to the OpenCL detection, your screen may flicker or turn off temporarily. This is normal.

REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
<sched_op_debug>: problems involving scheduler operations and other low level information.

Use these flags from the cc_config.xml file.
When sending logs, make sure to CC David, Rom, or Charlie separately, since the email list will drop attachments!

Report any problems you get with it to the Alpha email list. This list needs registration.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.


The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.

Preliminary Change Log --> 6.13.7:

  • client: fix spurious error message about trickle-up URLs.
  • client: don't call CLIENT_STATE::free_mem() on shutdown. This is for debugging only, and it can cause crashes.
  • Mac: fixes for problems with OS 10.4 compatibility.
  • Mac: more fixes for problems with OS 10.4 compatibility.
  • Mac: update wxMac build script for XCode 4.1 and OS 10.4 compatibility.
  • client: Fix compile break on Mac.
  • lib: only build the static version of libboinc.
  • Updates Linux notifications to use current libnotify.
  • Fix build problems on Mac OS X using autotools.
  • Consistently use #if HAVE_X for platform checks, rather than #ifdef HAVE_X or #if defined(HAVE_X)
  • In Unix build, make lots of compiler checks standard.
  • Fix some compile warnings. From Matt Arsenault.
    -- Note: there are now lots of compile warnings in clientgui/ on Unix, mostly in WxWidgets code.
  • client: Fix compile break on Mac.
  • client: Fix compiler warnings on Mac.
  • manager: fix build break on Linux Undoes part of yesterday's checkin.
  • more changes from #ifdef HAVE_X to #if HAVE_X.
  • WINSETUP: Add more logging to the create group and add user to group functions in an attempt to figure out what is going on with Windows 8.
  • client: fix a bug reported by Jacob Klein, where work fetch didn't work right in the presence of multiple GPUs and <exclude_gpu> config options.
    For example, suppose:

    -->
    you have 2 GPUs and 2 projects.
    Project A is excluded from GPU 1.
    you have lots of jobs for project A .

    Then the client won't try to fetch jobs from project B.

    The problem had 2 parts:
    a) round-robin simulation wasn't taking GPU exclusions into account.
    In the above example, it would think that both GPUs had jobs. I fixed this by computing the # of GPUs from each project is excluded, and using this in the RR simulation.

    b) Once this was done, I needed to make the client request GPU jobs from project B rather than project A.
    I did this with following policy: If a project has excluded GPUs of a given type, and has a runnable job of that type, don't ask it for more work of that type.

    Notes:
    the policy in b) is crude, and it means that work-buffer preferences are ignored in some cases.
    neither a) nor b) takes into account app-level exclusions. I could fix both of these with a lot of work, but I'd rather move to a model in which dissimilar GPUs are modeled as different resources, which would remove the need for the <exclude_gpu> mechanism in the first place.

  • client: specify the project in "Some tasks need more memory than allowed by your preferences" messages.
  • client: fix bug that could cause GPU idleness in the presence of GPU exclusions. The problem was in the job-selection phase, which picks enough jobs to use all devices.
    It was ignoring GPU exclusions, so for example on a 2 GPU system it could pick 2 jobs from a project for which 1 GPU is excluded, and as a result 1 GPU would be idle.

    Solution: during job selection, keep track of GPU usage on a per-instance basis. Select a job only if it can run on a non-excluded GPU.

  • client: in computing ncprocs_excluded (which is used in work fetch policy) don't count exclusions of non-existent devices.
  • client: compute project scheduling priority more efficiently.
  • client: if an app version can't be used because the GPUs it needs are all excluded, mark it and all its results as "coproc missing" so that they won't be looked at in scheduling logic.
  • client: Fix compiler warnings.
  • lib: move XML parse test program to its own file.
    Note: XML_PARSER::parse_str() doesn't currently work right for something like <foo><a>xx</a></foo>. It should return "<a>xx</a>". TODO.
  • client: don't generate notice if lookup of host in remote_hosts.cfg fails.
  • client: don't show "(device N)" if there's only 1 device.
  • client: win compile fixes.
  • WINSCR: Before shutting down the screensaver, quickly reinitialize the OpenGL device on the primary display. Some of the issues being reported with the screensaver is a left over ghost image of the OpenGL display before the graphics application was terminated because keyboard/mouse activity was detected.
  • client: in the function that sorts jobs by arrival time, don't use name as a tiebreaker. That will typically group jobs of the same application, and (it is believed that) things run faster when applications are mixed.
  • client: fix a memory leak; would lose ~120 bytes each time a job is started.
  • lib: Re-enable boinc lib mem snapshots for BOINC based applications (boinc, boincmgr, boinc.scr) on Windows.
  • client: fix memory leak when reading stderr of completed job. This caused 128KB + size of stderr loss for each job.
  • client: print error message if reading stderr fails (e.g. because of malloc failure).
  • client: free vectors in NOTICES, RSS_FEEDS, and DAILY_XFER_HISTORY in free_mem() (for mem leak checking).
  • client, problem: suppose a project has 2 data servers, and one of them is down. If several downloads from the broken one fail, we go into "project-level backoff" and don't start downloads from either server. (Same applies to uploads).

    Solution: make project-level backoff apply only to transfers that have already failed at least once.
  • GUI RPC: add get_daily_xfer_history() RPC for getting the daily records of #bytes uploaded and downloaded.
  • client: fix bug in writing daily xfer history file.
  • client: write descriptions of OpenCL devices to stdout; work around a bug where OpenCL reports global RAM of ATI GPUs incorrectly.
  • client/server: change field names in OPENCL_DEVICE_PROP to match those in the clGetDeviceInfo() calls.
    Principles:

    --> if there's already a name for something, use it.
    --> follow case conventions .

  • client and scheduler: estimate peak FLOPS for GPUs that are detected by OpenCL but not by native APIs (CUDA/CAL). This is limited by the fact that OpenCL doesn't give us the necessary hardware info (ATI; wavefrontSize; NVIDIA: compute capability). We use the minimum values for these, so in most cases we'll be underestimating the peak FLOPS.
  • client (Mac): there was no error check of the creation of a memory-mapped file used for communication with an app. Add a check, and don't start the job if it fails.
  • client: don't do scheduler-requested RPCs if:
    --> project is set to No New Work, and
    --> project has no jobs on the client.

  • client/scheduler: the code for estimating peak FLOPS of ATI GPUs (from Crunch3r) has a multiplier of 2.5 for cores/processor. This is possibly because give a double-precision estimate. But actually we want single-precision. Change it to 5. See http://golubev.com/about_cpu_and_gpu_2_en.htm.
  • client: improve code which writes OpenCL descriptions.
  • client: Compare openCL-only devices by estimated peak flops.
  • client: compare OpenCL-only devices the same as other devices.
  • code cleanup.
  • client: Fix crashing bug in OpenCL detection on Windows.
  • lib: Fix crashing bug for debug builds of the BOINC client.
  • Mac installer: start boinc users & groups at ID 501, find human users via Directory Services, use LoginItemAPI.c

Change Log --> 6.13.8


  • client/server: add a new result state RESULT_UPLOAD_FAILED for when the job completed successfully but one or more output files had permanent upload failures. Show this state in web interfaces.
  • client and user web: show NVIDIA driver version and CUDA version as, e.g., 275.33 instead of 27533.
  • vbox: Move the destination of the VBOX_USER_HOME environment variable to <boinc_data_dir>/projects/virtualbox so that the virtualbox configuration can remain consistent across one or more projects.
  • client: fix NVIDIA driver version and CUDA version display for Mac.

ID: 40646 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40851 - Posted: 26 Oct 2011, 18:38:07 UTC
Last modified: 28 Oct 2011, 10:43:20 UTC

BOINC 6.13.9 retracted from testing for Windows.

The BOINC Team wrote:
Dear Alpha testers:

We've finished adding new features to the 6.13 client. Now we need your help to finish testing it. When it's fully tested as free of bugs as possible, we'll release it to the public as 7.0.

The new features of 6.13 include:

- A new Simple GUI, which is translatable and accessible via the keyboard.
- The client enforces resource shares better and does fewer scheduler RPCs.
- The client supports OpenCL applications. (We will follow-up with a project at a later date)
- The client supports applications that run in VirtualBox virtual machines. This requires that you install the VirtualBox (http://www.virtualbox.org/wiki/Downloads) software. (Test4Theory is the first project to deploy using this technology. If you don't already have an account with them let us know so we can help get you one.)

Reminders:

1) As an Alpha Tester, we ask you not just to use the new software, but to perform a number of specific tests, described here:
http://isaac.ssl.berkeley.edu/alpha/test_matrix.php
These tests may involve features you don't normally use.

2) Once you've done these tests, we ask you to report the results using the web page here:
http://isaac.ssl.berkeley.edu/alpha/test_form.php
It's critical that you report all positive results as well as bugs. We need positive reports to know that the software is working.

3) Because of changes in the state file format between 6.12 and 6.13, you will lose jobs in progress if you revert from 6.13 to 6.12. If you have a machine with CPDN jobs in progress, you may not want to test on that machine.

4) Don't attach clients to the BOINC Alpha project. It will never have jobs. Just use your regular projects.

Thanks --

The BOINC team


Disclaimer
On development versions of BOINC:
- Expect parts of it to be broken, or in the least to work in a different way than you are used to.
- Expect work failures, deadline misses and losing all your accumulated work in progress, or not getting credit for your work due to unknown and unforeseen circumstances.
- Only use it when you are willing to participate in the Alpha test program and do not mind sending (bug) reports in to the developers on the email list specially assigned for this purpose.
- Due to the OpenCL detection, your screen may flicker or turn off temporarily. This is normal.


REMINDER TO ALL ALPHA TESTERS:
It's far easier for the developers to fix problems when you send message logs with the appropriate flags set. The main flags are:

<cpu_sched_debug>: problems involving the choice of applications to run.
<work_fetch_debug>: problems involving work fetch (which projects are asked for work, and how much).
<rr_simulation>: problems involving jobs being run in high-priority mode.
<sched_op_debug>: problems involving scheduler operations and other low level information.

Use these flags from the cc_config.xml file.
When sending logs or other attachments, make sure to CC David, Rom, or Charlie separately, since the email list will drop attachments!

Report any problems you get with it to the Alpha email list. This list needs registration.

Reporting bugs on this forum or any project's forum isn't very productive as the developers simply do not have time to scour through all forums looking for posts with your bug reports in them. While it may happen that we - other volunteers - forward your problem to them, history has shown it is quite difficult being the middle man in this when more information is needed from you. Hence why it's better for all concerned that you report the problem directly to the developers, who will come back directly to you when they need more information or better logs or to tell you that they've checked in a fix for the specific problem.


The actual change log was taken from the Alpha email list and the Trac Timeline repository changes check-ins. This disclaimer was written by the volunteer moderators of this forum and approved of by the BOINC development team.

Preliminary Change Log -> 6.13.9:

  • client: fix honoring of cc_config ignore GPU options.
  • WINSCR: Move the reset display call to the end of the full screensaver section. We do not need to perform a display reset in the various test modes.
  • client: fix bug where network suspend got ignored when OS suspends (e.g. sleep or hibernate).
  • client: create and destroy PERS_FILE_XFERs even if network suspended. This will show pending uploads in the Transfers tab.
  • file_upload_handler (server): fix message to client when can't acquire lock.
  • client: parse <alt_platform> in state file correctly.
  • MGR: Support both the old and new libnotify at runtime on Linux.
  • Disable Linux screen saver for right now (broken on latest Ubuntu).
  • MGR: don't show slot number in simple view task list.
  • MGR: Remove code that blocks the switch to simple view when an accessibility aid is running.
  • Remove dead code related to v5 graphics applications from the client software.
  • MGR: Remove the triangle in the lower right-hand corner of the default project image for the simple GUI.
  • MGR: Persist Simple GUI notification dialog size and position information.
  • MGR: Remove context menu help buttons from dialog.
  • client: show OpenCL version correctly on Win.
  • client: improvements to job scheduling and work fetch policies.
    Job scheduling: the baseline policy is to schedule based on "project priority", which is how much processing P should receive based on resource share minus how much it actually has received recently. This policy tends to run jobs from the same project together, so we modified it by adding a priority adjustment as jobs are scheduled. The idea is that if 2 projects have about the same priority they should split the processors.

    The problem: the adjustment was too large on hosts that are on only a small fraction of the time, thus tending to run 1 job from each project, regardless of priority.

    Solution: make an adjustment that reflects the host's actual throughput. See adjust_rec_sched() for details.

  • Work fetch: similar situation.
    We were making an adjustment based on how much work the project currently has queued, but the adjustment drowned out the project priority, so we'd tend to always get work from the project that has least work queued.

    Solution: make a smaller adjustment (-.3 ... .3)

  • client: bug fix for the above.
  • client: in message announcing app start, show the plan class
  • client: don't show "unrecognized XML" messages for account files. It's typically project-specific prefs that the client doesn't know about.
  • client: call xp.skip_unexpected() if get unexpected tag, to avoid showing multiple error messages.
  • Fixed bug in xml_unescape() that caused a segfault if an entity of the form &#NNN; was truncated.
  • client: associate a PROJECT with HTTP_OP where applicable, so that if you use <http_debug> and filter by project you don't see other projects' HTTP stuff.
  • MGR: Make the Default skin loadable from the file system.
  • MGR: Change the in-memory defaults for the skin to be a light-gray background.
  • MGR: Change the dots used in the simple gui.
  • MGR: Make the dots used in the simple gui skinable.
  • MGR: Change the 'Project Web Sites' button text to 'Project Web Pages'.
  • MGR: Add a basic 'Default' skin to be included by the various installers.
  • MGR: Remove a bunch of files that are not used by the default skin anymore.
  • Mac: Update Mac build scripts, XCode project and source files to allow automated builds under OS 10.7 Lion and XCode 4.2
  • MGR: More simple GUI text changes.
  • MGR: Reduce clutter in log file.
  • client: change the way project priorities are computed, so that they do what they're supposed to (i.e. enforce resource shares).
  • client: change log flag <debt_debug> to <priority_debug>
  • client: fix bug that caused extra "<" to get written at end of global_prefs_override.xml and cc_config.xml when they are modified via GUI RPCs.
  • client: fix crashing bug when there's a cycle in the process graph. I had fixed this in one place but not another.
  • client: don't memset(0,) a PROCINFO; use clear() instead.
  • Mac: Update XCode project and Mac build scripts to build libboinc_opencl.a library and to work both with XCode 3.2 on OS 10.6.8 and with XCode 4.2 on OS 10.7.2
  • MGR: Replace backup images RedDot16.xpm, YellowDot16.xpm and GreenDot16.xpm with XPM files created from Rom's new GIF files.
  • MGR: Simple View bug fix.
  • MGR: Fix dot images .
  • Add separate OpenCL static lib for project developers.
  • Make sample OpenCL apps depend on the new OpenCL static lib.
  • MGR: Replace colored dot GIF files with new PNG files with anti-aliasing in alpha channel; generate new XPM files.
  • MGR: Force update of Task Selection List on reskin interface.
  • MGR: Move skin file to correct place, set background image's background color to black.
  • client/API: pass bool using_sandbox in APP_INIT_DATA; says whether the client is using account-based sandboxing. Needed by vboxwrapper.
  • Adjust preference dialog titles, improve Simple View and Simple Preferences.
  • VBOX: Don't redirect VirtualBox to a different directory structure for the root configuration file when the client is NOT in sandbox mode. Doing so could cause confusion if the volunteer uses VirtualBox for any of their own work. If BOINC started up first it would have appeared that their own VM's no longer existed.
  • MGR: Make the simple gui rounded edges seem smoother by increasing the radius.
  • MGR: Fix project name font in the tasks area, normal size. Increase its weight to BOLD.
  • MGR: Make sure the dot is red if the project has been suspended for the given task.
  • MGR: Scale background skin so that it now fits in the new simple GUI.
    NOTE: We are in the process of trying to get new artwork so that we can handle the localization issues better.
  • client: fix NVIDIA peak FLOPS.
  • MGR: Fix crash bug.
  • compile warning fix.
  • MGR: Fix project name font on Mac.
  • MGR: Bug fix: if currently selected task in Simple View deleted, change selection.
  • MGR: Sort Simple View task selection control alphabetically.
  • MGR: Reverted the above change because wxBitmapComboBox loses existing items' clientData.
  • Mac installer: Fix a very old bug.
  • client: reimplement the round-robin simulator to reduce its runtime from O(N2) to O(N), where N is the number of runnable jobs (which can be in the thousands). This will make the client emulator run a lot faster, and will reduce the client CPU overhead a bit.
  • API: change boinc_get_opencl_ids() so that it returns a BOINC error code (< -100) if the app_init.xml is missing or bad (i.e. we're running standalone), and an OpenCL error code (> -100) if an OpenCL call failed.
  • MGR Skins: Fix numerious issues related to bad entries in the Skin XML file.
  • client: free mem on exit if debug mode.
  • MGR: Sort Simple View task selection control alphabetically, working around clientData bug in wxBitmapComboBox::Insert()
  • MGR: Allow skin to specify the (simulated) opacity of Simple View task and project panels.
  • Mac: Modify XCode project to link with libcrypto.0.9.7.dylib and libssl.0.9.7.dylib if OS 10.5 SDK is present, to allow running BOINC on OS 10.4 and later. If OS 10.5 SDK is not present then it will link with libcrypto.0.9.8.dylib and libssl.0.9.87.dylib and product will require OS 10.6 or later.
  • Mac: Update build instructions for client and libraries.
  • Mac installer: fix bugs when installing under OS 10.5.
  • Mac installer: Update release script to include Default skin.

ID: 40851 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 40853 - Posted: 26 Oct 2011, 23:26:56 UTC

Charlie Fenton wrote:
Dear Alpha testers:

Please do _not_ run T4T at this time on the Mac. The current version of T4T requires you to run a script which disables sandbox security and we have unconfirmed reports that this causes problems with other projects. If you have run the script, please detach from or suspend T4T and reinstall BOINC without running their script.

We have developed a method for projects to use VirtualBox without disabling BOINC's sandbox security. Once T4T has implemented these changes, we will ask you to begin testing it.

I hope to have a new version of BOINC for you to test on the Mac soon.

Thank you!

Cheers,
--Charlie
ID: 40853 · Report as offensive
1 · 2 · 3 · 4 · Next

Message boards : BOINC client : BOINC 7.0 Change Log and news

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.