1) Forums : General Topics : Some useful BOINC things (Message 23017)
Posted 16 Apr 2022 by poppinfresh99
Post:
Until now, I only ran this project on macOS. Today, I ran camb_boinc2docker on Windows on the same I5-3210M CPU that macOS was running on. Unlike my macOS, tasks on Windows...
- take about 33% more time
- use very little RAM! No more than 40 MB! This is nothing compared to the 3 GB for macOS
- 4-thread tasks consistently result in "VM job unmanageable" on the 2-physical-core (4 logical core) CPU. 3-thread tasks sometimes work on Windows, and 2-thread tasks sometimes don't work. But 4-thread always worked on macOS. This might be due to all the bloat in Windows OS that uses up lots of resources??
- tasks have checkpoints! Oh wait, no they don't. They just look like they have a checkpoint because progress is made for a few seconds after restarting the task, but it then resets back to 0%.

It seems that the initial tasks on a new fast computer get around 25 credits, then host normalization brings it to around 50 credits over time???
2) Forums : Technical Support : No CPU time again (Message 23016)
Posted 16 Apr 2022 by poppinfresh99
Post:
*If* someone also wanted to set max_concurrent, I think "Max # jobs" on this project’s settings webpage would work and be easiest.


Though I just learned that "Max # jobs" and max_concurrent are a bit different...
- "Max # jobs" is the amount of tasks that are downloaded to client
- max_concurrent is the amount of tasks that are run at a time (and maybe its infinite-download bug was fixed in the latest release of BOINC): https://github.com/BOINC/boinc/issues/4322
3) Forums : Technical Support : No CPU time again (Message 23015)
Posted 16 Apr 2022 by poppinfresh99
Post:
I also thought that <avg_ncpus> was for the whole project...
https://www.cosmologyathome.org/faq.php#limit-cpu


I now see that the FAQ linked to (in above quote) also has
<max_concurrent>1</max_concurrent>
in addition to avg_ncpus, so, what Peter said about just using avg_ncpus (without setting max_concurrent to 1) should work.
Though “Max # CPUs” on this project’s settings webpage is still easiest :)

*If* someone also wanted to set max_concurrent, I think "Max # jobs" on this project’s settings webpage would work and be easiest.
4) Forums : General Topics : Some useful BOINC things (Message 23011)
Posted 16 Apr 2022 by poppinfresh99
Post:
I just came across this...
https://boinc.berkeley.edu/trac/wiki/CreditNew
The credit system for BOINC is VERY complicated, but it seems that each computer should be getting the same credit per task on average (I get around 50 credits per task), so, if everyone else is getting around 50 credits per task, maybe this project doesn't need to give fixed credit per task.
5) Forums : Technical Support : No CPU time again (Message 23005)
Posted 8 Apr 2022 by poppinfresh99
Post:
Max # jobs - is for project = Limit on "Tasks in progress" possibly per computer
Max # CPUs - is for each work unit


This is great to know! I tested it, and I was wrong about "Max # CPUs".

It was discovered not long after cam2docker started that VB goes mental if more than 8 cpu`s are used and many tasks have errors for no good reason , unless you are lucky .


It's great to know that "Max # CPUs" is needed to fix this and fixes this so nicely!

Is this more-than-8-CPU bug true for VB in general (that is, not just for Cosmology@home)? Maybe it's just for CERTAIN VirtualBox situations??
https://forums.virtualbox.org/viewtopic.php?f=2&t=87445&start=15
6) Forums : Technical Support : Is boinc2docker more efficient than legacy? (Message 23001)
Posted 7 Apr 2022 by poppinfresh99
Post:
On World Community Grid, they do NOT hand out Africa Rainfall Project tasks unless we specify otherwise (the app takes a lot of RAM), so this sort of thing is possible. My macOS won't run Cosmology@home's legacy application, so I can't do an experiment, but your experience seems to suggest that Cosmology@home sends both legacy and new if both are selected.

Do you have a link saying that Rosetta@home's "rosetta python projects" application much prefers AVX over SSE2?
7) Forums : Technical Support : No CPU time again (Message 23000)
Posted 7 Apr 2022 by poppinfresh99
Post:
I think “Max # CPUs” is for the whole project.

I also thought that <avg_ncpus> was for the whole project...
https://www.cosmologyathome.org/faq.php#limit-cpu
https://boinc.berkeley.edu/wiki/Client_configuration#Project-level_configuration
That is, for the whole application (not project), but camb_boinc2docker should be the only application we are running.
8) Forums : Technical Support : No CPU time again (Message 22997)
Posted 6 Apr 2022 by poppinfresh99
Post:
Instead, you could probably change “Max # CPUs” on this project’s settings webpage.
9) Forums : Technical Support : Is boinc2docker more efficient than legacy? (Message 22996)
Posted 6 Apr 2022 by poppinfresh99
Post:
I’ve never run the legacy code. The FAQ encourages us to run the newer application.
10) Forums : General Topics : Some useful BOINC things (Message 22990)
Posted 23 Mar 2022 by poppinfresh99
Post:
*If* this project wants to give a fixed amount of credit, it's very easy.
Add a single line
  wu.canonical_credit = 25;
to the work generator's CPP file and recompile it.
Then add the --credit_from_wu option to the validator in config.xml
Then run...
  bin/stop
  bin/start


By the way, setting up a *local* BOINC server on Linux (Ubuntu) is relatively easy and lets me play around with BOINC.
Via your router, just give your computer (I used an old laptop) a local IP address such as 192.168.0.201
Then follow the following instructions...
https://boinc.berkeley.edu/trac/wiki/ServerIntro
I ignored the Docker and boinc-server-maker stuff (the Docker thing is written by this project's administrator lol).
The trick is, when running make_project, add the following option
--url_base http://192.168.0.201/
(or whatever your static local IP is)
If you follow the instructions, a test applications is installed, which you can modify and/or play around with!
11) Forums : General Topics : Finished Work Units not able to Upload (Message 22979)
Posted 16 Mar 2022 by poppinfresh99
Post:
I was able to contact the administrator this evening
Contact via Twitter

Smart

later this evening he stated that he should be able to fix the problem.

Sweet
12) Forums : General Topics : Some useful BOINC things (Message 22959)
Posted 6 Mar 2022 by poppinfresh99
Post:
In my BOINC data folder
https://boinc.berkeley.edu/wiki/BOINC_Data_directory
I never have more than several folders in the slots folder.

The following link suggests updating (or changing at least) your BOINC version
https://boinc.berkeley.edu/dev/forum_thread.php?id=10501
13) Forums : General Topics : Some useful BOINC things (Message 22957)
Posted 5 Mar 2022 by poppinfresh99
Post:
I found the answer to one of my questions
https://www.cosmologyathome.org/faq.php#does-it-hinder-cosmologyhome-if-i-abort-jobs
We can freely abort jobs!

Also, for everything in this thread, I've only been running the camb_boinc2docker application.
14) Forums : General Topics : Some useful BOINC things (Message 22956)
Posted 4 Mar 2022 by poppinfresh99
Post:
What made you think I used anything you said? As I explained, I didn't want to start a new thread.

I also don't care enough about credits to regularly do the steps I gave. The science behind CMB anisotropy and cosmology in general are more interesting. I also find parallel computing interesting, so I was figuring out how BOINC managed multithreading.

Though I feel that this project could easily fix a few bugs if they care to. I'm like a white hat hacker I guess...
15) Forums : General Topics : Some useful BOINC things (Message 22954)
Posted 4 Mar 2022 by poppinfresh99
Post:
Thanks Jim!

If you have enough RAM, here is a way for anybody with multiple cores to cheat to get many more credits. I'm posting this at the bottom of thread as I feel it would be a faux pas to make it its own thread.

We can exploit a bug: credits are based on the number-of-cores that the task was ORIGINALLY sent with (the "Device peak FLOPS" is only set when task was downloaded). Though the TRUE bug is credits per task not being a fixed amount! Combined with the credit bug previously mentioned in this thread, this can do a lot!

Steps...
- Do not set a max # CPUs at this project's settings. Also Resource Share cannot be set to 0. You'll keep these settings the whole time.
- Set computing settings to run 100% CPUs
- Download a BUNCH of tasks (many days of work). These are locked in forever to get credit as if running your max cores.
- Change the "100% CPUs" setting to something to get 1 or 2 cores or, if you don't have enough RAM, some other larger factor of your total cores. This changes nothing until the next step.
- Download a couple more tasks (you'll have to increase your "days of work" setting a bit). This resets the amount of cores that BOINC thinks the tasks from this project are running.
- Set "no new tasks". If you really want, abort the new tasks that were most recently downloaded. Due to this project's settings, aborting a task causing the workunit to fail, but that's not's our fault!
- If you want and have the RAM to run more tasks, set back to "100% CPUs" or whatever! You could have also done something similar this whole time by changing the "max # CPUs" project setting the whole time while leaving the "100% CPUs" set.
- When you processed all tasks, repeat

When you download the final few tasks, BOINC will update the previously downloaded tasks to use the reduced number of CPU cores. The GUI of the BOINC Manager may not fully show you that they've changed until you fully restart the BOINC client, but they have been reduced for all tasks. The task that was running during the final download will keep trying to use max cores, but all the other tasks will try to use the reduced CPU cores. However, the tasks will get the number-of-cores credit multiplier that they were ORIGINALLY sent with!

There is a related bug: even if you reset the RAM of an already-started task (have it start over for example), it doesn't always try to use the number of cores that BOINC thinks it is using. Instead, the task always tries to use the number of cores that it was using when it first started running. This can cause 1 task to use all your cores while BOINC runs other tasks that try to use even more cores. This might be related to the bug where elapsed time does not reset when a task resets?
16) Forums : General Topics : Some useful BOINC things (Message 22952)
Posted 2 Mar 2022 by poppinfresh99
Post:
Interesting. I got a 10% reduction when running all 4 of my logical cores. If running 2+2 cores (2 tasks each using 2 cores), I get an effective 20% reduction in time.

My CPU is an I5-3210M. Perhaps the "M" at the end has something to do with my crappier performance?
17) Forums : General Topics : Some useful BOINC things (Message 22950)
Posted 1 Mar 2022 by poppinfresh99
Post:
When doing parallel computing on a CPU, hyper-threading doesn't really help because all the threads are trying to do the same sort of things at the same time. The idea of hyper-threading is to allow a thread to use DIFFERENT parts of the CPU, so I set this project's "Max # CPUs" setting to 2 (my physical cores).

But, as an experiment, I set my BOINC's "% of the CPUs" computing setting to 100% (my 4 logical cores) so that it would run two 2-core tasks at a time. This increased the rate of work SLIGHTLY compared to running a single 4-core task (runtimes were a bit less than double the 4-core runtimes). It also increased my BOINC RAM usage to 6 of 8 GB (though no swap used)...

This all makes sense. However, the weirdest thing is that I was getting about 42% more credit than expected based on just runtime! See the table below. The times and credit for the "2+2 cores" entry below are for just 1 of the 2 tasks being run, but the two final columns describe both tasks.

cores	runtime	CPUtime  	credit	work	(total credit)/runtime
2	854.71	1,576.41	30.67	1	0.036
4	770.4	2,420.08	53.85	1	0.070
2+2	1,369	2,285.77	69.93	2	0.102


Even if doing 2+2 cores, I conclude that you don't really increase your work rate. I also conclude that, if you want to REALLY cheat to get credits, use a CPU that supports hyper-threading, then have 2 tasks running with each using your number of physical cores.
18) Forums : General Topics : Some useful BOINC things (Message 22949)
Posted 1 Mar 2022 by poppinfresh99
Post:
I just joined this project. I've never done BOINC multithreading (mt) tasks before! Some useful BOINC things regarding this project that I figured out...

(1) the number of cores that a task will use is set at DOWNLOAD time, and is determined by the BOINC "% CPUs used" computing setting (also determined by this project's "max # of CPUs" setting).

(2) on a hyper-threading CPU, you should use the number of PHYSICAL cores (not logical cores). This is how parallel computing on a CPU works. A test I did confirmed this: all tasks have the same work content, but the one using all my logical cores (4 cores) finished only VERY SLIGHTLY faster than the one using all my physical cores (2 cores). However, if you care about credit more than you should, you can double the credit you get by setting the cores to all your logical cores because credit is proportional to the number of cores (and runtime). See runtime-based credit here...
https://boinc.berkeley.edu/trac/wiki/CreditOptions

(3) on my 64-bit Intel macOS, this uses almost 3 GB of RAM (regardless of cores), and all tasks use VirtualBox (vbox) on my macOS!

(4) Tasks don't have checkpoints, which is okay because they are short. Strangely, the elapsed time doesn't reset if the task is reset (if "leave tasks in memory while suspended" setting is NOT set), which causes you to get more credit because credit is based on runtime!

(5) If you abort the task, the workunit fails (no resends). No pressure!


I only kinda care about the "hyper-threading credit bug" I mentioned, but I am worried about workunits failing if/when I abort tasks!!?

Hope this helps. If I got anything wrong, let me know! If you know more about the bugs I found, let me know!