RNA World (beta)

RNA World (beta) needs donations

The RNA World (beta) project needs donations to cover the BOINC project server (bandwidth and traffic) costs. Please support us and donate!

new Applications using VirtualBox released


Advanced search

Message boards : News : new Applications using VirtualBox released

Author Message
ChristianB
Project developer
Send message
Joined: 13 Feb 10
Posts: 10
Credit: 45,332
RAC: 0
Message 328 - Posted: 20 Oct 2013, 14:07:56 UTC
Last modified: 22 Oct 2013, 7:10:08 UTC

We just released new application versions for Windows, Mac and Linux of the cmsearch VM app that uses VirtualBox for checkpointing. Here is how you can participate:


  1. if applicable, enable the AMD-v or VT-x capability of your CPU in your BIOS
  2. install VirtualBox on your computer (4.2.16 is required, 4.2.18 or better are not working at the moment)
  3. install BOINC 7.x (sometimes you have to reinstall after the VirtualBox installation)
  4. select the cmsearch VM application on your RNA World preferences page
  5. allow BOINC to use at least 2GB of hard disk space and 4GB of RAM on your global preferences page


Please visit our forum or comment on this news item if you have problems.

Deutsch/German:
Wir haben gerade neue Versionen der cmsearch VM Anwendung für Windows, Mac und Linux veröffentlicht, welche mittels VirtualBox als Checkpointingsystem für mehr Sicherheit sorgen. Und so kann man teilnehmen:


  1. falls vorhanden, die AMD-v oder VT-x Fähigkeit der CPU im BIOS aktivieren
  2. VirtualBox auf dem Computer installieren (4.2.16 wird benötigt, 4.2.18 oder besser funktionieren im Moment nicht)
  3. BOINC 7.x installieren (manchmal muss auch erneut installiert werden nachdem VirtualBox installiert wurde)
  4. die cmsearch VM Anwendung in den RNA World Einstellungen auswählen
  5. in den Berechnungseinstellungen BOINC die Nutzung von mind. 2GB Festplattenplatz und 4GB RAM ermöglichen


Probleme können gerne in unserem Forum oder als Kommentar zu diesem Newseintrag gemeldet werden.

Jacob Klein
Send message
Joined: 9 Aug 10
Posts: 17
Credit: 3,972,431
RAC: 265
Message 329 - Posted: 22 Oct 2013, 4:42:24 UTC
Last modified: 22 Oct 2013, 4:56:45 UTC

RNA World:

A huge THANK YOU for implementing checkpointing support via the VirtualBox VM application.
I have now re-enabled RNA World on my main machine, and am presently processing 2 of the VM tasks. So far so good.

Although, it is a bit curious that both of the tasks say "98.765% Progress" constantly with no Progress % updating.
I traced it to 2 possible sources:
- slots\slot#\shared\progress.txt file that has as its contents: 0.98765
- slots\slot#\boinc_task_state.xml file that has: <fraction_done>0.987650</fraction_done>
... either way, it looks like it is hardcoded and not updating.

Also, I see "Remaining (estimated)" decreasing for each second ran, and the total estimated times for my 2 VMs are radically different, presumably due to each one having different "Estimated computation size" values. Here is the status of my 2 VMs:
- [1]: 13,724,158 GFLOPs size, 9.5 hours complete, 17.25 hours remaining, 98.765% progress.
- [2]: 24,969,548 GFLOPs size, 3.5 hours complete, 31.75 hours remaining, 98.765% progress.

So, my questions are:
- How accurate are the "Remaining (estimated)" values for each VM?
- Can anything be done to show actual Progress % in BOINC, with smooth updates to the % value?

Thanks again for your work, I'm happy to be crunching for your project again! --Jacob Klein

ChristianB
Project developer
Send message
Joined: 13 Feb 10
Posts: 10
Credit: 45,332
RAC: 0
Message 330 - Posted: 22 Oct 2013, 7:09:08 UTC - in response to Message 329.

So, my questions are:
- How accurate are the "Remaining (estimated)" values for each VM?
- Can anything be done to show actual Progress % in BOINC, with smooth updates to the % value?

Thanks again for your work, I'm happy to be crunching for your project again! --Jacob Klein

The "Remaining (estimated)" values are calculated using the FLOPS estimation done on the server and are not very accurate.

The actual Progress % are calculated on each host using the same function as on the server. They should be smooth and get capped at 98,765% if they were too low. It seems that for the current long running tasks this is reached very quickly which indicates a bug in the calculation logic. This does not affect the actual scientific calculation it's just a cosmetic issue. I will look into this issue for the next version of the application (for which there is no ETA).

Jacob Klein
Send message
Joined: 9 Aug 10
Posts: 17
Credit: 3,972,431
RAC: 265
Message 331 - Posted: 22 Oct 2013, 12:14:54 UTC - in response to Message 330.
Last modified: 22 Oct 2013, 13:08:11 UTC

Okay, thank you.

For your reference, my tasks still count down every second in "Remaining (estimated)", but then that value gets reset every once in a while to be the full value I think.

For instance, I had posted that my VM statuses were:
- [1]: 13,724,158 GFLOPs size, 9.5 hours complete, 17.25 hours remaining, 98.765% progress.
- [2]: 24,969,548 GFLOPs size, 3.5 hours complete, 31.75 hours remaining, 98.765% progress.

Right now (7.5 hours later), my VM statuses are:
- [1]: 13,724,158 GFLOPs size, 17 hours complete, 17.25 hours remaining, 98.765% progress.
- [2]: 24,969,548 GFLOPs size, 10.5 hours complete, 31.75 hours remaining, 98.765% progress.

So, I believe this means that I currently have no means of knowing the real progress at all. :( For all I know, the VMs might be stuck in some sort of infinite loop (are they? What's a realistic completion time for these?)

I hope you are able to significantly improve the indication of progress level, in the next version.

Thanks,
Jacob

ChristianB
Project developer
Send message
Joined: 13 Feb 10
Posts: 10
Credit: 45,332
RAC: 0
Message 332 - Posted: 22 Oct 2013, 15:38:22 UTC - in response to Message 331.

So, I believe this means that I currently have no means of knowing the real progress at all. :( For all I know, the VMs might be stuck in some sort of infinite loop (are they? What's a realistic completion time for these?)

I hope you are able to significantly improve the indication of progress level, in the next version.

That's right, nobody can know the real progress because the cmsearch algorithm is non-deterministic. I tried to design the control script that an infinite loop is not possible. What I may do in a future version is to let the progress "flicker" a little bit. Switching between 98,0 and 99,0% could indicate that the VM is still alive.

Jacob Klein
Send message
Joined: 9 Aug 10
Posts: 17
Credit: 3,972,431
RAC: 265
Message 333 - Posted: 22 Oct 2013, 20:15:34 UTC - in response to Message 332.
Last modified: 22 Oct 2013, 20:30:32 UTC

I downloaded a couple more RNA World VMs, and noticed that I get considerable Windows UI contention (where paints/refreshes are lagged/delayed) the more RNA World VMs I run at the same time. I reported the issue to Rom via the BOINC Alpha list.

Anyway, I understand T4T limits to 1 VM per host. I was wondering if you guys might implement an RNA World project setting that, if set by the user, would limit to x per host. I'd prefer to make sure I don't get more than 2 of these non-deterministic VMs at a time.

Regards,
Jacob

Profile (retired account)
Send message
Joined: 2 Oct 13
Posts: 2
Credit: 31,326
RAC: 0
Message 334 - Posted: 23 Oct 2013, 10:57:54 UTC - in response to Message 333.

This is issue has already been discussed in the german part of the RNA World forum. ChristianB told us that he can only set one fixed value server-sided for all users.

You can use an app_config.xml file to limit the number of concurrent workunits. (see Berkeley link here: http://boinc.berkeley.edu/trac/wiki/ClientAppConfig). Just create this file with your favourite texteditor and drop it into the project data directory, which would be \ProgramData\BOINC\projects\www.rnaworld.de_rnaworld\ for a typical Windows pc.

Content:

<app_config>
<app>
<name>cmsearch3</name>
<max_concurrent>1</max_concurrent>
</app>
</app_config>


Notes:

  • Make sure you don't create a file named app_config.xml.txt
  • The project data directory is per default 'hidden' in Windows
  • BOINC v. 7.0.40 or higher is required. With BOINC v. 7.0.54 or higher you can load the new config values without stopping the BOINC manager (see Advanced / Read config files)
  • If you want to run other subprojects, you have to add them to the above listed content of the file with another app section
  • The app_config.xml should not be confused with the app_info.xml for anonymous platforms

Jacob Klein
Send message
Joined: 9 Aug 10
Posts: 17
Credit: 3,972,431
RAC: 265
Message 335 - Posted: 24 Oct 2013, 3:27:26 UTC
Last modified: 24 Oct 2013, 3:29:56 UTC

Yup, I've implemented the app_config.xml file, thanks.

However, I worked with Rom Walton and David Anderson, and we think we have discovered the cause and fix of my problem. They have supposedly fixed it, but may or may not include it in the upcoming public release.

The issue is that, when calculating how much memory each RNA World VM is using, BOINC used Windows measurements, and came up with ~250 MB, even though the VM "Base Memory" size was 4 GB. The docs (link below) indicate that the 4 GB has to be available as free RAM, and it gets fully-reserved for the client VM, per "Base Memory" documentation in link 2 below. What made matters worse was that Task Manager and Process Explorer both do not show how much host memory a VM has consumed, as evidenced in link 3 below.

I happened to have multiple RNA World VMs running on my 12 GB machine. When I brought in the 4th VM, the Windows UI started becoming erratically non-responsive. Most likely, Windows was paging memory in/out, to give the VMs all 12 GB of my memory. Task manager and Process Explorer were not reporting it as being used, however the UI responsiveness felt terrible at times.

See:
http://superuser.com/questions/66842/how-does-virtualboxs-memory-usage-work
http://www.virtualbox.org/manual/ch03.html#settings-system ("Base Memory" section)
http://forum.sysinternals.com/pe-is-not-showing-all-memory-used-by-virtualbox_topic23886.html

So, David Anderson checked in some code that will, when calculating "running memory" for a VM task, instead of querying Windows on memory usage for processes, will now instead use the <rsc_memory_bound> value as "how much is this VM task using". That way, if I have BOINC set up to use no more than 60% of my 12 GB (which is 7.2 GB), BOINC will not allow a 2nd RNA World VM to launch (since each one now will "constantly consume 4 GB" according to how BOINC calculates running memory for those VM tasks.)

I hope that makes sense. I think we solved that client BOINC bug, but I'm not sure if it will be included in the upcoming public release or not.

Thanks,
Jacob

Profile Michael H.W. Weber
Project administrator
Project scientist
Send message
Joined: 25 May 09
Posts: 146
Credit: 4,562,976
RAC: 436
Message 336 - Posted: 24 Oct 2013, 12:18:29 UTC - in response to Message 335.

I think we solved that client BOINC bug, but I'm not sure if it will be included in the upcoming public release or not.

For our project, that fix is an essential issue. Please try to make this clear to David and thank you for your comments.

Michael.
____________
Rechenkraft.net e.V. - Verein zur Foerderung von Bildung, Forschung und Wissenschaft durch Einsatz vernetzter Computer.

Jacob Klein
Send message
Joined: 9 Aug 10
Posts: 17
Credit: 3,972,431
RAC: 265
Message 337 - Posted: 24 Oct 2013, 14:25:39 UTC - in response to Message 336.

I passed on your message, and will try to reply back here when I know more.

There are actually 2 workarounds for this problem:
1: Use an app_config.xml file and set max_concurrent to a reasonable value. However, this can lead to a work fetch issue that results in an idle CPU.
2: If you only want to run x RNA World VMs, allow work fetch to get x+1 tasks (perhaps by temporarily suspending other projects), and then suspend all but x (and resume all the projects). When an RNA World VM task completes, repeat.

Sure, option 2 is micromanaging a bit, but I'll be using it for the time being, as a workaround that also ensures my CPUs are all kept busy.

Regards,
Jacob

Jacob Klein
Send message
Joined: 9 Aug 10
Posts: 17
Credit: 3,972,431
RAC: 265
Message 338 - Posted: 24 Oct 2013, 19:42:55 UTC
Last modified: 24 Oct 2013, 19:44:42 UTC

David and Rom have decided to include the fix, and we are doing additional testing on it.
So far, my testing indicates that 7.2.24+ does indeed use the "4 GB" value when considering memory, and thus won't overcommit beyond the user's specified memory limit.

We haven't publicly released yet, but 7.2.24+ fixes the problem.
And so now, I don't have to use either of the 2 workarounds.

Regards,
Jacob

Jacob Klein
Send message
Joined: 9 Aug 10
Posts: 17
Credit: 3,972,431
RAC: 265
Message 339 - Posted: 8 Nov 2013, 23:19:57 UTC - in response to Message 338.
Last modified: 8 Nov 2013, 23:22:03 UTC

BOINC v7.2.28 has been released to the public today, and is now the recommended version. I'm quite excited about it!

Note: It DID include the VM-task "memory accounting" fix, where BOINC now uses <rsc_memory_bound> when determining how much memory a VirtualBox VM task is consuming. So, it considers 4GB of memory allocated, for each RNA World VM task.

Oh, and the task I was working on? It's still processing, 182 hours [~1 week] done, with an 8-week estimate on a comparable system :) Still crossing my fingers for no errors!

Good luck!
Jacob

Profile (retired account)
Send message
Joined: 2 Oct 13
Posts: 2
Credit: 31,326
RAC: 0
Message 340 - Posted: 10 Nov 2013, 1:30:23 UTC - in response to Message 339.

Thanks for the info. I was using 7.2.24 since end of October on one PC and it showed some odd behaviour when tasks were in high priority, as it used not all of the available threads. With RNA World you can easily get into high priority when workunits are extended server-sided but the client BM still has the 'old' due date. Updated today to 7.2.28, let's see how it works. :)

Btw, I just noticed there are new VM apps available since yesterday (I guess they include the new wrapper?). However, apparently Christian has not switched workunit creation back on yet.

Me has 50 days of unfinished VM tasks currently plus one finished and credited. :)

Good luck everybody!


Post to thread

Message boards : News : new Applications using VirtualBox released